Code Monkey home page Code Monkey logo

rime-zhengma's Introduction

#郑码for Rime简介#

自从转到Mac OSX系统上后,没有使用郑码有相当一段时间了,前一段时间,突然觉得很有必要动动手指来码点字,于是google了一下OSX下的郑码实现,找到了优秀的Rime在OSX下的实现——鼠须管,并找到了lotem/rime-forge中转好格式的郑码码表,用了一下,感觉Rime相当顺手。感谢佛振的优秀作品!

但rime-forge中的郑码码表没有将构词码正确地合并到词条中,会导致Rime的新词生成不对。同时,rime-forge中的郑码码表只是转了ibus-table-zhengma中的码表,未添加ibus-tabele-extraphrases中的词库条目。所以我就自己动手,用ibus-table-zhengma和ibus-table-extraphrases的码表,基于rime-forge中的郑码码表重新生成了正确的zhengma.dict.yaml文件。

另外,和ibus-table-zhengma一样,在docs目录下附有8开的郑码简繁通用字根表,是当初中易公司免费提供到郑码爱好者论坛上的。我想对初学者还是有一定帮助的。

而对郑码的简介,个人觉得下面这几段摘自Gapang的郑码扼要的文字写得很不错,如果您有兴趣学习郑码,不妨向中易公司邮购一下郑码的纸质教材《郑码——字根码输入法》是郑珑女士亲自写的,对郑码原理的解释真的不错,我自己都买了10本。网上也有其原理部分的扫描版。 余钰炜 #安装# 将zhengma.schema.yaml和zhengma.dict.yaml放到Rime的安装目录中,如OSX中的~/Library/Rime目录,然后重新部署Rime即可。

#以下摘自Gapang的郑码扼要#

##前言##

实际上郑码的学用都不难,只要掌握了方法!郑码也有内容需要死记的,但是相形之下,只有很少很少的一部分。郑码的学习,最重要的理解!理解的基础就是需要你记忆的部分。有些人在学习的初期,总爱去找字根表和字根记忆的口诀,其实这有点舍本逐末了,真正需要记的,只是区码,而记区码的最好方式就是记忆主根!26个键对应的主根,记忆量很小。

郑码最大的特点就是字根是宏字根,对字的拆分基本没有歧义。而且因为郑易里先生在发明郑码时,是根据所有的汉字来设计的,字集越大,郑码的优异之处越能体现出来。多年以来,郑码是可以输入的汉字最多的输入法,可以输出十万汉字 (当然要结合中易公司的大字库才行) (编者按,Rime-Zhengma可以支持 GB18030 + CJK-B, C共7 万字的汉字输入支持)。郑码的字根,除少数第一主根,是单编码的之外,多是双编码的。郑码双编码字根的特点和妙处,需要慢慢体会。理解了双编码字根的特点,字根的记忆和郑码字词的取码方式就会成为自然而然的事。但是双字根编码和由此而来的字词取码方式的妙处,则不是可以言传的,总之,可以说,郑码是越用越觉得有道理符合规律,越用越觉得妙趣横生。郑码作是纯形码类的巅峰之作,纯非是浪得虚名的!

##郑码简介## 《郑码》简称《字根通用码》,是我国著名文字学家、享誉海内外的《英华大词典》主编郑易里教授经半个世纪对汉字字形结构的研究,后期和郑珑高级工程师共同创造的重大科技成果。已获中、美、英国专利授权,并通过国家级的鉴定。权威专家们确认《郑码》是国内最优秀的字形编码系统。《郑码》规范、易学、快速、通用。用同一编码规则不但可以输入2万汉字,还可以输入68000个和10万个汉字。《郑码》曾荣获北京国际发明金奖和最优秀发明大奖;荣获第22届日内瓦发明金奖。国家主管部门通过评比向国内外用户广泛推荐《郑码》。**的中文之星等系统平台选用《郑码》,美国Microsoft公司的Windows 95/98/NT/2000/XP/VISTA中文系统选用《郑码》,美国IBM公司的OS/2和JAVAOS等许多中文产品也都选用《郑码》。

附:《郑码》发明**之精髄以下对于理解郑码双编码字根的特点有着重要的作用,请仔细阅读。建议,在掌握字根之后,再仔细阅读几遍。

《郑码》被专家所称道,赞其具有“规范、易学、快速、通用”的特点,与郑老几十年对几万个汉字所作的精辟研究分不开。可以说郑老发明《郑码》之精髄在于以下三点:

  1. 选用的基本字根绝大多数是大家所熟悉的规范部首,使得《郑码》与学校识字教学的背景一致,从而保证了规范性与易学性。

  2. 字根按照前几笔的笔形或构形特征进行分类和排序,形成“笔画--字根(主根-副根)--整字--词语”的检索序列,非常直观易记。

    比如问字根“身”的笔数是几画,你肯定要数才能回答,而且很快就会忘记。但用《郑码》的方法告诉你,字根“身”的第一笔是“丿(撇)”,因此归入“撇起笔类字根”中。而“丿”起笔的字根用MNOPQR作代码,所有前两笔是“丿一(撇--横)”的字根,如“牛毛千舌禾气攵”等都排列在M区,用M作区码,而所有“丿丨(撇-竖)”的字根都用N作区码。那么“身”的区码就是N。告诉你这一方法后,自己就能联想到“亻川隹白臼鬼自片”这些字根的区码也都是N,因为它们前两笔的笔形都是“丿丨”。

    《郑码》利用字形信息编码,确立了“笔画-字根(主根-副根)-单字-词语”这样一个检索序列。就是说,用几种笔画的笔形来统领50个主根,以这50个主根统领上百个副根,用上百个字根统领上万个汉字,用上万个汉字统领数万条词语。说郑码易学,只要掌握了郑码的精髓,也就是“笔画-字根(主根-副根)-单字-词语”的统领关系和规则和最基本的以笔画统领的主根,余者易耳。否则,郑码难矣!郑码作为双编码宏字根形码,与其它单编码字根的输入法的最大区别,就在于,单编码字根输入法的拆字出根和按根取码是一起的,而郑码则是先拆字出根,再按根取码,其中拆根大于取码。郑码之奥妙,一言难尽。郑码之妙用,惟亲身体会,方觉其无穷不尽。

  3. 字根采用双符代码体制,就是说每个基本字根都用“区码+位码”2个字母作代码,使得每个字根都有独立代码,就象每人都有姓有名才不至于有太多的重名。由于《郑码》字根排列规律性强,双符代码又是采用相互联想的方法命名,因此不会造成记忆的困难。而双符代码带来的好处却很多。(1).给汉字编码时,可起到自然分离重码字的作用;(2).许多字根本身就是常用字,双符代码使得字根的代码也是这些常用字的代码,学习相辅相成容易记住,而且容易提高打字速度;(3).双符代码的体制使得汉字具有以首字根作为分集的标志,比如:基本字根“酉FD”,那么第一个字根是“酉”的字都集合排列在FD这个“区”和“位”处,例如“酊 FDAI 酵FDBY 醋FDEK 酥FDMF 酸FDOR 酬FDVN 配FDYY”等。第一个字根就占了2码,不但缩短了给单字编码的时间,而且方便了字典的查字。

#注意#

rime-zhengma和ibus-table-zhengma一样,使用了5码郑码的词组编码方案,2字词的编码与以前相同,但3字和4字的词追加最后一个字的次码,5字以上的词追加第5个字的首码。这样多字词的编码就进一步被离散,有利于词组的高速肓打。

最大的好处是,5码郑码的编码方式和原先的4码是兼容的,只是添加了一个新的编码上去而已,所以对即使用原先的编码输入仍然可以得到一样的结果。

五码郑码的编码方案是www.zmfans.cn/bbs上的坛友"郑码大师"提出的,在此鸣谢!

rime-zhengma's People

Contributors

acevery avatar

Watchers

Yuanchen Xie avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.