拼划:一种低重码率的汉字拉丁化方案
目标
汉字与编码一多对应
低重码率
以拼音为基础
按照汉字的前两个笔划,加入两个额外的字母,用以降低重码率
算法
1. 生成从汉字到拼音的映射表
为每个汉字选择一个拼音(使用数据源A和数据源B)
如果数据源B中含有该汉字,选择数据源B中的第一个拼音
如果数据源B中不含有该汉字,而且它有一个5声调(轻声)的拼音,选择这个拼音
否则,选择字典顺序的第一个拼音
用"yu"表示"ü"
如果拼音没有元音,加入"e": "ng" -> "eng", "hng" -> "heng"
2. 生成笔划字母
选取前两个笔划(使用数据源C)
如果不满两个笔划,重复第一个笔划
按照下面的转换表,把两个笔划转换为两个字母
3. 生成拼英码
把两个笔划字母插入到第一个元音字母之前
按照下面的转换表,根据声调进行修改
笔划到字母的转换表
笔划 | 笔划字母 |
- | e |
| | i |
/ | a |
\ | u |
~ | o |
声调修改表
声调 | 修改 |
1 - | 没有变化 |
2 / | 在最后一个元音字母后面加入{h} |
3 v | 重复主元音字母 |
4 \ | 在最后一个元音字母后面加入{hh} |
5 . | 重复主元音字母,在最后一个元音字母后面加入{h} |
数据源