Solaris 公用桌面环境:高级用户和系统管理员指南

管理字体

使用“式样管理器字体”对话框,可以选择为所有应用程序所要的字体组和字体大小。也可以在命令行中指定字体,或使用资源来:

字体是一种文本字符被打印和显示的类型式样。桌面包含各种不同式样和大小的字体。

位图字体是由点的矩阵组成。(缺省情况下,“式样管理器”只配置位图字体。) 字体完全包含在一个文件中。要有一整套不同的大小、倾斜度和磅值,需要很多文件。

字体被指定为资源的值和命令的参数。“X 逻辑字体描述” (XLFD) 名称是请求所需字体的方法。系统查找到与它所给的描述最匹配的字体。

设置桌面字体资源

“式样管理器字体”对话框使您可为类似文本输入和标签这样的事物选择字体 (多达七种大小)。也可使您添加或删除字体组。

由字体对话框设置的资源

选中字体后,下面的资源写到 RESOURCE_MANAGER 特性中:

字体对话框所使用的资源

用于字体对话框中每个选择的字体在 /usr/dt/app-defaults/Dtstyle 资源文件中指定。最多可指定七种大小。

NumFonts—字体对话框中字体大小的数字。

SystemFont[1-7]—最多七种资源,将特定字体指定给某一“字体”对话框选择,以作为系统字体

UserFont[1-7]—最多七种资源,将特定字体指定给某一“字体”对话框选择,以作为用户字体


注意:

已选择了这些资源的缺省字体,以便满足在各种显示器上的可读性。如果要在应用程序中使用特定字体,请使用应用程序字体资源设置字体,而不要更改这些桌面字体。


有关应用程序字体的详细信息,请参见 DtStdAppFontNames(5) 和 DtStdInterfaceFontNames(5) 手册页。

列出可用的字体

  1. 键入下面的命令:

    xlsfonts [-options] [-fn pattern]

    显示了系统中可用的 XLFD 名称和字体别名的列表。位图字体在全部 14 个 XLFD 字段中的显示值。可缩放字样在 PixelSize, PointSize, ResolutionXResolutionY 位置显示 0。

  2. 要检查特定字体,请使用 xlsfonts 的模式匹配能力。在不打算匹配的模式部分使用通配符来代替。

  3. 如果 xlsfonts 未显示任何以 dt 开头的字体名,则字体路径未包含桌面字体。键入下面的命令,将桌面字体包含到可用字体中:

    xset +fp 目录名
    

    其中目录名是包含桌面字体的目录。会话启动所设置的缺省位置为 /usr/dt/config/xfonts/language.

    有关附加信息:

    • xset 和 xlsfonts 手册页列出可用的选项。

    • 使用 X Window 系统解释字体别名和 xset 客户。

在命令行上指定字体

    使用 -xrm 命令行选项来指定特定客户的字体资源。例如:

 application name -xrm "*bitstream-charter-medium-r-normal-8-88-75-75-p-45-iso8859-1"

X 逻辑字体描述 (XLFD)

通过列出 14 个不同的字符来指定字体,每个字符间用破折号 (-) 隔开。这称作 X 逻辑字体描述 (XLFD)。在某些情况下,列表中的特性可由一个 *通配符代替, 并且,特性中的一个字符可由一个 ? 通配符代替。表 17–4 列出字体特性字符串说明。

特性字符串说明的形式是:

"-Foundry-FamilyName-WeightName- Slant-SetwidthName-AddStyleName- PixelSize- PointSize-ResolutionX-ResolutionY-Spacing- AverageWidth-CharSetRegistry- CharSetCoding"

表 17–4 字体特性字符串说明

特性字符串 

定义 

Foundry

标识字体设计者的字符串 

FamilyName

标识字体的注册商标名称的字符串 

WeightName

给出字体的相对磅值 (例如粗体) 的字符串 

Slant

描述倾斜方向的代码: 

R (Roman–无倾斜)  

I (斜体–向右倾斜)  

O (倾斜–向右倾斜)  

RI (反转斜体–向左倾斜)  

RO (反转倾斜–向左倾斜)  

SetwidthName

描述宽度 (例如压缩或扩展) 的字符串 

AddStyleName

提供唯一标识字体所需要的任何附加信息的字符串 

PixelSize

以像素为单位,给出 em-square 大小的整数 

PointSize

以小数点为单位,给出 em-square 大小的整数 

ResolutionX

以像素为单位,给出水平分辨率的整数 

ResolutionY

以像素为单位,给出垂直分辨率的整数 

Spacing

指定单元间的间隔的代码: 

M (等间隔--固定间距)  

P (比例间隔--变化间距)  

C (字符单元)  

AverageWidth

以 1/10 个像素为单位,给出平均宽度的整数 

CharSetRegistry

标识已注册了字体编码的注册授权的字符串 

CharSetEncoding

在指定注册中标识字符集的字符串 

实例

下面的 XLFD 名称描述了名为 charter 的字体,它是由支持 ISO8859-1 标准编码的 Bitstream 生成的:

 -bitstream-charter-medium-r-normal--8-80-75-75-p-45-iso8859-1

它具有中等磅值,没有特殊倾斜,并且为正常宽度。字体是成比例的,具有 8 个像素或 8个点的 em-square 框。水平和垂直分辨率都是 75 个像素。字符的平均宽度为 45 个 1/10 像素或 4.5 个像素。

此字符串的一部分可由通配符代替。系统使用找到的第一个与您指定的部分相匹配的字体。

如果您需要的只是 8 像素的 charter 字体,可使用:

 *-charter-*-*-*-*-8-* 

查看选定的字体组属性

通过从“式样管理器字体”对话框中选择“属性”按钮,可以查看下面的字体组的属性:

用户的字体组文件系统存储

当用户添加字体组时,它被存储在下面的位置:

HomeDirectory/.dt/sdtfonts/host/locale/typeface-nnnnnn

host 是本地工作站的主机名

locale 是用户的当前语言环境,像 “C”或 “ja”。

typeface-nnnnnn 是由选中的字体和唯一生成的数字派生的名称

此字体组目录包含下面的三个文件

文件 fonts.aliasfonts.dir 是标准的 X11 字体文件,适于添加到 X 服务器的字体路径。sdtfonts.group 文件包含用户指定的字体组名称。

系统管理员字体组创建

这样其他的用户可以访问工作站上的字体组,系统管理员可将字体组复制到 /etc/dt/sdtfonts/locale 目录或复制到 /usr/openwin/lib/X11/stdfonts/locale 目录。“会话管理器”首先在 HomeDirectory/.dt/stdfonts/host/locale 中查找,接着在 /etc/dt/sdtfonts/locale 中查找,最后是在 /usr/openwin/lib/X11/stdfonts/locale 中查找。