On Fri, 29 Aug 2003, Nick Ing-Simmons wrote:

> What I am hoping to do for Tk804 is put some kind of callback to perl
> hook in so that when Tk wants a font for a particular character it
> can call to perl and perl will give it strong push in a particular direction.
> Thus for someone expecting Japanese if asked for a Han character
> it will suggest a JIS font. While for someone expecting Chinese it
> will suggest a Big5 or gb2312 font as appropriate.

  If you want, you can take a look at nsFontMetricsGTK.cpp file
of mozilla. You can view that huge file (over 6,000 lines of
code) by going to http://lxr.mozilla.org and typing in the
file name. Compare that with nsFontMetricsXft.cpp or
nsFontMetricsWin.cpp and you'll realize the enormous difficulty of the
problem you're trying to tackle.  See, for example,
<http://bugzilla.mozilla.org/show_bug.cgi?id=152264>

  Perhaps, your problem is of the limited scope, but still
it won't be a  very pleasant experience ;-)

Can Tk use Xft and fontconfig
(http://fontconfig.org) where/when available? Using XLFD-based
fonts (15year old) is not such a good idea if you don't have to.


> What gets really painful is the Unicode fonts - one has to look at
> which characters it has to decide if it
> Japanese/Simplified Chinese/Traditional Chinese/Korean or just a grab-bag
> of glyphs font designer had to hand.

  Some Unicode fonts have a signature for 'lang'. For instance,
'misc-fixed-iso10646-1' fonts that come with XFree86 have 'ko' and
'ja' in add-style field. Other fonts have a 'lang signature' in
registry-encoding pairs (e.g. ucs2.korean-0)
http://bugzilla.mozilla.org/show_bug.cgi?id=215537). As you wrote,
most of them don't and it'll make some old system almost to a halt
for tens of seconds if you want to open Unicode X11 core fonts
and examine which char. is covered.

  Jungshik

Reply via email to