HI Juliusz,

Thank you so much for your help, I have made some progress today. With the
attached zh_CN.gb18030/XLC_LOCALE and GB18030-0.enc files. I can see all the the
characters except those from the four-byte part. I guess, maybe still something
wrong with locale definition?

Here are some mapping entries:
...
0xFEFC  0xE4C3
0xFEFD  0xE4C4
0xFEFE  0xE4C5
0x81308130  0x0080
0x81308131  0x0081
0x81308132  0x0082
0x81308133  0x0083
0x81308134  0x0084
0x81308135  0x0085
0x81308136  0x0086
0x81308137  0x0087
0x81308138  0x0088
0x81308139  0x0089
0x81308230  0x008A
...
Regards,
Yu Shao

Juliusz Chroboczek wrote:

> [CC'd to [EMAIL PROTECTED]]
>
> YS> This is Yu Shao, from Red Hat Asia-Pacific,
>
> Pleased to meet you.  (Shakes hands.)
>
> YS> at the moment, we are developing the Simplified Chinese version of
> YS> Red Hat Linux, and we are having some problems with the Chinese
> YS> new locale gb18030 support.
>
> Currently, we at XFree86 have not decided whether to include native
> support for GB 18030 or to promote Unicode-based locales instead and
> rely on iconv and other code conversion tools to convert GB 18030
> texts into UTF-8.  My personal opinion is that the latter approach is
> preferable.
>
> YS> I defined the zh_CN.gb18030 in the locale database, and also put
> YS> encoding file gb18030-0.enc in, and I use FreeType module to
> YS> render the chinese True Type fonts, but still no good luck. I am
> YS> wondering if the encoding file gb18030-0.enc is enough for
> YS> FreeType module to support this new locale, do i need to do
> YS> something else?
>
> It should be enough, as long as you include the right entries in your
> fonts.scale files before generating the fonts.dir.  In released
> versions of XFree86, you will also need to make sure that mkfontdir
> generates an entry for your encoding in encodings.dir (this will no
> longer be necessary in 4.2.0).
>
> Please check whether xfd allows you to see the GB 18030-encoded fonts.
>
> YS> and do I need to add coversion modules into /xc/lib/X11/lcUniConv?
>
> These are only needed if you want UTF8_STRING to work properly in GB
> 18030 locales.  I wouldn't worry about it for now.
>
> YS> I attached the patch file which is what I have done so far, can
> YS> you help me to have a look?
>
> First of all, you need a SIZE declaration in your encoding file, and
> optionally a FIRSTINDEX entry.
>
> There's probably also something missing in your XLC_LOCALE file;
> unfortunately, I don't have time to work it out right now, so I'll
> append it to this message and let the list work it out.
>
> Regards,
>
>                                         Juliusz
> diff -uNr xc.orig/nls/XLC_LOCALE/zh_CN.gb18030 xc/nls/XLC_LOCALE/zh_CN.gb18030
> --- xc.orig/nls/XLC_LOCALE/zh_CN.gb18030        Thu Jan  1 10:00:00 1970
> +++ xc/nls/XLC_LOCALE/zh_CN.gb18030     Fri Oct 12 12:08:42 2001
> @@ -0,0 +1,74 @@
> +#
> +#      XLC_FONTSET category
> +#
> +XLC_FONTSET
> +
> +on_demand_loading      True
> +
> +object_name            generic
> +
> +#      We leave the legacy encodings in for the moment, because we don't
> +#      have that many ISO10646 fonts yet.
> +#      fs0 class (7 bit ASCII)
> +fs0    {
> +       charset {
> +               name    ISO8859-1:GL
> +       }
> +       font    {
> +               primary         ISO8859-1:GL
> +               vertical_rotate all
> +       }
> +}
> +
> +#   fs1 class (Chinese Han Character)
> +fs1    {
> +       charset {
> +               name    GB2312.1980-0:GL
> +       }
> +       font    {
> +               primary GB2312.1980-0:GL
> +       }
> +}
> +
> +#      fs2 class
> +fs2    {
> +       charset {
> +               name    ISO10646-1
> +       }
> +       font    {
> +               primary GB18030-0
> +               substitute GBK2K-0
> +       }
> +}
> +END XLC_FONTSET
> +
> +#
> +#      XLC_XLOCALE category
> +#
> +XLC_XLOCALE
> +
> +encoding_name          GB18030
> +mb_cur_max             4
> +state_depend_encoding  False
> +
> +#      cs0 class
> +cs0    {
> +       side            GL:Default
> +       length          1
> +       ct_encoding     ISO8859-1:GL
> +}
> +
> +#      cs1 class
> +cs1     {
> +        side            GR
> +        length          2
> +        ct_encoding     GB2312.1980-0:GL; GB2312.1980-0:GR
> +}
> +
> +#      cs2 class
> +cs2    {
> +       side            none
> +       ct_encoding     ISO10646-1
> +}
> +
> +END XLC_XLOCALE
>
> _______________________________________________
> I18n mailing list
> [EMAIL PROTECTED]
> http://XFree86.Org/mailman/listinfo/i18n
# 
#       XLC_FONTSET category
# 
XLC_FONTSET

on_demand_loading       True

object_name             generic

#       We leave the legacy encodings in for the moment, because we don't
#       have that many ISO10646 fonts yet.
#       fs0 class (7 bit ASCII)
fs0     {
        charset {
                name    ISO8859-1:GL
        }
        font    {
                primary         ISO8859-1:GL
                vertical_rotate all
        }
}

#   fs1 class (Chinese Han Character)
fs1     {
        charset {
                name    GB2312.1980-0:GL
        }
        font    {
                primary GB2312.1980-0:GL
        }
}

#       fs2 class
fs2     {
        charset {
                name    GB18030-0
        }
        font    {
                primary GB18030-0
        }
}
END XLC_FONTSET

# 
#       XLC_XLOCALE category
# 
XLC_XLOCALE

encoding_name           GB18030
mb_cur_max              4
state_depend_encoding   False

#       cs0 class
cs0     {
        side            GL:Default
        length          1
        ct_encoding     ISO8859-1:GL
}

#       cs1 class
cs1     {
        side            GR
        length          2
        ct_encoding     GB2312.1980-0:GL; GB2312.1980-0:GR
}

#       cs2 class
cs2     {
        side            none
        ct_encoding     GB18030-0
}

END XLC_XLOCALE

Reply via email to