LinuxSir.Org  
| 网站首页 | 注册账号 | 论坛帮助 |

欢迎来到LinuxSir.Org!
您还未登录,请登录后查看论坛,或者点击论坛上方的注册链接注册新账号。


发表新主题 回复
精华主题  
主题工具
旧 05-03-09, 20:45 第 1 帖
EricNeon
 
EricNeon 的头像
 
 
注册会员  
  注册日期: Jul 2003
  我的住址: 上海
  帖子: 417
  精华: 8
 

标题: debian中文桌面的快速构建


在debian的中文美化时,基本可以按照我这样的步骤来做。我也是参考了香港debian桌面安装大赛时采用的方式,步骤顺序上做了调整,并在debian和gentoo系统上测试成功。

1.第一步,产生语系(locale)
如果没有安装locales的请安装locales:
代码:
#apt-get install locales
若已经安装了locales,就重新设定语系:
代码:
#dpkg-reconfiguer locales
选择生成下列语系的数据:
代码:
en_US.ISO-8859-1 en_US.UTF-8 zh_CN.GB2312 zh_CN.UTF-8 zh_CN.GBK zh_TW.BIG5 zh_TW.UTF-8
再将默认locale选择为“C”。然后用“locale -a”来查看现在系统中所有支持的语系,
代码:
#locale -a C POSIX en_US.ISO-8859-1 en_US.UTF-8 zh_CN.GB2312 zh_CN.UTF-8 zh_CN.GBK zh_TW.BIG5 zh_TW.UTF-8
用“locale”查看当前所使用的语系。
代码:
#locale LANG=C LC_ALL=POSIX LC_CTYPE=POSIX ...
在产生了语系后,最好是重新启动系统。或者也可以重新登陆一次。

2.建议先安装firefly修正的一些包。
同样在/etc/apt/sources.list中加入源地址:
代码:
deb http://debian.okey.net/debian-uo/ sid firefly 或者deb ftp://ftp.hk.debian.org/unofficial/firefly/binary-i386 ./
更新后安装firefly-sung
代码:
#apt-get update #apt-get install ttf-firefly-sung
注意这个firefly-sung与fireflysung不是同一个文件,它是firefly修正的fontconfig,libxfs等的配置,不要搞错了。你可以事先搜索一下“firefly”这个关键字,以检查apt仓库是否探测准确:
代码:
#apt-cache search firefly
3.安装字体
linux中最常用的中文字体是文鼎的四套中文字体:ttf-arphic-bkai00mp(文鼎PL中楷AR PL KaitiMBig5,包含BIG5中13000个繁体字),ttf-arphic-gbsn00lp(文鼎PL简报宋AR PL SungtiLGB,包含GB2312中7000多个简体),ttf-arphic-bsmi00lp(文鼎PL细上海宋AR PL Mingti2L Big5)以及ttf-arphic-gkai00mp(文鼎PL KaitiMGB,包含GB2312中7000多个简体字)。这些字体可以直接通过apt来安装。
代码:
#apt-get install ttf-arphic-bkai00mp tf-arphic-gbsn00lp ttf-arphic-bsmi00lp ttf-arphic-gkai00mp
但是由于中文字体笔画繁多,矢量字体加上Anti-Alias在细尺寸时反而显得模糊不清。这里我推荐使用台湾萤火虫(firefly)合并衬线后的新字体——文鼎PL新宋。
在/etc/apt/sources.list中加上新宋字体的apt仓库源:
代码:
deb ftp://debian.linux.org.tw/pub/apt unstable main 或者 deb ftp://ftp.hk.debian.org/unoffical/dlot-apt unstable main
然后更新apt repositories数据,就可以安装firefly的字体了。
代码:
#apt-get update #apt-get install ttf-fireflysung
为了避免造成不必要的麻烦,强烈建议首先安装fireflysung这个字体!!
接着就是安装文鼎的四个字体,自由字体中英文字体效果比较好的有Bitstream Vera Sans字体和DejaVu字体。特别是这个DejaVu字体是fundawang提及的将在Mandrake中采用的英文字体,我在gentoo和dbeian中测试效果都好于Bitstream Vera字体,故推荐使用。
代码:
#apt-get install ttf-bitstream-vera ttf-dejavu
为了提高对微软平台的兼容程度,我也建议安装msttcorefonts这一套微软的英文字体。这套字体包含了AndalMono、ArialBlack、Arial、ComicSansMS、Georgia、Impact、TimesNew Roman、Times、Trebuchet、Verdana和Webdings等11种字体。
代码:
#apt-get install msttcorefonts
4.设置Fontconfig这一步非常重要,也许你是安装了非常好看的字体,但是如果你不修正你的Fontconfig,再好看的效果也不一定出来。
首先我们编辑/etc/fonts/fonts.conf这个文件,检查字体的使用顺序,把你要用的效果最好的字体放在最前面。

重排Serif字体显示顺序:
代码:
<alias> <family>serif</family> <prefer> <family>DejaVu Serif</family> <family>Bitstream Vera Serif</family> <family>Times New Roman</family> <family>Times</family> <family>AR PL New Sung</family> <family>SimSun</family> <family>Luxi Serif</family> <family>AR PL Mingti2L Big5</family> <family>AR PL SungtiL GB</family> <family>Ming(ISO10646)</family> <family>Kochi Mincho</family> <family>Baekmuk Batung</family> </prefer> </alias>
排序的关键是把效果最好的放在最前,DejaVu和Bitstream Vera的英文显示效果最好,所以排在所有英文字体的前面,而AR PL New Sung(就是firefly的字体)以及Simsun的中文效果最好,所以排在所有cjk字体的前面.我的技巧是直接搜索Luxi字体,在这个字体前加上自己的中文字体。

重排sans-serif字体显示顺序:
代码:
<alias> <family>sans-serif</family> <prefer> <family>DejaVu Serif</family> <family>Bitstream Vera Sans</family> <family>Arial</family> <family>Verdana</family> <family>Helvetica</family> <family>AR PL New Sung</family> <family>SimSun</family> <family>Luxi Serif</family> <family>Ming(ISO10646)</family> <family>AR PL kaitiM Big5</family> <family>AR PL kaitiM GB</family> <family>Kochi Gothic</family> <family>Baekmuk Dotum</family> </prefer> </alias>
Fontconfig把sans定为sans-serif的别名,所以排序的办法也是一样。

重排monospace的字体显示顺序:
代码:
<alias> <family>monospace</family> <prefer> <family>Bitstream Vera Sans Mono</family> <family>Courier New</family> <family>Courier</family> <family>AR PL New Sung</family> <family>Ming(ISO10646)</family> <family>Kochi Mincho</family> <family>Baekmuk Batung</family> </prefer> </alias>
接着我们来做一次模仿,请在所有写着“Bitstream Vera xxx”字样的一行前面按照这行的写法添加自己的字体。这样做的目的是让系统在做字体的替换时做得更彻底些。例如:
代码:
<match target="font"> <test name="family"> <string>DejaVu Sans Mono</string> <string>Bitstream Vera Sans Mono</string> </test> ... </match>
5.调整/etc/fonts/local.conf这一步也是非常重要的,因为我们要做的是关闭中文字体在8px-16px之间时的Anti-Alias,以及加入粗体的设定。
我的locale.conf如下:
代码:
<?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <!-- /etc/fonts/local.conf file for local customizations --> <fontconfig> <!-- Enable sub-pixel rendering <match target="font"> <edit name="rgba" mode="assign"><const>rgb</const></edit> </match> --> <!-- Add by Firefly(firefly@firefly.idv.tw) --> <match target="font"> <edit name="embeddedbitmap" mode="assign"> <bool>true</bool> </edit> </match> <!-- Add by Firefly(firefly@firefly.idv.tw) Most of Asian fonts can't explain by freetype2, so,if these fonts have dual width(half/full) and monospacing, you need to disable globaladvance. --> <match target="font"> <test name="spacing" compare="more_eq"> <const>mono</const> </test> <edit name="globaladvance" mode="assign"> <bool>false</bool> </edit> </match> <!-- Add by firefly@firefly.idv.tw Artificial bold for fonts without a bold version. --> <match target="font"> <!-- check to see if the pattern requested > "medium" --> <test target="pattern" name="weight" compare="more"> <const>medium</const> </test> <!-- pretend the font is bold now --> <edit name="weight" mode="assign"> <const>bold</const> </edit> </match> <!-- Add by firefly@firefly.idv.tw --> <match target="pattern"> <test name="lang" compare="contains"> <string>zh-tw</string> <string>zh-cn</string> <string>zh-hk</string> <string>zh-mo</string> <string>zh-sg</string> <string>zh</string> <string>ja</string> <string>ko</string> </test> <edit name="hinting" mode="assign"> <bool>true</bool> </edit> <edit name="usegamma" mode="assign"> <if> <less> <name>pixelsize</name> <double>20</double> </less> </if> <bool>true</bool> </edit> </match> <!--........................................................................--> <config> <!-- Add by Firefly (firefly@firefly.idv.tw) Output non English/Latin family name. --> <familyoutput> <const>auto</const> <!--const>englishonly</const--> <!--const>any</const--> </familyoutput> </config> <!--.......................................................................--> <!-- Add by EricNeon (ericneon@geekbone.org) Disable Chinese fonts Anti-Alias in 8px-16px. --> <match target="font"> <test name="pixelsize" compare="more_eq"> <double>8</double> </test> <test name="pixelsize" compare="less_eq"> <double>16</double> </test> <edit name="antialias"> <bool>false</bool> </edit> <edit name="hinting"> <bool>true</bool> </edit> </match> </fontconfig>
6.最后我们在/etc/X11/XSession.d/目录下创建一个X的启动文件95locale-xinput-set,在此设定X的locale和中文输入法。
代码:
case "$LANG" in zh_CN*) /usr/bin/scim -d(或fcitx &) XMODIFIERS=@im=scim(或fcitx) GTK_IM_MODULE=scim(或fcitx) ;; zh_TW*) /usr/bin/scim -d(或fcitx &) XMODIFIERS=@im=scim(或fcitx) GTK_IM_MODULE=scim(或fcitx) ;; zh_HK*) /usr/bin/scim -d(或fcitx &) XMODIFIERS=@im=scim(或fcitx) GTK_IM_MODULE=scim(或fcitx) ;; esac export XMODIFIERS GTK_IM_MODULE export LANG=zh_CN.UTF-8 (如果你没有设置locale=zh_CN.UTF-8) export G_FILENAME_ENCODING=@UTF-8
现在你可以到你的桌面下去看看效果了,无论是使用startx还是用gdm、xdm、kdm等启动桌面,都不需要另外再设置locale和输入法。







__________________
发现系统,完善系统,探索和创造属于自己的操作系统!
上海多品文化传播有限公司-开源动力,广告**
http://www.dolpin.cn

此帖于 05-03-09 23:02 被 EricNeon 编辑.
  EricNeon 当前离线   回复时引用此帖
旧 05-03-09, 21:05 第 2 帖
HybridTheory 帅哥
 
HybridTheory 的头像
 
 
注册会员  
  注册日期: Jul 2004
  我的住址: 山东济南
  帖子: 405
  精华: 0
 

请问ttf-dejavu msttcorefonts在哪个源?
  HybridTheory 当前离线   回复时引用此帖
旧 05-03-09, 21:11 第 3 帖
线头
 
线头 的头像
 
 
注册会员  
  注册日期: Jan 2005
  帖子: 558
  精华: 0
 

是否适用于fvwm上?
  线头 当前离线   回复时引用此帖
旧 05-03-09, 21:14 第 4 帖
flycraft 帅哥
 
flycraft 的头像
 
 
注册会员  
  注册日期: Feb 2004
  我的住址: 江苏-苏州
  帖子: 1,452
  精华: 3
 

引用:
作者: 线头
是否适用于fvwm上?
正是我想问的







__________________
Rock Feng
#arch-cn@irc.oftc.net
  flycraft 当前离线   回复时引用此帖
旧 05-03-09, 21:16 第 5 帖
EricNeon
 
EricNeon 的头像
 
 
注册会员  
  注册日期: Jul 2003
  我的住址: 上海
  帖子: 417
  精华: 8
 

手头没有/etc/apt/sources.list的完整文件,我现在隔壁的机器里。

同样适用fvwm和gnome、openbox、fluxbox、xfce,KDE应该也没有问题。
  EricNeon 当前离线   回复时引用此帖
旧 05-03-09, 21:21 第 6 帖
flycraft 帅哥
 
flycraft 的头像
 
 
注册会员  
  注册日期: Feb 2004
  我的住址: 江苏-苏州
  帖子: 1,452
  精华: 3
 

先谢了,等会试试
看来那个firefly字体和fontconfig是关键,从没用过firefly的patch,不是说不好,就怕补来补去的麻烦,debian怎么不把那些patch包括进去啊,真是

此帖于 05-03-09 21:23 被 flycraft 编辑.
  flycraft 当前离线   回复时引用此帖
旧 05-03-09, 21:32 第 7 帖
budaodao 帅哥
 
budaodao 的头像
 
 
注册会员  
  注册日期: Aug 2002
  我的住址: 青岛市
  帖子: 1,288
  精华: 2
 

不错的东东。虽然没有试过。很好。加精吧。伙计们。







__________________
Debian+Ubuntu+ArchLinux

---Arch Linux-Mirror---

[url]www.mysunday.net[/url]

不以善小而不为、不以恶小而为之.

业精于勤,荒于嬉,行成于思,毁于随。

爱机:AMD Athlon XP 1700+(超2G使用)+TT热管散热塔+内存768MB+DDR400+80G+升技NF2主板+GF2.400显卡(也不玩游戏)+SONY光驱+SONY刻录机+1.44软+宝狮电视卡+LG显示器。
  budaodao 当前离线   回复时引用此帖
旧 05-03-09, 21:34 第 8 帖
flycraft 帅哥
 
flycraft 的头像
 
 
注册会员  
  注册日期: Feb 2004
  我的住址: 江苏-苏州
  帖子: 1,452
  精华: 3
 

我给了5分
  flycraft 当前离线   回复时引用此帖
旧 05-03-09, 22:05 第 9 帖
jhuangjiahua
 
jhuangjiahua 的头像
 
 
★☆版★主☆★  
  注册日期: Apr 2004
  我的住址: 深空
  帖子: 9,502
  精华: 19
 

这里的
代码:
/usr/bin/scim -d(或fcitx &) XMODIFIERS=@im=scim(或fcitx) GTK_IM_MODULE=scim(或fcitx)
是否要把 /usr/bin/scim -d(或fcitx &) 放到后面







__________________
-
每日抽一刻钟解答 ML 中初学者的问题,
每周抽两小时整理新学知识,发表体验 Blog/Wiki/mail 分享出去,
每周至少抽四个小时来翻译自个儿喜欢的自由软件的文档,
每月至少抽八小时编程,推进自个儿的项目,
每年至少参加一次自由软件的活动,传播自由软件思想,发展一名自由人…………

只要我们每个人都坚持下去!
10年!就可以改变中国软件的整体风貌!
          ── woodpecker.org.cn

───────────────────
linux.hiweed.com  ubuntu.org.cn  sf.net/projects/pycds
  jhuangjiahua 当前离线   回复时引用此帖
旧 05-03-09, 22:33 第 10 帖
EricNeon
 
EricNeon 的头像
 
 
注册会员  
  注册日期: Jul 2003
  我的住址: 上海
  帖子: 417
  精华: 8
 

不需要把 /usr/bin/scim -d(或fcitx &) 放到后面,这个文件只是在启动X时执行,但并不是完全按顺序执行。几个export放在最前面也一样。
  EricNeon 当前离线   回复时引用此帖
旧 05-03-09, 22:50 第 11 帖
flycraft 帅哥
 
flycraft 的头像
 
 
注册会员  
  注册日期: Feb 2004
  我的住址: 江苏-苏州
  帖子: 1,452
  精华: 3
 

楼主给的两个firefly的字体名字都不对
  flycraft 当前离线   回复时引用此帖
旧 05-03-09, 22:58 第 12 帖
EricNeon
 
EricNeon 的头像
 
 
注册会员  
  注册日期: Jul 2003
  我的住址: 上海
  帖子: 417
  精华: 8
 

忘了写ttf了,我刚才写时周围没有debian的机器,是一边盯着gentoo编译安装,一边想的。
  EricNeon 当前离线   回复时引用此帖
旧 05-03-09, 23:17 第 13 帖
flycraft 帅哥
 
flycraft 的头像
 
 
注册会员  
  注册日期: Feb 2004
  我的住址: 江苏-苏州
  帖子: 1,452
  精华: 3
 

引用:
作者: EricNeon
忘了写ttf了,我刚才写时周围没有debian的机器,是一边盯着gentoo编译安装,一边想的。
不是吧,凭空捏造
那个源速度也够慢的~~
  flycraft 当前离线   回复时引用此帖
旧 05-03-09, 23:29 第 14 帖
EricNeon
 
EricNeon 的头像
 
 
注册会员  
  注册日期: Jul 2003
  我的住址: 上海
  帖子: 417
  精华: 8
 

也不能算完全捏造,毕竟这些天来反复试验了多次,都是很顺利的。只是台湾那几个源的速度确实不快。因为我公司里网速历来很慢,所以不知道大家的情况也是这样。见谅!

其实我写本文的目的是和大家交流一下fontconfig的一些设置,特别是local.conf这个文件的内容。不是叫大家都去装firefly字体。我发现只要local.conf写好了,装任何一个字体都很漂亮。

此帖于 05-03-09 23:37 被 EricNeon 编辑.
  EricNeon 当前离线   回复时引用此帖
旧 05-03-10, 01:43 第 15 帖
jhuangjiahua
 
jhuangjiahua 的头像
 
 
★☆版★主☆★  
  注册日期: Apr 2004
  我的住址: 深空
  帖子: 9,502
  精华: 19
 

FireFly 的字体不好吗



我在 KDE 里没有使用 FireFly 的补丁
但是用 FireFly 的字体

显示效果十分漂亮
  jhuangjiahua 当前离线   回复时引用此帖
发表新主题 回复


主题工具

发帖规则
您 [不可以] 发表新主题
您 [不可以] 回复主题
您 [不可以] 上传附件
您 [不可以] 编辑您的帖子

已 [启用] BB 代码
已 [启用] 表情符号
已 [启用] IMG 代码
已 [禁用] HTML 代码
[论坛跳转…]


所有时间均为[北京时间]。现在的时间是 13:47


Powered by vBulletin 版本 3.6.8
版权所有 ©2000 - 2010, Jelsoft Enterprises Ltd.
官方中文技术支持: vBulletin 中文
版权所有 ©2002 - 2009, LinuxSir.Org