龙文郑码码表 for scim
如果你不幸像我一样,是windows自带的郑码的死忠老用户;有一天你突然进入了linux世界,发现没有一款顺手的郑码输入法而寸步难行,举步维艰;那么我前两天所做的工作,或许就对你有一点用。感觉linux郑码是小众软件,不是大众选择。
我把龙文郑码的码表,结合其词频,编译成了scim格式,顿时感觉顺手了。先把用来转换的perl程序贴出来。如果你懒得自己动手编译,给我发个email或跟个贴子就得。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | #!/usr/bin/perl -w # 此程序的作用是,把windows下的龙文平台郑码码表,转换成linux下的scim格式备用. # rex.zhasm # 18 Jun 2007 # # $filename="winzm_utf8.txt"; #为解码操作方便,转换为utf8格式. open(ZM,"$filename") or die "can not open $filename!"; while() { if(/([x80-xff]+)(w+).*?(d+)/) { my $cipin=int($3/241*65536); #龙文的词频最高值是241,而scim的最高是65536, #因此这里转换成65536的,以适应scim。 my $code=$2; my $len=length($code)-1; #此处-1,是因为perl的数组下标从0开始. my $hz=$1; #统一起见,使用变量$hz来表示汉字部分. my $line=$code."\t".$hz."\t".$cipin."\n"; #联接成scim的格式. push @{$code[$len]},$line; #按不同的码长,存放到不同的数组中.例如,码长为1,就放到[0]数组中.2就放到[1]中. #此处得到了cnhacktnt的帮助. } } for $row (@code) { @$row=sort(@$row); # 对每组数组按编码的ascii码排序 print "@$row\n"; #打印出每组数组. #可能打印出来后,还需要%s/^s//操作一下. } |
———————————-modification———————————-
22-Sep-2008: 最新版郑码词库for scim:点击这里下载。
16-Dec-2008: 最新版郑码词库for scim:
zmpy4scim.7z (unknown, 66 hits)


谢谢,我才刚开始学郑码,打得实在不快。
准备用baidu+google+sogou的词频来调整词频。谢谢你注释的说明,解决我正则匹配、词频上限等不少疑问:-)
对了你的龙文词频是怎么提取出来的?
@ 鱼一尾
安装龙文平台后,挂载郑码输入法,然后备份出词库,注意选择自己的形码码表,及其词频信息。
将该文件转为utf8格式,便于解析。
词频信息就是每个词条后面的数字。对于每一行循环处理,正则表达式(\d+)对应的部分就是词频。
看到你给出的perl版Imgen里有构词用的goucima.txt,想问问这个里面的构词码是怎么得到的:-)
不难实现。已经重新写过了代码,附上较为详细的comments。请移步到:
http://zm4linux.googlepages.com/gcm.pl.html
谢谢关注。
我想要一个码表
已经发到你的邮箱,请查收。把zm.png放到/usr/share/scim/icon,把zmpy.bin 放到/usr/share/scim/table里面,(如果cp 不行就mv)需要使用sudo。
能给我一份吗?我也是郑码用户。
没问题,已经发到您的邮箱。
谢谢您,愿上帝保佑您。
深柳堂老师,您好,谢谢您发给我的郑码码表,但是自从我升级到了Ubuntu 8.04后,您的码表无法应用。“18-Apr-2008: 最新版郑码词库for scim:点击这里下载。“你的链接失效,请您修复一下好吗?
不好意思,是我搞错了,您给我的郑码拼音码表是可以用的。只是您的最新链接还是无法使用。
谢谢提醒,已经更新。另:传给您的已经是最新版。
嗯,谢谢堂主。
你好,我做了一个关于郑码的一个站。
你做的linux下的郑码可以放到我的站里面去吗?这样更方便别人下载。。。我没有用过linux,不太了解应该怎么办。 地址:www.zmfans.cn
@亢龍有悔: 没问题。
我是一个linux的新用户,很多的东西都不明白,想在linux用郑码,但装了红旗linux6sp1后,发现已经没有郑码输入法了.我好像也试着装了你的郑码(试了好几个),但没有成功,你能不能做一个能直接安装使用的版本.比如只要./install就可以的版本.
请给我发一个好吗?谢谢!(或者有详细的安装说明文件也行)wangzhulin28@126.com
我试装你的版本时,安装过程好象有错误,但我在linux平台下不能怎么办,我现在就有一个./intall命令,您可别笑话.出点错误我就一点招没有了.现在又重装了linux6sp1,想重新下载你的版本试一下,却又下不来了.要是你有能用./install就可以安装的版本,
我这里提供的,是scim码表,而不是完整的输入法。因此,如果想使用这里的码表,应该先安装scim输入法平台,再按照本文的方法来安装码表。至于写单独的输入法,我的功能不够,呵呵。现在出了一款新的输入法平台,ibus,在http://code.google.com/p/ibus/ ,也包含郑码输入法。你不妨试试。
你提供的网址http://www.mediafire.com/file/ntrq6bvqg91/zmpy_20...
wangzhulin28@126.com,
压缩包里是不是前文说的“把zm.png放到/usr/share/scim/icon,把zmpy.bin 放到/usr/share/scim/table里面,”中的zm.png/zmpy.bin两个文件。我用的红旗linux6sp1用的是scim输入法,是不是按你说的“把zm.png放到/usr/share/scim/icon,把zmpy.bin 放到/usr/share/scim/table里面,”就可以了?还要不要进行配置文件什么的?谢谢!用拼音打字好累呀。我安装ibus总是不成功。
用红旗是很久之前的事了,从4.X到了5.X,以后没尝试过,后来一直使用ubuntu。
既然在红旗上安装了scim,安装方式应该一样,都是把zmpy.bin放到码表文件夹table,把图标文件放到icon文件夹。然后再在scim设置,选中相应码表即可。设置好后重启X或scim。试试看?
郑码初学者