|
|

楼主 |
发表于 2008-11-7 16:42:44
|
显示全部楼层
Post by ti8er;1905411
核心 X 字体协议
核心X字体协议从服务器配置文件 (xorg.conf)中寻找字体。 如果在配置文件中没有字体路径,服务器将使用一个内部的硬代码路径。 假设你的 X 安装于 /usr/X11R6,核心字体将驻扎在子目录 /usr/X11R6/lib/X11/fonts中。对于每个路径下的目录,服务器将去读取三个文件:
*
fonts.dir - 将字体文件映射到字体名称;由 mkfontdir更新
*
fonts.alias - 为已经存在的字体设置别名 (比如"9x18")
*
fonts.scale - 列出可缩放字体;由 mkfontscale更新
核心X字体协议使用的名字比如: -misc-fixed-medium-r-normal--13-120-75-75-c-80-iso8859-1。 这些字体由 X 服务器提供,不需要别名。 服务器本身用 "cursor" 字体来显示鼠标光标,特定的协议需要使用字体 "fixed" 。
可伸缩字体,比如 Type1 和 TrueType,是被服务器从文件 fonts.scale 读入。 核心X字体系统使用 "freetype" 模块作为别名字体的渲染。确保"freetype"模块被文件 xorg.conf 加载,这通过增加代码至"Module" section:
Section "Module"
...
Load "freetype"
...
EndSection
被使用的字符是字体名字的一部分,比如 "-iso8859-1"。重要的一点是,使用非英文字符的应用程序必须能够正确地找到相应的字符,以正确地显示字体符号。 这可以通过 X 的资源进行控制,在迟些时候会提到。
在某些情况下,程序依赖于字体"fixed"或者其他如"9x18"。 在这种情况下,要确保 fonts.alias 文件指定了正确的字符。 使用 ISO-8859-X 编码的用户,在 X != 1 的时候应该修改 /usr/lib/X11/fonts/misc/fonts.alias 文件,把 "iso8859-1" 字符串替换为正确的编码名字。 这可以通过输入下面的命令完成。确保你是 root 用户,并替换正确的 <X>值:
sed -i 's,iso8859-1\( \|$\),iso8859-<X>\1,g' \
/usr/lib/X11/fonts/{75dpi,100dpi,misc}/fonts.alias
用户使用的 Cyrillic 字体,已经在下面文件中正确地定义了别名: /usr/lib/X11/fonts/cyrillic/fonts.alias。 但是,这个文件不会被用到,除非/usr/lib/X11/fonts/cyrillic 目录在字体搜索目录的第一位。 否则,使用的文件将是: /usr/lib/X11/fonts/misc/fonts.alias。
这个很详细,老大能透漏下在哪能找到这些资料么? |
|