https://bugs.winehq.org/show_bug.cgi?id=55529
--- Comment #8 from Jeff Smith whydoubt@gmail.com --- Thank you, knowing it was between 7.13 and 7.14 helped me determine the likely regression commit. I did not do a full bisect, but reverting it does fix the problem.
commit 5259c1a1dcbbdeec8d60548194bbb6aed9c2f671 Author: Nikolay Sivov nsivov@codeweavers.com Date: Mon Jul 25 14:27:41 2022 +0300
dwrite: Use correct ranges to set DWRITE_SCRIPT_SHAPES_NO_VISUAL.
Also note that the revert does not apply cleanly, and a better fix (needs further testing) may be
--- a/dlls/dwrite/analyzer.c +++ b/dlls/dwrite/analyzer.c @@ -658,7 +658,7 @@ static DWRITE_SCRIPT_ANALYSIS get_char_sa(UINT32 c)
sa.script = get_char_script(c); sa.shapes = DWRITE_SCRIPT_SHAPES_DEFAULT; - if ((c >= 0x0001 && c <= 0x001f) /* C0 controls */ + if ((c <= 0x001f) /* C0 controls */ || (c >= 0x007f && c <= 0x009f) /* DELETE, C1 controls */ || (c == 0x00ad) /* SOFT HYPHEN */ || (c >= 0x200b && c <= 0x200f) /* ZWSP, ZWNJ, ZWJ, LRM, RLM */