gdi32: Fix for capella problem with codepages in symbol fonts

Stefan Ziel stefan.ziel at terra.com.br
Mon Oct 6 07:31:28 CDT 2008


>This patch is obviously wrong

may be, but the handling of symbol fonts in wine also is ;)

>TranslateCharsetInfo does handle SYMBOL_CHARSET, and code page 
>for symbol *is* defined. 

its the  charset-bits in fontinfo structure where most symbol fonts 
set bit 31 (reserved for OEM in original documentation). for wine
setting bit 31 is required and symbol fonts with bit 31 not set are 
discarded. Windows does not mind  about that so some fonts, capella's 
score fonts for example, use other bits. 

>In any case the first thing to do is write a test case.

too much effort for me at the moment. I'm not a c/c++ programmer and 
capella works fine with the patch - that's  what i need. from now on 
i will spend my spare time writing sheet music and not test cases ;) 

greets stefan


Am Sonntag, den 05.10.2008, 14:47 +0900 schrieb Dmitry Timoshkov:
> "Stefan Ziel" <stefan.ziel at terra.com.br> wrote:
> 
> > Ignore characterset bit for symbol fonts
> 
> > -    if(!TranslateCharsetInfo((DWORD*)(INT_PTR)lf.lfCharSet, &csi, TCI_SRCCHARSET)) {
> > +    if (lf.lfCharSet == SYMBOL_CHARSET){
> > +        /* codepage for symbol is not definied -> ignore it */
> > +        csi.fs.fsCsb[0] = 0;
> 
> This patch is obviously wrong, TranslateCharsetInfo does handle
> SYMBOL_CHARSET, and code page for symbol *is* defined. In any
> case the first thing to do is write a test case.
> 




More information about the wine-devel mailing list