Cygwin XFree 4.1.0 doesn't Display Multibyte Character
Suhaib Siddiqi
ssiddiqi@inspirepharm.com
Tue Jun 5 17:53:00 GMT 2001
Here is something for users who are facing Multibyte Character Display
issues. This will go in future FAQ.
For Multbyte Display main concern is
the availability of ISO 10646 fonts. Although it shouldn't be a problem
on systems where truetype font renderers (e.g. XFree86 ver4.x server/xfs (x
font server)) are running, this is not always the case. The traditional
approach on Xwindow system, which is portable, is to combine several font
files to make a single logical font. XFontSet is a facility offered by Xlib
forsuch purpose. The essential idea is that a user requests a XLFD
>>WITHOUT<< a font norm and Xlib appends font norms according to the locale:
For example, if I aliase Japanese gothic(which is in fact a sans serif) to
helvetica and requests
oc = XCreateOC(om, XNBaseFontName,
"-*-helvetica-medium-r-normal-*-14-*-*-*-*-*", NULL);
under LC_CTYPE=ja_JP, then
-*-helvetica-medium-r-normal-*-14-*-*-*-*-*-iso8859-1
-*-helvetica-medium-r-normal-*-14-*-*-*-*-*-jisx0201.1976-0
-*-helvetica-medium-r-normal-*-14-*-*-*-*-*-jisx0208.1983-0
-*-helvetica-medium-r-normal-*-14-*-*-*-*-*-jisx0212.1990-0
will be loaded and I can access the XFontStructs via
XFontsOfFontSet(oc, &FS, &charlist);
and
XmbDrawString(dpy, win, oc, gc, x, y, mb_string, num_bytes);
will draw a multibyte string automatically switching the real fonts used.
Suhaib
More information about the Cygwin-xfree
mailing list