JetBrains Mono Nerd Font for monospace, Inter for the interface, the Nerd Fonts symbols and Noto Color Emoji as fallbacks, Noto for serif. One owned fontconfig file in the account's conf.d maps monospace, sans-serif, system-ui, serif and emoji, bound `same`: measured with fontconfig 2.18, a weakly bound preference loses to Noto Sans Mono. Families today's configs name but the laptop lacks (Iosevka, the old JetBrains name) stop falling back to sans-serif. Six Go tools: families, match, glyph, sources (which hand-copied files can go and why), config, cache-rebuild. The README lists the hand-copied files to remove and the modules that must name the new family.
66 lines
3.7 KiB
JSON
66 lines
3.7 KiB
JSON
{
|
|
"module": "fonts",
|
|
"version": "1",
|
|
"capabilities": [
|
|
"package-manager"
|
|
],
|
|
"tools": [
|
|
"fonts_families",
|
|
"fonts_match",
|
|
"fonts_glyph",
|
|
"fonts_sources",
|
|
"fonts_config",
|
|
"fonts_cache_rebuild"
|
|
],
|
|
"resources": [
|
|
{
|
|
"id": "monospace",
|
|
"type": "package",
|
|
"package": "ttf-jetbrains-mono-nerd"
|
|
},
|
|
{
|
|
"id": "interface",
|
|
"type": "package",
|
|
"package": "inter-font"
|
|
},
|
|
{
|
|
"id": "symbols",
|
|
"type": "package",
|
|
"package": "ttf-nerd-fonts-symbols"
|
|
},
|
|
{
|
|
"id": "noto",
|
|
"type": "package",
|
|
"package": "noto-fonts"
|
|
},
|
|
{
|
|
"id": "emoji",
|
|
"type": "package",
|
|
"package": "noto-fonts-emoji"
|
|
},
|
|
{
|
|
"id": "defaults",
|
|
"type": "file",
|
|
"path": "${machine:account-home}/.config/fontconfig/conf.d/50-mesh-fonts.conf",
|
|
"owner": "${machine:account}",
|
|
"mode": "0644",
|
|
"content": "<?xml version=\"1.0\"?>\n<!DOCTYPE fontconfig SYSTEM \"urn:fontconfig:fonts.dtd\">\n<!--\n The mesh's file (module fonts, novox/hq research 026/04): which face each generic family means for\n this account, so every program that asks for monospace, sans-serif, serif or emoji gets the same\n face. Replaced at every push. Other files in this directory are yours.\n-->\n<fontconfig>\n <description>The mesh: the faces monospace, sans-serif, serif and emoji mean</description>\n\n <!--\n Families the desktop's files named before this module, mapped to monospace for as long as they\n are not installed: a configuration still naming one gets the chosen monospace face rather than\n fontconfig's last resort, sans-serif. Where the family is still installed, it is used as before.\n Placed first, so the monospace they lead to is resolved by the rule below.\n -->\n <alias><family>Hack Nerd Font</family><accept><family>monospace</family></accept></alias>\n <alias><family>MesloLGS NF</family><accept><family>monospace</family></accept></alias>\n <alias><family>Iosevka Nerd Font</family><accept><family>monospace</family></accept></alias>\n <alias><family>JetBrains Mono Nerd Font</family><accept><family>JetBrainsMono Nerd Font</family></accept></alias>\n\n <!--\n The decided faces, bound the same as the request: a program asking for monospace asks strongly,\n and a face added weakly loses to the distribution's own choice (measured with fontconfig 2.18).\n -->\n <alias binding=\"same\"><family>monospace</family><prefer><family>JetBrainsMono Nerd Font</family></prefer></alias>\n <alias binding=\"same\"><family>sans-serif</family><prefer><family>Inter</family><family>Noto Sans</family></prefer></alias>\n <alias binding=\"same\"><family>system-ui</family><prefer><family>Inter</family></prefer></alias>\n <alias binding=\"same\"><family>serif</family><prefer><family>Noto Serif</family></prefer></alias>\n <alias binding=\"same\"><family>emoji</family><prefer><family>Noto Color Emoji</family></prefer></alias>\n\n <!--\n Fallbacks for any face: an icon a face lacks comes from the Nerd Fonts symbols, an emoji from\n Noto Color Emoji. Appended last, so they never displace a face that has the character.\n -->\n <match target=\"pattern\">\n <edit name=\"family\" mode=\"append_last\"><string>Symbols Nerd Font</string></edit>\n <edit name=\"family\" mode=\"append_last\"><string>Noto Color Emoji</string></edit>\n </match>\n</fontconfig>\n"
|
|
}
|
|
],
|
|
"build": {
|
|
"artifacts": [
|
|
{
|
|
"name": "tools",
|
|
"kind": "bundle",
|
|
"language": "go",
|
|
"system": "arch",
|
|
"from": "cmd/fonts-tools",
|
|
"binary": "fonts-tools",
|
|
"loads": [
|
|
"fonts-tools"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|