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 PointSizeResolutionX 以及 ResolutionY 位置显示 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(铸造)

标识字体设计器的字符串 

族名

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

磅名

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

倾斜方向

描述倾斜方向的代码: 

R(Roman-无倾斜) 

I(斜体-向右倾斜) 

O(倾斜-向右倾斜) 

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

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

SetwidthName

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

AddStyleName

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

PixelSize

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

PointSize

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

ResolutionX

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

ResolutionY

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

间隔

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

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 字体文件,其适合于添加到 Xerver 的字体路径中。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中查找。