Bernhard Kölbl <besentv@gmail.com> writes:
Hi,
I think the correct solution very much depends on what API is being used to draw the text.
I am only focusing on uniscribe for the time being. I did not get much chance to look into what, for example, dwrite does for fallback.
Also, the fallbacks are defined in this table, iirc. https://gitlab.winehq.org/wine/wine/-/blob/master/dlls/gdi32/uniscribe/usp10...
This table has hard-coded font names that are not installed on a Linux system by default. Does this mean that for font fallbacks to work, these fonts have to be installed beforehand? If yes, then would the better solution not be to use whichever fonts the user already has on their machine?
-- Bernhard
Am So., 5. Apr. 2026 um 13:05 Uhr schrieb समीर सिंह Sameer Singh via Wine-Devel <wine-devel@list.winehq.org>:
Hi, I can still reproduce this issue on the latest master at the time of writing this.
For example open: wine notepad and type something like: देवनागरी Instead of the program falling back to an appropriate font, "tofu" blocks are shown instead.
Now, in ./dlls/gdi32/uniscribe/usp10.c I can see a function named: "find_fallback_font" which looks for a fallback font under Software\Wine\Uniscribe\Fallback in HKEY_CURRENT_USER. But I did not find this entry populated at all.
My solution is: Define a table which has a representative char for each script, now when a new wine environment is being created, query the system using FontConfig to find fonts which contains the representative chars and then populate the registry entry.
How does this sound? I have a rough working version right now, should I send a patch or is something missing in my current approach?
-- समीरसिंह
-- समीरसिंह