本章描述简体中文 Solaris 操作环境中包含的 PostScript 字体、使用 PostScript 字体需要什么以及如何编辑这种字体。
简体中文 Solaris 操作环境在“Display PostScript 系统 (DPS)”中提供 PostScript 字体。本节描述在简体中文 Solaris 软件中使用 DPS 需要什么。有关进一步的详细信息,请参见由 Adobe® Systems 公司出版的 Programming the Display PostScript System with X。
简体中文 Solaris 操作环境包括下表中列出的字体。可以像使用罗马字体那样使用任何简体中文字体。
表 7–1 简体中文 Solaris 操作环境 PostScript 字体|
字体名 |
说明 |
|---|---|
|
Song-Medium |
宋体 EUC 的别名;可像罗马字体一样使用。 |
|
Song-Medium-EUC |
宋体字体,EUC 编码,水平显示;可像罗马字体一样使用。 |
|
Kai-Medium |
楷体 EUC 的别名;可像罗马字体一样使用。 |
|
Kai-Medium-EUC |
楷体字体,EUC 编码,水平显示;可像罗马字体一样使用。 |
|
FangSong-Medium |
仿宋体 EUC 的别名;可像罗马字体一样使用。 |
|
FangSong-Medium-EUC |
仿宋体字体,EUC 编码,水平显示;可像罗马字体一样使用。 |
|
Hei-Medium |
黑体 EUC 的别名;可像罗马字体一样使用。 |
|
Hei-Medium-EUC |
黑体字体,EUC 编码,水平显示;可像罗马字体一样使用。 |
下图显示了一个宋体的样本。

可以使用任何一个罗马字体和简体中文字体的组合来创建复合字体。例如,下面的 PostScript 代码定义了一个复合字体:Times 斜体+楷体。该复合字体用 Times 斜体显示 ASCII 字符,用楷体显示简体中文字符:
/makeEUCfont {
/AsianFont exch def
/WestFont exch def
/NewFont exch def
/CIDInit /ProcSet findresource
begin
NewFont [ AsianFont WestFont ]
beginrearrangedfont
1 usefont
1 beginbfrange
<00> <7e> <00>
endbfrange
endrearrangedfont
end
} bind def
/LC_Times-Roman /Times-Roman /Kai-Medium makeEUCfont
在 DPS 环绕定义中,可以像使用罗马字体那样使用简体中文字体。以下代码样本创建下一个图形中的显示。
defineps PSWDisplayText(char *text) /pointSize 50 def /Helvetica pointSize selectfont (Hello World) stringwidth pop 2 div neg 0 moveto (Hello World) show /cpSize 40 def /Song-Medium cpSize selectfont (text) stringwidth pop 2 div neg pointSize neg moveto (text) show endps
可以在 C 程序中调用 PSWDisplayText (中文文本) 以显示所设计的中文文本。有关示例,请参见下图。

简体中文 Solaris 软件在 DPS 中提供了 TrueType 支持。
在应用程序能够使用修改后的 BDF 文件之前,必须先把它转换成 PCF 格式文件。
如下所示将已编辑的字体转换为 X11 PCF 格式,以使这些字体能在简体中文 Solaris 操作环境中使用:
system% bdftopcf -o myfont14.pcf myfont.bdf |
有关更多信息,请参见 bdftopcf(1) man 页。
要添加新位图,将 .pcf 字体文件移入字体目录。在将 .pcf 字体文件移入字体目录之前,可以先压缩该文件:
system% compress myfont14.pcf |
在字体目录中运行以下命令。
.bdf 文件不应在字体目录中。
system% cat>> fonts.alias -new-myfont-medium-r-normal--16-140-75-75-c-140-gb2312.1980-0 Myfont-Medium14’ ^D system% mkfontdir system% xset +fp `pwd` |
可以键入以下命令,使用 X 字体显示器 (xfd) 查看字体:
system% xfd -fn Myfont-Medium14 |
所有简体中文字体都有 XLFD 字体名称,可以使用 xlsfonts 公用程序来显示这些名称,如下所示:
system% xlsfonts | grep gb2312 |
可以使用 sdtudctool 公用程序中的绘图工具来创建新字符。 下面是不同简体中文语言环境的用户定义字符代码范围:
表 7–2 语言环境的代码点|
zh |
0xD7FA-0xD7FE |
|
zh.GBK |
0xAAA1-0xAFFE |
|
zh_CN.GB18030 |
0xAAA1-0xAFFE |
|
zh.UTF-8 |
0xAAA1 - 0xAFFE |
sdtudctool 公用程序支持位图、Type 1 和 CID 字体。 还可以为新字符指定字体大小。本节包含 sdtudctool 的使用步骤。
本节包含关于用 sdtudctool 公用程序和其他工具创建、输入和打印新字符的说明。有关 zh 语言环境中的示例,请使用下面的步骤。
要启动此公用程序,键入下面的命令:
system% sdtudctool |
出现下面的窗口。

单击“字符”按钮。
出现下面的对话框:

指定新字符的代码位置。
使用绘图工具创建字符的轮廓或位图。
单击“保存”保存字符。
继续创建新的字符。
完成后,从“文件”菜单中选择“保存”保存对环境所做的更改。
新字符保存在 $HOME/.Xlocale/{locale}/fonts/UDC. . . 中
从“文件”菜单中选择“选项”。
选项对话框出现。

打开“追加字体路径”将 UDC 字体别名追加到字体路径上。
打开“保存字体路径”将字体文件添加到系统字体路径中。
新的字体文件(位于 $HOME/.Xlocale/{locale}/fonts/UDC 中)将列在 $HOME/.OWfontpath 文件中,并且当您下次登录时可由 X 服务器使用。
如果“保存字体路径”是关闭的,字体文件仍会保存在 $HOME/.Xlocale/{locale}/fonts/UDC 中,但不会在您下次登录时添加到系统字体路径中。
从下列尺寸中为位图字体选择一个或多个字体尺寸(以镑值为单位):12、14、16、20、24。
从“文件”菜单中选择“保存”,或者从“文件”菜单中选择“打开字典工具”。 这将调用 sdtudc_register 工具。
在 "reading" 列中输入拼音。 请注意,只有有效的拼音可以向新拼音输入法注册。

单击“确认”按钮。
显示出下面的对话框。

UDC 及其拼音将注册在 /var/tmp/newpyudc.txt 中。 单击对话框中的“确定”以确认。
要键入您创建的字符,与 UDC 拼音一起使用新拼音输入法,或者使用内码输入法。
可以使用 "mp" 公用程序打印您创建的字符。