max / alloy
- Co-Authored-By
- Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 file changed,
+26 insertions,
-10 deletions
| @@ -6,7 +6,7 @@ | |||
| 6 | 6 | Optimized for reading. Every app that asks fontconfig for a generic | |
| 7 | 7 | family (monospace, sans-serif, serif) gets Alloy's readability picks. | |
| 8 | 8 | ||
| 9 | - | - monospace -> IosevkaTerm Nerd Font (Term variant: no ligatures, safe for TUIs) | |
| 9 | + | - monospace -> IosevkaTerm Nerd Font Mono (Term: no ligatures; Mono: single-cell icons) | |
| 10 | 10 | - sans-serif -> Atkinson Hyperlegible (max letter distinguishability) | |
| 11 | 11 | - serif -> browser/system default; Alloy declines to prescribe | |
| 12 | 12 | ||
| @@ -17,11 +17,18 @@ | |||
| 17 | 17 | --> | |
| 18 | 18 | <fontconfig> | |
| 19 | 19 | ||
| 20 | - | <!-- Monospace: IosevkaTerm Nerd Font --> | |
| 20 | + | <!-- Monospace: IosevkaTerm Nerd Font Mono. | |
| 21 | + | The "Mono" family, not the plain one. Nerd Font icons sit in the | |
| 22 | + | Private Use Area, which a terminal measures as one cell wide, while | |
| 23 | + | the plain family draws them at roughly two. The glyph then paints | |
| 24 | + | over whatever follows it. The Mono family is the same font with the | |
| 25 | + | icons constrained to a single cell, which is what a cell grid needs. | |
| 26 | + | Pango consumers (the bar, mako, swaylock) are not a cell grid and | |
| 27 | + | keep the plain family. --> | |
| 21 | 28 | <alias> | |
| 22 | 29 | <family>monospace</family> | |
| 23 | 30 | <prefer> | |
| 24 | - | <family>IosevkaTerm Nerd Font</family> | |
| 31 | + | <family>IosevkaTerm Nerd Font Mono</family> | |
| 25 | 32 | <family>Iosevka Term</family> | |
| 26 | 33 | <family>Iosevka Nerd Font</family> | |
| 27 | 34 | <family>Iosevka</family> | |
| @@ -51,13 +58,22 @@ | |||
| 51 | 58 | </prefer> | |
| 52 | 59 | </alias> | |
| 53 | 60 | ||
| 54 | - | <!-- Emoji: system emoji font --> | |
| 55 | - | <alias> | |
| 56 | - | <family>emoji</family> | |
| 57 | - | <prefer> | |
| 58 | - | <family>Noto Color Emoji</family> | |
| 59 | - | </prefer> | |
| 60 | - | </alias> | |
| 61 | + | <!-- | |
| 62 | + | Emoji: deliberately none. | |
| 63 | + | ||
| 64 | + | This aliased `emoji` to Noto Color Emoji, which the image has never | |
| 65 | + | installed, so the alias resolved to whatever fontconfig picked next | |
| 66 | + | (Atkinson Hyperlegible, in practice) and every emoji rendered as a | |
| 67 | + | missing glyph anyway. An alias naming a font that is not shipped | |
| 68 | + | reads as an oversight; the absence is the decision, so it is written | |
| 69 | + | as one here rather than left as a broken preference. | |
| 70 | + | ||
| 71 | + | Alloy ships no emoji font and does not use emoji in its own copy | |
| 72 | + | (docs/STACK.md, and the brand rules). Emoji in a web page or a | |
| 73 | + | third-party notification will show as missing glyphs. Anyone who | |
| 74 | + | wants them installs an emoji font; nothing here has to change for | |
| 75 | + | that to work, because fontconfig will pick it up on its own. | |
| 76 | + | --> | |
| 61 | 77 | ||
| 62 | 78 | <!-- | |
| 63 | 79 | Rendering defaults — screen-readable, no antialiasing tricks |