简体中文 Solaris 用户指南

第 7 章 字体

关于本章

本章描述简体中文 Solaris 操作环境中的 PostScript 字体、使用 PostScript 字体需要什么以及如何编辑这种字体。

显示 PostScript 系统 (DPS)

简体中文 Solaris 操作环境在显示 PostScript 系统 (DPS) 中提供 PostScript 字体。本节描述了简体中文 Solaris 软件中 DPS 的使用,以及使用简体中文 Solaris 软件中的 DPS 需要什么。有关进一步的细节,请参见由 Adobe® Systems 公司所出版的 Programming the Display PostScript System with X (X 环境下的显示 PostScript 系统编程)。

简体中文 PostScript 字体和 DPS 系统工具的使用

简体中文 Solaris 操作环境包括列在下面表格的字体。可以像使用罗马字体一样地使用任何简体中文字体。

表 7-1 简体中文 Solaris 操作环境的 PostScript 字体

字体名 

说明 

宋体 

宋体 EUC 的假名,可像罗马字体一样地使用。 

宋体 EUC  

宋体字体、EUC 编码、水平显示;可像罗马字体一样地使用。 

楷体 

楷体 EUC 的假名,可像罗马字体一样地使用。 

楷体 EUC  

楷体字体、EUC 编码、水平显示;可像罗马字体一样地使用。 

仿宋体 

仿宋体 EUC 的假名,可像罗马字体一样地被使用。 

仿宋体 EUC  

仿宋体字体、EUC 编码、水平显示;可像罗马字体一样地使用。 

黑体 

黑体 EUC 的假名,可像罗马字体一样地使用。 

黑体 EUC  

黑体字体、EUC 编码、水平显示;可像罗马字体一样地使用。 

以下图形展示了一个宋体的样本。

图形 7-1 简体中文文本按 PostScript 输出显示的样本

Graphic

创建复合的罗马和简体中文字体

可以使用任何罗马字体和简体中文字体的组合创建复合字体。例如,下面的 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 beginbfrange
               <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 div neg pointSize neg moveto (text) 
show endps

可以在一个 C 语言程序里调用 PSWDisplayText (中文文本) 以显示所设计的中文文本。请参看下面图形的实例。

图形 7-2 简体中文 Solaris 操作环境中 DPS 的使用

Graphic

简体中文 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。

    可用下一个 (右箭头) 按钮或前一个 (左箭头) 按钮来提高或减少高位或低位字节的数值。

    Graphic
  6. 将这个简体中文字体的代码长度设为多字节。

    对于一个 ASCII/英文字体,要将代码长度设为单字节。

  7. 在编辑按钮上 [在 Fontedit (字体编辑) :选择窗口里] 按一下以把字型显示在主幕布上。

    所指定的字型会在字体编辑程序窗口里出现。

    Graphic
  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
    

    出现下面所示的窗口。

    Graphic
  2. 按一下"字符"。

    出现下面所示的对话框:

    Graphic
  3. 指定新字符的编码位置。

  4. 使用绘画工具为该字符创建外框或位图。

  5. 在"保存"上按一下以保存该字符。

  6. 继续创建新的字符。

  7. 完成后,在文件菜单中选择"保存"以把所作的改变保存到您的环境。

    新的字符被保存在 $HOME/.Xlocale/zh/fonts/UDC

指定选项
  1. 从文件菜单中选择"选项"。

    选项对话框出现。

    Graphic
  2. 打开添加字体路径以把 UDC 字体的假名添加到您的字体路径上。

  3. 打开保存字体路径以把字体文件加到系统的字体路径上。

    新的字体文件 (位于 $HOME/.Xlocale/zh/fonts/UDC) 将被列在 $HOME/.OWfontpath 文件之中,并且下次您登录时,该新的字体文件即可在 X 服务器环境中被使用。

    如果保存字体路径是关闭的,该字体文件仍会被保存在 $HOME/.Xlocale/zh/fonts/UDC 中,但下次当您登录时该字体文件不会被加到系统的字体路径上。

  4. 从下列尺寸中为该位图字体选择一个或数个字体尺寸 (以点为单位) :12、14、16、20 或 24。

查看字符参照系
  1. 如要查看字符的参照系,可按一下帮助菜单下的图标。

    下面的窗口出现。

    Graphic
  2. 如要关闭窗口,可再按一下图标。

键入新的字符
  1. 如要键入您创建的字符,可使用区位码输入模式 (有关更多的信息,请参看"区位码模式")。