adobe-fonts / source-han-sans

Source Han Sans | 思源黑体 | 思源黑體 | 思源黑體 香港 | 源ノ角ゴシック | 본고딕
Other
14.13k stars 1.29k forks source link

Still missing meta table, dlng and slng #270

Open wyuenho opened 3 years ago

wyuenho commented 3 years ago

Prerequisites

Description

As reported by #193 and #181, none of the Noto and Source Han Sans CJK fonts has a dlng entry in the dataMap in the meta table as described here. This value is very useful to programmatically determine the script and language each font is most suitable for what language without having to encode Noto and Source Sans Han specific routines into the code base. Every other CJK font on the market has this entry. Most fonts have this unless it's a pan-unicode font.

This issue was claimed to be fixed in version 2, but 2.001 still doesn't have a meta table that contains these entries.

punchcutter commented 3 years ago

Sorry for the delay. This hasn't been forgotten, but didn't make it into the last release. Currently the plan is to get this into the next release.

verdy-p commented 1 month ago

All "Noto [Serif/Sans] [TC/SC/JP/KR]" fonts (in all their 7 weights) have forgotten to include [dlng]/[slng] OpenType metadata.

As result, none of these fonts can be used in modern web browsers based on Chromium (including Google Chrome and MS Edge) and applications using web engines (with HTML+CSS) for their UI display. The [dlng]/[slng] metadata is now used isntead of the old (broken and very slow) font selection mechanisms based on parsing the character-to-glyph mappings, or older OS/2 metatables.

Any "Noto" font without [dlng]/[slng] are no longer usable on the web. Instead text renderers of web engines will try to use fallback fonts, and if there's none matching, will display "tofu".... That's clearly not what the "Noto" family was designed for when they wanted to avoid this situation. Those broken Noto fonts are only usable in rich-text documents or standalone applications that select a single explicit static font name and style, and not depending on dynamic font selection.

Please add the "[dlng]/[slng]" OpenType small metadata where it is missing in ALL Noto fonts. This is required now in modern web browsers and applications using web rendering engines. This omission is currently not checked in Google font test suites (that are still only testing the presence of legacy "OS/2" tables and similar bitmap metadata, no longer used by modern text rendering/shaping engines of modern browsers to select relevant fonts).

All CJK fonts installed by default on Windows have this metadata, e.g. "Simsun", "Simsun-ExtA", "Simsun-ExtB"... These fonts are working in modern web browsers.