From 5fa4dea7beda95e27de1b6252ecf071c2d7112dd Mon Sep 17 00:00:00 2001 From: Peng Wu Date: Wed, 26 Aug 2015 11:24:02 +0800 Subject: import chewing.py --- scripts2/chewing.py | 91 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 scripts2/chewing.py diff --git a/scripts2/chewing.py b/scripts2/chewing.py new file mode 100644 index 0000000..5429ff4 --- /dev/null +++ b/scripts2/chewing.py @@ -0,0 +1,91 @@ +# -*- coding: utf-8 -*- +# vim:set et sts=4 sw=4: +# +# libpinyin - Library to deal with pinyin. +# +# Copyright (C) 2011 Peng Wu +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + + +ASCII_CHEWING_INITIAL_MAP = { + "CHEWING_ZERO_INITIAL" : None, #Zero Initial + "CHEWING_B" : "ㄅ", + "CHEWING_C" : "ㄘ", + "CHEWING_CH" : "ㄔ", + "CHEWING_D" : "ㄉ", + "CHEWING_F" : "ㄈ", + "CHEWING_H" : "ㄏ", + "CHEWING_G" : "ㄍ", + "CHEWING_K" : "ㄎ", + "CHEWING_J" : "ㄐ", + "CHEWING_M" : "ㄇ", + "CHEWING_N" : "ㄋ", + "CHEWING_L" : "ㄌ", + "CHEWING_R" : "ㄖ", + "CHEWING_P" : "ㄆ", + "CHEWING_Q" : "ㄑ", + "CHEWING_S" : "ㄙ", + "CHEWING_SH" : "ㄕ", + "CHEWING_T" : "ㄊ", + "PINYIN_W" : None, #Invalid Chewing + "CHEWING_X" : "ㄒ", + "PINYIN_Y" : None, #Invalid Chewing + "CHEWING_Z" : "ㄗ", + "CHEWING_ZH" : "ㄓ", +} + +CHEWING_ASCII_INITIAL_MAP = dict([(v, k) for k, v in ASCII_CHEWING_INITIAL_MAP.items() if v]) + +ASCII_CHEWING_MIDDLE_MAP = { + "CHEWING_ZERO_MIDDLE" : None, #Zero Middle + "CHEWING_I" : "ㄧ", + "CHEWING_U" : "ㄨ", + "CHEWING_V" : "ㄩ", +} + +CHEWING_ASCII_MIDDLE_MAP = dict([(v, k) for k, v in ASCII_CHEWING_MIDDLE_MAP.items() if v]) + +ASCII_CHEWING_FINAL_MAP = { + "CHEWING_ZERO_FINAL" : None, #Zero Final + "CHEWING_A" : "ㄚ", + "CHEWING_AI" : "ㄞ", + "CHEWING_AN" : "ㄢ", + "CHEWING_ANG" : "ㄤ", + "CHEWING_AO" : "ㄠ", + "CHEWING_E" : "ㄝ", # merge "ㄝ" and "ㄜ" + "INVALID_EA" : None, #Invalid Pinyin/Chewing + "CHEWING_EI" : "ㄟ", + "CHEWING_EN" : "ㄣ", + "CHEWING_ENG" : "ㄥ", + "CHEWING_ER" : "ㄦ", + "CHEWING_NG" : "ㄫ", + "CHEWING_O" : "ㄛ", + "PINYIN_ONG" : None, #"ueng" + "CHEWING_OU" : "ㄡ", + "PINYIN_IN" : None, #"ien" + "PINYIN_ING" : None, #"ieng" +} + +CHEWING_ASCII_FINAL_MAP = dict([(v, k) for k, v in ASCII_CHEWING_FINAL_MAP.items() if v]) + +ASCII_CHEWING_TONE_MAP = { + "CHEWING_ZERO_TONE" : None, #Zero Tone + "CHEWING_1" : " ", + "CHEWING_2" : "ˊ", + "CHEWING_3" : "ˇ", + "CHEWING_4" : "ˋ", + "CHEWING_5" : "˙", +} -- cgit