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

Wine Bugs wine-bugs at winehq.org
Tue May 22 15:01:12 CDT 2007


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





------- Additional Comments From inckie at gmail.com  2007-22-05 15:01 -------
Created an attachment (id=6419)
 --> (http://bugs.winehq.org/attachment.cgi?id=6419&action=view)
Fix for the Notes R5 issue only

> The construct:
> 
> if (dwUnicode & ENUM_ALL_FAMILIES)
>     ret = WineEngEnumFonts(plf, FONT_EnumInstance, (LPARAM)&fe32, TRUE);
> else
>     ret = WineEngEnumFonts(plf, FONT_EnumInstance, (LPARAM)&fe32, FALSE);
> 
> can be further simplified to
> 
> ret = WineEngEnumFonts(plf, FONT_EnumInstance, (LPARAM)&fe32, (dwUnicode & 
> ENUM_ALL_FAMILIES) != 0);

Ah, oops.

> > + if (enumFontFamilies) {
> > +	  if (csi.ciCharset == SYMBOL_CHARSET)
> > +	      elf.elfLogFont.lfCharSet = SYMBOL_CHARSET;
> > +	  else continue;
> > +	  csi.ciCharset = ntm.ntmTm.tmCharSet =
> > +	      elf.elfLogFont.lfCharSet;
> > + }
> 
> This doesn't look right. Why do you allow only SYMBOL_CHARSET here?

Well, I ran the tests on Windows and saw that EnumFontFamilies() didn't
enumerate any charsets other than 0... did I make too early a conclusion? After
all, the tests as they are now show that EnumFontFamilies() shouldn't enumerate
any other charset when called with a familiy name. However, I do feel I'm
missing something here.

> >I also managed to fix the Lotus Notes R5 issue - please see lines 89-101 of
> > the patch file. No tests break, and Notes is happy again. :)
> 
> This should be investigated and fixed separately.

This attachment should do it, then. I have just tested it on Notes, with almost
as many fonts as in the first comment.

It seems to me that this issue is independent of the other one adressed in the
remainder of the patch. That is, I tested each one individually and both
together, and their results didn't influence each other's - including the
number of enumerated fonts. I'd really like, however, to see the results of
these changes in systems other than mine.

-- 
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