本章描述简体中文 Solaris 操作系统支持使用的 PostScript、TrueType 和位图字体。下列几节讨论如何使用和编辑字体。
简体中文 Solaris 操作系统在显示 PostScript 系统 (DPS) 中提供 PostScript 字体。本节描述字体和 DPS 工具。有关进一步的详细信息,请参见由 Adobe® Systems 公司出版的 《Programming the Display PostScript System with X》。
简体中文 Solaris 操作系统包含下表中列出的字体。
表 9–1 简体中文 Solaris 操作系统 PostScript 字体
字体名 |
说明 |
---|---|
宋体 |
宋体 EUC 的别名;可像罗马字体一样使用。 |
宋体 EUC |
宋体字体,EUC 编码,水平显示;可像罗马字体一样使用。 |
楷体 |
楷体 EUC 的别名;可像罗马字体一样使用。 |
楷体 |
楷体字体,EUC 编码,水平显示;可像罗马字体一样使用。 |
仿宋体 |
仿宋体 EUC 的别名;可像罗马字体一样使用。 |
仿宋体 EUC |
仿宋体字体,EUC 编码,水平显示;可像罗马字体一样使用。 |
黑体 |
黑体 EUC 的别名;可像罗马字体一样使用。 |
黑体 EUC |
黑体字体,EUC 编码,水平显示;可像罗马字体一样使用。 |
下图显示了一个宋体字体的样例。
可以使用任何一个罗马字体和任意简体中文字体的组合来创建复合字体。例如,下列 PostScript 代码定义了一个复合字体:Times-Italic+Kai-Medium。此复合字体用 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 自动换行定义中,可以像使用罗马字体那样使用简体中文字体。下列代码样例生成 Hello World 图形中的显示。
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 格式,以使字体可以在简体中文 Solaris 应用程序中使用。
使用 bdftopcf 命令将 BDF 字体转换为 PCF 格式。
system% bdftopcf -o myfont14.pcf myfont14.bdf |
用已转换的 PCF 文件替换下列目录中的 BDF 文件:$OPENWINHOME/lib/locale/locale-name/fonts
压缩 .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` |
使用如下所示的命令行查看字体。
system% xfd -fn Myfont-Medium14 |
所有简体中文字体都含有 XLFD 字体名称。可以使用 xlsfonts 实用程序显示字体名称。
system% xlsfonts | grep gb2312 |
sdtudctool 实用程序支持位图、Type 1 和 CID 等字体。本节包含使用 sdtudctool 创建、输入和打印下列代码范围中简体中文语言环境中的新字符的说明。
表 9–2 语言环境的代码点
语言环境 |
代码范围 |
---|---|
zh |
0xD7FA-0xD7FE |
zh.GBK |
0xA140-0xA7A0 0xAAA1-0xAFFE 0xF8A1-0xFEFE |
zh_CN.GB18030 |
0xA140-0xA7A0 0xAAA1-0xAFFE 0xF8A1-0xFEFE |
可以使用下列步骤创建 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 实用程序的字体路径。
system% setenv UDC_BASE $HOME/.Xlocale/zh |
指定 UDC 的配置文件,以打印包含 UDC 的文本文件。
system% /usr/openwin/bin/mp -u/usr/lib/lp/locale/zh/mp/mp.conf.U\ udc.txt > udc.ps |
/usr/dt/bin 目录中的 Xsession 脚本包含下列字体路径:/usr/openwin/lib/locale/locale/X11/fonts,其中 locale 是 zh、zh.GBK 或 zh_CN.GB18030。要动态添加不同的字体目录路径,请键入下列命令。
system% xset +fp font_directory-path system% xset fp rehash |
键入下列命令以动态添加不同的字体目录路径。
system% xset +fp font_directory-path system% xset fp rehash |
本节中的表列出可用于 zh_CN.EUC、zh_CN.GBK 和 zh_CN.GB18030 语言环境的 TrueType 字体和位图字体。
下表显示了 zh 语言环境的 TrueType 字体。
表 9–3 zh_CN.EUC 语言环境的 TrueType 字体
完整系列名 |
子系列 |
格式 |
供应商 |
编码 |
---|---|---|---|---|
仿宋 | R | TrueType | 汉仪 | GB2312.1980 |
黑体 | R | TrueType | Monotype | GB2312.1980 |
楷体 | R | TrueType | Monotype | GB2312.1980 |
宋体 | R | TrueType | Monotype | GB2312.1980 |
下表显示 zh 语言环境的位图字体。
表 9–4 zh_CN.EUC 语言环境的位图字体
完整系列名 |
子系列 |
格式 |
编码 |
---|---|---|---|
宋体 | B | PCF (14,16) | GB2312.1980 |
宋体 | R | PCF (12,14,16,20,24) | GB2312.1980 |
表 9–5 zh_CN.GBK 语言环境的 TrueType 字体
完整系列名 |
子系列 |
格式 |
供应商 |
编码 |
---|---|---|---|---|
仿宋 | R | TrueType | 综艺 | GBK |
黑体 | R | TrueType | 综艺 | GBK |
楷体 | R | TrueType | 综艺 | GBK |
宋体 | R | TrueType | 综艺 | GBK |
下表显示 zh_CN.GBK 语言环境的位图字体。
表 9–6 zh_CN.GBK 语言环境的位图字体
完整系列名 |
子系列 |
格式 |
编码 |
---|---|---|---|
宋体 | R | PCF (12,14,16,20,24) | GBK |
下表显示 zh_CN.GB18030 语言环境的 TrueType 字体。
表 9–7 zh_CN.GB18030 语言环境的 TrueType 字体
系列名 |
子系列 |
格式 |
供应商 |
编码 |
---|---|---|---|---|
仿宋 |
R |
TrueType |
方正 |
GB18030–2000 |
宋体 |
R |
TrueType |
方正 |
GB18030–2000 |
黑体 |
R |
TrueType |
方正 |
GB18030–2000 |
楷体 |
R |
TrueType |
方正 |
GB18030–2000 |
下表显示 zh_CN.GB18030 语言环境的位图字体。
表 9–8 zh_CN.GB18030 语言环境的位图字体
系列名 |
子系列 |
格式 |
编码 |
---|---|---|---|
宋体 |
R |
PCF(12,14,16,20,24) |
GB18030–2000 |