LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 3983|回复: 41

firefly补丁、字体、term选择等问题~

[复制链接]
发表于 2004-3-23 00:09:08 | 显示全部楼层 |阅读模式
这几天有空的时候就搜集了一些跟本地化相关的资料,有几个问题发出来集思广益一下下,各位也请不吝赐教吧~~

1、firefly的补丁似乎很有名,很多涉及本地化的文章和补丁都有提到和用到。我把firefly的补丁都down下来看了看,感觉也不是真的全都需要。另外xttmgr好像的确能很全面地读取字体信息,可问题是太全面了是不是真的有好处呢。不知道有没有比较熟悉的同志对firefly的这几个补丁作一下评估?

2、字体方面,truetype字体大家似乎都用得很糊涂。例如内嵌点阵字体的问题,必须要先知道字体都内嵌了哪几种字号的点阵字体,fonts.conf才写得出来。xttmgr虽然输出中有“n种固定size”的信息,但该信息什么意思我看不明白,这方面的信息不知道有没有什么工具可以获取?

3、另外除了中文字体外,英文字体大家好像都不太在意说?虽说个人喜好各有不同,但也不是谁都有那么丰沛的艺术细胞的,况且一个个试也太麻烦了吧。

4、有关X下term的设置,我用过的有xterm、mlterm和rxvt。xterm设置似乎比较容易些,效果也还不错,但一用nano之类的程序之后,中文就会乱掉,reset也不行。mlterm的设置最复杂,效果也最不容易掌握,我几乎就没整满意过。rxvt没有xterm的问题,但中文字体和英文字体的搭配也不太好掌握。另外除了字体,颜色设置也是一个问题。我想这部分大家也可以弄一些配置的例子出来,选一个稍好些的总比从头来过要强。

5、我手上有几个小尺寸的点阵字体(10、12),我想转成bdf格式的给X用,可我找了好些地方都没有bdf的格式信息,不知道有没有人给提供一点线索?

目前就是遇到这么一些~
发表于 2004-3-23 08:25:23 | 显示全部楼层

回复: firefly补丁、字体、term选择等问题~

最初由 八百里 发表
这几天有空的时候就搜集了一些跟本地化相关的资料,有几个问题发出来集思广益一下下,各位也请不吝赐教吧~~

1、firefly的补丁似乎很有名,很多涉及本地化的文章和补丁都有提到和用到。我把firefly的补丁都down下来看了看,感觉也不是真的全都需要。另外xttmgr好像的确能很全面地读取字体信息,可问题是太全面了是不是真的有好处呢。不知道有没有比较熟悉的同志对firefly的这几个补丁作一下评估?
大部分还是需要吧。。我勉强算熟悉,不过多说也没意思,都打上就是了,从目前的情况看,没坏处
2、字体方面,truetype字体大家似乎都用得很糊涂。例如内嵌点阵字体的问题,必须要先知道字体都内嵌了哪几种字号的点阵字体,fonts.conf才写得出来。xttmgr虽然输出中有“n种固定size”的信息,但该信息什么意思我看不明白,这方面的信息不知道有没有什么工具可以获取?
我就不糊涂 ;) 不用管内嵌几号字体,只要你正确使用了freetype就可以(加firefly的patch)就可以提取出来,详细的下面说。关于字体的技术细节,也有工具可以得到

3、另外除了中文字体外,英文字体大家好像都不太在意说?虽说个人喜好各有不同,但也不是谁都有那么丰沛的艺术细胞的,况且一个个试也太麻烦了吧。
Bitstream Vera系列。抛开它是GPL的不谈,它的hinting效果很适合Linux,Verdana和Tahoma在Linux下并不怎样,字迹偏粗而且感觉不太干净。
4、有关X下term的设置,我用过的有xterm、mlterm和rxvt。xterm设置似乎比较容易些,效果也还不错,但一用nano之类的程序之后,中文就会乱掉,reset也不行。mlterm的设置最复杂,效果也最不容易掌握,我几乎就没整满意过。rxvt没有xterm的问题,但中文字体和英文字体的搭配也不太好掌握。另外除了字体,颜色设置也是一个问题。我想这部分大家也可以弄一些配置的例子出来,选一个稍好些的总比从头来过要强。
xterm我很少用。rxvt/mlterm我都配的还成,至少都能用。不过我用的最多的是konsole/gnome-terminal,因为支持多tab。
5、我手上有几个小尺寸的点阵字体(10、12),我想转成bdf格式的给X用,可我找了好些地方都没有bdf的格式信息,不知道有没有人给提供一点线索?
我觉得没什么必要呀,现在都是FreeType2+AA字体的时代了,有xtt的simsun就足够应付gtk1/motif程序了。
目前就是遇到这么一些~
贴一个图,bitstream vera sans+simsun,浏览器是konqueror

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2004-3-23 08:37:26 | 显示全部楼层

技术细节。。。

1. 获取字体信息
用ftdump这个工具
  1. $ ftdump ~/.fonts/simsun.ttc
  2. font name table entries
  3. ------------------------------------------------------------------------------
  4. SimSun - Version 3.03
  5. PostScript name: SimSun
  6. (c) Copyright ZHONGYI Electronic Co. 1995
  7. Trademark of ZHONGYI Electronic Co., Beijing
  8. ------------------------------------------------------------------------------
  9. character map encodings
  10. ------------------------------------------------------------------------------
  11. There are 2 encodings:
  12. encoding  0: Apple Roman
  13. encoding  1: Windows Unicode
  14. ------------------------------------------------------------------------------
  15. ftxcmap test
  16. ------------------------------------------------------------------------------
  17. There are 2 encodings:
  18. encoding  0:
  19. first: glyph index 1, character code 0x0
  20. next:  glyph index 0, character code 0x1
  21. last:  glyph index 92, character code 0xff
  22. encoding  1:
  23. first: glyph index 3, character code 0x20
  24. next:  glyph index 4, character code 0x21
  25. last:  glyph index 0, character code 0xffff
  26. ------------------------------------------------------------------------------
  27. embedded bitmap table
  28. ------------------------------------------------------------------------------
  29. version of embedded bitmap table:  0x20000
  30. number of embedded bitmap strikes: 6
  31.   bitmap strike 1/6: 12x12 pixels, 1-bit depth, glyphs [98..21983]
  32.       range format (5:5) glyphs 98..114
  33.       range format (2:5) glyphs 136..685
  34.       range format (2:5) glyphs 701..905
  35.       range format (2:5) glyphs 925..21902
  36.       range format (2:5) glyphs 21983..21983
  37.   bitmap strike 2/6: 14x14 pixels, 1-bit depth, glyphs [98..21983]
  38.       range format (5:5) glyphs 98..114
  39.       range format (2:5) glyphs 136..685
  40.       range format (2:5) glyphs 701..905
  41.       range format (2:5) glyphs 925..21902
  42.       range format (2:5) glyphs 21983..21983
  43.   bitmap strike 3/6: 16x16 pixels, 1-bit depth, glyphs [98..21983]
  44.       range format (5:5) glyphs 98..114
  45.       range format (2:5) glyphs 136..685
  46.       range format (2:5) glyphs 701..905
  47.       range format (2:5) glyphs 925..21902
  48.       range format (2:5) glyphs 21983..21983
  49.   bitmap strike 4/6: 18x18 pixels, 1-bit depth, glyphs [98..21983]
  50.       range format (5:5) glyphs 98..114
  51.       range format (2:5) glyphs 136..685
  52.       range format (2:5) glyphs 701..905
  53.       range format (2:5) glyphs 925..21902
  54.       range format (2:5) glyphs 21983..21983
  55.   bitmap strike 5/6: 15x15 pixels, 1-bit depth, glyphs [98..21983]
  56.       range format (5:5) glyphs 98..114
  57.       range format (2:5) glyphs 136..685
  58.       range format (2:5) glyphs 701..905
  59.       range format (2:5) glyphs 925..21902
  60.       range format (2:5) glyphs 21983..21983
  61.   bitmap strike 6/6: 13x13 pixels, 1-bit depth, glyphs [98..21983]
  62.       range format (5:5) glyphs 98..114
  63.       range format (2:5) glyphs 136..685
  64.       range format (2:5) glyphs 701..905
  65.       range format (2:5) glyphs 925..21902
  66.       range format (2:5) glyphs 21983..21983
  67. ------------------------------------------------------------------------------
  68. GSUB table
  69. ------------------------------------------------------------------------------
  70.   script `hani' (index 0):
  71.     default language system:
  72.       feature `vert' (index 0; lookup 0)
  73.     language `CHN ' (index 0):
  74.       feature `vert' (index 0; lookup 0)
  75. Lookups:
  76.   0: type 1, flag 0x1
  77. ------------------------------------------------------------------------------
  78. Memory footprint statistics:
  79. ------------------------------------------------------------------------------
  80. 269875 Bytes ( 264 kByte): face object
  81.   6387 Bytes (   7 kByte): glyph object
  82.   2852 Bytes (   3 kByte): instance object
  83. 12070 Bytes (  12 kByte): exec. context object
  84. ------------------------------------------------------------------------------
  85. 291184 Bytes ( 285 kByte): total memory usage
复制代码
这个东西我没编译成功,直接从网上找了一个rpm解开用的,能用 ;)

2. 提取ttf内嵌的点阵字体
freetype必须打开了bytecode功能(firefly有patch,事实上,在gentoo里面,直接USE="-bindist cjk" emerge freetype就行,这样会打开bytecode,同时使用akito的patch)
然后正确的配置fonts.conf
  1. <match target="font" >
  2. <test name="family"><string>SimSun</string></test>
  3.   <edit name="antialias" >
  4.    <bool>true</bool>
  5.   </edit>
  6.   <edit name="hinting" >
  7.    <bool>true</bool>
  8.   </edit>
  9.   <edit name="autohint" >
  10.    <bool>false</bool>
  11.   </edit>
  12. </match>
复制代码
也就是,打开hinting, 关闭autohint。这样,当遇到合适的字号时,freetype会自动提取内嵌的bitmap字体。当然还可以设置多少号以下字体关闭AA,不过我觉得没什么必要。我上面截图中的字体,英文有AA,中文就是simsun内嵌的点阵字体。
发表于 2004-3-23 15:35:25 | 显示全部楼层
我只打了firefly的xfree一个patch.来支持点阵中文的黑体和斜体.
其他没打,感觉没什么问题.
发表于 2004-3-23 15:58:20 | 显示全部楼层
mlterm需要配置吗?
我从来都不配置,用的感觉很好啊。
麻烦的就是有的时候缓冲区小了,不过ctrl+右键很容易就可以改大的
 楼主| 发表于 2004-3-23 18:42:24 | 显示全部楼层
提纲里我有提到说,我觉得如果可能,尽量还是别打补丁的好。我折腾一下弄个不打补丁的系统出来看看效果是咋样的再说好了。
至于那个10号和12号的点阵字库,其实是我自己用得着,跟文档倒没啥关系说。。。
发表于 2004-3-24 07:13:41 | 显示全部楼层
我有两个gentoo,装在不同的分区上,一个打了firefly的补丁,一个没有。
这个是没打补丁的:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2004-3-24 07:15:46 | 显示全部楼层
这个是打了补丁的。中文除了粗体外,没什么分别,但英文明显粗了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2004-3-24 08:38:42 | 显示全部楼层
xft应该是不会影响最终效果的,这个决定因素在于freetype,它是负责最后绘图的。

freetype,现在gentoo里面收了akito的patch,我用的也是这个,没用firefly的。效果好像还成。还是那句话,不能用Tahoma字体,否则很糟糕。。

hmm..我也考虑不要那个autohint的patch,再试试吧。

btw, 我觉得这样的讨论比汉化指南之类有意思多了。
发表于 2004-3-24 09:58:11 | 显示全部楼层
继续讨论  
我刚才USE="-cjk" emerge  freetype
好像没什么变化。从第一个截图也可以看出来,字体还是比较细的。

请问Hauser,能不能贴一个上slashdot.org的对比图?另外一个,我觉得对显示效果的要求是和显示器有关系的,用CRT的可能比较不太在乎字体的粗细,而用LCD的对这个就很敏感了。。MS的Cleartype的确了不起。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表