jpreprocess-njd 0.15.0

Japanese text preprocessor for Text-to-Speech application (OpenJTalk rewrite in rust language).
Documentation
use super::*;
use jpreprocess_core::pron;
use phf::{phf_map, phf_set};

pub const CONVERSION_TABLE: [(Keys, DigitLUT); 11] = [
    (NUMERATIVE_CLASS1B, CONV_TABLE1B),
    (NUMERATIVE_CLASS1C1, CONV_TABLE1C1),
    (NUMERATIVE_CLASS1C2, CONV_TABLE1C2),
    (NUMERATIVE_CLASS1D, CONV_TABLE1D),
    (NUMERATIVE_CLASS1E, CONV_TABLE1E),
    (NUMERATIVE_CLASS1F, CONV_TABLE1F),
    (NUMERATIVE_CLASS1G, CONV_TABLE1G),
    (NUMERATIVE_CLASS1H, CONV_TABLE1H),
    (NUMERATIVE_CLASS1I, CONV_TABLE1I),
    (NUMERATIVE_CLASS1J, CONV_TABLE1J),
    (NUMERATIVE_CLASS1K, CONV_TABLE1K),
];

const NUMERATIVE_CLASS1B: Keys = phf_set! {
   /* from paper */
   "" /* ねん */ , "",
   /* from dictionary */
   "年間", "年生", "年代", "年度", "年版", "年余", "年来", "えん",
};
const CONV_TABLE1B: DigitLUT = phf_map! {
    "" => pron!([Yo], 0),
};

const NUMERATIVE_CLASS1C1: Keys = phf_set! {
   /* from paper */
   "",
   /* from dictionary */
   "人月", "人前", "人組",
};
const CONV_TABLE1C1: DigitLUT = phf_map! {
    "" => pron!([Yo], 0),
    "" => pron!([Shi, Chi], 1),
};

const NUMERATIVE_CLASS1C2: Keys = phf_set! {
   /* from paper */
   "", "時間",
   /* from dictionary */
   "時限", "時半",
};
const CONV_TABLE1C2: DigitLUT = phf_map! {
    "" => pron!([Yo], 0),
    "" => pron!([Shi, Chi], 1),
    "" => pron!([Ku], 0),
};

const NUMERATIVE_CLASS1D: Keys = phf_set! {
    /* from paper */
    "", /* にち */
    /* from dictionary */
    "日間",
};
const CONV_TABLE1D: DigitLUT = phf_map! {
   /* "四", "ヨッ", "1", "2", *//* modified */
    "" => pron!([Shi, Chi], 1),
    "" => pron!([Ku], 0),
};

const NUMERATIVE_CLASS1E: Keys = phf_set! {/* from paper */ "" /* がつ */};
const CONV_TABLE1E: DigitLUT = phf_map! {
   "" => pron!([Shi], 0),
   "" => pron!([Shi, Chi], 1),
   "" => pron!([Ku], 0),
};

const NUMERATIVE_CLASS1F: Keys = phf_set! {
   /* from paper */
   /* "羽", "把", *//* modified */
};
const CONV_TABLE1F: DigitLUT = phf_map! {
    "" => pron!([Ro, Xtsu], 1),
    "" => pron!([Ha, Xtsu], 1),
    "" => pron!([Ju, Xtsu], 1),
    "" => pron!([Hya, Xtsu], 1),
};

const NUMERATIVE_CLASS1G: Keys = phf_set! {
   /* from paper */
   "", "", "" /* ふん */ , "", "", "", "", "切れ", "",
   /* from dictionary */
   "か月", "か国", "か所", "か条", "か村", "か年", "カ月", "カ国", "カ寺", "カ所", "カ条", "カ村",
   "カ店", "カ年", "ケ月", "ケ国", "ケ所", "ケ条", "ケ村", "ケ年", "ヵ月", "ヵ国", "ヵ所",
   "ヵ条", "ヵ村", "ヵ年", "ヶ月", "ヶ国", "ヶ所", "ヶ条", "ヶ村", "ヶ年", "個月", "個口",
   "個国", "個条", "個年", "箇月", "箇国", "箇所", "箇条", "箇年", "かけ", "くだり", "けた",
   "", "", "", "", "回忌", "回生", "回戦", "回線", "回分", "海里", "カイリ", "", "",
   "", "", "", "", "", "貫目", "", "", "", "期生", "", "気圧", "", "",
   "", "", "", "", "", "", "", "", "重ね", "", "", "", "", "", "",
   "", "ケタ", "", "", /* "行", */ "", "", "", "", "", "", "", "光年", "",
   "ぴき", "ぺん", "", "", "", "", "", "", "", "", "", "", "", "", "",
   "", "", "分間", "分目", "", "", "", "", "", "", "", "",
   "", "本立て", "頭身",
};
const CONV_TABLE1G: DigitLUT = phf_map! {
   "" => pron!([I, Xtsu], 1),
   "" => pron!([Ro, Xtsu], 1),
   "" => pron!([Ha, Xtsu], 1),
   "" => pron!([Ju, Xtsu], 1),
   "" => pron!([Hya, Xtsu], 1),
};

const NUMERATIVE_CLASS1H: Keys = phf_set! {
   /* from paper */
   "", "", "", "", "", "", "", "", "通り", "センチ", "シーシー",
   /* from dictionary */
   "CC", "cc", "cm", "サイクル", "サンチーム", "シーズン", "シート", "シリング",
   "シンガポールドル", "スイスフラン", "スウェーデンクローネ", "スクレ", "セット", "セント",
   "ソル", "ゾーン", "", "竿", "", "差し", "", "歳児", "", "", "", "", "",
   "", "", "", "", "", "", "", "", "", "", "", "", "周忌", "周年", "",
   "", "週間", "", "宿", "", "", "", "", "", "", "", "親等", "",
   "進数", "", "すじ", "そう", "そろい", "", "", "", "", "", "", "", "", "",
   "", "", "", "", "", "", "たび", "つかみ", "つがい", "つぶ", "つまみ", "つ折",
   "つ折り", "とおり", "とき", "ところ", "とせ", "", "", "", "", "続き", "", "",
   "", "", "", "", "丁目", "", "", "掴み", "", "", "", "", "", "", "",
   "", "", "", "等席", "等地", "等分", "", "", "", "", "種類", "歳馬", "世紀",
   "車種",
};
const CONV_TABLE1H: DigitLUT = phf_map! {
    "" => pron!([I, Xtsu], 1),
    "" => pron!([Ha, Xtsu], 1),
    "" => pron!([Ju, Xtsu], 1),
};

const NUMERATIVE_CLASS1I: Keys = phf_set! {
   /* from paper */
   "キロ", "カロリー",
   /* from dictionary */
   "cal", "kb", "kg", "kl", "km", "kt", "kw", "kグラム", "kバイト", "kヘルツ",
   "kメートル", "kリットル", "kワット", "カナダドル", "カラット", "ガロン", "キュリー",
   "キロカロリー", "キログラム", "キロトン", "キロバイト", "キロヘルツ", "キロメートル",
   "キロリットル", "キロワット", "キロワット時", "クラス", "クローナ", "クローネ", "グァラニ",
   "ケース", "コース", "",
};
const CONV_TABLE1I: DigitLUT = phf_map! {
    "" => pron!([Ro, Xtsu], 1),
    "" => pron!([Ju, Xtsu], 1),
    "" => pron!([Hya, Xtsu], 1),
};

const NUMERATIVE_CLASS1J: Keys = phf_set! {
   /* from paper */
   "トン",
   /* from dictionary */
   "", "タル", "テラ", "トライ",
};
const CONV_TABLE1J: DigitLUT = phf_map! {
    "" => pron!([I, Xtsu], 1),
    "" => pron!([Ju, Xtsu], 1),
};

const NUMERATIVE_CLASS1K: Keys = phf_set! {
   /* from paper */
   "" /* ふさ */ , "", "", "ポンド",
   /* from dictionary */
   "pa", "ppm", "パーセント", "パーミル", "パスカル", "パック", "パット", "ピーピーエム",
   "ピコ", "ページ", "", "ペア", "ペセタ", "ペソ", "ペニー", "ペニヒ", "ペンス", "ポイント",
   "振り", "", "", "張り", "平米", "平方キロ", "平方キロメートル", "平方センチメートル",
   "平方メートル", "品目",
};
const CONV_TABLE1K: DigitLUT = phf_map! {
    "" => pron!([Ju, Xtsu], 1),
};