Skip to content

Conversation

@DeeJayLSP
Copy link
Contributor

@DeeJayLSP DeeJayLSP commented Oct 12, 2025

Update from 11.3.2 to 12.1.0.

Most patch notes mention performance upgrades. There are new features, but Godot doesn't use most of them.

Did not notice any regressions in a quick run. hb-kbts.cc (introduced in 11.4.0) was left out of the build as the notes mention it being for tests only (not to mention it's not included in harfbuzz.cc or harfbuzz-subset.cc, which includes all files used by Godot).

@DeeJayLSP DeeJayLSP requested a review from a team as a code owner October 12, 2025 23:51
@bruvzg bruvzg added this to the 4.6 milestone Oct 13, 2025
@bruvzg
Copy link
Member

bruvzg commented Oct 13, 2025

Not sure if changes to TextServerAdvanced are needed to use them, though.

Most likely, it will require support in FreeType for it to work. This test font doesn't work, and I have not found a single app that can open in, so this feature unlikely will be relevant any time soon.

@bruvzg
Copy link
Member

bruvzg commented Oct 13, 2025

Note: we do not use HarfBuzz subsetter, so all hb-subset- files probably can be removed, but this requires some testing, so probably should be done separately from update.

@khaledhosny
Copy link

Not sure if changes to TextServerAdvanced are needed to use them, though.

Most likely, it will require support in FreeType for it to work. This test font doesn't work, and I have not found a single app that can open in, so this feature unlikely will be relevant any time soon.

The support in HarfBuzz is for hb-draw APIs (VARC has no effect on shaping). If you don’t use hb-draw then you will see no difference in handling fonts with VARC table.

@bruvzg
Copy link
Member

bruvzg commented Oct 13, 2025

If you don’t use hb-draw then you will see no difference in handling fonts with VARC table.

We do not use hb-draw.

@DeeJayLSP
Copy link
Contributor Author

DeeJayLSP commented Oct 13, 2025

Note: we do not use HarfBuzz subsetter, so all hb-subset- files probably can be removed, but this requires some testing, so probably should be done separately from update.

Can confirm the engine builds and runs fine with all hb-subset-* files out.

There two files in the source that include most .cc files at once: harfbuzz.cc and harfbuzz-subset.cc, the difference being that the latter includes the hb-subset-* files. Considering they're used as a reference, wouldn't it be wise to just leave subset files out?

Edit: I went ahead and commented out all of them.

@Repiteo Repiteo requested a review from akien-mga October 13, 2025 16:57
@DeeJayLSP
Copy link
Contributor Author

DeeJayLSP commented Oct 13, 2025

We do not use hb-draw.

HarfBuzz (or at least this version) has many #ifndefs that disable a lot of features, including a HB_NO_DRAW (not available before this change, and the engine builds just fine with it).

@khaledhosny
Copy link

We do not use hb-draw.

HarfBuzz (or at least this version) has many #ifndefs that disable a lot of features, including a HB_NO_DRAW (not available before this change, and the engine builds just fine with it).

See https://github.com/harfbuzz/harfbuzz/blob/main/CONFIG.md

@Repiteo Repiteo merged commit 8be090c into godotengine:master Oct 14, 2025
20 checks passed
@Repiteo
Copy link
Contributor

Repiteo commented Oct 14, 2025

Thanks!

@DeeJayLSP DeeJayLSP deleted the harfbuzz-update branch October 16, 2025 03:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants