+void get_glyph_name(HDC hdc, UINT flags, WORD index, char *name) {
- /* FIXME */
- BOOL bIsGlyphIndex = ((flags & ETO_GLYPH_INDEX) == 0);
- if (bIsGlyphIndex && index < 258)
This is essentially the same as it was on try 1. I still think we shouldn't rely on glyph indices mapped to some specific code range, I don't see any documentation that says it should be mapped like that.
I think what we want is to map from WCHAR string to such glyph names directly, and that's why ETO_GLYPH_INDEX case is important - if you get index array initially you fallback to generic glyph names, if you got string then for codepoints that have defined glyphs in your names array you use those, for the rest of codepoints fallback again to generic name. This way we could also extend this lookup when it's decided how to deal with licensed glyph list data.