notofonts / math

Noto Math
SIL Open Font License 1.1
25 stars 3 forks source link

Cyrillic glyphs and others missing from published fonts #43

Closed marcianx closed 1 year ago

marcianx commented 1 year ago

Defect Report

@simoncozens Thank you for incorporating the additional glyphs I requested and the latest OTFs and publishing them at https://notofonts.github.io/math/.

I downloaded the unhinted NotoSansMath-Regular.otf and ran my audit script again and the corresponding glyphs still seem to be missing:

Unsupported in math font: [¢£¥©®°·ÅÇÐÞåçðþˆАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя‡€℘℧]

    ranges:
        - start: 0x00A2
          end: 0x00A3
        - start: 0x00A5
          end: 0x00A5
        - start: 0x00A9
          end: 0x00A9
        - start: 0x00AE
          end: 0x00AE
        - start: 0x00B0
          end: 0x00B0
        - start: 0x00B7
          end: 0x00B7
        - start: 0x00C5
          end: 0x00C5
        - start: 0x00C7
          end: 0x00C7
        - start: 0x00D0
          end: 0x00D0
        - start: 0x00DE
          end: 0x00DE
        - start: 0x00E5
          end: 0x00E5
        - start: 0x00E7
          end: 0x00E7
        - start: 0x00F0
          end: 0x00F0
        - start: 0x00FE
          end: 0x00FE
        - start: 0x02C6
          end: 0x02C6
        - start: 0x0410
          end: 0x044F
        - start: 0x2021
          end: 0x2021
        - start: 0x20AC
          end: 0x20AC
        - start: 0x2118
          end: 0x2118
        - start: 0x2127
          end: 0x2127

Are these being subsetted out by any chance?

simoncozens commented 1 year ago

I think this is actually correct. The unhinted builds just have the glyphs which are actually in the sources; these are normally used in Android, primarily for codepoint coverage. For fonts for standalone use (i.e. not in a font fallback stack), you should be looking at the full builds.

marcianx commented 1 year ago

We want the glyphs, but we don't want the hint tables (our use-cases are size sensitive). If you recall, the config yaml settings was the alternative to Jeff copying over the symbols directly from Noto Sans to Noto Sans Math so that if the symbols are updated in Noto Sans, they are reflected in Noto Sans Math as well. Should we have copied over the symbols directly instead then?

simoncozens commented 1 year ago

If you recall, the config yaml settings was the alternative to Jeff copying over the symbols directly from Noto Sans to Noto Sans Math so that if the symbols are updated in Noto Sans, they are reflected in Noto Sans Math as well.

Yes, so having them added to the full build is the right way forward here.

We want the glyphs, but we don't want the hint tables (our use-cases are size sensitive).

It sounds like you need your own custom build. How about using gftools-drop-hints to remove the hint tables?

marcianx commented 1 year ago

Okay, thanks -- I just wrote up BUILD rules for the unhinting and further processing internally so that folks can update the font in the future simply by downloading the full version.

For my edification (and I'll document this in our internal README since this is unexpected): Why is hinting coupled with the selection of glyphs? Is it because the list of glyphs in the config yaml have the semantics of being considered unessential for the functionality of the font so that they may be omitted from the unhinted version? If so, since my impression was the opposite (i.e. that the listed glyphs would be considered essential), could you possibly document this updated understanding perhaps here: https://github.com/notofonts/notofonts.github.io/blob/main/README.md?

simoncozens commented 1 year ago

Why is hinting coupled with the selection of glyphs?

Think about it in terms of the three targets we want to build:

A font which contains additional glyphs but is unhinted to save size isn't really something we have a use case for. (Until now!) So I didn't make the build system produce one