notofonts / notobuilder

Python module for building Noto fonts
9 stars 0 forks source link

Recommendations for packaging Noto #13

Open brawer opened 8 years ago

brawer commented 8 years ago

Write recommendations for packaging Noto for Linux distros and embedded systems. Link to this from the FAQ.

In context of https://github.com/googlei18n/noto-fonts/issues/397 I had chatted with some maintainers of downstream external packages about the way how they bundle Noto into their Linux and BSD distros. Also, I’ve some friends in the maker scene who asked me what fonts to package into their hardware. People seem to find Noto a confusing project, and they don’t know how to package it correctly. Some topics that are confusing:

Admittedly, the target audience for this document would be microscopic. But if these few people package Noto correctly, their systems can do the right thing out of the box, and the next generation of display panels, ATMs, internet fridges (or other $GADGET) will have no Tofu.

brawer commented 8 years ago

Regarding “size vs coverage tradeoff”, perhaps we could refer to Unicode’s script metadata which includes a web rank. Although with a grain of salt; in the lower ranks, this list smells too sorted to be credible. Also, the header says that below 32, the ranking is not statistically significant. Still might be useful as a reference.

ArchangeGabriel commented 6 years ago

I’m especially interested in this:

Naming: With the right config file, fontconfig can merge the hundreds of script-specific files into a few meaningful families such as “Noto Sans”, “Noto Serif” etc., which improves the user experience a lot. Link to an example fontconfig file that does this (we could start with the config that @behdad did for DroidSans in Fedora).

Would that mean we could go from (listing from the package on my system):

noto-fonts /usr/share/fonts/noto/NotoKufiArabic-Bold.ttf
noto-fonts /usr/share/fonts/noto/NotoKufiArabic-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoMono-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoNaskhArabic-Bold.ttf
noto-fonts /usr/share/fonts/noto/NotoNaskhArabic-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoNaskhArabicUI-Bold.ttf
noto-fonts /usr/share/fonts/noto/NotoNaskhArabicUI-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoNastaliqUrdu-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSans-Bold.ttc
noto-fonts /usr/share/fonts/noto/NotoSans-BoldItalic.ttc
noto-fonts /usr/share/fonts/noto/NotoSans-Italic.ttc
noto-fonts /usr/share/fonts/noto/NotoSans-Regular.ttc
noto-fonts /usr/share/fonts/noto/NotoSansAdlam-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansAdlamUnjoined-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansAnatolianHieroglyphs-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansArabic-Black.ttf
noto-fonts /usr/share/fonts/noto/NotoSansArabic-Bold.ttf
noto-fonts /usr/share/fonts/noto/NotoSansArabic-Light.ttf
noto-fonts /usr/share/fonts/noto/NotoSansArabic-Medium.ttf
noto-fonts /usr/share/fonts/noto/NotoSansArabic-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansArabic-Thin.ttf
noto-fonts /usr/share/fonts/noto/NotoSansArabicUI-Black.ttf
noto-fonts /usr/share/fonts/noto/NotoSansArabicUI-Bold.ttf
noto-fonts /usr/share/fonts/noto/NotoSansArabicUI-Light.ttf
noto-fonts /usr/share/fonts/noto/NotoSansArabicUI-Medium.ttf
noto-fonts /usr/share/fonts/noto/NotoSansArabicUI-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansArabicUI-Thin.ttf
noto-fonts /usr/share/fonts/noto/NotoSansArmenian-Black.ttf
noto-fonts /usr/share/fonts/noto/NotoSansArmenian-Bold.ttf
noto-fonts /usr/share/fonts/noto/NotoSansArmenian-Light.ttf
noto-fonts /usr/share/fonts/noto/NotoSansArmenian-Medium.ttf
noto-fonts /usr/share/fonts/noto/NotoSansArmenian-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansArmenian-Thin.ttf
noto-fonts /usr/share/fonts/noto/NotoSansAvestan-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansBalinese-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansBamum-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansBatak-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansBengali-Black.ttf
noto-fonts /usr/share/fonts/noto/NotoSansBengali-Bold.ttf
noto-fonts /usr/share/fonts/noto/NotoSansBengali-Light.ttf
noto-fonts /usr/share/fonts/noto/NotoSansBengali-Medium.ttf
noto-fonts /usr/share/fonts/noto/NotoSansBengali-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansBengali-Thin.ttf
noto-fonts /usr/share/fonts/noto/NotoSansBengaliUI-Black.ttf
noto-fonts /usr/share/fonts/noto/NotoSansBengaliUI-Bold.ttf
noto-fonts /usr/share/fonts/noto/NotoSansBengaliUI-Light.ttf
noto-fonts /usr/share/fonts/noto/NotoSansBengaliUI-Medium.ttf
noto-fonts /usr/share/fonts/noto/NotoSansBengaliUI-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansBengaliUI-Thin.ttf
noto-fonts /usr/share/fonts/noto/NotoSansBrahmi-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansBuginese-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansBuhid-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansCanadianAboriginal-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansCarian-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansChakma-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansCham-Black.ttf
noto-fonts /usr/share/fonts/noto/NotoSansCham-Bold.ttf
noto-fonts /usr/share/fonts/noto/NotoSansCham-Light.ttf
noto-fonts /usr/share/fonts/noto/NotoSansCham-Medium.ttf
noto-fonts /usr/share/fonts/noto/NotoSansCham-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansCham-Thin.ttf
noto-fonts /usr/share/fonts/noto/NotoSansCherokee-Black.ttf
noto-fonts /usr/share/fonts/noto/NotoSansCherokee-Bold.ttf
noto-fonts /usr/share/fonts/noto/NotoSansCherokee-Light.ttf
noto-fonts /usr/share/fonts/noto/NotoSansCherokee-Medium.ttf
noto-fonts /usr/share/fonts/noto/NotoSansCherokee-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansCherokee-Thin.ttf
noto-fonts /usr/share/fonts/noto/NotoSansCoptic-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansCuneiform-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansCypriot-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansDeseret-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansDevanagari-Black.ttf
noto-fonts /usr/share/fonts/noto/NotoSansDevanagari-Bold.ttf
noto-fonts /usr/share/fonts/noto/NotoSansDevanagari-Light.ttf
noto-fonts /usr/share/fonts/noto/NotoSansDevanagari-Medium.ttf
noto-fonts /usr/share/fonts/noto/NotoSansDevanagari-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansDevanagari-Thin.ttf
noto-fonts /usr/share/fonts/noto/NotoSansDevanagariUI-Black.ttf
noto-fonts /usr/share/fonts/noto/NotoSansDevanagariUI-Bold.ttf
noto-fonts /usr/share/fonts/noto/NotoSansDevanagariUI-Light.ttf
noto-fonts /usr/share/fonts/noto/NotoSansDevanagariUI-Medium.ttf
noto-fonts /usr/share/fonts/noto/NotoSansDevanagariUI-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansDevanagariUI-Thin.ttf
noto-fonts /usr/share/fonts/noto/NotoSansDisplay-Black.ttf
noto-fonts /usr/share/fonts/noto/NotoSansDisplay-BlackItalic.ttf
noto-fonts /usr/share/fonts/noto/NotoSansDisplay-Bold.ttf
noto-fonts /usr/share/fonts/noto/NotoSansDisplay-BoldItalic.ttf
noto-fonts /usr/share/fonts/noto/NotoSansDisplay-Italic.ttf
noto-fonts /usr/share/fonts/noto/NotoSansDisplay-Light.ttf
noto-fonts /usr/share/fonts/noto/NotoSansDisplay-LightItalic.ttf
noto-fonts /usr/share/fonts/noto/NotoSansDisplay-Medium.ttf
noto-fonts /usr/share/fonts/noto/NotoSansDisplay-MediumItalic.ttf
noto-fonts /usr/share/fonts/noto/NotoSansDisplay-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansDisplay-Thin.ttf
noto-fonts /usr/share/fonts/noto/NotoSansDisplay-ThinItalic.ttf
noto-fonts /usr/share/fonts/noto/NotoSansEgyptianHieroglyphs-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansEthiopic-Black.ttf
noto-fonts /usr/share/fonts/noto/NotoSansEthiopic-Bold.ttf
noto-fonts /usr/share/fonts/noto/NotoSansEthiopic-Light.ttf
noto-fonts /usr/share/fonts/noto/NotoSansEthiopic-Medium.ttf
noto-fonts /usr/share/fonts/noto/NotoSansEthiopic-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansEthiopic-Thin.ttf
noto-fonts /usr/share/fonts/noto/NotoSansGeorgian-Black.ttf
noto-fonts /usr/share/fonts/noto/NotoSansGeorgian-Bold.ttf
noto-fonts /usr/share/fonts/noto/NotoSansGeorgian-Light.ttf
noto-fonts /usr/share/fonts/noto/NotoSansGeorgian-Medium.ttf
noto-fonts /usr/share/fonts/noto/NotoSansGeorgian-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansGeorgian-Thin.ttf
noto-fonts /usr/share/fonts/noto/NotoSansGlagolitic-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansGothic-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansGujarati-Bold.ttf
noto-fonts /usr/share/fonts/noto/NotoSansGujarati-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansGujaratiUI-Bold.ttf
noto-fonts /usr/share/fonts/noto/NotoSansGujaratiUI-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansGurmukhi-Bold.ttf
noto-fonts /usr/share/fonts/noto/NotoSansGurmukhi-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansGurmukhiUI-Bold.ttf
noto-fonts /usr/share/fonts/noto/NotoSansGurmukhiUI-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansHanunoo-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansHebrew-Black.ttf
noto-fonts /usr/share/fonts/noto/NotoSansHebrew-Bold.ttf
noto-fonts /usr/share/fonts/noto/NotoSansHebrew-Light.ttf
noto-fonts /usr/share/fonts/noto/NotoSansHebrew-Medium.ttf
noto-fonts /usr/share/fonts/noto/NotoSansHebrew-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansHebrew-Thin.ttf
noto-fonts /usr/share/fonts/noto/NotoSansImperialAramaic-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansInscriptionalPahlavi-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansInscriptionalParthian-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansJavanese-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansKaithi-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansKannada-Bold.ttf
noto-fonts /usr/share/fonts/noto/NotoSansKannada-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansKannadaUI-Bold.ttf
noto-fonts /usr/share/fonts/noto/NotoSansKannadaUI-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansKayahLi-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansKharoshthi-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansKhmer-Black.ttf
noto-fonts /usr/share/fonts/noto/NotoSansKhmer-Bold.ttf
noto-fonts /usr/share/fonts/noto/NotoSansKhmer-Light.ttf
noto-fonts /usr/share/fonts/noto/NotoSansKhmer-Medium.ttf
noto-fonts /usr/share/fonts/noto/NotoSansKhmer-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansKhmer-Thin.ttf
noto-fonts /usr/share/fonts/noto/NotoSansKhmerUI-Black.ttf
noto-fonts /usr/share/fonts/noto/NotoSansKhmerUI-Bold.ttf
noto-fonts /usr/share/fonts/noto/NotoSansKhmerUI-Light.ttf
noto-fonts /usr/share/fonts/noto/NotoSansKhmerUI-Medium.ttf
noto-fonts /usr/share/fonts/noto/NotoSansKhmerUI-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansKhmerUI-Thin.ttf
noto-fonts /usr/share/fonts/noto/NotoSansLao-Black.ttf
noto-fonts /usr/share/fonts/noto/NotoSansLao-Bold.ttf
noto-fonts /usr/share/fonts/noto/NotoSansLao-Light.ttf
noto-fonts /usr/share/fonts/noto/NotoSansLao-Medium.ttf
noto-fonts /usr/share/fonts/noto/NotoSansLao-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansLao-Thin.ttf
noto-fonts /usr/share/fonts/noto/NotoSansLaoUI-Black.ttf
noto-fonts /usr/share/fonts/noto/NotoSansLaoUI-Bold.ttf
noto-fonts /usr/share/fonts/noto/NotoSansLaoUI-Light.ttf
noto-fonts /usr/share/fonts/noto/NotoSansLaoUI-Medium.ttf
noto-fonts /usr/share/fonts/noto/NotoSansLaoUI-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansLaoUI-Thin.ttf
noto-fonts /usr/share/fonts/noto/NotoSansLepcha-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansLimbu-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansLinearB-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansLisu-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansLycian-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansLydian-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansMalayalam-Bold.ttf
noto-fonts /usr/share/fonts/noto/NotoSansMalayalam-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansMalayalamUI-Bold.ttf
noto-fonts /usr/share/fonts/noto/NotoSansMalayalamUI-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansMandaic-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansMeeteiMayek-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansMongolian-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansMono-Black.ttf
noto-fonts /usr/share/fonts/noto/NotoSansMono-Bold.ttf
noto-fonts /usr/share/fonts/noto/NotoSansMono-Light.ttf
noto-fonts /usr/share/fonts/noto/NotoSansMono-Medium.ttf
noto-fonts /usr/share/fonts/noto/NotoSansMono-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansMono-Thin.ttf
noto-fonts /usr/share/fonts/noto/NotoSansMyanmar-Black.ttf
noto-fonts /usr/share/fonts/noto/NotoSansMyanmar-Bold.ttf
noto-fonts /usr/share/fonts/noto/NotoSansMyanmar-Light.ttf
noto-fonts /usr/share/fonts/noto/NotoSansMyanmar-Medium.ttf
noto-fonts /usr/share/fonts/noto/NotoSansMyanmar-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansMyanmar-Thin.ttf
noto-fonts /usr/share/fonts/noto/NotoSansMyanmarUI-Black.ttf
noto-fonts /usr/share/fonts/noto/NotoSansMyanmarUI-Bold.ttf
noto-fonts /usr/share/fonts/noto/NotoSansMyanmarUI-Light.ttf
noto-fonts /usr/share/fonts/noto/NotoSansMyanmarUI-Medium.ttf
noto-fonts /usr/share/fonts/noto/NotoSansMyanmarUI-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansMyanmarUI-Thin.ttf
noto-fonts /usr/share/fonts/noto/NotoSansNKo-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansNewTaiLue-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansOgham-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansOlChiki-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansOldItalic-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansOldPersian-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansOldSouthArabian-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansOldTurkic-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansOriya-Bold.ttf
noto-fonts /usr/share/fonts/noto/NotoSansOriya-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansOriyaUI-Bold.ttf
noto-fonts /usr/share/fonts/noto/NotoSansOriyaUI-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansOsage-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansOsmanya-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansPhagsPa-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansPhoenician-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansRejang-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansRunic-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansSamaritan-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansSaurashtra-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansShavian-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansSinhala-Black.ttf
noto-fonts /usr/share/fonts/noto/NotoSansSinhala-Bold.ttf
noto-fonts /usr/share/fonts/noto/NotoSansSinhala-Light.ttf
noto-fonts /usr/share/fonts/noto/NotoSansSinhala-Medium.ttf
noto-fonts /usr/share/fonts/noto/NotoSansSinhala-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansSinhala-Thin.ttf
noto-fonts /usr/share/fonts/noto/NotoSansSinhalaUI-Black.ttf
noto-fonts /usr/share/fonts/noto/NotoSansSinhalaUI-Bold.ttf
noto-fonts /usr/share/fonts/noto/NotoSansSinhalaUI-Light.ttf
noto-fonts /usr/share/fonts/noto/NotoSansSinhalaUI-Medium.ttf
noto-fonts /usr/share/fonts/noto/NotoSansSinhalaUI-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansSinhalaUI-Thin.ttf
noto-fonts /usr/share/fonts/noto/NotoSansSundanese-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansSylotiNagri-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansSymbols-Black.ttf
noto-fonts /usr/share/fonts/noto/NotoSansSymbols-Bold.ttf
noto-fonts /usr/share/fonts/noto/NotoSansSymbols-Light.ttf
noto-fonts /usr/share/fonts/noto/NotoSansSymbols-Medium.ttf
noto-fonts /usr/share/fonts/noto/NotoSansSymbols-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansSymbols-Thin.ttf
noto-fonts /usr/share/fonts/noto/NotoSansSymbols2-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansSyriacEastern-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansSyriacEstrangela-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansSyriacWestern-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansTagalog-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansTagbanwa-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansTaiLe-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansTaiTham-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansTaiViet-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansTamil-Black.ttf
noto-fonts /usr/share/fonts/noto/NotoSansTamil-Bold.ttf
noto-fonts /usr/share/fonts/noto/NotoSansTamil-Light.ttf
noto-fonts /usr/share/fonts/noto/NotoSansTamil-Medium.ttf
noto-fonts /usr/share/fonts/noto/NotoSansTamil-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansTamil-Thin.ttf
noto-fonts /usr/share/fonts/noto/NotoSansTamilUI-Black.ttf
noto-fonts /usr/share/fonts/noto/NotoSansTamilUI-Bold.ttf
noto-fonts /usr/share/fonts/noto/NotoSansTamilUI-Light.ttf
noto-fonts /usr/share/fonts/noto/NotoSansTamilUI-Medium.ttf
noto-fonts /usr/share/fonts/noto/NotoSansTamilUI-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansTamilUI-Thin.ttf
noto-fonts /usr/share/fonts/noto/NotoSansTelugu-Bold.ttf
noto-fonts /usr/share/fonts/noto/NotoSansTelugu-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansTeluguUI-Bold.ttf
noto-fonts /usr/share/fonts/noto/NotoSansTeluguUI-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansThaana-Bold.ttf
noto-fonts /usr/share/fonts/noto/NotoSansThaana-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansThai-Black.ttf
noto-fonts /usr/share/fonts/noto/NotoSansThai-Bold.ttf
noto-fonts /usr/share/fonts/noto/NotoSansThai-Light.ttf
noto-fonts /usr/share/fonts/noto/NotoSansThai-Medium.ttf
noto-fonts /usr/share/fonts/noto/NotoSansThai-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansThai-Thin.ttf
noto-fonts /usr/share/fonts/noto/NotoSansThaiUI-Black.ttf
noto-fonts /usr/share/fonts/noto/NotoSansThaiUI-Bold.ttf
noto-fonts /usr/share/fonts/noto/NotoSansThaiUI-Light.ttf
noto-fonts /usr/share/fonts/noto/NotoSansThaiUI-Medium.ttf
noto-fonts /usr/share/fonts/noto/NotoSansThaiUI-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansThaiUI-Thin.ttf
noto-fonts /usr/share/fonts/noto/NotoSansTibetan-Bold.ttf
noto-fonts /usr/share/fonts/noto/NotoSansTibetan-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansTifinagh-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansUgaritic-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansVai-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSansYi-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSerif-Black.ttf
noto-fonts /usr/share/fonts/noto/NotoSerif-BlackItalic.ttf
noto-fonts /usr/share/fonts/noto/NotoSerif-Bold.ttf
noto-fonts /usr/share/fonts/noto/NotoSerif-BoldItalic.ttf
noto-fonts /usr/share/fonts/noto/NotoSerif-Italic.ttf
noto-fonts /usr/share/fonts/noto/NotoSerif-Light.ttf
noto-fonts /usr/share/fonts/noto/NotoSerif-LightItalic.ttf
noto-fonts /usr/share/fonts/noto/NotoSerif-Medium.ttf
noto-fonts /usr/share/fonts/noto/NotoSerif-MediumItalic.ttf
noto-fonts /usr/share/fonts/noto/NotoSerif-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSerif-Thin.ttf
noto-fonts /usr/share/fonts/noto/NotoSerif-ThinItalic.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifArmenian-Black.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifArmenian-Bold.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifArmenian-Light.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifArmenian-Medium.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifArmenian-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifArmenian-Thin.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifBengali-Bold.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifBengali-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifDevanagari-Bold.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifDevanagari-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifDisplay-Black.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifDisplay-BlackItalic.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifDisplay-Bold.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifDisplay-BoldItalic.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifDisplay-Italic.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifDisplay-Light.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifDisplay-LightItalic.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifDisplay-Medium.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifDisplay-MediumItalic.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifDisplay-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifDisplay-Thin.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifDisplay-ThinItalic.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifEthiopic-Black.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifEthiopic-Bold.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifEthiopic-Light.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifEthiopic-Medium.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifEthiopic-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifEthiopic-Thin.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifGeorgian-Black.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifGeorgian-Bold.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifGeorgian-Light.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifGeorgian-Medium.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifGeorgian-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifGeorgian-Thin.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifGujarati-Bold.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifGujarati-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifHebrew-Black.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifHebrew-Bold.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifHebrew-Light.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifHebrew-Medium.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifHebrew-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifHebrew-Thin.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifKannada-Bold.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifKannada-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifKhmer-Black.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifKhmer-Bold.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifKhmer-Light.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifKhmer-Medium.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifKhmer-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifKhmer-Thin.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifLao-Black.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifLao-Bold.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifLao-Light.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifLao-Medium.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifLao-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifLao-Thin.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifMalayalam-Bold.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifMalayalam-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifMyanmar-Black.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifMyanmar-Bold.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifMyanmar-Light.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifMyanmar-Medium.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifMyanmar-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifMyanmar-Thin.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifSinhala-Black.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifSinhala-Bold.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifSinhala-Light.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifSinhala-Medium.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifSinhala-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifSinhala-Thin.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifTamil-Black.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifTamil-Bold.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifTamil-Light.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifTamil-Medium.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifTamil-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifTamil-Thin.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifTelugu-Bold.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifTelugu-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifThai-Black.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifThai-Bold.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifThai-Light.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifThai-Medium.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifThai-Regular.ttf
noto-fonts /usr/share/fonts/noto/NotoSerifThai-Thin.ttf

to a handful of files (e.g. Serif and Sans, one file per weight)?

Lonli-Lokli commented 2 years ago

Speaking from other side, is it possible to minify fonts? https://github.com/googlefonts/noto-fonts/blob/main/hinted/ttf/NotoSansMono/NotoSansMono-Regular.ttf is about 500kb

simoncozens commented 2 years ago

What's your use case? You can have it without hinting for 336kb. If you want it any cheaper you will need to start cutting down on functionality (glyphs / codepoint coverage).

Mathnerd314 commented 2 years ago

Answering @brawer's questions for desktop Linux:

Why should I package Noto into my distro?

Plasma 5.5 made Noto the default font. And some Plasma widgets were designed with 6 weights of Noto Sans in mind (list)

Should I use hinted fonts?

The hinted fonts for Noto are generated using Freetype's ttfautohint. On desktop Linux, when given non-hinted TTFs, Freetype automatically runs the same hinting algorithm and generates almost identical output, so you do not need the hinted fonts. And the unhinted fonts are smaller.

Which files should I package? Size vs coverage tradeoff; how to prioritize.

In practice distros have to provide both of these; you can either opt to duplicate font data and ship a KDE weight package with OTFs and an all-font package with Variable+OTF, or not duplicate font weights and ship the variable fonts in the KDE weight package. This latter option is what I chose for Nixpkgs and it increases the KDE weight package to 59M.

Which files should I package for CJK?

The Sans/Serif Variable OTC TTC collections are the clear winners in file size and provide all weights and regions.

Which minimum version of FreeType/Cairo/fontconfig/... is needed?

fontconfig >= 2.12.92 (bug), FreeType >= 2.5.0.1 (CJK README), Harfbuzz >= 3.3.0 (https://github.com/googlefonts/noto-cjk/issues/217), Cairo >= 1.14.2 (bug) and do not disable hinting if you want emoji (bug). But it is always best to use the latest versions.

merge the hundreds of script-specific files into a few meaningful families such as “Noto Sans”, “Noto Serif” etc.,

It seems Fedora does this for Noto with a Lua script (edit: nope, that just makes separate packages) and for Droid with a Python script. But it doesn't seem like any other distro does this. The main Latin font is sufficient for most purposes so the other fonts are mainly used as fallback fonts to ensure Unicode coverage. For example FreeBSD's noto-basic package ships only a few weights of the Latin fonts along with Linear B and Symbols. It's not clear that the script specific names can be avoided, as they are in use in documents and on the web. There is https://github.com/googlefonts/noto-fonts/issues/2270 which will reduce clutter by merging some of the font files, but that too will break existing documents.

Pi-Cla commented 2 years ago

The hinted fonts for Noto are generated using Freetype's ttfautohint. On desktop Linux, when given non-hinted TTFs, Freetype automatically runs the same hinting algorithm and generates almost identical output, so you do not need the hinted fonts. And the unhinted fonts are smaller.

@Mathnerd314 so if I got this right, this means that if a linux distro ships with unhinted OTFs then they won't be hinted on the desktop whereas if a distro ships with unhinted TTFs then they will be hinted on the desktop?

Mathnerd314 commented 2 years ago

I wouldn't say OTF is unhinted, it just goes through a completely different rendering process (Adobe's CFF rasterizer).

Compare these (grayscale) renderings from KDE font viewer:

The OTF is the only one to push the next line offscreen. But even the unhinted and hinted TTF are a little different if you zoom in and look at the pixels, probably due to different versions of the hinting algorithm. Overall though there's not much difference. I've seen a number of posts by people and packaging guidelines saying they prefer the OTF rendering, but presumably there are also people that prefer the TTF.

Lonli-Lokli commented 2 years ago

I think it should be also monitor-dependant thing. Unfortunately there is no like online validation tool for different browsers/OS/monitors

fitojb commented 2 years ago

Browsershots used to be a thing, but people let it die...

simoncozens commented 2 years ago

Browserstack?

tinywrkb commented 1 year ago

As someone who packages the variable fonts (and don't really want to, but my distro doesn't ship them), I'm not that thrilled about the deprecation of notofonts/noto-fonts.
I would appreciate having a tarball with all the fonts, instead of having to keep track of too many font repositories.
Maybe provide semi-annual or even annual stable releases, and a monthly snapshot of current development builds.
And as I'm packaging the variable fonts, I would appreciate having a tarball with just these variable fonts, but complement it with static-only fonts (those that have no variable variants), which is how I package this, as language coverage > storage space-saving.

Pi-Cla commented 1 year ago

I agree, there is the website: https://github.com/notofonts/notofonts.github.io which has all of them, but a problem is that its tagged by the last font updated rather than by YYYYMMDD date.