下列过程中的实例阐释了如何将新的 PCF、TrueType 或 Type1 打印机驻留的字体添加到配置文件中。
完成此过程替换当前配置的字体。在前两步骤中,用于显示范围 0x00000021 - 0x0000007f 中字符的 PCF 字体由 TrueType 字体替代。
在添加新字体前,请查看配置文件中与当前配置字体相对应的各种组件。
FontNameAlias iso88591R PCF /usr/openwin/lib/X11/fonts/75dpi/courR18PCF.Z FontNameAlias iso88591B PCF /usr/openwin/lib/X11/fonts/75dpi/courB18PCF.Z . . . FontGroup iso88591 PCF iso88591R iso88591B . . . MapCode2Font 0x00000020 0x0000007f iso88591 . . . CnvCode2Font iso88591R _xuiso88591 /usr/lib/lp/locale/$LANG/mp/xuiso88591.so CnvCode2Font iso88591B _xuiso88591 /usr/lib/lp/locale/$LANG/mp/xuiso88591.so
例如,可以将 /usr/openwin/lib/locale/ja/X11/fonts/TT/HG-MinchoL.ttf 字体映射到 en_US.UTF-8 语言环境。由于 HG-MinchoL.ttf 是 Unicode TrueType 字体文件,因而可以使用 .so 模块映射函数直接返回传入的 ucs-2 代码点。
unsigned short _ttfjis0201(unsigned short ucs2) { return(ucs2); }
要映射 PCF 文件(如 /usr/openwin/lib/locale/ja/X11/fonts/75dpi/gotmrk20.pcf.Z),请检查下列与 /usr/openwin/lib/locale/ja/X11/fonts/75dpi/fonts.dir 文件中的 XLFD 对应的编码。
-sun-gothic-medium-r-normal--22-200-75-75-c-100-jisx0201.1976-0
对于 jisx0201 编码,请准备一个从 ucs-2 映射到 jisx0201 的共享对象。获得用于创建 .so 模块的映射表。对于 Unicode 语言环境,查找映射到 ftp.unicode.org/pub/MAPPINGS/ 目录中 Unicode 的字符集。
使用以下映射编写一个 xu2jis0201.c 文件:
unsigned short _xu2jis0201(unsigned short ucs2) { if(ucs2 >= 0x20 && ucs2 <= 0x7d ) return (ucs2); if(ucs2==0x203e) return (0x7e); if(ucs2 >= 0xff61 && ucs2 <= 0xff9f) return (ucs2 - 0xff60 + 0xa0); return(0); }
在创建映射文件时,请将所有 usc-2 包括到 jisx0201 的各种事例中。
cc -G -o xu2jis0201.so xu2jis0201.c