Better font charset handling

Huw D M Davies h.davies1 at physics.ox.ac.uk
Fri Sep 21 09:07:15 CDT 2001


On Fri, Sep 21, 2001 at 03:46:29PM +0200, Nerijus Baliunas wrote:
> On Wed, 19 Sep 2001 17:22:45 +0100 Huw D M Davies <h.davies1 at physics.ox.ac.uk> wrote:
> 
> HDMD>         Huw D M Davies <hdavies at codeweavers.com>
> HDMD>         Use the font charset to obtain a codepage for A->W conversion in the
> HDMD>         text functions.
> 
> HDMD> Index: objects/text.c
> 
> HDMD> +        case VISCII_CHARSET:
> HDMD> +        case TCVN_CHARSET:
> HDMD> +        case KOI8_CHARSET:
> HDMD> +        case ISO3_CHARSET:
> HDMD> +        case ISO4_CHARSET:
> HDMD> +        case ISO10_CHARSET:
> HDMD> +        case CELTIC_CHARSET:
> HDMD> +          /* FIXME: These have no place here, but becasue x11drv
> HDMD> +             enumerates fonts with these (made up) charsets some apps
> HDMD> +             might use them and then the FIXME below would become
> HDMD> +             annoying.  Now we could pick the intended codepage for
> HDMD> +             each of these, but since it's broken anyway we'll just
> HDMD> +             use CP_ACP and hope it'll go away...
> HDMD> +          */
> HDMD> +            cp = CP_ACP;
> HDMD> +            break;
> 
> Why these are here? Because they do not have windows equivalents?
> If so, at least KOI8 shouldn't be there (IMHO).

AFAIK they're not Windows charsets, somebody has made up some numbers
and added them to wingdi.h .  The reason they're here at all is
because the x11drv enumerates fonts with these charsets and I'm
claiming that this is a bug, since no application can be expected to
know that these numbers mean.

Now there is a RUSSIAN_CHARSET and this gets handled by the
TranslateCharsetInfo before the switch.

Huw.





More information about the wine-devel mailing list