-
Notifications
You must be signed in to change notification settings - Fork 1
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
Comments
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. |
I’m especially interested in this:
Would that mean we could go from (listing from the package on my system):
to a handful of files (e.g. Serif and Sans, one file per weight)? |
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 |
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). |
Answering @brawer's questions for desktop Linux:
Plasma 5.5 made Noto the default font. And some Plasma widgets were designed with 6 weights of Noto Sans in mind (list)
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.
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.
The Sans/Serif Variable OTC TTC collections are the clear winners in file size and provide all weights and regions.
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.
It seems Fedora does this |
@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? |
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. |
I think it should be also monitor-dependant thing. Unfortunately there is no like online validation tool for different browsers/OS/monitors |
Browsershots used to be a thing, but people let it die... |
Browserstack? |
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 |
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. |
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:
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.
The text was updated successfully, but these errors were encountered: