Re: gdi32: Fix for capella problem with codepages in symbol fonts
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
"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
>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
"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.