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

Variable font version could not display some symbols #296

Closed
3 tasks done
WordlessEcho opened this issue Apr 12, 2021 · 8 comments
Closed
3 tasks done

Variable font version could not display some symbols #296

WordlessEcho opened this issue Apr 12, 2021 · 8 comments

Comments

@WordlessEcho
Copy link

WordlessEcho commented Apr 12, 2021

Prerequisites

  • If you are reporting an issue that affects glyphs for characters for a particular region or regions, did you verify that the characters are within the supported scope of the region or regions? This generally means GB 18030 or Tōngyòng Guīfàn Hànzìbiǎo (通用规范汉字表) for China, Big Five or CNS 11643 Planes 1 & 2 for Taiwan, HKSCS-2016 for Hong Kong, JIS X 0208, JIS X 0212, and JIS X 0213 for Japan, and KS X 1001 and KS X 1002 for Korea.
  • Did you thoroughly search the open and closed issues to avoid reporting a duplicate issue?
  • Did you go through the official font readme file to better understand the scope of the project, to include the Known Issues section at the very end?

Description

[Please provide here a thorough description of the issue, being sure to specify at least a Unicode code point if it affects a character or a particular glyph for a character. Including the character itself after the Unicode code point also helps, for visual reasons. Images with annotations that pinpoint the issue also help. If you are referencing standards, please keep in mind that they may have known or unknown errors. It is not necessary to provide CIDs.]

Thanks to @AokiFuru simonsmh/notocjk#25.

⚽ (U+26BD), ● (U+25CF), ■ (U+25A0), ◆ (U+25C6), ▲ (U+25B2), ▶ (U+25B6), ▼ (U+25BC), ◀ (U+25C0), ♠ (U+2660), ♥ (U+2665), ♣ (U+2663), ♦(U+2666), ❖ (U+2756), ✚ (U+271A), ✿ (U+273F), ◢ (U+25E2), ◣ (U+25E3), ◤ (U+25E4), ◥ (U+25E5)

Those were displayed correctly in super OTC version.

@RuixiZhang42
Copy link

RuixiZhang42 commented Apr 12, 2021

Comment deleted because I was completely off. Sorry for the confusion.

@WordlessEcho
Copy link
Author

I use Google's font tool to dump its cmap. (googlefonts/fonttools: A library to manipulate font files from Python.)

<cmap>
    <tableVersion version="0"/>
    <cmap_format_4 platformID="0" platEncID="3" language="0">
    <!-- some maps -->
    <map code="0x25c6" name="uni25C6"/><!-- BLACK DIAMOND -->

Now I am confused.

@punchcutter
Copy link
Member

Those characters are in the font and look fine in some apps, but I see them disappear in other apps. What system and software are you using where they don't show up?

@punchcutter
Copy link
Member

Actually, something very weird happened and a bunch of those glyph outlines disappeared. My local build is totally fine so we will be doing a new release soon that will fix this.

@WordlessEcho
Copy link
Author

Those characters are in the font and look fine in some apps, but I see them disappear in other apps. What system and software are you using where they don't show up?

Windows 10 version 19042.867
In System settings -> personalization -> fonts -> Source Han Sans HC VF -> input a ⚽ (U+26BD) for example
image

In Source Han Sans HC:
image

In Microsoft Edge (Chromium version), change font to Noto Sans CJK SC VF in settings -> appearence -> custom fonts
Some symbols fallback to use Emoji font correctly but some not.
image

Change font-family by developer tools to Source Han Sans SC VF:
image

Change font-family by developer tools to Source Han Sans SC:
image

Andorid 11
I change system font config (fonts.xml) to use variable font.

<!-- some family -->
<family lang="zh-Hans">
        <font weight="100" style="normal" index="3">NotoSansCJK-VF.ttc
            <axis tag="wght" stylevalue="100.0" />
        </font>
        <font weight="300" style="normal" index="3">NotoSansCJK-VF.ttc
            <axis tag="wght" stylevalue="300.0" />
        </font>
        <font weight="350" style="normal" index="3">NotoSansCJK-VF.ttc
            <axis tag="wght" stylevalue="350.0" />
        </font>
        <font weight="400" style="normal" index="3">NotoSansCJK-VF.ttc
            <axis tag="wght" stylevalue="400.0" />
        </font>
        <font weight="500" style="normal" index="3">NotoSansCJK-VF.ttc
            <axis tag="wght" stylevalue="500.0" />
        </font>
        <font weight="700" style="normal" index="3">NotoSansCJK-VF.ttc
            <axis tag="wght" stylevalue="700.0" />
        </font>
        <font weight="900" style="normal" index="3">NotoSansCJK-VF.ttc
            <axis tag="wght" stylevalue="900.0" />
        </font>

        <!-- serif font -->
    </family>
    <family lang="zh-Hant,zh-Bopo">
        <font weight="100" style="normal" index="4">NotoSansCJK-VF.ttc
            <axis tag="wght" stylevalue="100.0" />
        </font>
        <font weight="300" style="normal" index="4">NotoSansCJK-VF.ttc
            <axis tag="wght" stylevalue="300.0" />
        </font>
        <font weight="350" style="normal" index="4">NotoSansCJK-VF.ttc
            <axis tag="wght" stylevalue="350.0" />
        </font>
        <font weight="400" style="normal" index="4">NotoSansCJK-VF.ttc
            <axis tag="wght" stylevalue="400.0" />
        </font>
        <font weight="500" style="normal" index="4">NotoSansCJK-VF.ttc
            <axis tag="wght" stylevalue="500.0" />
        </font>
        <font weight="700" style="normal" index="4">NotoSansCJK-VF.ttc
            <axis tag="wght" stylevalue="700.0" />
        </font>
        <font weight="900" style="normal" index="4">NotoSansCJK-VF.ttc
            <axis tag="wght" stylevalue="900.0" />
        </font>

        <!-- serif font -->
    </family>
    <family lang="ja">
        <font weight="100" style="normal" index="1">NotoSansCJK-VF.ttc
            <axis tag="wght" stylevalue="100.0" />
        </font>
        <font weight="300" style="normal" index="1">NotoSansCJK-VF.ttc
            <axis tag="wght" stylevalue="300.0" />
        </font>
        <font weight="350" style="normal" index="1">NotoSansCJK-VF.ttc
            <axis tag="wght" stylevalue="350.0" />
        </font>
        <font weight="400" style="normal" index="1">NotoSansCJK-VF.ttc
            <axis tag="wght" stylevalue="400.0" />
        </font>
        <font weight="500" style="normal" index="1">NotoSansCJK-VF.ttc
            <axis tag="wght" stylevalue="500.0" />
        </font>
        <font weight="700" style="normal" index="1">NotoSansCJK-VF.ttc
            <axis tag="wght" stylevalue="700.0" />
        </font>
        <font weight="900" style="normal" index="1">NotoSansCJK-VF.ttc
            <axis tag="wght" stylevalue="900.0" />
        </font>

        <!-- serif font -->
    </family>
    <family lang="ko">
        <font weight="100" style="normal" index="2">NotoSansCJK-VF.ttc
            <axis tag="wght" stylevalue="100.0" />
        </font>
        <font weight="300" style="normal" index="2">NotoSansCJK-VF.ttc
            <axis tag="wght" stylevalue="300.0" />
        </font>
        <font weight="350" style="normal" index="2">NotoSansCJK-VF.ttc
            <axis tag="wght" stylevalue="350.0" />
        </font>
        <font weight="400" style="normal" index="2">NotoSansCJK-VF.ttc
            <axis tag="wght" stylevalue="400.0" />
        </font>
        <font weight="500" style="normal" index="2">NotoSansCJK-VF.ttc
            <axis tag="wght" stylevalue="500.0" />
        </font>
        <font weight="700" style="normal" index="2">NotoSansCJK-VF.ttc
            <axis tag="wght" stylevalue="700.0" />
        </font>
        <font weight="900" style="normal" index="2">NotoSansCJK-VF.ttc
            <axis tag="wght" stylevalue="900.0" />
        </font>

        <!-- serif font -->
    </family>
<!-- some family -->

In Google Pinyin Method
Before modified (Android 11 use NotoSansCJK-Regular.ttc version 2.001 in default):
original

After modified:
modified

@tamcy
Copy link

tamcy commented Apr 14, 2021

@punchcutter In my case it is the autohinter that caused the disappearance of the glyphs. From my observation, the glyph would disappear when the outlines of the two masters are the same (but I do see a few exceptions).

@punchcutter
Copy link
Member

@tamcy Thanks for confirming that. I recently found the bug in tx when used to instantiate a CFF2 variable font, but we aren't using that here. I just confirmed I see the same bug with psautohint since it also uses tx so looks like a bug in CFF2 handling.

punchcutter added a commit that referenced this issue Apr 28, 2021
- Variable font STAT table ranges were updated to display correctly on Windows. Issue [#291](#289)

- Variable font postscript names were updated to display correctly on macOS 11. Issue [#291](#289)

- Added missing CID+37953 to Korean Subset. Issue [#289](#289)

- Glyphs with missing outlines were corrected. Issue [#296](#296)
punchcutter added a commit that referenced this issue Apr 28, 2021
- Variable font STAT table ranges were updated to display correctly on Windows. Issue [#291](#289)

- Variable font postscript names were updated to display correctly on macOS 11. Issue [#291](#289)

- Added missing CID+37953 to Korean Subset. Issue [#289](#289)

- Glyphs with missing outlines were corrected. Issue [#296](#296)
punchcutter added a commit to notofonts/noto-cjk that referenced this issue Apr 28, 2021
- Variable font STAT table ranges were updated to display correctly on Windows. Issues [#190](#190)
and [#291](adobe-fonts/source-han-sans#289)

- Variable font postscript names were updated to display correctly on macOS 11. Issue [#291](adobe-fonts/source-han-sans#289)

- Added missing CID+37953 to Korean Subset. Issue [#289](adobe-fonts/source-han-sans#289)

- Glyphs with missing outlines were corrected. Issue [#296](adobe-fonts/source-han-sans#296)
punchcutter added a commit to notofonts/noto-cjk that referenced this issue Apr 28, 2021
- Variable font STAT table ranges were updated to display correctly on Windows. Issues [#190](#190)
and [#291](adobe-fonts/source-han-sans#289)

- Variable font postscript names were updated to display correctly on macOS 11. Issue [#291](adobe-fonts/source-han-sans#289)

- Added missing CID+37953 to Korean Subset. Issue [#289](adobe-fonts/source-han-sans#289)

- Glyphs with missing outlines were corrected. Issue [#296](adobe-fonts/source-han-sans#296)
punchcutter added a commit to notofonts/noto-cjk that referenced this issue Apr 28, 2021
- Variable font STAT table ranges were updated to display correctly on Windows. Issues [#190](#190)
and [#291](adobe-fonts/source-han-sans#289)

- Variable font postscript names were updated to display correctly on macOS 11. Issue [#291](adobe-fonts/source-han-sans#289)

- Added missing CID+37953 to Korean Subset. Issue [#289](adobe-fonts/source-han-sans#289)

- Glyphs with missing outlines were corrected. Issue [#296](adobe-fonts/source-han-sans#296)
@punchcutter
Copy link
Member

Fixed in 2.004

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

4 participants