UNPKG

kuroshiro-enhance

Version:

kuroshiro is a Japanese language library for converting Japanese sentence to Hiragana, Katakana or Romaji with furigana and okurigana modes supported.

1 lines 106 kB
{"version":3,"sources":["../src/util.ts","../src/core.ts","../src/index.ts"],"names":["ROMANIZATION_SYSTEM","isHiragana","ch","isKatakana","isKana","isKanji","isJapanese","hasHiragana","str","i","hasKatakana","hasKana","hasKanji","hasJapanese","toRawHiragana","toRawKatakana","toRawRomaji","system","romajiSystem","reg_tsu","reg_xtsu","pnt","r","result","reg_hatu","match","indices","mStr","max","getStrType","hasKJ","hasHK","patchTokens","tokens","t","cr","j","kanaToHiragana","kanaToHiragna","kanaToKatakana","kanaToRomaji","escapeRegExp","s","Util","Kuroshiro","analyzer","options","e","rawTokens","token","romajiConv","preToken","hi","tmp","hpattern","hc","hmatches","pickKJ","hc1","notations","pattern","isLastTokenKanji","subs","c","matches","pickKanji","c1","c2","c3","rubyFor","notation","base","typ","hira","pron","shouldRuby","isKatakanaLocal","isNewline","segments","n","ruby","nl","last","text","cursor","start","end","rt","n0","n1","n2","n3","n4","n5","shouldUseRuby","isKanjiLocal","core_default","index_default"],"mappings":"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AA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,OAAG,IAAA,CACH,MAAA,CAAG,IAAA,CAEH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,KACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,OAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CAEH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,KACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CAGH,OAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,KACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CAEH,MAAA,CAAG,IAAA,CACH,OAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,KACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CAEH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,OAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,KAEH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,OAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CAEH,MAAA,CAAG,KACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,OAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,KAGH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,OAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CAEH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,KACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CAEH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,OAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,KACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,OAAG,IAAA,CAEH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,KACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CAEH,OAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,KACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CACH,MAAA,CAAG,IAAA,CAGH,YAAA,CAAI,KAAA,CACJ,aAAI,KAAA,CACJ,YAAA,CAAI,KAAA,CACJ,YAAA,CAAI,KAAA,CACJ,YAAA,CAAI,MACJ,YAAA,CAAI,KAAA,CACJ,YAAA,CAAI,KAAA,CACJ,YAAA,CAAI,KAAA,CACJ,aAAI,KAAA,CACJ,YAAA,CAAI,KAAA,CACJ,YAAA,CAAI,KAAA,CACJ,YAAA,CAAI,KAAA,CACJ,YAAA,CAAI,KAAA,CACJ,YAAA,CAAI,KAAA,CACJ,YAAA,CAAI,KAAA,CACJ,YAAA,CAAI,MACJ,YAAA,CAAI,KAAA,CACJ,YAAA,CAAI,KAAA,CACJ,YAAA,CAAI,KAAA,CACJ,YAAA,CAAI,KAAA,CACJ,YAAA,CAAI,KAAA,CACJ,YAAA,CAAI,KAAA,CACJ,YAAA,CAAI,KAAA,CACJ,aAAI,KAAA,CACJ,YAAA,CAAI,KAAA,CACJ,YAAA,CAAI,KAAA,CACJ,YAAA,CAAI,KAAA,CACJ,YAAA,CAAI,KAAA,CACJ,YAAA,CAAI,KAAA,CACJ,YAAA,CAAI,KAAA,CACJ,YAAA,CAAI,MACJ,YAAA,CAAI,KAAA,CACJ,YAAA,CAAI,KAAA,CACJ,YAAA,CAAI,KAAA,CACJ,aAAI,KAAA,CACJ,YAAA,CAAI,KAAA,CACJ,YAAA,CAAI,KAAA,CACJ,YAAA,CAAI,MACJ,YAAA,CAAI,KAAA,CACJ,YAAA,CAAI,KAAA,CACJ,YAAA,CAAI,KAAA,CACJ,YAAA,CAAI,KAAA,CAGJ,YAAA,CAAI,KAAA,CACJ,YAAA,CAAI,KAAA,CACJ,YAAA,CAAI,KAAA,CACJ,aAAI,KAAA,CACJ,YAAA,CAAI,KAAA,CACJ,YAAA,CAAI,KAAA,CACJ,YAAA,CAAI,MACJ,YAAA,CAAI,KAAA,CACJ,YAAA,CAAI,KAAA,CACJ,YAAA,CAAI,KAAA,CACJ,aAAI,KAAA,CACJ,YAAA,CAAI,KAAA,CACJ,YAAA,CAAI,KAAA,CACJ,YAAA,CAAI,KAAA,CACJ,YAAA,CAAI,KAAA,CACJ,YAAA,CAAI,KAAA,CACJ,YAAA,CAAI,KAAA,CACJ,YAAA,CAAI,MACJ,YAAA,CAAI,KAAA,CACJ,YAAA,CAAI,KAAA,CACJ,YAAA,CAAI,KAAA,CACJ,aAAI,KAAA,CACJ,YAAA,CAAI,KAAA,CACJ,YAAA,CAAI,KAAA,CACJ,YAAA,CAAI,MACJ,YAAA,CAAI,KAAA,CACJ,YA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","file":"index.mjs","sourcesContent":["import type { Token } from \"./types.js\";\n\nconst KATAKANA_HIRAGANA_SHIFT = \"\\u3041\".charCodeAt(0) - \"\\u30a1\".charCodeAt(0);\nconst HIRAGANA_KATAKANA_SHIFT = \"\\u30a1\".charCodeAt(0) - \"\\u3041\".charCodeAt(0);\nconst ROMANIZATION_SYSTEM = {\n NIPPON: \"nippon\",\n PASSPORT: \"passport\",\n HEPBURN: \"hepburn\"\n} as const;\n\n/**\n * Check if given char is a hiragana\n *\n * @param {string} ch Given char\n * @return {boolean} if given char is a hiragana\n */\nconst isHiragana = function (ch: string) {\n ch = ch[0];\n return ch >= \"\\u3040\" && ch <= \"\\u309f\";\n};\n\n/**\n * Check if given char is a katakana\n *\n * @param {string} ch Given char\n * @return {boolean} if given char is a katakana\n */\nconst isKatakana = function (ch: string) {\n ch = ch[0];\n return ch >= \"\\u30a0\" && ch <= \"\\u30ff\";\n};\n\n/**\n * Check if given char is a kana\n *\n * @param {string} ch Given char\n * @return {boolean} if given char is a kana\n */\nconst isKana = function (ch: string) {\n return isHiragana(ch) || isKatakana(ch);\n};\n\n/**\n * Check if given char is a kanji\n *\n * @param {string} ch Given char\n * @return {boolean} if given char is a kanji\n */\nconst isKanji = function (ch: string) {\n ch = ch[0];\n return (ch >= \"\\u4e00\" && ch <= \"\\u9fcf\")\n || (ch >= \"\\uf900\" && ch <= \"\\ufaff\")\n || (ch >= \"\\u3400\" && ch <= \"\\u4dbf\");\n};\n\n/**\n * Check if given char is a Japanese\n *\n * @param {string} ch Given char\n * @return {boolean} if given char is a Japanese\n */\nconst isJapanese = function (ch: string) {\n return isKana(ch) || isKanji(ch);\n};\n\n/**\n * Check if given string has hiragana\n *\n * @param {string} str Given string\n * @return {boolean} if given string has hiragana\n */\nconst hasHiragana = function (str: string) {\n for (let i = 0; i < str.length; i++) {\n if (isHiragana(str[i])) return true;\n }\n return false;\n};\n\n/**\n * Check if given string has katakana\n *\n * @param {string} str Given string\n * @return {boolean} if given string has katakana\n */\nconst hasKatakana = function (str: string) {\n for (let i = 0; i < str.length; i++) {\n if (isKatakana(str[i])) return true;\n }\n return false;\n};\n\n/**\n * Check if given string has kana\n *\n * @param {string} str Given string\n * @return {boolean} if given string has kana\n */\nconst hasKana = function (str: string) {\n for (let i = 0; i < str.length; i++) {\n if (isKana(str[i])) return true;\n }\n return false;\n};\n\n/**\n * Check if given string has kanji\n *\n * @param {string} str Given string\n * @return {boolean} if given string has kanji\n */\nconst hasKanji = function (str: string) {\n for (let i = 0; i < str.length; i++) {\n if (isKanji(str[i])) return true;\n }\n return false;\n};\n\n/**\n * Check if given string has Japanese\n *\n * @param {string} str Given string\n * @return {boolean} if given string has Japanese\n */\nconst hasJapanese = function (str: string) {\n for (let i = 0; i < str.length; i++) {\n if (isJapanese(str[i])) return true;\n }\n return false;\n};\n\n/**\n * Convert kana to hiragana\n *\n * @param {string} str Given string\n * @return {string} Hiragana string\n */\nconst toRawHiragana = function (str: string) {\n return [...str].map((ch) => {\n if (ch > \"\\u30a0\" && ch < \"\\u30f7\") {\n return String.fromCharCode(ch.charCodeAt(0) + KATAKANA_HIRAGANA_SHIFT);\n }\n return ch;\n }).join(\"\");\n};\n\n/**\n * Convert kana to katakana\n *\n * @param {string} str Given string\n * @return {string} Katakana string\n */\nconst toRawKatakana = function (str: string) {\n return [...str].map((ch) => {\n if (ch > \"\\u3040\" && ch < \"\\u3097\") {\n return String.fromCharCode(ch.charCodeAt(0) + HIRAGANA_KATAKANA_SHIFT);\n }\n return ch;\n }).join(\"\");\n};\n\n/**\n * Convert kana to romaji\n *\n * @param {string} str Given string\n * @param {string} system To which romanization system the given string is converted\n * @return {string} Romaji string\n */\nconst toRawRomaji = function (str: string, system?: string) {\n system = system || ROMANIZATION_SYSTEM.HEPBURN;\n\n const romajiSystem: Record<string, Record<string, string>> = {\n nippon: {\n // 数字と記号\n \"1\": \"1\",\n \"2\": \"2\",\n \"3\": \"3\",\n \"4\": \"4\",\n \"5\": \"5\",\n \"6\": \"6\",\n \"7\": \"7\",\n \"8\": \"8\",\n \"9\": \"9\",\n \"0\": \"0\",\n \"!\": \"!\",\n \"“\": \"\\\"\",\n \"”\": \"\\\"\",\n \"#\": \"#\",\n \"$\": \"$\",\n \"%\": \"%\",\n \"&\": \"&\",\n \"’\": \"'\",\n \"(\": \"(\",\n \")\": \")\",\n \"=\": \"=\",\n \"~\": \"~\",\n \"|\": \"|\",\n \"@\": \"@\",\n \"‘\": \"`\",\n \"+\": \"+\",\n \"*\": \"*\",\n \";\": \";\",\n \":\": \":\",\n \"<\": \"<\",\n \">\": \">\",\n \"、\": \",\",\n \"。\": \".\",\n \"/\": \"/\",\n \"?\": \"?\",\n \"_\": \"_\",\n \"・\": \"・\",\n \"「\": \"\\\"\",\n \"」\": \"\\\"\",\n \"{\": \"{\",\n \"}\": \"}\",\n \"¥\": \"\\\\\",\n \"^\": \"^\",\n\n // 直音-清音(ア~ノ)\n あ: \"a\",\n い: \"i\",\n う: \"u\",\n え: \"e\",\n お: \"o\",\n ア: \"a\",\n イ: \"i\",\n ウ: \"u\",\n エ: \"e\",\n オ: \"o\",\n\n か: \"ka\",\n き: \"ki\",\n く: \"ku\",\n け: \"ke\",\n こ: \"ko\",\n カ: \"ka\",\n キ: \"ki\",\n ク: \"ku\",\n ケ: \"ke\",\n コ: \"ko\",\n\n さ: \"sa\",\n し: \"si\",\n す: \"su\",\n せ: \"se\",\n そ: \"so\",\n サ: \"sa\",\n シ: \"si\",\n ス: \"su\",\n セ: \"se\",\n ソ: \"so\",\n\n た: \"ta\",\n ち: \"ti\",\n つ: \"tu\",\n て: \"te\",\n と: \"to\",\n タ: \"ta\",\n チ: \"ti\",\n ツ: \"tu\",\n テ: \"te\",\n ト: \"to\",\n\n な: \"na\",\n に: \"ni\",\n ぬ: \"nu\",\n ね: \"ne\",\n の: \"no\",\n ナ: \"na\",\n ニ: \"ni\",\n ヌ: \"nu\",\n ネ: \"ne\",\n ノ: \"no\",\n\n // 直音-清音(ハ~ヲ)\n は: \"ha\",\n ひ: \"hi\",\n ふ: \"hu\",\n へ: \"he\",\n ほ: \"ho\",\n ハ: \"ha\",\n ヒ: \"hi\",\n フ: \"hu\",\n ヘ: \"he\",\n ホ: \"ho\",\n\n ま: \"ma\",\n み: \"mi\",\n む: \"mu\",\n め: \"me\",\n も: \"mo\",\n マ: \"ma\",\n ミ: \"mi\",\n ム: \"mu\",\n メ: \"me\",\n モ: \"mo\",\n\n や: \"ya\",\n ゆ: \"yu\",\n よ: \"yo\",\n ヤ: \"ya\",\n ユ: \"yu\",\n ヨ: \"yo\",\n\n ら: \"ra\",\n り: \"ri\",\n る: \"ru\",\n れ: \"re\",\n ろ: \"ro\",\n ラ: \"ra\",\n リ: \"ri\",\n ル: \"ru\",\n レ: \"re\",\n ロ: \"ro\",\n\n わ: \"wa\",\n ゐ: \"wi\",\n ゑ: \"we\",\n を: \"wo\",\n ワ: \"wa\",\n ヰ: \"wi\",\n ヱ: \"we\",\n ヲ: \"wo\",\n\n // 直音-濁音(ガ~ボ)、半濁音(パ~ポ)\n が: \"ga\",\n ぎ: \"gi\",\n ぐ: \"gu\",\n げ: \"ge\",\n ご: \"go\",\n ガ: \"ga\",\n ギ: \"gi\",\n グ: \"gu\",\n ゲ: \"ge\",\n ゴ: \"go\",\n\n ざ: \"za\",\n じ: \"zi\",\n ず: \"zu\",\n ぜ: \"ze\",\n ぞ: \"zo\",\n ザ: \"za\",\n ジ: \"zi\",\n ズ: \"zu\",\n ゼ: \"ze\",\n ゾ: \"zo\",\n\n だ: \"da\",\n ぢ: \"di\",\n づ: \"du\",\n で: \"de\",\n ど: \"do\",\n ダ: \"da\",\n ヂ: \"di\",\n ヅ: \"du\",\n デ: \"de\",\n ド: \"do\",\n\n ば: \"ba\",\n び: \"bi\",\n ぶ: \"bu\",\n べ: \"be\",\n ぼ: \"bo\",\n バ: \"ba\",\n ビ: \"bi\",\n ブ: \"bu\",\n ベ: \"be\",\n ボ: \"bo\",\n\n ぱ: \"pa\",\n ぴ: \"pi\",\n ぷ: \"pu\",\n ぺ: \"pe\",\n ぽ: \"po\",\n パ: \"pa\",\n ピ: \"pi\",\n プ: \"pu\",\n ペ: \"pe\",\n ポ: \"po\",\n\n // 拗音-清音(キャ~リョ)\n