Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jeff-hykin/xd-font
πΎ β
A custom ligature font based on Iosevka, because Font Fira is for casuals
https://github.com/jeff-hykin/xd-font
Last synced: 6 days ago
JSON representation
πΎ β A custom ligature font based on Iosevka, because Font Fira is for casuals
- Host: GitHub
- URL: https://github.com/jeff-hykin/xd-font
- Owner: jeff-hykin
- License: other
- Created: 2019-08-26T19:42:55.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2023-09-23T12:25:23.000Z (9 months ago)
- Last Synced: 2024-03-01T17:35:03.188Z (4 months ago)
- Language: JavaScript
- Homepage:
- Size: 32.3 MB
- Stars: 30
- Watchers: 3
- Forks: 2
- Open Issues: 20
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Lists
- awesome-stars - jeff-hykin/xd-font - πΎ β A custom ligature font based on Iosevka, because Font Fira is for casuals (JavaScript)
README
# XD Font
## A variant of Iosevka(Badges From Original Iosevka β‘οΈ [![Patreon](https://img.shields.io/badge/donate-patreon-red.svg)](https://www.patreon.com/user?u=5787198) [![Donate](https://img.shields.io/badge/donate-alipay-orange.svg)](http://7xpdnl.dl1.z0.glb.clouddn.com/T1v4huXnleXXXXXXXX.png) )
![code](https://user-images.githubusercontent.com/17692058/73235382-e5b29b00-4153-11ea-98ac-3f288ee41780.png)
![Ligations Sample](images/ligset-calt-1.png)
# How do I use it?
- [Download](https://github.com/jeff-hykin/xd-font/archive/refs/heads/master.zip) or clone this repo
- Font files are inside the `dist/` folder.
- There's TTFs, WOFF(2), and CSS
- Install the font based on where you want to use it!
- Mac
- [Instructions](http://support.apple.com/kb/HT2509)
- basically just open fontbook, drag and drop the ttf files, then restart the programs (or restart system to be safe)
- Windows
- [Instructions](https://www.technipages.com/windows-10-how-to-install-truetype-fonts)
- On Windows 10 1809 or newer the default font installation is per-user, and it may cause compatibility issues for some applications, mostly written in Java. To cope with this, right click and select "Install for all users" instead. [Ref.](https://youtrack.jetbrains.com/issue/JRE-1166?p=IDEA-200145)
- Linux
- Copy the TTF files to your fonts directory β Run `sudo fc-cache`.## How do I build it myself and customize it?
- Requirements setup is detailed inside `documentation/SETUP.md`!
To initialize a custom build, you need:
1. Create `private-build-plans.toml` file.
2. Add a build plan into `private-build-plans.toml`, following this format:
```toml
[buildPlans.iosevka-custom] # is your plan name
family = "Iosevka Custom" # Font menu family name
design = ["common styles"] # Common styles
upright = ["upright-only", "styles"] # Upright-only styles
italic = ["italic-only", "styles"] # Italic-only styles
oblique = ["oblique-only", "styles"] # Oblique-only styles
# Override default building weights
# When buildPlans..weights is absent
# All weights would built and mapped to default shape/CSS
[buildPlans.iosevka-custom.weights.regular]
shape = 400 # Weight for glyph shapes
menu = 400 # Weight for menu name
css = 400 # Weight for WebFont CSS
[buildPlans.iosevka-custom.weights.bold]
shape = 700
menu = 700
css = 700
# Override default building slant sets
# Format: = <"normal"|"italic"|"oblique">
# When this section is absent, all slants would be built.
[buildPlans.iosevka-custom.slants]
upright = "normal"
italic = "italic"
oblique = "oblique"
```3. Run `npm run build -- contents::` and the built fonts would be avaliable in `dist/`. Aside from `contents::`, other options are:
1. `contents::` : TTF (Hinted and Unhinted), WOFF(2) and Webfont CSS;
2. `ttf::` : TTF;
3. `ttf-unhinted::` : Unhinted TTF only;
4. `woff::` : TTF and WOFF only;
5. `woff2::` : TTF and WOFF2 only;
- Note: Since version 2.2.0, we are using two colons (`::`) in the build target names.The current available styles for `design`/`upright`/`italic`/`oblique` options are:
* Styles for general shape:
* `sans` : Sans serif (default).
* `slab` : Slab serif.
* Styles related to ligations and spacing:
- `term` : Disable ligations and exact monospace.
- The font built will not contain ligatures.
- All glyphs wider than one letter would be deleted.
- In case of your OS or editor cannot handle ligatures correctly, you can disable ligations with it.
- `termlig` : Similar to `term`, the font is exact monospace to make `fontconfig` happy, while ligations are still present.
- `no-ligation` : Disable ligation only.
- `no-cv-ss`Β : Prevent generation of `cv##`Β and `ss##` features.
- `type` : Make some symbols, like arrows (`β`) full-width.
* All registered `ss##` and `cv##` feature tags, including:
* `ss01`~`ss10` : Predefined stylistic sets based on other Monospace fonts.
* `cv01`~`cv53` : Standalone character variants.
* Styles for ligation sets, include:
* `ligset-haskell`: Default ligation set would be assigned to Haskell.
* `ligset-idris`: Default ligation set would be assigned to Idris.
* `ligset-coq`: Default ligation set would be assigned to Coq.
* `ligset-elm`: Default ligation set would be assigned to Elm.
* `ligset-ml`: Default ligation set would be assigned to ML.
* `ligset-fs`: Default ligation set would be assigned to F#.
* `ligset-fstar`: Default ligation set would be assigned to F\*.
* `ligset-swift`: Default ligation set would be assigned to Swift.
* `ligset-purescript`: Default ligation set would be assigned to PureScript.
* Styles for further customizing default (`calt`) ligation sets. When any of these styles present in your configuration, the `ligset-*` styles would be overridden.
* `calt-clear`: Clear the `calt` ligation set.
* `calt-center-ops`: Vertically align some of the operators (like `*`) to the center position it is before or after a "center" operator (like `+`);
* `calt-arrow`: Enable ligation set that forms arrows;
* `calt-arrow2`: Enable ligation for more arrows, like `>>=`;
* `calt-html-comment`: Enable ligation for `