Solaris 8 如何使用及编辑PostScript字体?
2024-07-26 00:29:44
供稿:网友
简体中文 Solaris 操作环境在显示 PostScript 系统 (DPS) 中提供 PostScript 字体。本节描述了简体中文 Solaris 软件中 DPS 的使用,以及使用简体中文 Solaris 软件中的 DPS 需要什么。有关进一步的细节,请参见由 Adobe? Systems 公司所出版的 PRogramming the Display PostScript System with X (X 环境下的显示 PostScript 系统编程)。
--------------------------------------------------------------------------------
简体中文 PostScript 字体和 DPS 系统工具的使用
--------------------------------------------------------------------------------
简体中文 Solaris 操作环境包括列在下面表格的字体。可以像使用罗马字体一样地使用任何简体中文字体。
简体中文 Solaris 操作环境的 PostScript 字体 :
--------------------------------------------------------------------------------
宋体
宋体 EUC 的假名,可像罗马字体一样地使用。
宋体 EUC
宋体字体、EUC 编码、水平显示;可像罗马字体一样地使用。
楷体
楷体 EUC 的假名,可像罗马字体一样地使用。
楷体 EUC
楷体字体、EUC 编码、水平显示;可像罗马字体一样地使用。
仿宋体
仿宋体 EUC 的假名,可像罗马字体一样地被使用。
仿宋体 EUC
仿宋体字体、EUC 编码、水平显示;可像罗马字体一样地使用。
黑体
黑体 EUC 的假名,可像罗马字体一样地使用。
黑体 EUC
黑体字体、EUC 编码、水平显示;可像罗马字体一样地使用。
创建复合的罗马和简体中文字体
--------------------------------------------------------------------------------
可以使用任何罗马字体和简体中文字体的组合创建复合字体。例如,下面的 PostScript 代码定义了复合字体,Times 斜体+楷体,该复合字体用 Times 斜体表现 ASCII 字符,用楷体字体表现简体中文字符:
/make EUC font {
/AsianFont exch def
/WestFont exch def
/NewFont exch def
/CIDInit /ProcSet findresource
begin
NewFont [ AsianFont WestFont ]
beginrearrangedfont
1 usefont
1 <00> <7e> <00>
endbfrange
endrearrangedfont
end
bind def
/LC_Times-Roman /Times-Roman /Kai-Medium make EUC font
在 DPS 编程中使用简体中文字体
--------------------------------------------------------------------------------
在 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
可以在一个 C 语言程序里调用 PSWDisplayText (中文文本) 以显示所设计的中文文本
简体中文 Solaris 软件在 DPS 中提供了对 TrueType 字体的支持。
--------------------------------------------------------------------------------
使用 fontedit 编辑字体
--------------------------------------------------------------------------------
本章节说明如何在应用于简体中文 Solaris 操作环境中的可移植编译格式 (PCF) 字体中编辑、创立和安装新的字符。然后可以保存所作的改变并在本地系统中使用该编辑过的字体。这一过程包括下面几个步骤:
1.为所编辑或创建的字体准备一个工作区。
2.使用字体编辑程序编辑位图分布格式 (BDF) 的字体文件。
3.将 BDF 字体文件转换成 PCF 格式。
4.使该字体在您的系统上可使用。
设立一个工作目录
--------------------------------------------------------------------------------
1.为所编辑的字体创建一个新的工作区目录,例如:
system% mkdir /tmp/newfont
2.把您的工作目录改变为那个目录:
system% cd /tmp/newfont
启动字体编辑程序
--------------------------------------------------------------------------------
简体中文 Solaris 操作环境所提供的字体编辑程序可用于编辑位图字体。
启动字体编辑程序。
字体编辑程序窗口显示在屏幕上。
system% fontedit
字体编辑程序不能编辑用于 Solaris 软件的 PCF 格式字体文件 (.pcf 文件扩展名)。该工具仅处理 BDF 中的字体。BDF 是 MIT X Consortium 所定义的一种便携格式。
准备字体文件
--------------------------------------------------------------------------------
在 BDF 格式中找出要编辑的简体中文字体文件。
该文件的编码应该从 8481 (0x2121) 开始。例如,假如您有一个 BDF 文件叫 myfont14.bdf:
STARTFONT 2.1
COMMENT Sample Font
...
FONT Myfont-Medium14SIZE 14 75 75
STARTCHAR C101
ENCODING 8481
...
编辑 BDF 字体文件
--------------------------------------------------------------------------------
1.在字体编辑程序窗口中的文件按钮上面按住菜单鼠标器按钮,并在下拉式菜单中选择装入...。
2.在装入弹出式窗口的字体名称字段中键入所要编辑的 BDF 文件名,例如,myfont14.bdf。
3.在弹出式窗口的装入按钮按一下选择。
4.这样就装入了文件。
5.在字体编辑程序主窗口的选择按钮按一下选择。
这样就会显示出选择窗口,在那里要做以下几个步骤。
为要编辑的字符键入其字体编码代码的高位和低位字节数值,例如 0x3302。
可用下一个 (右箭头) 按钮或前一个 (左箭头) 按钮来提高或减少高位或低位字节的数值。
6.将这个简体中文字体的代码长度设为多字节。
对于一个 ASCII/英文字体,要将代码长度设为单字节。
7.在编辑按钮上 [在 Fontedit (字体编辑) :选择窗口里] 按一下以把字型显示在主幕布上。
所指定的字型会在字体编辑程序窗口里出现。
8通过把像素打开或关闭可在主幕布上编辑字型:
.在鼠标器按钮上按一下"选择"以把像素打开。
.在鼠标器按钮上按一下"调整"以把像素关闭。
.按住菜单鼠标器按钮可出现其他附加功能的菜单。
*当您把字型的像素打开和关闭时,主窗口左上角中的字符字型会显出该字型的实际外观。
9.当完成字型的编辑后,在存储按钮上按一下"选择"。
10.重复前面的é¤ 5到é¤ 9步骤以编辑这个字体中的其他字型。
11.完成编辑以后,按住在文件按钮上的菜单并选择"存入..."以保存在字体文件中已编辑好的字型。
--------------------------------------------------------------------------------
将 BDF 格式转换为 PCF 格式。
--------------------------------------------------------------------------------
在应用程序能够使用改动过的 BDF 文件之前,必须先把它转换成 PCF 格式文件。
为使已编辑的字体能在简体中文 Solaris 操作环境中使用,按下列步骤把这些字体转换为 X11 PCF 格式:
system% bdftopcf -o myfont14.pcf myfont.bdf
有关更多信息,请参看 bdftopcf (1) 的手册页。
--------------------------------------------------------------------------------
安装和检查编辑后的字体
--------------------------------------------------------------------------------
1.要添加一个新的位图,将该 .pcf 字体文件移入您的字体目录。在移入您的字体目录前,可先将该 .pcf 字体文件进行压缩:
system% compress myfont 14.pcf
2.在您的字体目录中执行下列指令。
.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`
3.可以使用 X 环境中的字体显示器 (xfd) 查看您的字体,键入:
system% xfd -fn Myfont-Medium14
所有简体中文字体都有 XLFD 字体名称,可以使用 xlsfonts 实用程序来显示这些名称如下:
system% xlsfonts | grep gb2312
--------------------------------------------------------------------------------
使用 sdtudctool 创建字符
--------------------------------------------------------------------------------
可以使用 sdtudctool 实用程序中的绘画工具来创建新的字符。 (有关如何修改字体的信息,请参看 使用 fontedit 编辑字体。) 使用 sdtudctool 所创建的新字符可以保存在 1 级和 2 级中文字符之间的五个空的代码位置上 (从 0xD7FA 到 0xD7FE)。sdtudctool 实用程序支持位图、Type 1 和 CID 等字体。还可以为新的字符确定字体的大小。本节包含了使用 sdtudctool 的步骤。
@目前 sdtudctool 仅支持 EUC 语言环境,例如 zh。因而该实用程序不能在 zh_GBK 语言环境中使用。
.使用 sdtudctool
--------------------------------------------------------------------------------
本节提供使用 sdtudctool 实用程序创建新字符的指导。
1.如要启动实用程序,键入下面的命令:
system% sdtudctool
出现下面所示的窗口。
2.按一下"字符"。
出现下面所示的对话框:
3.指定新字符的编码位置。
4.使用绘画工具为该字符创建外框或位图。
5.在"保存"上按一下以保存该字符。
6.继续创建新的字符。
7.完成后,在文件菜单中选择"保存"以把所作的改变保存到您的环境。
新的字符被保存在 $HOME/.Xlocale/zh/fonts/UDC。
.指定选项
--------------------------------------------------------------------------------
1.从文件菜单中选择"选项"。
选项对话框出现。
2.打开添加字体路径以把 UDC 字体的假名添加到您的字体路径上。
3.打开保存字体路径以把字体文件加到系统的字体路径上。
新的字体文件 (位于 $HOME/.Xlocale/zh/fonts/UDC) 将被列在 $HOME/.OWfontpath 文件之中,并且下次您登录时,该新的字体文件即可在 X 服务器环境中被使用。
如果保存字体路径是关闭的,该字体文件仍会被保存在 $HOME/.Xlocale/zh/fonts/UDC 中,但下次当您登录时该字体文件不会被加到系统的字体路径上。
4.从下列尺寸中为该位图字体选择一个或数个字体尺寸 (以点为单位) :12、14、16、20 或 24。
.查看字符参照系
--------------------------------------------------------------------------------
1.如要查看字符的参照系,可按一下帮助菜单下的图标。
下面的窗口出现。
2.如要关闭窗口,可再按一下图标。
.键入新的字符
--------------------------------------------------------------------------------
如要键入您创建的字符,可使用区位码输入模式 (有关更多的信息,请参看 区位码模式)。