On Thu Oct 5 13:11:00 2023 +0000, Nikolay Sivov wrote:
Even if this works this way, glyph class test looks suspicious to me, I still think it's misplaced. This most likely should be a part of larger shaping handling, we need to figure out the extent of it in legacy shaping system of gdi32, and do something similar. For example. does GetTextExtentExPoint() work for Arabic text at all? A simple test would be to test lam-alef ligature with some font that's using a single glyph for it, and see what's returned for extents.
This was all reverse-engineered by listing which characters fit into a 1-pixel space after an "a" character according to `GetTextExtentExPoint` with the DejaVu font, on Windows and on Wine, and working towards getting Wine to match the Windows result. This is all just for fixing a game crash on Wine. I don't see why this should be blocked because it doesn't yet implement everything, it just makes Wine's implementation "less wrong/incomplete".