很遗憾没有把链接记下来——一篇很经典的关于字体和汉化的文章
2007-08-24 11:41
615 查看
用的软件全是在freebsdchina上下的,用pkg_add -r 装的。
最近才发现vim不能完全支持编辑中文。
FB5.4/XFCE4/mlterm/vim6.3/fcitx/
安装fcitx需要设LANG,LC_CTYPE为zh_CN.eucCN.设定后xfce也变成中文了。我按照手册做的。用的是simsun字体。此时在X终端下已能显示中文文件,目录等。
此时在vim里输中文有时好,大部分不行,出乱码。查手册看了半天说是亚洲语言要用 unicode。仔细去看,好象只能用unicode来处理中文了?
不过实践证明,我只有在设定了export LC_CTYPE=en_US.ISO_8859-1
后,vim才能正解编辑中文。这是在 http://fanqiang.chinaunix.net/system/bsd/2002-12-27/1142.shtml 见到的,试了一下,不错。解决了我的问题。
不过越来越迷糊了:
1 LC_CTYPE是定义文档编码的吗?在网上见过这一说法。
2 为什么1中的定义为en_US.ISO_8859-1反而能正常编辑中文了。
3关于mlterm:
在mlterm中,CTRL+右键,在出现的窗口中的 others 标签中,有两项:
Combining(1or0)
Fullwidth(2or1)
可控制vim里显示的中文的字间距。其实是显示问题,只要存档再打开,间距就没了。什么意思?
4这样设定能正常编辑中文了,不过每次都须 :w! 强制写入文件。和以前不一样啊。
呵呵,先谢了这儿。
heiyou 回复于:2005-09-21 16:09:24
bash@FBI$ locale
LANG=zh_CN.UTF-8
LC_CTYPE="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
通过上述的定义,vim可以正常编辑和显示中文。没有半个汉字的现象了。但又有了新问题:
原来用zh_CN.eucCN时保存的中文文件名字和内容都不能显示了。乱码一片。
可怜我哪么多资料啊
再次编辑:
1 以root登录,打开上述资料并存为 英文 文件名,或改名,就可以了。
2 原来fcitx只要XMODIFIERS这一个变量就行了。zh_CN.eucCN和 zh_CN.UTF-8都可以做为LANG。
3 如果一开始就设zh_CN.UTF-8就会少一些麻烦。在老外横行的领域还是和国际接轨比较好。
参考: http://netlab.cse.yzu.edu.tw/~statue/freebsd/zh-tut/ http://www.cnsy.com.cn/Article/ShowArticle.asp?ArticleID=478 http://www.pconline.com.cn/pcedu/empolder/gj/other/0505/616631.html
heiyou 回复于:2005-09-21 16:15:00
1贴中的第4个问题已解决,原来是我在
/usr/local/share/vim/vimrc中定义了:
set backupdir=/tmp/vim
却没有建 立这个目录。
mkdir /tmp/vim
后就好了。
再顶下,别沉了下去。
linuxbao3 回复于:2005-09-21 21:02:57
不错,又提供 了一个好方法。让我知道了 fcitx的 Lang设定不是固定 的。
也终天明白了,vi是要在 export里设定的
heiyou 回复于:2005-09-23 22:04:10
虽然贴子沉得很快,但我很高兴,我只希望沉得再快一些。因为有更多的朋友发贴才能。。。。。。
补充一些最新理解:
在我设定:
LANG=zh_CN.eucCN
export LC_CTYPE=en_US.ISO_8859-1
后,文档类型被改为英文。在用输入法输一个汉字时,VIM程序收到的是编码,汉字编码在ISO_8859-1中不一定被定义,VIM也不理解。但可以把此中文(或别的非英语)编码保存在文件中。
但又为什么会显示呢?
无论什么文件都是二进制的比特流,具体是ASCII还是UNICODE或ELF,都有装载器来解释。虽然文档类型是英文,但由于文档的编辑与打开都是在一个zh_CN.eucCN的环境里,同样的API调用可以显示中文(或非英语),并不代表VIM知道这是一个中文字。这得益于FREEBSD和X -WINDOW的合作(I18N),也行还有mlterm?我不知道。
同理,非英语可能都适合这种情况。
如果以UNICODE保存,GB2312来打开,由于编码不同,也会乱码。这和中文文档在英文OS(此OS没安装中文支持)里打开显示乱码也差不多。
zh_CN.enuCN代表:
zh 中文
CN 中国
eucCN 文字编码
三者确定一个唯一的类型。如果不是类似GBK兼容GB2312的情况,只要三者不一样,乱码就会出现。
另外我是在.login_conf里加上上述变量的。
如发现有不妥之处,请务必回贴,谢谢。
linuxbao3 回复于:2005-09-23 23:12:29
不错不错,可以做为这类问题的一个范本。思想是相通的~~~
我的设定了 zh_CN.UTF-8后,在console下的文件都是乱码,不知道为什么
heiyou 回复于:2005-09-24 02:09:06
都是我没写清楚。
我是在X下的终端里,至于 console里,看手册只有有限的几种语言才支持,如俄语。
中文好象要用zhcon之类。可能还有别的法子也不太清楚。
heiyou 回复于:2005-09-26 20:13:47
在上述设置后,VIM已能正常编辑中文,但运行gvim后,提示:
Gdk-WARNING **: Missing charsets in FontSet creation
Gdk-WARNING **: GBK-0
gvim能运行,就是不能显示和输入中文。
首先解决GBK-0的问题:
#mkdir /usr/X11R6/lib/X11/fonts/mine
#cp /usr/X11R6/lib/X11/fonts/TrueType/simsun.ttc /usr/X11R6/lib/X11/fonts/mine/
#cp /usr/X11R6/lib/X11/fonts/TrueType/tahoma.ttf /usr/X11R6/lib/X11/fonts/mine/
#cd /usr/X11R6/lib/X11/fonts/mine
#mkfontscale -a gbk-0
#mkfontdir
#xset fp+ /usr/X11R6/lib/X11/fonts/mine
#xset fp rehash
此时已经不需要~/.gtkrc 了,不过按下面的.gtkrc写上一个也不错,字体好看一些。
xset的设置在重启后会消失,有必要在/etc/X11/xorg.conf里加上一句:
FontPath "/usr/X11R6/lib/X11/fonts/mine"
第二步:是在~/.vimrc中加入以下:
colo murphy
"下面一句最关键
set guifont=-misc-simsun-medium-r-normal-*-*-120-*-*-c-*-iso10646-1
set nocompatible
set bsdir=buffer
set enc=utf-8
set fenc=utf-8
set fencs=utf-8,ucs-bom,gbk
set langmenu=zh_CN.UTF-8
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim
set syn=cpp
set hlsearch
set tabstop=4
set cindent shiftwidth=4
set autoindent shiftwidth=4
set comments=://
set comments=s1:/*,mb:*,ex0:/
set tags=./tags,./../tags,./**/tags
set fileformats=unix,dos
map <Up>; gk
map <Down>; gj
set cmdheight=1
if version >; 603
set helplang=cn
endi
说明:
guifont 是我改的,适应UTF-8的。我用的是simsun字体,iso10646虽是国家标准,已是unicode的一部分。所以支持UTF-8。
查找-misc-simsun-medium-r-normal-*-*-120-*-*-c-*-iso10646-1 的方法是:
运行gvim,不管菜单是不是乱码,选择编辑菜单里最下面的 选择字体,在弹出的选择框中选iso10646有关的字体。还有几个。
回到gvim,运行命令:
:set guifont
就会显示刚才选择的字体,如果选择错了,不显示或乱码,先用鼠标选择后,到别的地方粘贴,就会看到内容了。
具体解释见: http://my.opera.com/yonsan/blog/show.dml/21733
有关的:
Xserver / GTK+ 1.x 的中文化
GTK+ 1.x使用的不是fontconfig,而是传统的Xserver的字体渲染程序。这个程序不能自动检测添加的字体,需要列表文件指示。
在/usr/X11R6/lib/X11/fonts/TTF/中,复制常用的TrueType/OpenType字体,如Arial、 SimSun等。然后使用mkfontscale和mkfontdir两条命令就可以为X生成fonts.scale和fonts.dir两个列表文件。
使用FreeBSD 5.4-RELEASE捆绑的Xorg的mkfontscale即可。ttmkfdir-20021109_1识别的simsun的编码更少得可怜。
执行mkfontscale之后,这两个文件中包含simsun字体的gb2312、gb18030甚至日文、韩文等编码,却还是没有gbk。结果就是gtk1的程序中文乱码,还报错:
Gdk-WARNING **: Missing charsets in FontSet creation
Gdk-WARNING **: GBK-0
使用zh_CN.GB2312就可以避免这个问题。但这里是zh_CN.UTF-8,不能改。
所以诞生了下面的解决方案。要让simsun的行包含gbk编码,只需要在生成的时候加一个参数。
mkfontscale -a gbk-0 # a 是add的意思
mkfontdir
然后,设定好gtkrc等文件就可以了。
~/.gtkrc:
style "gtk-default-zh-cn" {
fontset="/
-*-tahoma-medium-r-normal-*-11-*-*-*-*-*-iso10646-1,/
-*-helvetica-medium-r-normal-*-12-*-*-*-*-*-iso10646-1,/
-*-simsun-medium-r-normal-*-12-*-*-*-*-*-*-*,/
*-r-*"
}
class "GtkWidget" style "gtk-default-zh-cn"
详见: http://jackqq.blogchina.com/ http://publishblog.blogchina.com/blog/tb.b?diaryID=2477576
在这儿引用主要为了方便,还要感谢原作者的原创精神,向作者致敬。
rainren 回复于:2005-09-27 08:16:16
很有学习研究精神, 鼓励~~~
heiyou 回复于:2005-09-28 05:49:13
因为zh_CN.UTF-8下enlightenment的中文使用没搜到,总结一下:
enlightenment-0.16.7.2_2
enlightenment-theme-BrushedMetal-Tigert-0.16
1安装从略
2由于上面的贴子中已经把中文编码环境配好了,这次直接改一下.xinitrc:
exec fcitx &
/usr/X11R6/bin/enlightenment
就好。
3通过themes(BrushedMetal-Tigert)给enlightenment加中文字体支持,仅仅是让enlightenment知道有UTF-8的(中文)字体。
脚本entocn的内容:
#!/usr/local/bin/bash
find /usr/X11R6/share/enlightenment/themes/BrushedMetal-Tigert -type f /
-name '*.cfg' -exec grep -l lucida {} /; | /
xargs perl -i -pwe 's#-iso8859-1.*?"#-iso8859-1,-*-simsun-medium-r-normal-*-12-*-*-*-*-*-*-*"#'
以root权限执行。结果是:
把/usr/X11R6/share/enlightenment/themes/BrushedMetal-Tigert目录里所有*.cfg 文件里 -*-lucida-medium-r-normal-*-*-80-*-*-p-*-iso8859-1 用下面的来替代:
-*-lucida-medium-r-normal-*-*-80-*-*-p-*-iso8859-1,-*-simsun-medium-r-normal-*-12-*-*-*-*-*-*-*
注意,脚本是复制而来,输入时注意,否则,@
然后执行:
startx
就可以显示在xfce或其它wm里的中文菜单了,当然也可加入自己的中文菜单。
后记:
我已经先用字体
-misc-simsun-medium-r-normal-*-*-120-*-*-c-*-iso10646-1
试过不行,最后才确定
字体 -*-simsun-medium-r-normal-*-12-*-*-*-*-*-*-* 。此字体许是下面两者之一(xlsfonts里的):
-misc-simsun-medium-r-normal--0-0-0-0-p-0-iso10646-1 这里用mkfontscale/mkfontdir生成的fonts.dir里有。
-misc-simsun-medium-r-normal--0-0-0-0-c-0-iso10646-1 这是用ttmkfdir生成的fonts.dir里有
因为simsun里只有iso10646-1才支持UFT-8.如果不能正解显示,可能与这儿有关,反正我都生成了,也没看用的是哪一个。百分之九十是第一个。------------------------新加内容:现在敢断定就是它了,因为没了它,在enlightenment里右键菜单的中文就会乱码,同样,这与我设的zh_CN.UTF-8有关。
enlightenment用的全是ASCII文件,而我的系统上都是UNICODE文件,显示出来都是乱码,只有让它使用UTF-8编码和相应字体来正确显示。
UTF-8编码用LANG指定
字体: 首先要有支持UTF-8的字体,还要为字体生成编码,还要让xfce,enlightenment之类的知道如何去使用它。
xfce4对中文支持的比较好就在不用象这样为enlightenment去指定字体,只要设定了LANG(也许有别的)就显示中文了。
而 enlightenment是通过它的themes去支持中文的,需要安装一个支持中文的 themes, 如 BrushedMetal-Tigert。然后去修改themes,加上中文支持,具体哪一个,和编码有关,如找不到可以用 * 来代替,正如上面所做的。
注:
在 BlueSteel-0.16上我没有做成功.这个方法好象不通用。不过据说bluesteel也支持中文。目录结构也和BrushedMetal-Tigert一样,怎么不行?
以后有空了再玩它吧,先留下。
补充:
如果在LANG变量不能传给enlightenment下启动了它,默认的是LANG=C
。这时生成菜单,以后设定好了LANG=zh_CN.UTF-8后也不支持中文菜单了。我的方法是删除.enlightenment目录,重新生成。
参考: http://www.linuxsir.org/bbs/showthread.php?s=&threadid=42598 http://netlab.cse.yzu.edu.tw/~statue/freebsd/zh-tut/enlightenment.html
linuxbao3 回复于:2005-09-28 07:22:07
哇,精典~~~~希望楼主继续努力,收藏了~
heiyou 回复于:2005-09-29 22:20:52
谢谢前辈的鼓励
中文配置好了,玩玩花样。 http://bbs.chinaunix.net/forum/viewtopic.php?t=620275
heiyou 回复于:2005-10-03 23:38:10
安装了simsun字体怎么有的程序如FIREFOX还是显示的字体有些发虚?
答:这是反走样,又叫抗锯齿,又叫Anti-Aliased 技术,对我这儿不行,不知有没有中文字体支持它?
只要在/usr/X11R6/etc/fonts/local.conf里把它取消了就行了。
有听说要在/usr/ports里的文件make.conf(好象是)里加入WITH_CJK="yes"就行?没试过。
详见手册 5.5.3. Anti-Aliased 字体. http://www.freebsd.org.cn/snap/doc/zh_CN.GB2312/books/handbook/x-fonts.html
注意把14改大一些,我用的是16磅字体。注意是less , 小于16磅的,估计不包括16磅。
如果懂了可以把simsun字体改为不用反走样,英文字体用反走样,以后改了再来。
最后在firefox里字体改为simsun,不要选16了,大小通通改为14,嗯,好看一些了。
只不过大于等于16磅的字体还是发虚,当然可以在 local.conf把16再改大。
最方便的法是在$HOME 目录下建 立一 .fonts.conf文件:
<?xml version="1.0"?>;
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">;
<fontconfig>;
<!-- for simsun.ttc -->;
<match target="font">;
<test name="family">;<string>;SimSun</string>;</test>;
<edit name="antialias">;<bool>;true</bool>;</edit>;
<edit name="hinting">;<bool>;true</bool>;</edit>;
<edit name="autohint">;<bool>;false</bool>;</edit>;
</match>;
<match target="font">;
<test name="family">;<string>;NSimSun</string>;</test>;
<edit name="antialias">;<bool>;true</bool>;</edit>;
<edit name="hinting">;<bool>;true</bool>;</edit>;
<edit name="autohint">;<bool>;false</bool>;</edit>;
</match>;
<match target="font">;
<test name="family">;<string>;SimSun</string>;</test>;
<test name="size" compare="less_eq">;<int>;16</int>;</test>;
<edit name="antialias" mode="assign">;<bool>;false</bool>;</edit>;
<edit name="hinting" mode="assign">;<bool>;true</bool>;</edit>;
</match>;
<match target="font">;
<test name="family">;<string>;NSimSun</string>;</test>;
<test name="size" compare="less_eq">;<int>;16</int>;</test>;
<edit name="antialias" mode="assign">;<bool>;false</bool>;</edit>;
<edit name="hinting" mode="assign">;<bool>;true</bool>;</edit>;
</match>;
<match target="font">;
<test name="family">;<string>;NSimSun</string>;</test>;
<edit name="globaladvance">;<bool>;false</bool>;</edit>;
</match>;
<match target="font">;
<test name="size" compare="less_eq">;
<double>;16</double>;
</test>;
<edit name="antialias" mode="assign">;
<bool>;false</bool>;
</edit>;
</match>;
<match target="font">;
<test name="pixelsize" compare="less_eq" qual="any">;
<double>;16</double>;
</test>;
<edit mode="assign" name="antialias">;
<bool>;false</bool>;
</edit>;
</match>;
</fontconfig>;
对这个文件的理解见: http://www.linuxfans.org/nuke/modules.php?name=News&file=article&op=view&sid=1165 http://www.linuxfans.org/nuke/modules.php?name=News&file=article&op=view&sid=1184
很好的中文资料。
heiyou 回复于:2005-10-04 00:39:43
有了点新感受,在这儿补充一下,同样,和中文有关。
对于一个字,在zh_CN.UTF-8里与zh_CN.eucCN里编码肯定是不一样的,不过它们都用的是 simsun里的字体信息,具体是什么信息可以看编程方面的书。
也就是说,一个字,这里指simsun.ttc里这个字的信息,是不变的,而它可以对应不同的编码,具体是什么在UTF-8,GBK,GB2312等标准中自有规定。
这个编码是和字(字信息)连接的通道,这需要local的帮助。因为相同的编码不一定是一个字,不同的编码也可能是一个字。
大胆猜测一下,local应该就是windows系统下的内码页一类的东东,当然包括货币,日期等的格式。注意,它包括编码,但它不知道上哪儿去找字体去?
如果我们安装了一种字体,系统会自动去加载它的。为了不同的程序用起来少麻烦,最好还是按照系统手册上的做法去安装字体。
字体里面应该有编码有关的信息,或者有个机制让系统由编码找到某一个字的信息,否则如何找到并显示这个字呢?
谁呢给我个答案呢?
lqliang 回复于:2005-10-04 10:05:37
在字符终端下能中文化吗?
heiyou 回复于:2005-10-08 21:54:47
字符下听说也可以,如果不用cce,zhcon之类的中文环境的话,就只在编译内核中加进去中文的支持。具体怎么做google吧,在一个blog见到过。没做过。
想用 cce现在。
heiyou 回复于:2005-10-12 04:51:50
gaim的字体美化?
新建 ~/.gtkrc-2.0 内容如下:
style "gtk-default-zh-cn" {
font_name = "SimSun 12"
}
class "GtkWidget" style "gtk-default-zh-cn"
fvwm-2.5.13_1在 FB5.4下zh_CN.UTF-8的字体选择:
MenuStyle * Font "StringEncoding=utf-8:xft:SimSun:size=12:encoding=iso10646-1"
# default Styles:
# make sure these fonts exist on your system:
Style * Font "StringEncoding=utf-8:xft:SimSun:size=12:encoding=iso10646-
1"
原来是这格式,一阵狂搜,累死我了的结果。
hongzjx 回复于:2005-10-12 09:23:51
引用:原帖由 "lqliang"]在字符终端下能中文化吗?
发表:
export LANG=zh_CN.eucCN
export LC_ALL=zh_CN.eucCN
剑心通明 回复于:2005-10-12 09:25:05
引用:原帖由 "lqliang"]在字符终端下能中文化吗?
发表:
可以啊,cce或zhcon都可以的,可以参考http://bbs.chinaunix.net/forum/viewtopic.php?t= 622956&show_type=&postdays=0&postorder=asc&start=0
hongzjx 回复于:2005-10-12 09:30:23
zhcon是控制台用的吧,不是远程终端用的,cce我倒没用过
heiyou 回复于:2005-10-12 11:21:11
引用:原帖由 "剑心通明"]梢园。琧ce或zhcon都可以的,可以参考http: //bbs.chinaunix.net/forum/viewtopic.php?t=622956&show_type=&postdays=0&postorder=asc&start=0
发表:
谢谢版主了.
heiyou 回复于:2005-10-15 03:17:41
1
X字体选择工具:
xfontsel
还有一个:
fontsel
现在要找出 -misc-simsun-medium-xxxxxxxxxxxxxxxx这类东东不难了。
2
Xft的dpi默认设为96, 但XFree86默认为75, 二者不匹配,会造成字体显示的失真。所以最好的办法是在/etc/X11/xdm/Xservers里面加入
:0 local /usr/X11R6/bin/X -dpi 96
以确保二者一致。
3
Fontconfig配置详解 http://www.linuxidea.org/index.php?title=Fontconfig%E9%85%8D%E7%BD%AE%E8%AF%A6%E8%A7%A3
4
基于freetype/fontconfig/xft的汉化美化 http://linux.21ds.net/category/chinese/page/1/
5 gtk1程序的字体配置:
我的~/.gtkrc
style "gtk-utf-8" {
fontset = "-b&h-lucidatypewriter-medium-r-normal-*-*-120-*-*-m-*-iso10646-1,/
-B&H-LucidaTypewriter-Medium-R-Normal-Sans-12-120-75-75-M-70-ISO8859-1,/
-*-tahoma-medium-r-normal-*-12-*-*-*-*-*-iso10646-1,/
-misc-fixed-medium-r-semicondensed-*-*-120-*-*-c-*-iso10646-1,/
-misc-simsun-medium-r-normal-*-*-120-*-*-c-*-iso10646-1,/
-misc-simsun-medium-r-normal--12-120-75-75-c-125-iso8859-1,/
-*-simsun-medium-r-normal-*-12-*-*-*-*-*-*-*,/
*-r-*"
}
class "GtkWidget" style "gtk-utf-8"
6 gtk2程序的配置:
~/.gtkrc-2.0:
# -- THEME AUTO-WRITTEN DO NOT EDIT
include "/usr/X11R6/share/themes/Default/gtk-2.0/gtkrc"
style "user-font"
{
font_name="tahoma 12"
}
widget_class "*" style "user-font"
include "/home/lele/.gtkrc.mine"
# -- THEME AUTO-WRITTEN DO NOT EDIT
~/.gtkrc.mine
style "gtk-utf-8" {
fontset = "-misc-fixed-medium-r-semicondensed--12-*-*-*-c-*-*,/
-*-fixed-*-*-*-*-12-*-*-*-*-*-*,/
-
921f
b&h-lucidatypewriter-medium-r-normal-*-*-120-*-*-m-*-iso10646-1,/
-B&H-LucidaTypewriter-Medium-R-Normal-Sans-12-120-75-75-M-70-ISO8859-1,/
-*-tahoma-medium-r-normal-*-11-*-*-*-*-*-iso10646-1,/
-misc-fixed-medium-r-semicondensed-*-*-120-*-*-c-*-iso10646-1,/
-*-helvetica-medium-r-normal-*-12-*-*-*-*-*-iso10646-1,/
-misc-simsun-medium-r-normal-*-*-120-*-*-c-*-*,/
-misc-simsun-medium-r-normal--12-120-75-75-c-125-iso8859-1,/
-*-simsun-medium-r-normal-*-12-*-*-*-*-*-*-*,/
-misc-simsun-medium-r-normal-*-*-120-*-*-c-*-iso10646-1/
*-r-*,/
*"
}
class "GtkWidget" style "gtk-utf-8"
7 如何配置XFCE4界面字体?
如果有了 .gtkrc-2.0,它就会用这个文件里的设置,不会再用原来界面里设定的字体.
8如何配置fvwm-2.5.13_1界面字体?(注: LANG=zh_CN.UTF-8)
~/.fvwm/.fvwm2rc:
MenuStyle * Font "StringEncoding=utf-8:xft:Simsun:size=12:encoding=iso10646-1"
Style * Font "StringEncoding=utf-8:xft:Simsun:size=12:encoding=iso10646-1"
Style * IconFont "StringEncoding=utf-8:xft:Simsun:size=12:encoding=iso10646-1"
9 用opera保存的网页(HTM)用VIM打开乱码,怎么办?
环境:LANG=en_US.UTF-8 LC_CTYPE=LC_MESSAGES=zh_CN.UTF-8
关键是fileencodings,encoding,tenc这三个:
set fileencodings=utf-8,euc-cn,gbk,gb2312,utf-bom,iso8859-1
set encoding=utf8
set tenc=utf8
10 cce下VIM也不能显示中文文件?
方法同上.
[ 本帖最后由 heiyou 于 2005-11-15 18:53 编辑 ]
xingy 回复于:2006-01-13 21:01:13
精彩。。。
最近才发现vim不能完全支持编辑中文。
FB5.4/XFCE4/mlterm/vim6.3/fcitx/
安装fcitx需要设LANG,LC_CTYPE为zh_CN.eucCN.设定后xfce也变成中文了。我按照手册做的。用的是simsun字体。此时在X终端下已能显示中文文件,目录等。
此时在vim里输中文有时好,大部分不行,出乱码。查手册看了半天说是亚洲语言要用 unicode。仔细去看,好象只能用unicode来处理中文了?
不过实践证明,我只有在设定了export LC_CTYPE=en_US.ISO_8859-1
后,vim才能正解编辑中文。这是在 http://fanqiang.chinaunix.net/system/bsd/2002-12-27/1142.shtml 见到的,试了一下,不错。解决了我的问题。
不过越来越迷糊了:
1 LC_CTYPE是定义文档编码的吗?在网上见过这一说法。
2 为什么1中的定义为en_US.ISO_8859-1反而能正常编辑中文了。
3关于mlterm:
在mlterm中,CTRL+右键,在出现的窗口中的 others 标签中,有两项:
Combining(1or0)
Fullwidth(2or1)
可控制vim里显示的中文的字间距。其实是显示问题,只要存档再打开,间距就没了。什么意思?
4这样设定能正常编辑中文了,不过每次都须 :w! 强制写入文件。和以前不一样啊。
呵呵,先谢了这儿。
heiyou 回复于:2005-09-21 16:09:24
bash@FBI$ locale
LANG=zh_CN.UTF-8
LC_CTYPE="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
通过上述的定义,vim可以正常编辑和显示中文。没有半个汉字的现象了。但又有了新问题:
原来用zh_CN.eucCN时保存的中文文件名字和内容都不能显示了。乱码一片。
可怜我哪么多资料啊
再次编辑:
1 以root登录,打开上述资料并存为 英文 文件名,或改名,就可以了。
2 原来fcitx只要XMODIFIERS这一个变量就行了。zh_CN.eucCN和 zh_CN.UTF-8都可以做为LANG。
3 如果一开始就设zh_CN.UTF-8就会少一些麻烦。在老外横行的领域还是和国际接轨比较好。
参考: http://netlab.cse.yzu.edu.tw/~statue/freebsd/zh-tut/ http://www.cnsy.com.cn/Article/ShowArticle.asp?ArticleID=478 http://www.pconline.com.cn/pcedu/empolder/gj/other/0505/616631.html
heiyou 回复于:2005-09-21 16:15:00
1贴中的第4个问题已解决,原来是我在
/usr/local/share/vim/vimrc中定义了:
set backupdir=/tmp/vim
却没有建 立这个目录。
mkdir /tmp/vim
后就好了。
再顶下,别沉了下去。
linuxbao3 回复于:2005-09-21 21:02:57
不错,又提供 了一个好方法。让我知道了 fcitx的 Lang设定不是固定 的。
也终天明白了,vi是要在 export里设定的
heiyou 回复于:2005-09-23 22:04:10
虽然贴子沉得很快,但我很高兴,我只希望沉得再快一些。因为有更多的朋友发贴才能。。。。。。
补充一些最新理解:
在我设定:
LANG=zh_CN.eucCN
export LC_CTYPE=en_US.ISO_8859-1
后,文档类型被改为英文。在用输入法输一个汉字时,VIM程序收到的是编码,汉字编码在ISO_8859-1中不一定被定义,VIM也不理解。但可以把此中文(或别的非英语)编码保存在文件中。
但又为什么会显示呢?
无论什么文件都是二进制的比特流,具体是ASCII还是UNICODE或ELF,都有装载器来解释。虽然文档类型是英文,但由于文档的编辑与打开都是在一个zh_CN.eucCN的环境里,同样的API调用可以显示中文(或非英语),并不代表VIM知道这是一个中文字。这得益于FREEBSD和X -WINDOW的合作(I18N),也行还有mlterm?我不知道。
同理,非英语可能都适合这种情况。
如果以UNICODE保存,GB2312来打开,由于编码不同,也会乱码。这和中文文档在英文OS(此OS没安装中文支持)里打开显示乱码也差不多。
zh_CN.enuCN代表:
zh 中文
CN 中国
eucCN 文字编码
三者确定一个唯一的类型。如果不是类似GBK兼容GB2312的情况,只要三者不一样,乱码就会出现。
另外我是在.login_conf里加上上述变量的。
如发现有不妥之处,请务必回贴,谢谢。
linuxbao3 回复于:2005-09-23 23:12:29
不错不错,可以做为这类问题的一个范本。思想是相通的~~~
我的设定了 zh_CN.UTF-8后,在console下的文件都是乱码,不知道为什么
heiyou 回复于:2005-09-24 02:09:06
都是我没写清楚。
我是在X下的终端里,至于 console里,看手册只有有限的几种语言才支持,如俄语。
中文好象要用zhcon之类。可能还有别的法子也不太清楚。
heiyou 回复于:2005-09-26 20:13:47
在上述设置后,VIM已能正常编辑中文,但运行gvim后,提示:
Gdk-WARNING **: Missing charsets in FontSet creation
Gdk-WARNING **: GBK-0
gvim能运行,就是不能显示和输入中文。
首先解决GBK-0的问题:
#mkdir /usr/X11R6/lib/X11/fonts/mine
#cp /usr/X11R6/lib/X11/fonts/TrueType/simsun.ttc /usr/X11R6/lib/X11/fonts/mine/
#cp /usr/X11R6/lib/X11/fonts/TrueType/tahoma.ttf /usr/X11R6/lib/X11/fonts/mine/
#cd /usr/X11R6/lib/X11/fonts/mine
#mkfontscale -a gbk-0
#mkfontdir
#xset fp+ /usr/X11R6/lib/X11/fonts/mine
#xset fp rehash
此时已经不需要~/.gtkrc 了,不过按下面的.gtkrc写上一个也不错,字体好看一些。
xset的设置在重启后会消失,有必要在/etc/X11/xorg.conf里加上一句:
FontPath "/usr/X11R6/lib/X11/fonts/mine"
第二步:是在~/.vimrc中加入以下:
colo murphy
"下面一句最关键
set guifont=-misc-simsun-medium-r-normal-*-*-120-*-*-c-*-iso10646-1
set nocompatible
set bsdir=buffer
set enc=utf-8
set fenc=utf-8
set fencs=utf-8,ucs-bom,gbk
set langmenu=zh_CN.UTF-8
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim
set syn=cpp
set hlsearch
set tabstop=4
set cindent shiftwidth=4
set autoindent shiftwidth=4
set comments=://
set comments=s1:/*,mb:*,ex0:/
set tags=./tags,./../tags,./**/tags
set fileformats=unix,dos
map <Up>; gk
map <Down>; gj
set cmdheight=1
if version >; 603
set helplang=cn
endi
说明:
guifont 是我改的,适应UTF-8的。我用的是simsun字体,iso10646虽是国家标准,已是unicode的一部分。所以支持UTF-8。
查找-misc-simsun-medium-r-normal-*-*-120-*-*-c-*-iso10646-1 的方法是:
运行gvim,不管菜单是不是乱码,选择编辑菜单里最下面的 选择字体,在弹出的选择框中选iso10646有关的字体。还有几个。
回到gvim,运行命令:
:set guifont
就会显示刚才选择的字体,如果选择错了,不显示或乱码,先用鼠标选择后,到别的地方粘贴,就会看到内容了。
具体解释见: http://my.opera.com/yonsan/blog/show.dml/21733
有关的:
Xserver / GTK+ 1.x 的中文化
GTK+ 1.x使用的不是fontconfig,而是传统的Xserver的字体渲染程序。这个程序不能自动检测添加的字体,需要列表文件指示。
在/usr/X11R6/lib/X11/fonts/TTF/中,复制常用的TrueType/OpenType字体,如Arial、 SimSun等。然后使用mkfontscale和mkfontdir两条命令就可以为X生成fonts.scale和fonts.dir两个列表文件。
使用FreeBSD 5.4-RELEASE捆绑的Xorg的mkfontscale即可。ttmkfdir-20021109_1识别的simsun的编码更少得可怜。
执行mkfontscale之后,这两个文件中包含simsun字体的gb2312、gb18030甚至日文、韩文等编码,却还是没有gbk。结果就是gtk1的程序中文乱码,还报错:
Gdk-WARNING **: Missing charsets in FontSet creation
Gdk-WARNING **: GBK-0
使用zh_CN.GB2312就可以避免这个问题。但这里是zh_CN.UTF-8,不能改。
所以诞生了下面的解决方案。要让simsun的行包含gbk编码,只需要在生成的时候加一个参数。
mkfontscale -a gbk-0 # a 是add的意思
mkfontdir
然后,设定好gtkrc等文件就可以了。
~/.gtkrc:
style "gtk-default-zh-cn" {
fontset="/
-*-tahoma-medium-r-normal-*-11-*-*-*-*-*-iso10646-1,/
-*-helvetica-medium-r-normal-*-12-*-*-*-*-*-iso10646-1,/
-*-simsun-medium-r-normal-*-12-*-*-*-*-*-*-*,/
*-r-*"
}
class "GtkWidget" style "gtk-default-zh-cn"
详见: http://jackqq.blogchina.com/ http://publishblog.blogchina.com/blog/tb.b?diaryID=2477576
在这儿引用主要为了方便,还要感谢原作者的原创精神,向作者致敬。
rainren 回复于:2005-09-27 08:16:16
很有学习研究精神, 鼓励~~~
heiyou 回复于:2005-09-28 05:49:13
因为zh_CN.UTF-8下enlightenment的中文使用没搜到,总结一下:
enlightenment-0.16.7.2_2
enlightenment-theme-BrushedMetal-Tigert-0.16
1安装从略
2由于上面的贴子中已经把中文编码环境配好了,这次直接改一下.xinitrc:
exec fcitx &
/usr/X11R6/bin/enlightenment
就好。
3通过themes(BrushedMetal-Tigert)给enlightenment加中文字体支持,仅仅是让enlightenment知道有UTF-8的(中文)字体。
脚本entocn的内容:
#!/usr/local/bin/bash
find /usr/X11R6/share/enlightenment/themes/BrushedMetal-Tigert -type f /
-name '*.cfg' -exec grep -l lucida {} /; | /
xargs perl -i -pwe 's#-iso8859-1.*?"#-iso8859-1,-*-simsun-medium-r-normal-*-12-*-*-*-*-*-*-*"#'
以root权限执行。结果是:
把/usr/X11R6/share/enlightenment/themes/BrushedMetal-Tigert目录里所有*.cfg 文件里 -*-lucida-medium-r-normal-*-*-80-*-*-p-*-iso8859-1 用下面的来替代:
-*-lucida-medium-r-normal-*-*-80-*-*-p-*-iso8859-1,-*-simsun-medium-r-normal-*-12-*-*-*-*-*-*-*
注意,脚本是复制而来,输入时注意,否则,@
然后执行:
startx
就可以显示在xfce或其它wm里的中文菜单了,当然也可加入自己的中文菜单。
后记:
我已经先用字体
-misc-simsun-medium-r-normal-*-*-120-*-*-c-*-iso10646-1
试过不行,最后才确定
字体 -*-simsun-medium-r-normal-*-12-*-*-*-*-*-*-* 。此字体许是下面两者之一(xlsfonts里的):
-misc-simsun-medium-r-normal--0-0-0-0-p-0-iso10646-1 这里用mkfontscale/mkfontdir生成的fonts.dir里有。
-misc-simsun-medium-r-normal--0-0-0-0-c-0-iso10646-1 这是用ttmkfdir生成的fonts.dir里有
因为simsun里只有iso10646-1才支持UFT-8.如果不能正解显示,可能与这儿有关,反正我都生成了,也没看用的是哪一个。百分之九十是第一个。------------------------新加内容:现在敢断定就是它了,因为没了它,在enlightenment里右键菜单的中文就会乱码,同样,这与我设的zh_CN.UTF-8有关。
enlightenment用的全是ASCII文件,而我的系统上都是UNICODE文件,显示出来都是乱码,只有让它使用UTF-8编码和相应字体来正确显示。
UTF-8编码用LANG指定
字体: 首先要有支持UTF-8的字体,还要为字体生成编码,还要让xfce,enlightenment之类的知道如何去使用它。
xfce4对中文支持的比较好就在不用象这样为enlightenment去指定字体,只要设定了LANG(也许有别的)就显示中文了。
而 enlightenment是通过它的themes去支持中文的,需要安装一个支持中文的 themes, 如 BrushedMetal-Tigert。然后去修改themes,加上中文支持,具体哪一个,和编码有关,如找不到可以用 * 来代替,正如上面所做的。
注:
在 BlueSteel-0.16上我没有做成功.这个方法好象不通用。不过据说bluesteel也支持中文。目录结构也和BrushedMetal-Tigert一样,怎么不行?
以后有空了再玩它吧,先留下。
补充:
如果在LANG变量不能传给enlightenment下启动了它,默认的是LANG=C
。这时生成菜单,以后设定好了LANG=zh_CN.UTF-8后也不支持中文菜单了。我的方法是删除.enlightenment目录,重新生成。
参考: http://www.linuxsir.org/bbs/showthread.php?s=&threadid=42598 http://netlab.cse.yzu.edu.tw/~statue/freebsd/zh-tut/enlightenment.html
linuxbao3 回复于:2005-09-28 07:22:07
哇,精典~~~~希望楼主继续努力,收藏了~
heiyou 回复于:2005-09-29 22:20:52
谢谢前辈的鼓励
中文配置好了,玩玩花样。 http://bbs.chinaunix.net/forum/viewtopic.php?t=620275
heiyou 回复于:2005-10-03 23:38:10
安装了simsun字体怎么有的程序如FIREFOX还是显示的字体有些发虚?
答:这是反走样,又叫抗锯齿,又叫Anti-Aliased 技术,对我这儿不行,不知有没有中文字体支持它?
只要在/usr/X11R6/etc/fonts/local.conf里把它取消了就行了。
有听说要在/usr/ports里的文件make.conf(好象是)里加入WITH_CJK="yes"就行?没试过。
详见手册 5.5.3. Anti-Aliased 字体. http://www.freebsd.org.cn/snap/doc/zh_CN.GB2312/books/handbook/x-fonts.html
注意把14改大一些,我用的是16磅字体。注意是less , 小于16磅的,估计不包括16磅。
如果懂了可以把simsun字体改为不用反走样,英文字体用反走样,以后改了再来。
最后在firefox里字体改为simsun,不要选16了,大小通通改为14,嗯,好看一些了。
只不过大于等于16磅的字体还是发虚,当然可以在 local.conf把16再改大。
最方便的法是在$HOME 目录下建 立一 .fonts.conf文件:
<?xml version="1.0"?>;
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">;
<fontconfig>;
<!-- for simsun.ttc -->;
<match target="font">;
<test name="family">;<string>;SimSun</string>;</test>;
<edit name="antialias">;<bool>;true</bool>;</edit>;
<edit name="hinting">;<bool>;true</bool>;</edit>;
<edit name="autohint">;<bool>;false</bool>;</edit>;
</match>;
<match target="font">;
<test name="family">;<string>;NSimSun</string>;</test>;
<edit name="antialias">;<bool>;true</bool>;</edit>;
<edit name="hinting">;<bool>;true</bool>;</edit>;
<edit name="autohint">;<bool>;false</bool>;</edit>;
</match>;
<match target="font">;
<test name="family">;<string>;SimSun</string>;</test>;
<test name="size" compare="less_eq">;<int>;16</int>;</test>;
<edit name="antialias" mode="assign">;<bool>;false</bool>;</edit>;
<edit name="hinting" mode="assign">;<bool>;true</bool>;</edit>;
</match>;
<match target="font">;
<test name="family">;<string>;NSimSun</string>;</test>;
<test name="size" compare="less_eq">;<int>;16</int>;</test>;
<edit name="antialias" mode="assign">;<bool>;false</bool>;</edit>;
<edit name="hinting" mode="assign">;<bool>;true</bool>;</edit>;
</match>;
<match target="font">;
<test name="family">;<string>;NSimSun</string>;</test>;
<edit name="globaladvance">;<bool>;false</bool>;</edit>;
</match>;
<match target="font">;
<test name="size" compare="less_eq">;
<double>;16</double>;
</test>;
<edit name="antialias" mode="assign">;
<bool>;false</bool>;
</edit>;
</match>;
<match target="font">;
<test name="pixelsize" compare="less_eq" qual="any">;
<double>;16</double>;
</test>;
<edit mode="assign" name="antialias">;
<bool>;false</bool>;
</edit>;
</match>;
</fontconfig>;
对这个文件的理解见: http://www.linuxfans.org/nuke/modules.php?name=News&file=article&op=view&sid=1165 http://www.linuxfans.org/nuke/modules.php?name=News&file=article&op=view&sid=1184
很好的中文资料。
heiyou 回复于:2005-10-04 00:39:43
有了点新感受,在这儿补充一下,同样,和中文有关。
对于一个字,在zh_CN.UTF-8里与zh_CN.eucCN里编码肯定是不一样的,不过它们都用的是 simsun里的字体信息,具体是什么信息可以看编程方面的书。
也就是说,一个字,这里指simsun.ttc里这个字的信息,是不变的,而它可以对应不同的编码,具体是什么在UTF-8,GBK,GB2312等标准中自有规定。
这个编码是和字(字信息)连接的通道,这需要local的帮助。因为相同的编码不一定是一个字,不同的编码也可能是一个字。
大胆猜测一下,local应该就是windows系统下的内码页一类的东东,当然包括货币,日期等的格式。注意,它包括编码,但它不知道上哪儿去找字体去?
如果我们安装了一种字体,系统会自动去加载它的。为了不同的程序用起来少麻烦,最好还是按照系统手册上的做法去安装字体。
字体里面应该有编码有关的信息,或者有个机制让系统由编码找到某一个字的信息,否则如何找到并显示这个字呢?
谁呢给我个答案呢?
lqliang 回复于:2005-10-04 10:05:37
在字符终端下能中文化吗?
heiyou 回复于:2005-10-08 21:54:47
字符下听说也可以,如果不用cce,zhcon之类的中文环境的话,就只在编译内核中加进去中文的支持。具体怎么做google吧,在一个blog见到过。没做过。
想用 cce现在。
heiyou 回复于:2005-10-12 04:51:50
gaim的字体美化?
新建 ~/.gtkrc-2.0 内容如下:
style "gtk-default-zh-cn" {
font_name = "SimSun 12"
}
class "GtkWidget" style "gtk-default-zh-cn"
fvwm-2.5.13_1在 FB5.4下zh_CN.UTF-8的字体选择:
MenuStyle * Font "StringEncoding=utf-8:xft:SimSun:size=12:encoding=iso10646-1"
# default Styles:
# make sure these fonts exist on your system:
Style * Font "StringEncoding=utf-8:xft:SimSun:size=12:encoding=iso10646-
1"
原来是这格式,一阵狂搜,累死我了的结果。
hongzjx 回复于:2005-10-12 09:23:51
引用:原帖由 "lqliang"]在字符终端下能中文化吗?
发表:
export LANG=zh_CN.eucCN
export LC_ALL=zh_CN.eucCN
剑心通明 回复于:2005-10-12 09:25:05
引用:原帖由 "lqliang"]在字符终端下能中文化吗?
发表:
可以啊,cce或zhcon都可以的,可以参考http://bbs.chinaunix.net/forum/viewtopic.php?t= 622956&show_type=&postdays=0&postorder=asc&start=0
hongzjx 回复于:2005-10-12 09:30:23
zhcon是控制台用的吧,不是远程终端用的,cce我倒没用过
heiyou 回复于:2005-10-12 11:21:11
引用:原帖由 "剑心通明"]梢园。琧ce或zhcon都可以的,可以参考http: //bbs.chinaunix.net/forum/viewtopic.php?t=622956&show_type=&postdays=0&postorder=asc&start=0
发表:
谢谢版主了.
heiyou 回复于:2005-10-15 03:17:41
1
X字体选择工具:
xfontsel
还有一个:
fontsel
现在要找出 -misc-simsun-medium-xxxxxxxxxxxxxxxx这类东东不难了。
2
Xft的dpi默认设为96, 但XFree86默认为75, 二者不匹配,会造成字体显示的失真。所以最好的办法是在/etc/X11/xdm/Xservers里面加入
:0 local /usr/X11R6/bin/X -dpi 96
以确保二者一致。
3
Fontconfig配置详解 http://www.linuxidea.org/index.php?title=Fontconfig%E9%85%8D%E7%BD%AE%E8%AF%A6%E8%A7%A3
4
基于freetype/fontconfig/xft的汉化美化 http://linux.21ds.net/category/chinese/page/1/
5 gtk1程序的字体配置:
我的~/.gtkrc
style "gtk-utf-8" {
fontset = "-b&h-lucidatypewriter-medium-r-normal-*-*-120-*-*-m-*-iso10646-1,/
-B&H-LucidaTypewriter-Medium-R-Normal-Sans-12-120-75-75-M-70-ISO8859-1,/
-*-tahoma-medium-r-normal-*-12-*-*-*-*-*-iso10646-1,/
-misc-fixed-medium-r-semicondensed-*-*-120-*-*-c-*-iso10646-1,/
-misc-simsun-medium-r-normal-*-*-120-*-*-c-*-iso10646-1,/
-misc-simsun-medium-r-normal--12-120-75-75-c-125-iso8859-1,/
-*-simsun-medium-r-normal-*-12-*-*-*-*-*-*-*,/
*-r-*"
}
class "GtkWidget" style "gtk-utf-8"
6 gtk2程序的配置:
~/.gtkrc-2.0:
# -- THEME AUTO-WRITTEN DO NOT EDIT
include "/usr/X11R6/share/themes/Default/gtk-2.0/gtkrc"
style "user-font"
{
font_name="tahoma 12"
}
widget_class "*" style "user-font"
include "/home/lele/.gtkrc.mine"
# -- THEME AUTO-WRITTEN DO NOT EDIT
~/.gtkrc.mine
style "gtk-utf-8" {
fontset = "-misc-fixed-medium-r-semicondensed--12-*-*-*-c-*-*,/
-*-fixed-*-*-*-*-12-*-*-*-*-*-*,/
-
921f
b&h-lucidatypewriter-medium-r-normal-*-*-120-*-*-m-*-iso10646-1,/
-B&H-LucidaTypewriter-Medium-R-Normal-Sans-12-120-75-75-M-70-ISO8859-1,/
-*-tahoma-medium-r-normal-*-11-*-*-*-*-*-iso10646-1,/
-misc-fixed-medium-r-semicondensed-*-*-120-*-*-c-*-iso10646-1,/
-*-helvetica-medium-r-normal-*-12-*-*-*-*-*-iso10646-1,/
-misc-simsun-medium-r-normal-*-*-120-*-*-c-*-*,/
-misc-simsun-medium-r-normal--12-120-75-75-c-125-iso8859-1,/
-*-simsun-medium-r-normal-*-12-*-*-*-*-*-*-*,/
-misc-simsun-medium-r-normal-*-*-120-*-*-c-*-iso10646-1/
*-r-*,/
*"
}
class "GtkWidget" style "gtk-utf-8"
7 如何配置XFCE4界面字体?
如果有了 .gtkrc-2.0,它就会用这个文件里的设置,不会再用原来界面里设定的字体.
8如何配置fvwm-2.5.13_1界面字体?(注: LANG=zh_CN.UTF-8)
~/.fvwm/.fvwm2rc:
MenuStyle * Font "StringEncoding=utf-8:xft:Simsun:size=12:encoding=iso10646-1"
Style * Font "StringEncoding=utf-8:xft:Simsun:size=12:encoding=iso10646-1"
Style * IconFont "StringEncoding=utf-8:xft:Simsun:size=12:encoding=iso10646-1"
9 用opera保存的网页(HTM)用VIM打开乱码,怎么办?
环境:LANG=en_US.UTF-8 LC_CTYPE=LC_MESSAGES=zh_CN.UTF-8
关键是fileencodings,encoding,tenc这三个:
set fileencodings=utf-8,euc-cn,gbk,gb2312,utf-bom,iso8859-1
set encoding=utf8
set tenc=utf8
10 cce下VIM也不能显示中文文件?
方法同上.
[ 本帖最后由 heiyou 于 2005-11-15 18:53 编辑 ]
xingy 回复于:2006-01-13 21:01:13
精彩。。。
相关文章推荐
- 一篇关于网关的经典文章
- 一篇关于工作流的介绍性文章--链接
- 一篇关于STL标准模板库使用方法的经典文章!
- 我看过的关于职业规划最好最全面的一篇文章(因为在另外一个人博客中他转载的字体太大了颜色太鲜艳不适宜阅读,所以就自己转载了)
- 一篇关于串口的经典文章
- 转一篇关于二维数组动态分配的文章,可以结合链接的文章
- 关于lod的一篇经典文章
- 关于堆栈非常经典的一篇文章
- 关于网关的一篇经典文章
- 一篇关于串口的经典文章
- 关于csdn一篇文章java c++多态对纠正(红色字体为纠正)
- 一篇关于网关的经典文章
- 关于一篇Python装饰器的文章链接
- 转一篇关于二维数组动态分配的文章,可以结合链接的文章
- 关于IE hasLayout的一篇经典好文章
- 一篇关于栈溢出的经典文章
- spring ioc原理 (很经典不错的一篇关于spring的文章)
- spring ioc原理 (很经典不错的一篇关于spring的文章)
- 关于LOD的一篇经典文章
- 转载的一篇关于矢量字体的文章