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