Why are some fonts being displayed incorrectly

Bill Medland billmedland at shaw.ca
Wed Apr 18 14:01:51 CDT 2007


On Tue, 2007-17-04 at 18:05 -0700, Bill Medland wrote:
> On Tue, 2007-17-04 at 12:28 -0700, Bill Medland wrote:
> > Can anyone point me in the correct direction for this?
> > 
> > On one machine the text displays correctly.
> > On the other the characters are totally wrong
> 
> setting WINEDEBUG to +font the one weird thing I note is that on the
> machine where things are displayed wrong the call to ExtTextOutW
> specifies ETO_GLYPH_INDEX but passes the actual string rather than an
> array of glyphs, whereas on the machine where the text displays
> correctly it is an array of glyphs that is passed in.
> 
> Strangely I cannot see anywhere where the string is converted to an
> array of glyphs.  There is no corresponding call to GetGlyphIndices.
> 
> In fact when I now look I cannot see anywhere where get_glyph_index 0041
> returns 36; it always returns 34, but the glyph array passed into
> ExtTextOutW passes a 0x24 (36) ($) for A.
> 
> So, what don't I understand about glyphs etc and how do I find out why
> one machine is not building a proper glyph array?
> 
> > Bill
> Bill
> 
> 
> 
I don't know enough about glyphs and characters.  Can someone comfirm
the following?  If the application calls EnumFontFamilyEx for the
current font of the hdc will the callback include enough information for
the application to do the character-to-glyph-index conversion itself? It
looks to me like it should.  If that is the case then I understand what
is going on.

Bill




More information about the wine-devel mailing list