Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Recommendations for packaging Noto #13

Open
brawer opened this issue May 13, 2016 · 12 comments
Open

Recommendations for packaging Noto #13

brawer opened this issue May 13, 2016 · 12 comments

Comments

@brawer
Copy link

brawer commented May 13, 2016

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

In context of notofonts/noto-fonts#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:

  • Why should I package Noto into my distro/hardware?
  • Which files should I package? Size vs coverage tradeoff; how to prioritize. Which files should I package for CJK? Should I use hinted fonts?
  • Dependencies: Which minimum version of FreeType/Cairo/fontconfig/... is needed for color emoji and TTC collections?
  • 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).

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
Copy link
Author

brawer commented Jun 9, 2016

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
Copy link

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
Copy link

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
Copy link
Contributor

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
Copy link

Mathnerd314 commented Apr 21, 2022

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.

  • If packaging the KDE weights, the individual OTFs are smallest at 38MB. (The unhinted OTFs are smaller than the unhinted TTFs.) The slim variable fonts are also an option but they include Medium and SemiBold and do not include Light so the total package with Light OTFs included weighs in at 41M. So the slim variable fonts are rather strange from a distro perspective.
  • If packaging all the weights, using the available variable fonts in place of the corresponding OTFs shrinks the package from 248M to 84M.

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 (notofonts/noto-cjk#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
Copy link

Pi-Cla commented May 28, 2022

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
Copy link

Mathnerd314 commented May 28, 2022

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:

  • Unhinted TTF
    image
  • Hinted TTF
    image
  • OTF
    image

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
Copy link

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

@fitojb
Copy link

fitojb commented May 28, 2022

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

@simoncozens
Copy link
Contributor

Browserstack?

@simoncozens simoncozens transferred this issue from notofonts/noto-fonts Jun 21, 2022
@tinywrkb
Copy link

tinywrkb commented Aug 2, 2022

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
Copy link

Pi-Cla commented Aug 2, 2022

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests