拼划:一种低重码率的汉字拉丁化方案
目标
汉字与编码一多对应
低重码率
以拼音为基础
按照汉字的前两个笔划,加入两个额外的字母,用以降低重码率
算法
1. 生成从汉字到拼音的映射表
为每个汉字选择一个拼音(使用数据源A和数据源B)
如果数据源B中含有该汉字,选择数据源B中的第一个拼音
如果数据源B中不含有该汉字,而且它有一个5声调(轻声)的拼音,选择这个拼音
否则,选择字典顺序的第一个拼音
用"yu"表示"ü"
如果拼音没有元音,加入"e": "ng" -> "eng", "hng" -> "heng"
2. 生成笔划字母
选取前两个笔划(使用数据源C)
如果不满两个笔划,加入横笔"-""
按照下面的转换表,把两个笔划转换为两个字母
3. 生成拼英码
把两个笔划字母插入到第一个拼音字母之后
按照下面的转换表,在末尾加入声调后缀
笔划到字母的转换表
笔划
第一个元音
笔划字母
-
i u
e
-
a e o
o
|
i u
i
|
a e o
u
/
i u
y
/
a e o
w
\
a e i o u
h
~
i u
r
~
a e o
v
声调到字母的转换表
声调
字母
1 -
2 /
z
3 v
v
4 \
s
5 .
x
数据源
A. 汉字词频和拼音
http://lingua.mtsu.edu/chinese-computing/statistics/char/list.php?Which=MO
(现代汉语单字频率列表 - 笪骏 (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 )
C. 汉字笔画
https://github.com/YQ-YSY/stroke-seq_MB/blob/master/text/%E5%8D%95%E5%AD%97_%E7%AC%94%E9%A1%BA%E7%A0%81_29685%E4%B8%AA.txt
(来自
https://github.com/YQ-YSY/stroke-seq_MB
)