pub(crate) const JPCOMMON_MORA_UNVOICE: &str = "’";
pub(crate) const JPCOMMON_MORA_LONG_VOWEL: &str = "ー";
pub(crate) const JPCOMMON_MORA_SHORT_PAUSE: &str = "、";
pub(crate) const JPCOMMON_MORA_QUESTION: &str = "?";
pub(crate) const JPCOMMON_MORA_EXCLAMATION: &str = "!";
pub(crate) const JPCOMMON_PHONEME_SHORT_PAUSE: &str = "pau";
pub(crate) const JPCOMMON_FLAG_QUESTION: &str = "1";
pub(crate) const JPCOMMON_FLAG_EXCLAMATION: &str = "1";
pub(crate) const NODATA: &[u8] = b"*\0";
pub(crate) const JPCOMMON_MORA_LIST: &[(&str, &str, Option<&str>)] = &[
("クァ", "kw", Some("a")),
("クィ", "kw", Some("i")),
("クゥ", "kw", Some("u")),
("クェ", "kw", Some("e")),
("クォ", "kw", Some("o")),
("グァ", "gw", Some("a")),
("グィ", "gw", Some("i")),
("グゥ", "gw", Some("u")),
("グェ", "gw", Some("e")),
("グォ", "gw", Some("o")),
("シィ", "s", Some("i")),
("デェ", "dy", Some("e")),
("フュ", "fy", Some("u")),
("ヮ", "w", Some("a")),
("ヴョ", "by", Some("o")),
("ヴュ", "by", Some("u")),
("ヴャ", "by", Some("a")),
("ヴォ", "v", Some("o")),
("ヴェ", "v", Some("e")),
("ヴィ", "v", Some("i")),
("ヴァ", "v", Some("a")),
("ヴ", "v", Some("u")),
("ン", "N", None),
("ヲ", "o", None),
("ヱ", "e", None),
("ヰ", "i", None),
("ワ", "w", Some("a")),
("ヮ", "w", Some("a")),
("ロ", "r", Some("o")),
("レ", "r", Some("e")),
("ル", "r", Some("u")),
("リョ", "ry", Some("o")),
("リュ", "ry", Some("u")),
("リャ", "ry", Some("a")),
("リェ", "ry", Some("e")),
("リ", "r", Some("i")),
("ラ", "r", Some("a")),
("ヨ", "y", Some("o")),
("ョ", "y", Some("o")),
("ユ", "y", Some("u")),
("ュ", "y", Some("u")),
("ヤ", "y", Some("a")),
("ャ", "y", Some("a")),
("モ", "m", Some("o")),
("メ", "m", Some("e")),
("ム", "m", Some("u")),
("ミョ", "my", Some("o")),
("ミュ", "my", Some("u")),
("ミャ", "my", Some("a")),
("ミェ", "my", Some("e")),
("ミ", "m", Some("i")),
("マ", "m", Some("a")),
("ポ", "p", Some("o")),
("ボ", "b", Some("o")),
("ホ", "h", Some("o")),
("ペ", "p", Some("e")),
("ベ", "b", Some("e")),
("ヘ", "h", Some("e")),
("プ", "p", Some("u")),
("ブ", "b", Some("u")),
("フォ", "f", Some("o")),
("フェ", "f", Some("e")),
("フィ", "f", Some("i")),
("ファ", "f", Some("a")),
("フ", "f", Some("u")),
("ピョ", "py", Some("o")),
("ピュ", "py", Some("u")),
("ピャ", "py", Some("a")),
("ピェ", "py", Some("e")),
("ピ", "p", Some("i")),
("ビョ", "by", Some("o")),
("ビュ", "by", Some("u")),
("ビャ", "by", Some("a")),
("ビェ", "by", Some("e")),
("ビ", "b", Some("i")),
("ヒョ", "hy", Some("o")),
("ヒュ", "hy", Some("u")),
("ヒャ", "hy", Some("a")),
("ヒェ", "hy", Some("e")),
("ヒ", "h", Some("i")),
("パ", "p", Some("a")),
("バ", "b", Some("a")),
("ハ", "h", Some("a")),
("ノ", "n", Some("o")),
("ネ", "n", Some("e")),
("ヌ", "n", Some("u")),
("ニョ", "ny", Some("o")),
("ニュ", "ny", Some("u")),
("ニャ", "ny", Some("a")),
("ニェ", "ny", Some("e")),
("ニ", "n", Some("i")),
("ナ", "n", Some("a")),
("ドゥ", "d", Some("u")),
("ド", "d", Some("o")),
("トゥ", "t", Some("u")),
("ト", "t", Some("o")),
("デョ", "dy", Some("o")),
("デュ", "dy", Some("u")),
("デャ", "dy", Some("a")),
("ディ", "d", Some("i")),
("デ", "d", Some("e")),
("テョ", "ty", Some("o")),
("テュ", "ty", Some("u")),
("テャ", "ty", Some("a")),
("ティ", "t", Some("i")),
("テ", "t", Some("e")),
("ヅ", "z", Some("u")),
("ツォ", "ts", Some("o")),
("ツェ", "ts", Some("e")),
("ツィ", "ts", Some("i")),
("ツァ", "ts", Some("a")),
("ツ", "ts", Some("u")),
("ッ", "cl", None),
("ヂ", "j", Some("i")),
("チョ", "ch", Some("o")),
("チュ", "ch", Some("u")),
("チャ", "ch", Some("a")),
("チェ", "ch", Some("e")),
("チ", "ch", Some("i")),
("ダ", "d", Some("a")),
("タ", "t", Some("a")),
("ゾ", "z", Some("o")),
("ソ", "s", Some("o")),
("ゼ", "z", Some("e")),
("セ", "s", Some("e")),
("ズィ", "z", Some("i")),
("ズ", "z", Some("u")),
("スィ", "s", Some("i")),
("ス", "s", Some("u")),
("ジョ", "j", Some("o")),
("ジュ", "j", Some("u")),
("ジャ", "j", Some("a")),
("ジェ", "j", Some("e")),
("ジ", "j", Some("i")),
("ショ", "sh", Some("o")),
("シュ", "sh", Some("u")),
("シャ", "sh", Some("a")),
("シェ", "sh", Some("e")),
("シ", "sh", Some("i")),
("ザ", "z", Some("a")),
("サ", "s", Some("a")),
("ゴ", "g", Some("o")),
("コ", "k", Some("o")),
("ゲ", "g", Some("e")),
("ケ", "k", Some("e")),
("ヶ", "k", Some("e")),
("グヮ", "gw", Some("a")),
("グ", "g", Some("u")),
("クヮ", "kw", Some("a")),
("ク", "k", Some("u")),
("ギョ", "gy", Some("o")),
("ギュ", "gy", Some("u")),
("ギャ", "gy", Some("a")),
("ギェ", "gy", Some("e")),
("ギ", "g", Some("i")),
("キョ", "ky", Some("o")),
("キュ", "ky", Some("u")),
("キャ", "ky", Some("a")),
("キェ", "ky", Some("e")),
("キ", "k", Some("i")),
("ガ", "g", Some("a")),
("カ", "k", Some("a")),
("オ", "o", None),
("ォ", "o", None),
("エ", "e", None),
("ェ", "e", None),
("ウォ", "w", Some("o")),
("ウェ", "w", Some("e")),
("ウィ", "w", Some("i")),
("ウ", "u", None),
("ゥ", "u", None),
("イェ", "y", Some("e")),
("イ", "i", None),
("ィ", "i", None),
("ア", "a", None),
("ァ", "a", None),
];
#[inline]
pub(crate) fn get_pos_id(pos: &str) -> &'static str {
match pos {
"感動詞" => "09",
"形状詞" => "19",
"形容詞" => "01",
"助詞-その他" => "23",
"助詞-格助詞" => "13",
"助詞-係助詞" => "24",
"助詞-終助詞" => "14",
"助詞-接続助詞" => "12",
"助詞-副助詞" => "11",
"助動詞" => "10",
"接続詞" => "08",
"接頭辞" => "16",
"接頭辞-形状詞的" => "16",
"接頭辞-形容詞的" => "16",
"接頭辞-動詞的" => "16",
"接頭辞-名詞的" => "16",
"接尾辞-形状詞的" => "15",
"接尾辞-形容詞的" => "15",
"接尾辞-動詞的" => "15",
"接尾辞-名詞的" => "15",
"代名詞" => "04",
"動詞" => "20",
"動詞-非自立" => "17",
"副詞" => "06",
"名詞-サ変接続" => "03",
"名詞-固有名詞" => "18",
"名詞-数詞" => "05",
"名詞-非自立" => "22",
"名詞-普通名詞" => "02",
"連体詞" => "07",
"フィラー" => "25",
_ => "xx",
}
}
#[inline]
pub(crate) fn get_cform_id(cform: &str) -> &'static str {
match cform {
"その他" => "6",
"仮定形" => "4",
"基本形" => "2",
"未然形" => "0",
"命令形" => "5",
"連体形" => "3",
"連用形" => "1",
_ => "xx",
}
}
#[inline]
pub(crate) fn get_ctype_id(ctype: &str) -> &'static str {
match ctype {
"カ行変格" => "5",
"サ行変格" => "4",
"ラ行変格" => "6",
"一段" => "3",
"形容詞" => "7",
"五段" => "1",
"四段" => "6",
"助動詞" => "7",
"二段" => "6",
"不変化" => "6",
"文語助動詞" => "6",
_ => "xx",
}
}