On Fri Oct 14 17:38:43 2022 +0000, Nikolay Sivov wrote:
The way it works in dwrite right now, which is how it works in harfbuzz I took this from: ``` foreach feature in features foreach lookup in feature.lookups { for first subtable that matches -> apply this subtable and return } ``` So, it shouldn't skip lookups after some lookup was applied, it should skip subtables after first match, but still iterate through all lookups. That's a major difference. Are you sure it works exactly like that in gdi32 as well? We don't seem to have tests for that, and I don't feel comfortable just removing the recursive call. I mean there's probably a reason it was done like this...
Anyways, I just wanted to fix a stackoverflow, didn't expect to rewrite the logic for glyph lookup. Should I really change that with the superficial knowledge I have? -- https://gitlab.winehq.org/wine/wine/-/merge_requests/1055#note_10850