|
发表于 2004-10-12 10:45:16
|
显示全部楼层
正好我也用FedoraCore2,正在摸索中,一起探讨吧。
xserver和xclient之间的协作方式我不太清楚,好像是分了好几种。
我现在的理解程度只能到:
1.locale是支持国际化和本地化的基础,linux系统中能够支持本地化的应用都会根据locale设置对自己的输入和输出字符的编码格式进行调整。当然locale的设置也分了好几种,其中比较重要的是LC_CTYPE,LC_MESSAGE等,它们是可以分开设置成不同的格式的。
2.字体是支持屏幕显示的最重要的依赖,因为输入输出的字符最终要以某种字体的形式显示到屏幕上。
一种字体应该是与编码格式无关的,像中文就有很多种编码格式GB2312,GBK,GB18030,还有UTF-8,但字体应该只需一份就够了。也就是说一旦你拥有了某种字体,就应该拥有它所支持的多种编码格式,该字体所支持的格式应该是说明在字体文件内部的。
3.字体集的概念好像是几种字体的集合,用多语言的混合显示,比如说中英文。这个概念我不太理解,一个应用的输入输出应该是一种编码格式的吧,比如说GB2312,应该同时编码了中英文,是怎么能够做到让其中的中文部分显示一种字体,然英文部分现实另一种字体呢?请大家给我讲讲吧。
4.上面所说的应用程序如果是基于X的应该就算Xclient,Xclient根据locale送出字符的编码,并同时指明一种字体/字体集(我觉得用何种字体显示应该是应用自己的事情,系统(应该就是xServer,X之外的应用应该没有字体的概念吧)只需要提供它所支持的全部字体供应用从中选择就行了,所以我们可以看到一般应用程序都给用户提供选择显示的字体这样的功能)。然后XServer根据编码和所选用的字体去字体路径中寻找合适的**(该怎么称呼?)并显示到屏幕上,所以字体引擎应该在这一步发挥作用。 |
|