hi Herbert, I think I know now what the problem is: the font is not set in the HDC, so > the system provides the wrong CMAP data to the > UpdateFromHDC()/ReadCmapTable() methods. Please use SetFont() to set the > font before you call UpdateFromHDC().
Thank you for your suggestion. I didn't apply SetFont() before calling UpdateFromHDC(). But I don't know how to generate parameters for WinSalGraphics::SetFont in my scenario. So many similar classes related font such as ImplFontData, ImplFontSelectData, ImplWinFontData make me confused very much. [?] May I enumerate the fonts in mpFontList of OutPutDevice instead of EnumFontFamiliesExW for performance consideration. > > > I'm now using the simplest way to implement a demo to just prove dynamic >> glyph fallback workable under windows system. Enumerate all the fonts that >> windows has, if a font contains the missing character, then it would be the >> glyph fallback font, certainly not the best one. >> > > > Setting and checking each font can be quite expensive, especially for the > startup. And if we cache the result there is the problem to keep this cache > always consistent with the system. Anyway, these problems only get in the > way in a later phase of this project. > > > --- > Herbert Duerr > du...@sun.com > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@gsl.openoffice.org > For additional commands, e-mail: dev-h...@gsl.openoffice.org > > Yanmin Jia