[Bug 7571] Accented character glyphs are mixed up with TrueType fonts (affects e.g. Lotus Notes R5)

Wine Bugs wine-bugs at winehq.org
Wed Jun 6 15:25:53 CDT 2007


http://bugs.winehq.org/show_bug.cgi?id=7571





------- Additional Comments From inckie at gmail.com  2007-06-06 15:25 -------
Created an attachment (id=6640)
 --> (http://bugs.winehq.org/attachment.cgi?id=6640&action=view)
EnumFontFamilies() logs

You're right, I overlooked many things last time. Okay, so I just run the tests
on Windows again, and then on Wine, with and without my patch. For <empty>
DEFAULT_CHARSET, I got the following with Arial Black and Trebuchet MS:

Windows:
font.c:1180: enumed font "Arial Black", charset 0, weight 400, italic 0
font.c:1180: enumed font "Arial Black", charset 161, weight 400, italic 0
font.c:1180: enumed font "Arial Black", charset 162, weight 400, italic 0
font.c:1180: enumed font "Arial Black", charset 186, weight 400, italic 0
font.c:1180: enumed font "Arial Black", charset 238, weight 400, italic 0
font.c:1180: enumed font "Arial Black", charset 204, weight 400, italic 0
font.c:1180: enumed font "Trebuchet MS", charset 0, weight 400, italic 0
font.c:1180: enumed font "Trebuchet MS", charset 161, weight 400, italic 0
font.c:1180: enumed font "Trebuchet MS", charset 162, weight 400, italic 0
font.c:1180: enumed font "Trebuchet MS", charset 186, weight 400, italic 0
font.c:1180: enumed font "Trebuchet MS", charset 238, weight 400, italic 0
font.c:1180: enumed font "Trebuchet MS", charset 204, weight 400, italic 0

Wine, without patch:
font.c:1180: enumed font "Arial Black", charset 0, weight 400, italic 0
font.c:1180: enumed font "Arial Black", charset 238, weight 400, italic 0
font.c:1180: enumed font "Arial Black", charset 204, weight 400, italic 0
font.c:1180: enumed font "Arial Black", charset 161, weight 400, italic 0
font.c:1180: enumed font "Arial Black", charset 162, weight 400, italic 0
font.c:1180: enumed font "Arial Black", charset 186, weight 400, italic 0
font.c:1180: enumed font "Arial Black", charset 186, weight 400, italic 0
font.c:1180: enumed font "Trebuchet MS", charset 0, weight 400, italic 255
font.c:1180: enumed font "Trebuchet MS", charset 238, weight 400, italic 255
font.c:1180: enumed font "Trebuchet MS", charset 204, weight 400, italic 255
font.c:1180: enumed font "Trebuchet MS", charset 161, weight 400, italic 255
font.c:1180: enumed font "Trebuchet MS", charset 162, weight 400, italic 255
font.c:1180: enumed font "Trebuchet MS", charset 186, weight 400, italic 255
font.c:1180: enumed font "Trebuchet MS", charset 186, weight 400, italic 255

Wine, with patch:
font.c:1180: enumed font "Arial Black", charset 0, weight 400, italic 0
font.c:1180: enumed font "Arial Black", charset 186, weight 400, italic 0
font.c:1180: enumed font "Arial Black", charset 162, weight 400, italic 0
font.c:1180: enumed font "Arial Black", charset 161, weight 400, italic 0
font.c:1180: enumed font "Arial Black", charset 204, weight 400, italic 0
font.c:1180: enumed font "Arial Black", charset 238, weight 400, italic 0
font.c:1180: enumed font "Arial Black", charset 0, weight 400, italic 0
font.c:1180: enumed font "Trebuchet MS", charset 0, weight 400, italic 255
font.c:1180: enumed font "Trebuchet MS", charset 186, weight 400, italic 255
font.c:1180: enumed font "Trebuchet MS", charset 162, weight 400, italic 255
font.c:1180: enumed font "Trebuchet MS", charset 161, weight 400, italic 255
font.c:1180: enumed font "Trebuchet MS", charset 204, weight 400, italic 255
font.c:1180: enumed font "Trebuchet MS", charset 238, weight 400, italic 255
font.c:1180: enumed font "Trebuchet MS", charset 0, weight 400, italic 255

>From these I noticed some things:

* on Windows, many fonts enumerate VIETNAMESE_CHARSET (163) last and/or
RUSSIAN_CHARSET (204) just after;

* on Windows, only the fonts that only enumerate charset 0 have this one as
their last enumerated charset;

* without the patch, Wine does repeat BALTIC_CHARSET (186) as the last
enumerated charset with many fonts;

* with the patch, only DEFAULT_CHARSET is repeated, both at the beginning and
at the end;

* with or without the patch, I couldn't see Wine enumerating "charsets that are
not supposed to be enumerated";

* the last enumerated charset (or, for that matter, the order of the
enumeration) doesn't seem to be the real cause, as most fonts on Windows (at
least in this box) enumerate either VIETNAMESE_CHARSET or RUSSIAN_CHARSET last;


* Finally, a "grep 204" on the <empty> DEFAULT_CHARSET section of the Wine log
after applying the patch yielded 55 lines (Arial Black and Trebuchet MS
included, as you can see), and thus my patch does not lose RUSSIAN_CHARSET;


With the patch, the only charset that ever gets duplicated is DEFAULT_CHARSET,
but not for all fonts, and not the same number of times for all fonts; some
interesting examples to look at in the two Wine logs are:

* Kochi Gothic (no duplication)
* Liberation Sans (three DEFAULT_CHARSET duplications with the patch, three
BALTIC_CHARSET duplications without it)
* Loma (no duplication with the patch, two THAI_CHARSET duplications without
it)
* Shado (three DEFAULT_CHARSET duplications with the patch, three
ARABIC_CHARSET duplications without the patch).

I'm looking into this now.

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.



More information about the wine-bugs mailing list