简体中文 Solaris 用户指南

第 7 章 字体

关于本章

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

显示PostScript系统(DPS)

简体中文Solaris操作环境在显示PostScript系统(DPS)中提供PostScript 字体。本节描述了在简体中文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字符,用楷体字体表现简体中文字符:

/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编程中使用简体中文字体

在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/English字体,要将代码长度设为单字节。

  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 myfont14.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. 如要键入你创建的字符,可使用区位码输入模式 (有关更多的信息,请参看"区位码模式")。