Hi, Aurélien.
Thanks for the patch. I'm confused as to why with current code 1/20 entries are actually appear to work correctly, even though we treat them as WCHAR strings in decode_opentype_name(). It's worth exploring how that happens.
Regarding patch itself, we probably should follow map here [1], to convert only a subset, and keep the rest, including Khmer (20) entries, as 7-bit ascii. At least that's what fonttools seems to be doing.
P.S. patch subject should say gdi32, not dwrite.
[1] https://github.com/fonttools/fonttools/blob/main/Lib/fontTools/misc/encoding...