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 OTCs are broken with HarfBuzz<3.3.0 #217

Closed
tinywrkb opened this issue Mar 31, 2022 · 8 comments
Closed

Variable OTCs are broken with HarfBuzz<3.3.0 #217

tinywrkb opened this issue Mar 31, 2022 · 8 comments

Comments

@tinywrkb
Copy link

Might not be a Noto CJK issue, but it should be noted down.
From what I can tell, this is fixed by harfbuzz/harfbuzz@da7dba0.

@tinywrkb tinywrkb changed the title Variable OTCs are broken with Harfbuz<3.3.0 Variable OTCs are broken with HarfBuzz<3.3.0 Mar 31, 2022
@punchcutter
Copy link
Contributor

What does "broken" mean? Did you try the same thing with other OTCs besides Noto CJK/Source Han? One thing that's probably unique for these is that the CFF2 table is identical across the separate fonts included in the OTC.

@khaledhosny
Copy link

This is a bad interaction between certain versions of Pango and HarfBuzz (FreeType has a convention of using the higher bits of face index for named instance index, Pango assumed HarfBuzz follows the same convention but it didn't), that was later fixed. Nothing to change in the font.

@tinywrkb
Copy link
Author

@punchcutter by broken I mean it shows the placeholder glyph instead actual CJK characters.
No, I haven't tried other OTCs.

My initial assumption was that this is a bug elsewhere and not in the font, because it was working correctly in my updated Arch Linux host system, but not in environments that have non-recent libs, specifically glyphs were not showing up in Flatpak apps.
So I haven't bothered testing other fonts, and instead looked for the change that fixed this problem, which is in HarfBuzz.

As I said in my 1st comment, this issue was opened for documenting that there was a problem, which might help someone in the future.
Other users also hit this bug, for example, see this.

@khaledhosny thanks for confirming that this isn't a font issue.
Do you recommend cherry-picking anything else for patching HarfBuzz 3.0.0? I created an MR for the Freedesktop Flatpak runtime.
Bumping HarfBuzz version in a stable Flatpak runtime is likely not going to happen, so we need to backport fixes.

Closing as this not a font issue.

@khaledhosny
Copy link

You can check the release notes if there is anything else that might affect you. I recommend updating to the latest HarfBuzz, though, since we are API and ABI stable (even across major version numbers).

@Mathnerd314
Copy link

You could add "Special Note: This deployment format requires HarfBuzz 3.3.0 or later on Linux." to the READMEs.

@khaledhosny
Copy link

It was a short lived bug that doesn't warrent such mention, it is unfortunate that certain users are stuck with the bad combination of Pango and HarfBuzz.

@tinywrkb
Copy link
Author

@khaledhosny thanks again!

I recommend updating to the latest HarfBuzz, though, since we are API and ABI stable (even across major version numbers).

Backward compatibility is a requirement for the Freedesktop Flatpak runtime, and a quick test suggest that the ABI in not backward compatible. From 3.0.0 to 3.3.0 there are 7 added symbols.
Not keeping backward compatibility means that the user won't be able to downgrade the runtime to a previous commit independently of the checked-out applications revisions.

@khaledhosny
Copy link

The ABI is backward compatible but not forward compatible (forward compatibility is rather unattainable in an actively developed library) but this is going really out of topic for this project.

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

No branches or pull requests

4 participants