Re: gdi32: Fix for capella problem with codepages in symbol fonts

2008-10-07 Thread Stefan Ziel
see:

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


Am Dienstag, den 07.10.2008, 09:17 +0900 schrieb Dmitry Timoshkov:
> "Stefan Ziel" <[EMAIL PROTECTED]> wrote:
> 
> > >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 ;)
> 
> You still should be able to open a bug report and provide all the details
> of the problem you were trying to fix, if the demo of the application you
> are using available, and attach your patch there.
> 





Re: gdi32: Fix for capella problem with codepages in symbol fonts

2008-10-06 Thread Dmitry Timoshkov
"Stefan Ziel" <[EMAIL PROTECTED]> wrote:

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

You still should be able to open a bug report and provide all the details
of the problem you were trying to fix, if the demo of the application you
are using available, and attach your patch there.

-- 
Dmitry.




Re: gdi32: Fix for capella problem with codepages in symbol fonts

2008-10-06 Thread Stefan Ziel
>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" <[EMAIL PROTECTED]> 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.
> 





Re: gdi32: Fix for capella problem with codepages in symbol fonts

2008-10-04 Thread Dmitry Timoshkov
"Stefan Ziel" <[EMAIL PROTECTED]> 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.

-- 
Dmitry.