yosina 2.0.0

Japanese text transliteration library
Documentation
use crate::char::{Char, CharPool};
use crate::transliterator::{
    TransliterationError, Transliterator, TransliteratorFactory, TransliteratorFactoryError,
};
use crate::transliterators::SimpleTransliterator;
static MATHEMATICALALPHANUMERICS_MAPPINGS: phf::Map<&'static str, &'static str> = phf::phf_map! { "𝗧" => "T" , "𝗪" => "W" , "𝑢" => "u" , "𝔪" => "m" , "𝔮" => "q" , "𝖈" => "c" , "𝗙" => "F" , "𝗱" => "d" , "𝗰" => "c" , "𝘥" => "d" , "𝑵" => "N" , "𝚗" => "n" , "𝗗" => "D" , "𝓘" => "I" , "𝓁" => "l" , "𝓅" => "p" , "𝚠" => "w" , "𝒦" => "K" , "𝘙" => "R" , "𝐦" => "m" , "𝐗" => "X" , "𝑮" => "G" , "𝑐" => "c" , "𝘃" => "v" , "ℝ" => "R" , "𝙝" => "h" , "𝑺" => "S" , "𝗁" => "h" , "𝔤" => "g" , "𝖊" => "e" , "𝖍" => "h" , "𝚊" => "a" , "𝕓" => "b" , "𝐴" => "A" , "𝙐" => "U" , "𝐖" => "W" , "𝕚" => "i" , "𝘊" => "C" , "𝕟" => "n" , "𝕣" => "r" , "𝟚" => "2" , "𝟯" => "3" , "𝑡" => "t" , "𝖓" => "n" , "𝕛" => "j" , "𝟟" => "7" , "𝟴" => "8" , "ℴ" => "o" , "𝖲" => "S" , "𝙚" => "e" , "𝟼" => "6" , "𝙁" => "F" , "ℽ" => "γ" , "𝑈" => "U" , "𝑎" => "a" , "𝖶" => "W" , "𝕆" => "O" , "𝒎" => "m" , "𝚋" => "b" , "𝙽" => "N" , "𝓿" => "v" , "𝚁" => "R" , "𝒮" => "S" , "𝐒" => "S" , "𝐬" => "s" , "𝓂" => "m" , "𝙣" => "n" , "𝖿" => "f" , "𝐑" => "R" , "𝗭" => "Z" , "𝚡" => "x" , "𝘢" => "a" , "𝗕" => "B" , "𝕽" => "R" , "𝗇" => "n" , "K" => "K" , "𝙿" => "P" , "𝓋" => "v" , "ℋ" => "H" , "𝙸" => "I" , "𝚝" => "t" , "𝒢" => "G" , "𝗢" => "O" , "𝗍" => "t" , "𝒙" => "x" , "𝒶" => "a" , "𝗹" => "l" , "𝒰" => "U" , "ℕ" => "N" , "𝟠" => "8" , "𝔧" => "j" , "𝐐" => "Q" , "𝖕" => "p" , "𝖑" => "l" , "𝚎" => "e" , "𝐕" => "V" , "𝕶" => "K" , "𝙥" => "p" , "𝒌" => "k" , "𝗴" => "g" , "𝗸" => "k" , "𝘷" => "v" , "𝘹" => "x" , "𝕺" => "O" , "𝔅" => "B" , "𝐰" => "w" , "𝙯" => "z" , "𝗘" => "E" , "𝙧" => "r" , "𝟗" => "9" , "𝖸" => "Y" , "𝐌" => "M" , "𝐓" => "T" , "𝘿" => "D" , "𝙋" => "P" , "𝔘" => "U" , "𝙻" => "L" , "𝔾" => "G" , "𝚂" => "S" , "ℭ" => "C" , "𝘩" => "h" , "𝚐" => "g" , "𝖋" => "f" , "𝒇" => "f" , "𝓌" => "w" , "𝘓" => "L" , "𝐩" => "p" , "𝚍" => "d" , "𝕙" => "h" , "ℿ" => "Π" , "𝒾" => "i" , "𝕢" => "q" , "𝟎" => "0" , "𝐢" => "i" , "𝐻" => "H" , "𝔡" => "d" , "𝗻" => "n" , "𝗚" => "G" , "𝙆" => "K" , "𝕨" => "w" , "𝟭" => "1" , "𝐘" => "Y" , "𝘴" => "s" , "𝑰" => "I" , "𝓆" => "q" , "𝗠" => "M" , "𝐅" => "F" , "𝘯" => "n" , "𝖄" => "Y" , "𝐽" => "J" , "𝓬" => "c" , "𝔵" => "x" , "𝙄" => "I" , "𝑥" => "x" , "𝓛" => "L" , "ℐ" => "I" , "𝙀" => "E" , "𝖰" => "Q" , "𝒍" => "l" , "ℳ" => "M" , "𝕾" => "S" , "𝘪" => "i" , "𝘰" => "o" , "𝙬" => "w" , "𝖐" => "k" , "𝒩" => "N" , "𝐉" => "J" , "𝔹" => "B" , "𝗼" => "o" , "𝒚" => "y" , "𝗐" => "w" , "𝟜" => "4" , "𝔄" => "A" , "𝑤" => "w" , "𝒘" => "w" , "𝔰" => "s" , "𝚔" => "k" , "𝙠" => "k" , "𝒱" => "V" , "𝕸" => "M" , "ℯ" => "e" , "𝑉" => "V" , "𝘾" => "C" , "𝒐" => "o" , "𝟐" => "2" , "𝟙" => "1" , "𝘠" => "Y" , "𝐷" => "D" , "𝕊" => "S" , "𝖧" => "H" , "𝒓" => "r" , "𝖘" => "s" , "ℙ" => "P" , "𝕝" => "l" , "ℛ" => "R" , "𝓕" => "F" , "𝙱" => "B" , "𝙡" => "l" , "𝒲" => "W" , "𝗋" => "r" , "𝗷" => "j" , "𝚚" => "q" , "𝓃" => "n" , "𝓹" => "p" , "𝙃" => "H" , "𝐠" => "g" , "𝑧" => "z" , "𝟖" => "8" , "𝕩" => "x" , "𝖩" => "J" , "𝐿" => "L" , "𝙑" => "V" , "𝔒" => "O" , "𝔙" => "V" , "𝑻" => "T" , "𝕳" => "H" , "𝕼" => "Q" , "𝙴" => "E" , "𝙨" => "s" , "ⅇ" => "e" , "𝑌" => "Y" , "𝐃" => "D" , "𝗡" => "N" , "𝐱" => "x" , "𝗀" => "g" , "𝘁" => "t" , "𝒸" => "c" , "𝑆" => "S" , "𝘡" => "Z" , "𝖒" => "m" , "𝕏" => "X" , "𝗩" => "V" , "𝘑" => "J" , "𝖂" => "W" , "𝕕" => "d" , "𝙤" => "o" , "𝓉" => "t" , "𝔂" => "y" , "𝐞" => "e" , "𝚃" => "T" , "𝗯" => "b" , "𝟩" => "7" , "𝙵" => "F" , "𝒑" => "p" , "𝘏" => "H" , "𝘣" => "b" , "𝓺" => "q" , "𝐎" => "O" , "𝔏" => "L" , "𝑝" => "p" , "𝘇" => "z" , "𝕥" => "t" , "𝚓" => "j" , "𝘽" => "B" , "𝟝" => "5" , "𝟒" => "4" , "𝙜" => "g" , "𝟸" => "2" , "𝐛" => "b" , "𝓠" => "Q" , "𝓤" => "U" , "𝔷" => "z" , "𝓮" => "e" , "𝙶" => "G" , "𝙾" => "O" , "𝑛" => "n" , "𝗞" => "K" , "𝗄" => "k" , "𝔣" => "f" , "𝚆" => "W" , "𝚑" => "h" , "𝑀" => "M" , "𝒷" => "b" , "𝖯" => "P" , "𝘒" => "K" , "𝗔" => "A" , "𝘺" => "y" , "𝗲" => "e" , "𝒴" => "Y" , "𝔶" => "y" , "𝑷" => "P" , "𝗊" => "q" , "𝚙" => "p" , "𝕠" => "o" , "𝟘" => "0" , "𝙒" => "W" , "𝔇" => "D" , "𝐪" => "q" , "𝘅" => "x" , "𝕲" => "G" , "𝔖" => "S" , "𝓯" => "f" , "𝑾" => "W" , "𝘈" => "A" , "𝘭" => "l" , "𝙟" => "j" , "𝔓" => "P" , "𝖖" => "q" , "𝖺" => "a" , "𝓀" => "k" , "𝘗" => "P" , "𝔭" => "p" , "𝙇" => "L" , "𝘧" => "f" , "𝕜" => "k" , "𝟿" => "9" , "𝟽" => "7" , "𝒬" => "Q" , "𝐁" => "B" , "𝖾" => "e" , "𝘤" => "c" , "𝖗" => "r" , "𝔃" => "z" , "𝓍" => "x" , "𝟾" => "8" , "𝟤" => "2" , "𝑼" => "U" , "𝖇" => "b" , "𝕪" => "y" , "𝒯" => "T" , "ⅅ" => "D" , "ℑ" => "I" , "𝕔" => "c" , "𝑁" => "N" , "𝙅" => "J" , "𝙌" => "Q" , "𝒞" => "C" , "𝕞" => "m" , "𝒃" => "b" , "𝐹" => "F" , "𝙍" => "R" , "𝓰" => "g" , "𝘍" => "F" , "𝟣" => "1" , "𝟳" => "7" , "ℊ" => "g" , "𝔑" => "N" , "𝔼" => "E" , "𝐯" => "v" , "𝘖" => "O" , "𝒕" => "t" , "𝕂" => "K" , "ℌ" => "H" , "𝕵" => "J" , "𝕖" => "e" , "𝐵" => "B" , "𝟛" => "3" , "𝟻" => "5" , "𝘟" => "X" , "𝓜" => "M" , "𝚇" => "X" , "𝒅" => "d" , "𝚘" => "o" , "𝕡" => "p" , "𝔠" => "c" , "𝓏" => "z" , "𝓐" => "A" , "𝓩" => "Z" , "𝘂" => "u" , "𝑅" => "R" , "𝘳" => "r" , "𝓷" => "n" , "𝙭" => "x" , "𝑬" => "E" , "𝓪" => "a" , "𝖅" => "Z" , "𝔨" => "k" , "𝑿" => "X" , "𝘔" => "M" , "𝑫" => "D" , "𝙕" => "Z" , "𝒂" => "a" , "𝙼" => "M" , "𝑗" => "j" , "𝚛" => "r" , "𝚟" => "v" , "𝙫" => "v" , "𝖬" => "M" , "𝙔" => "Y" , "𝙳" => "D" , "𝔊" => "G" , "𝗶" => "i" , "𝕬" => "A" , "𝗉" => "p" , "𝙞" => "i" , "𝕁" => "J" , "𝗦" => "S" , "𝕴" => "I" , "𝙖" => "a" , "𝚕" => "l" , "𝗥" => "R" , "𝗎" => "u" , "𝟨" => "6" , "𝚉" => "Z" , "𝚄" => "U" , "𝖥" => "F" , "𝒖" => "u" , "ℚ" => "Q" , "𝖻" => "b" , "ℰ" => "E" , "ℱ" => "F" , "𝔻" => "D" , "𝚌" => "c" , "𝑣" => "v" , "𝚜" => "s" , "𝓙" => "J" , "𝘕" => "N" , "𝐄" => "E" , "𝘚" => "S" , "𝐭" => "t" , "𝐊" => "K" , "𝘮" => "m" , "𝟦" => "4" , "𝘄" => "w" , "ℨ" => "Z" , "𝒆" => "e" , "𝘉" => "B" , "𝒒" => "q" , "𝕱" => "F" , "ℎ" => "h" , "𝕮" => "C" , "𝖔" => "o" , "𝕤" => "s" , "𝒋" => "j" , "𝖆" => "a" , "𝓈" => "s" , "𝔱" => "t" , "𝔲" => "u" , "𝐣" => "j" , "𝗆" => "m" , "𝗈" => "o" , "𝗽" => "p" , "𝓇" => "r" , "𝕗" => "f" , "𝗓" => "z" , "𝗜" => "I" , "𝘻" => "z" , "𝓾" => "u" , "𝖭" => "N" , "𝖛" => "v" , "𝟧" => "5" , "𝙗" => "b" , "𝙙" => "d" , "𝐨" => "o" , "𝓻" => "r" , "ℒ" => "L" , "𝗛" => "H" , "𝓎" => "y" , "𝖴" => "U" , "𝚢" => "y" , "𝟲" => "6" , "𝗌" => "s" , "ℍ" => "H" , "𝐏" => "P" , "𝑲" => "K" , "𝑳" => "L" , "𝖳" => "T" , "𝓽" => "t" , "𝔀" => "w" , "𝒛" => "z" , "𝖣" => "D" , "𝑩" => "B" , "𝖨" => "I" , "𝟪" => "8" , "𝚒" => "i" , "𝔛" => "X" , "𝗿" => "r" , "ⅆ" => "d" , "𝖝" => "x" , "𝚣" => "z" , "Ω" => "Ω" , "𝙮" => "y" , "𝚈" => "Y" , "𝐙" => "Z" , "𝑒" => "e" , "𝚅" => "V" , "𝓫" => "b" , "𝖁" => "V" , "𝘐" => "I" , "𝔟" => "b" , "𝗖" => "C" , "𝓥" => "V" , "𝐆" => "G" , "𝒻" => "f" , "𝑃" => "P" , "𝐮" => "u" , "𝗑" => "x" , "𝟺" => "4" , "𝘶" => "u" , "𝐫" => "r" , "𝐾" => "K" , "𝒔" => "s" , "𝔦" => "i" , "𝖤" => "E" , "𝗫" => "X" , "𝕫" => "z" , "𝔬" => "o" , "𝕰" => "E" , "𝓢" => "S" , "𝖀" => "U" , "𝟡" => "9" , "𝓨" => "Y" , "𝟔" => "6" , "ℓ" => "l" , "𝔢" => "e" , "𝕦" => "u" , "𝔍" => "J" , "𝑓" => "f" , "𝐟" => "f" , "𝑴" => "M" , "𝙊" => "O" , "𝑍" => "Z" , "𝑖" => "i" , "𝐋" => "L" , "𝖦" => "G" , "𝓭" => "d" , "𝒀" => "Y" , "𝖪" => "K" , "𝙦" => "q" , "𝐔" => "U" , "𝖜" => "w" , "𝘝" => "V" , "𝑠" => "s" , "𝟑" => "3" , "𝟮" => "2" , "𝒄" => "c" , "𝟹" => "3" , "𝕻" => "P" , "𝑇" => "T" , "𝔎" => "K" , "ⅈ" => "i" , "𝑯" => "H" , "ℜ" => "R" , "𝕋" => "T" , "𝘲" => "q" , "𝟕" => "7" , "𝑽" => "V" , "𝖫" => "L" , "𝓳" => "j" , "𝔗" => "T" , "𝖱" => "R" , "𝐡" => "h" , "𝖉" => "d" , "𝕍" => "V" , "𝓓" => "D" , "𝗤" => "Q" , "𝙲" => "C" , "𝙺" => "K" , "𝑂" => "O" , "𝗺" => "m" , "𝑞" => "q" , "𝖌" => "g" , "𝚞" => "u" , "𝕧" => "v" , "𝟞" => "6" , "𝔉" => "F" , "𝟢" => "0" , "𝐲" => "y" , "𝒫" => "P" , "𝓲" => "i" , "𝖎" => "i" , "𝖃" => "X" , "𝕄" => "M" , "𝐺" => "G" , "𝒉" => "h" , "ℬ" => "B" , "𝚖" => "m" , "𝟱" => "5" , "𝘘" => "Q" , "𝙹" => "J" , "𝕘" => "g" , "𝗣" => "P" , "𝕯" => "D" , "𝑊" => "W" , "𝖮" => "O" , "𝓑" => "B" , "𝓡" => "R" , "𝕐" => "Y" , "𝘆" => "y" , "𝙛" => "f" , "𝑜" => "o" , "𝔁" => "x" , "𝔞" => "a" , "𝔩" => "l" , "𝑹" => "R" , "𝙰" => "A" , "𝚏" => "f" , "𝓚" => "K" , "𝓞" => "O" , "𝒗" => "v" , "𝘀" => "s" , "𝟏" => "1" , "𝓸" => "o" , "𝗃" => "j" , "𝐼" => "I" , "𝒹" => "d" , "𝐀" => "A" , "𝓝" => "N" , "ℤ" => "Z" , "𝕃" => "L" , "𝐈" => "I" , "ℾ" => "Γ" , "𝒵" => "Z" , "𝐸" => "E" , "𝗏" => "v" , "𝖡" => "B" , "𝔐" => "M" , "𝙘" => "c" , "𝘬" => "k" , "𝒽" => "h" , "𝟶" => "0" , "𝖷" => "X" , "𝘎" => "G" , "𝕀" => "I" , "𝑶" => "O" , "𝘛" => "T" , "𝑘" => "k" , "𝖽" => "d" , "𝓵" => "l" , "𝘸" => "w" , "𝕒" => "a" , "𝙂" => "G" , "𝑙" => "l" , "𝓴" => "k" , "𝟵" => "9" , "𝓖" => "G" , "𝓟" => "P" , "𝘵" => "t" , "𝖚" => "u" , "𝟓" => "5" , "𝘋" => "D" , "𝑑" => "d" , "𝒜" => "A" , "𝓶" => "m" , "𝑄" => "Q" , "𝙩" => "t" , "𝘜" => "U" , "𝘼" => "A" , "𝙏" => "T" , "𝕎" => "W" , "𝒁" => "Z" , "𝑦" => "y" , "𝙷" => "H" , "𝐳" => "z" , "𝑟" => "r" , "𝔴" => "w" , "𝓧" => "X" , "𝒈" => "g" , "𝟬" => "0" , "𝐧" => "n" , "𝔯" => "r" , "𝐚" => "a" , "𝑋" => "X" , "𝒥" => "J" , "𝕌" => "U" , "𝙢" => "m" , "𝙪" => "u" , "𝟰" => "4" , "𝔥" => "h" , "𝘞" => "W" , "ℂ" => "C" , "𝑏" => "b" , "𝑚" => "m" , "𝘫" => "j" , "𝓗" => "H" , "𝗾" => "q" , "𝖙" => "t" , "𝖞" => "y" , "𝑨" => "A" , "∑" => "Σ" , "𝕭" => "B" , "𝑭" => "F" , "𝐶" => "C" , "𝙓" => "X" , "𝐜" => "c" , "𝔜" => "Y" , "𝗂" => "i" , "𝗮" => "a" , "𝔚" => "W" , "𝒊" => "i" , "𝒪" => "O" , "𝒿" => "j" , "ℼ" => "π" , "𝓔" => "E" , "𝓊" => "u" , "𝘦" => "e" , "𝗨" => "U" , "𝗝" => "J" , "𝖏" => "j" , "𝖟" => "z" , "𝗅" => "l" , "𝑱" => "J" , "𝓼" => "s" , "𝔫" => "n" , "𝖹" => "Z" , "𝕹" => "N" , "𝘌" => "E" , "𝔳" => "v" , "𝟷" => "1" , "𝟥" => "3" , "𝙉" => "N" , "𝕿" => "T" , "𝔸" => "A" , "𝓣" => "T" , "𝓱" => "h" , "𝟫" => "9" , "𝐍" => "N" , "𝒳" => "X" , "𝔽" => "F" , "𝓒" => "C" , "𝙎" => "S" , "𝗵" => "h" , "𝒟" => "D" , "𝔈" => "E" , "𝗟" => "L" , "𝖼" => "c" , "𝖵" => "V" , "𝐂" => "C" , "𝑪" => "C" , "𝙈" => "M" , "𝚀" => "Q" , "𝑔" => "g" , "𝒏" => "n" , "𝖠" => "A" , "𝓦" => "W" , "𝗒" => "y" , "⅀" => "Σ" , "𝘨" => "g" , "ⅉ" => "j" , "𝐇" => "H" , "𝔔" => "Q" , "𝕷" => "L" , "𝐥" => "l" , "𝗬" => "Y" , "𝖢" => "C" , "𝐤" => "k" , "𝗳" => "f" , "𝐝" => "d" , "𝘱" => "p" , "𝑸" => "Q" };
pub struct MathematicalAlphanumericsTransliterator {
    inner: SimpleTransliterator,
}
impl MathematicalAlphanumericsTransliterator {
    #[allow(clippy::new_without_default)]
    pub fn new() -> Self {
        Self {
            inner: SimpleTransliterator::new(&MATHEMATICALALPHANUMERICS_MAPPINGS),
        }
    }
}
impl Transliterator for MathematicalAlphanumericsTransliterator {
    fn transliterate<'a, 'b>(
        &self,
        pool: &mut CharPool<'a, 'b>,
        input: &[&'a Char<'a, 'b>],
    ) -> Result<Vec<&'a Char<'a, 'b>>, TransliterationError> {
        self.inner.transliterate(pool, input)
    }
}
pub struct MathematicalAlphanumericsTransliteratorFactory;
impl MathematicalAlphanumericsTransliteratorFactory {
    #[allow(clippy::new_without_default)]
    pub fn new() -> Self {
        Self
    }
}
impl TransliteratorFactory for MathematicalAlphanumericsTransliteratorFactory {
    fn new_transliterator(&self) -> Result<Box<dyn Transliterator>, TransliteratorFactoryError> {
        Ok(Box::new(MathematicalAlphanumericsTransliterator::new()))
    }
}