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