查看文章 |
当中文遇到 Unicode
2008年02月14日 星期四 21:57
(本来是借鉴了pluskid的ImageMagick脚本,为图片加了边框和阴影。结果图太大了,被百度缩小了一下,难看了,于是还是采用不加阴影的图片吧) 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脚本吧,在脚本中顺便把文件的编码判断了,避免错误的转换。 不多说,看看代码吧: ![]() 批量转换后,大功告成~ |
最近读者:





