百度首页 | 百度空间
 
查看文章
 
当中文遇到 Unicode
2008年02月14日 星期四 21:57
用过wmii,dwm,ion 这类东东的中国人都会抱怨它们标题栏中文支持不好。
当然,我也会抱怨(但不是对wmii~)。当采用默认的字体设置时,我会遇到这样的标题栏:



(本来是借鉴了pluskidImageMagick脚本,为图片加了边框和阴影。结果图太大了,被百度缩小了一下,难看了,于是还是采用不加阴影的图片吧)



Ion的Faq中有一条:Font display Problem,虽然回答的态度不可取,但是答案是正确的。也就是说,该抱怨的是 Xorg ,WM们是清白的。

文泉驿 提供了很不错的点阵字体,可惜的是GB2312/GBK的,直接设置为wmii字体则会使英文也变成看不懂的中文 -.-

要在wmii中使中文正常,必须使用Unicode编码的字体。甭管具体是哪个了,给定条件让XServer自己挑选吧。比如,我的wmii字体是这样配置的(注意最后的uni):



中文正常了吧~

任务到这里还没有结束,在状态栏中显示的歌词来源于Windows下的软件迷你歌词下载的lrc文件,中文歌曲都是GB2312/GBK编码的,直接读取会乱掉:



接下来的任务就是把它们都转换成Unicode文件啦,怎么办呢?
我也没想到什么好办法,只好求助于.NET Framework的System.Text.Encoding了。
mcs编译下面的代码,生成一个exe文件,我把它命名为~/batch/mono/AnsiToUTF8.exe。



这个程序可以把指定的一个GB2312/GBK文本文件读出来并以Unicode编码输出。
注意,程序没有判断待转换文本的编码(其实我也不知道如何判断 -.-b)

实际上,我们有一堆lrc文件要处理,那么,再写一个sh脚本吧,在脚本中顺便把文件的编码判断了,避免错误的转换。
不多说,看看代码吧:




批量转换后,大功告成~


类别:Linux | 添加到搜藏 | 浏览() | 评论 (2)
 
最近读者:
 
网友评论:
1
2008年02月26日 星期二 18:34
用 iconv 啊~
 
2
2008年02月26日 星期二 22:29
@pluskid:
后来才知道... 不过还没有实践过~
 
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码:
 

     

©2008 Baidu