拼英:一种汉字拉丁化方案 | PIN.stake YING.brave : YI.single ZHONG.race HAN.dynasty ZI.symbol LA.drag DING.stem HUA.into FANG.square AN.case

目标

汉字与编码一一对应
以拼音为基础
加入英语单词来区分同音字

算法

1. 生成从汉字到拼音的映射表

为每个汉字选择一个拼音(使用数据源A和数据源B)
如果数据源B中含有该汉字,选择数据源B中的第一个拼音
如果数据源B中不含有该汉字,而且它有一个5声调(轻声)的拼音,选择这个拼音
否则,选择字典顺序的第一个拼音

2. 生成英语单词词频

扫描整个数据源A,计算每一个英语单词的出现次数

3. 生成拼英码

按照数据源A的顺序,依次处理每一个汉字:
对于某一个汉字的英文解释里面的所有英文单词,计算以下数值
定义 Is-Partial 为是否该词出现在横杠左右或者句点的前面
定义 In-Quote 为是否该词出现在某对括号包含的文字里
定义 Upper-Case 为是否该词使用了大写字母,例如人名和国家名
定义 Score-Value 为(单词在英文解释的长度) + (单词的长度 * 单词的词频)
把单词按照 Is-Partial, In-Quote, Upper-Case, Score-Value, 和单词字符串进行排序
然后选择第一个没有被使用的编码,编码是无声调拼音 + 点 + 英文单词
如果所有单词都已经被占用了,则尝试使用无意义的字母,以如下方式组成:
{ (空) ; b ; p ; m ; f ; d ; t ; n ; l ; g ; k ; h; s } x { a ; e ; i ; o ; u }

数据源

A. 汉字词频和拼音 http://lingua.mtsu.edu/chinese-computing/statistics/char/list.php?Which=MO (Modern Chinese Character Frequency List by Jun Da 笪骏 (jda@mtsu.edu))
B. 常用汉字的常用拼音 http://zein.se/patrick/3000char.html (The most common Chinese characters in order of frequency, by © 2003 – 2009 Patrick Hassel Zein )