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 If I install the arial32.exe then the characters are displayed correctly and attractively If I remove the sserife.fon (and the arial fonts) then the characters are displayed correctly but unattractively, something like a courier font or similar.
Both machines are using freetype-2.1.9-5 The first also includes freetype-devel but presumably that doesn't matter.
How do I figure out why the characters are being drawn incorrectly?
(Installing the arial32 is not a long-term solution)
Bill
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
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