Re: A bug report: Pango cannnot handle some CJK character sets



Hi Owen,

I believe there are a couple of other issues regarding this mapping
mechanism. The first thing is the tables are hard coded in a source
file which make people to change and re-compile whenever there is a need for
a new mapping. There are several other ways to externalize the tables,
including especially charset[], char_mask_map[], and char_masks[] tables.

If externalization, i.e., putting the tables in a loadable object or in
a flat text file, isn't doable right away, I think we should include some
more mapping entries and masks, mask map entries at the table, esp.,
for like ANSI-125x, GBK, BIG5, HKSCS, CNS11643, JIS X 02xx, and Johap (
KS X 1001 Annex 3) for broader coverage. Of course it seems there are a few
more conv_xxx() functions needed in the basic.c file by the way as you
pointed out.

The second thing that I would like to express over here is that the tables at
the tables-big.i, esp., char_mask_map[] and char_masks[], should be defined as
"static const guint32" so that linker will allocate the tables at read-only
data section and thus processes and threads will be able to share the
tables without allocating for each and every one of the processes.

In addition to what Toshi wrote in his email, if you cannot find the changes
you made, we can also contribute the changed source files if you want, please
let us know.

With regards,

Ienup


] Date: Wed, 13 Dec 2000 14:59:16 -0500
] From: Owen Taylor <otaylor redhat com>
] Subject: Re: A bug report: Pango cannnot handle some CJK character sets
] To: gtk-i18n-list gnome org
] MIME-version: 1.0
] X-BeenThere: gtk-i18n-list gnome org
] Delivered-to: gtk-i18n-list gnome org
] User-Agent: Gnus/5.0807 (Gnus v5.8.7) Emacs/20.7
] X-Mailman-Version: 2.0beta5
] List-Id: Internationalization and GTK+ <gtk-i18n-list.gnome.org>
] 
] 
] I assume that the problem is that it doesn't support _fonts_
] encoded with these character sets, since these characters will
] display fine if you have an iso10646 encoded font with these
] characters.
] 
] Fixing this is actually very simple - it basically only requires
] modifications to pango/modules/basic/tables_big.i, and a few lines
] of additions to pango/modules/basic/basic.c to support the additional
] encodings. (You need equivalents to conv_euc())
] 
] At one point I had added JISx0212 and BIG5 support - it took 
] me about 5 minutes, but I don't seem to have that patch around
] any more.
] 
] Regards,
]                                         Owen
] 
] 
] _______________________________________________
] gtk-i18n-list mailing list
] gtk-i18n-list gnome org
] http://mail.gnome.org/mailman/listinfo/gtk-i18n-list




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]