On Fri Jun 21 19:25:29 2024 +0000, Huw Davies wrote:
Adding a test for `psc` on line 2870 of `dlls/usp10/tests/usp10.c` shows that `ScriptTextOut()` creates a cache if a freed one is passed in. So we should do that too. With respect to changing the hdc, we should probably check for that in `init_script_cache()` and invalidate it if the hdc has changed. Is Word using the same hdc in this case?
Changing hdc is a separate issue, I think. Could be irrelevant for this particular case. There are ways to make uniscribe select different fonts automatically, and that makes caching for some font, that used to be selected at some point, not useful. I don't remember which api does that, maybe String* functions. For ScriptTextOut() we probably need to fully initialize cache in a "normal" way.