Language transliterator
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

466 lines
7.6 KiB

  1. typedef struct Map Map;
  2. struct Map {
  3. char *roma;
  4. char *kana;
  5. char advance;
  6. };
  7. Map kata[] = {
  8. "a", "ア", 1,
  9. "-", "ー", 1,
  10. "i", "イ", 1,
  11. "u", "ウ", 1,
  12. "e", "エ", 1,
  13. "o", "オ", 1,
  14. "ka", "カ", 2,
  15. "ga", "ガ", 2,
  16. "ki", "キ", 2,
  17. "kya", "キャ", 3,
  18. "kyu", "キュ", 3,
  19. "kyo", "キョ", 3,
  20. "gi", "ギ", 2,
  21. "gya", "ギャ", 3,
  22. "gyu", "ギュ", 3,
  23. "gyo", "ギョ", 3,
  24. "ku", "ク", 2,
  25. "gu", "グ", 2,
  26. "ke", "ケ", 2,
  27. "ge", "ゲ", 2,
  28. "ko", "コ", 2,
  29. "go", "ゴ", 2,
  30. "sa", "サ", 2,
  31. "za", "ザ", 2,
  32. "si", "シ", 2,
  33. "shi", "シ", 3,
  34. "ji", "ジ", 2,
  35. "sha", "シャ", 3,
  36. "she", "シェ", 3,
  37. "shu", "シュ", 3,
  38. "je", "ジェ", 2,
  39. "sho", "ショ", 3,
  40. "syo", "ショ", 3,
  41. "ja", "ジャ", 2,
  42. "ju", "ジュ", 2,
  43. "je", "ジェ", 2,
  44. "jo", "ジョ", 2,
  45. "su", "ス", 2,
  46. "zu", "ズ", 2,
  47. "se", "セ", 2,
  48. "ze", "ゼ", 2,
  49. "so", "ソ", 2,
  50. "zo", "ゾ", 2,
  51. "ta", "タ", 2,
  52. "da", "ダ", 2,
  53. "ti", "ティ", 2,
  54. "chi", "チ", 3,
  55. "zi", "ヂ", 2,
  56. "cha", "チャ", 3,
  57. "chu", "チュ", 3,
  58. "tyu", "チュ", 3,
  59. "che", "チェ", 3,
  60. "cho", "チョ", 3,
  61. "tu", "ツ", 2,
  62. "tsu", "ツ", 3,
  63. "du", "ヅ", 2,
  64. "te", "テ", 2,
  65. "de", "デ", 2,
  66. "to", "ト", 2,
  67. "do", "ド", 2,
  68. "na", "ナ", 2,
  69. "ni", "ニ", 2,
  70. "nya", "ニャ", 3,
  71. "nyu", "ニュ", 3,
  72. "nyo", "ニョ", 3,
  73. "nu", "ヌ", 2,
  74. "ne", "ネ", 2,
  75. "no", "ノ", 2,
  76. "ha", "ハ", 2,
  77. "ba", "バ", 2,
  78. "pa", "パ", 2,
  79. "hi", "ヒ", 2,
  80. "hya", "ヒャ", 3,
  81. "hyu", "ヒュ", 3,
  82. "hyo", "ヒョ", 3,
  83. "bi", "ビ", 2,
  84. "bya", "ビャ", 3,
  85. "byu", "ビュ", 3,
  86. "byo", "ビョ", 3,
  87. "pi", "ピ", 2,
  88. "pya", "ピャ", 3,
  89. "pyu", "ピュ", 3,
  90. "pyo", "ピョ", 3,
  91. "hu", "フ", 2,
  92. "fu", "フ", 2,
  93. "bu", "ブ", 2,
  94. "pu", "プ", 2,
  95. "he", "ヘ", 2,
  96. "be", "ベ", 2,
  97. "pe", "ペ", 2,
  98. "ho", "ホ", 2,
  99. "bo", "ボ", 2,
  100. "po", "ポ", 2,
  101. "ma", "マ", 2,
  102. "mi", "ミ", 2,
  103. "mya", "ミャ", 3,
  104. "myu", "ミュ", 3,
  105. "myo", "ミョ", 3,
  106. "mu", "ム", 2,
  107. "me", "メ", 2,
  108. "mo", "モ", 2,
  109. "ya", "ヤ", 2,
  110. "yu", "ユ", 2,
  111. "yo", "ヨ", 2,
  112. "ra", "ラ", 2,
  113. "ri", "リ", 2,
  114. "rya", "リャ", 3,
  115. "ryu", "リュ", 3,
  116. "ryo", "リョ", 3,
  117. "ru", "ル", 2,
  118. "re", "レ", 2,
  119. "ro", "ロ", 2,
  120. "wa", "ワ", 2,
  121. "wi", "ヰ", 2,
  122. "we", "ヱ", 2,
  123. "wo", "ヲ", 2,
  124. "n", "ン", 1,
  125. "xn", "ン", 2,
  126. "v", "ヴ", 1,
  127. "xa", "ァ", 2,
  128. "xi", "ィ", 2,
  129. "xe", "ェ", 2,
  130. "xo", "ォ", 2,
  131. "cc", "ッ", 1,
  132. "dd", "ッ", 1,
  133. "kk", "ッ", 1,
  134. "pp", "ッ", 1,
  135. "tt", "ッ", 1,
  136. "tch", "ッ", 1,
  137. "ss", "ッ", 1,
  138. "xn", "ン", 2,
  139. "di", "ディ", 2,
  140. "fa", "ファ", 2,
  141. "fi", "フィ", 2,
  142. "fe", "フェ", 2,
  143. "fo", "フォ", 2,
  144. "va", "ヴァ", 2,
  145. "vi", "ヴィ", 2,
  146. "ve", "ヴェ", 2,
  147. "vo", "ヴォ", 2,
  148. ".", "。", 1,
  149. ",", "、", 1,
  150. 0
  151. };
  152. Map hira[] = {
  153. "a", "あ", 1,
  154. "-", "ー", 1,
  155. "i", "い", 1,
  156. "u", "う", 1,
  157. "e", "え", 1,
  158. "o", "お", 1,
  159. "ka", "か", 2,
  160. "ga", "が", 2,
  161. "ki", "き", 2,
  162. "kya", "きゃ", 3,
  163. "kyu", "きゅ", 3,
  164. "kyo", "きょ", 3,
  165. "gi", "ぎ", 2,
  166. "gya", "ぎゃ", 3,
  167. "gyu", "ぎゅ", 3,
  168. "gyo", "ぎょ", 3,
  169. "ku", "く", 2,
  170. "gu", "ぐ", 2,
  171. "ke", "け", 2,
  172. "ge", "げ", 2,
  173. "ko", "こ", 2,
  174. "go", "ご", 2,
  175. "sa", "さ", 2,
  176. "za", "ざ", 2,
  177. "si", "し", 2,
  178. "shi", "し", 3,
  179. "sha", "しゃ", 3,
  180. "shu", "しゅ", 3,
  181. "she", "しぇ", 3,
  182. "sho", "しょ", 3,
  183. "syo", "しょ", 3,
  184. "zi", "ぢ", 2,
  185. "ja", "じゃ", 2,
  186. "ju", "じゅ", 2,
  187. "je", "じぇ", 2,
  188. "jo", "じょ", 2,
  189. "su", "す", 2,
  190. "zu", "ず", 2,
  191. "se", "せ", 2,
  192. "ze", "ぜ", 2,
  193. "so", "そ", 2,
  194. "zo", "ぞ", 2,
  195. "ta", "た", 2,
  196. "da", "だ", 2,
  197. "ti", "ち", 2,
  198. "chi", "ち", 3,
  199. "cha", "ちゃ", 3,
  200. "chu", "ちゅ", 3,
  201. "tyu", "ちゅ", 3,
  202. "cho", "ちょ", 3,
  203. "ji", "じ", 2,
  204. "tu", "つ", 2,
  205. "tsu", "つ", 3,
  206. "du", "づ", 2,
  207. "te", "て", 2,
  208. "de", "で", 2,
  209. "to", "と", 2,
  210. "do", "ど", 2,
  211. "na", "な", 2,
  212. "ni", "に", 2,
  213. "nya", "にゃ", 3,
  214. "nyu", "にゅ", 3,
  215. "nyo", "にょ", 3,
  216. "nu", "ぬ", 2,
  217. "ne", "ね", 2,
  218. "no", "の", 2,
  219. "ha", "は", 2,
  220. "ba", "ば", 2,
  221. "va", "ば", 2,
  222. "pa", "ぱ", 2,
  223. "hi", "ひ", 2,
  224. "hya", "ひゃ", 3,
  225. "hyu", "ひゅ", 3,
  226. "hyo", "ひょ", 3,
  227. "bi", "び", 2,
  228. "bya", "びゃ", 3,
  229. "byu", "びゅ", 3,
  230. "byo", "びょ", 3,
  231. "vi", "び", 2,
  232. "pi", "ぴ", 2,
  233. "pya", "ぴゃ", 3,
  234. "pyu", "ぴゅ", 3,
  235. "pyo", "ぴょ", 3,
  236. "hu", "ふ", 2,
  237. "fu", "ふ", 2,
  238. "bu", "ぶ", 2,
  239. "vu", "ぶ", 2,
  240. "pu", "ぷ", 2,
  241. "he", "へ", 2,
  242. "be", "べ", 2,
  243. "ve", "べ", 2,
  244. "pe", "ぺ", 2,
  245. "ho", "ほ", 2,
  246. "bo", "ぼ", 2,
  247. "vo", "ぼ", 2,
  248. "po", "ぽ", 2,
  249. "ma", "ま", 2,
  250. "mi", "み", 2,
  251. "mya", "みゃ", 3,
  252. "myu", "みゅ", 3,
  253. "myo", "みょ", 3,
  254. "mu", "む", 2,
  255. "me", "め", 2,
  256. "mo", "も", 2,
  257. "ya", "や", 2,
  258. "yu", "ゆ", 2,
  259. "yo", "よ", 2,
  260. "ra", "ら", 2,
  261. "ri", "り", 2,
  262. "rya", "りゃ", 3,
  263. "ryu", "りゅ", 3,
  264. "ryo", "りょ", 3,
  265. "ru", "る", 2,
  266. "re", "れ", 2,
  267. "ro", "ろ", 2,
  268. "wa", "わ", 2,
  269. "wi", "ゐ", 2,
  270. "we", "ゑ", 2,
  271. "wo", "を", 2,
  272. "n", "ん", 1,
  273. "xn", "ん", 2,
  274. "v", "\x80", 1,
  275. "xa", "ぁ", 2,
  276. "xi", "ぃ", 2,
  277. "xu", "ぅ", 2,
  278. "xe", "ぇ", 2,
  279. "xo", "ぉ", 2,
  280. "cc", "っ", 1,
  281. "dd", "っ", 1,
  282. "kk", "っ", 1,
  283. "pp", "っ", 1,
  284. "tt", "っ", 1,
  285. "ss", "っ", 1,
  286. ".", "。", 1,
  287. ",", "、", 1,
  288. 0,
  289. };
  290. Map cyril[] = {
  291. "YO", "Ё", 2,
  292. "Yo", "Ё", 2,
  293. "A", "А", 1,
  294. "B", "Б", 1,
  295. "V", "В", 1,
  296. "G", "Г", 1,
  297. "D", "Д", 1,
  298. "Ye", "Е", 1,
  299. "YE", "Е", 2,
  300. "E", "Е", 1,
  301. "Zh", "Ж", 2,
  302. "ZH", "Ж", 2,
  303. "Z", "З", 1,
  304. "I", "И", 1,
  305. "J", "Й", 1,
  306. "K", "К", 1,
  307. "L", "Л", 1,
  308. "M", "М", 1,
  309. "N", "Н", 1,
  310. "O", "О", 1,
  311. "P", "П", 1,
  312. "R", "Р", 1,
  313. "S", "С", 1,
  314. "T", "Т", 1,
  315. "U", "У", 1,
  316. "F", "Ф", 1,
  317. "Kh", "Х", 2,
  318. "KH", "Х", 2,
  319. "X", "Х", 1,
  320. "Ts", "Ц", 2,
  321. "TS", "Ц", 2,
  322. "Ch", "Ч", 2,
  323. "CH", "Ч", 2,
  324. "Sh", "Ш", 2,
  325. "SH", "Ш", 2,
  326. "Shch", "Щ", 4,
  327. "SHCH", "Щ", 4,
  328. "''", "ъ", 2,
  329. "Y", "Ы", 1,
  330. "'", "ь", 1,
  331. "EH", "Э", 2,
  332. "Eh", "Э", 2,
  333. "Yu", "Ю", 2,
  334. "YU", "Ю", 2,
  335. "Ya", "Я", 2,
  336. "YA", "Я", 2,
  337. "a", "а", 1,
  338. "b", "б", 1,
  339. "v", "в", 1,
  340. "g", "г", 1,
  341. "d", "д", 1,
  342. "ye", "е", 2,
  343. "e", "е", 1,
  344. "zh", "ж", 2,
  345. "z", "з", 1,
  346. "i", "и", 1,
  347. "j", "й", 1,
  348. "k", "к", 1,
  349. "l", "л", 1,
  350. "m", "м", 1,
  351. "n", "н", 1,
  352. "o", "о", 1,
  353. "p", "п", 1,
  354. "r", "р", 1,
  355. "s", "с", 1,
  356. "t", "т", 1,
  357. "u", "у", 1,
  358. "f", "ф", 1,
  359. "kh", "х", 2,
  360. "x", "х", 1,
  361. "ts", "ц", 2,
  362. "ch", "ч", 2,
  363. "sh", "ш", 2,
  364. "shch", "щ", 4,
  365. "''", "ъ", 2,
  366. "y", "ы", 1,
  367. "'", "ь", 1,
  368. "eh", "э", 2,
  369. "yu", "ю", 2,
  370. "ya", "я", 2,
  371. "yo", "ё", 2,
  372. 0,
  373. };
  374. Map greek[] = {
  375. "A", "Α", 1,
  376. "'A", "Ά", 2,
  377. "B", "Β", 1,
  378. "G", "Γ", 1,
  379. "D", "Δ", 1,
  380. "E", "Ε", 1,
  381. "'E", "Έ", 2,
  382. "Z", "Ζ", 1,
  383. "E!", "Η", 2,
  384. "'E!", "Έ", 3,
  385. "TH", "Θ", 2,
  386. "Th", "Θ", 2,
  387. "I", "Ι", 1,
  388. "'I", "Ί", 2,
  389. "K", "Κ", 1,
  390. "L", "Λ", 1,
  391. "M", "Μ", 1,
  392. "N", "Ν", 1,
  393. "KS", "Ξ", 2,
  394. "Ks", "Ξ", 2,
  395. "O", "Ο", 1,
  396. "'O", "Ό", 2,
  397. "P", "Π", 1,
  398. "R", "Ρ", 1,
  399. "S", "Σ", 1,
  400. "T", "Τ", 1,
  401. "U", "Υ", 1,
  402. "'U", "Ύ", 2,
  403. "F", "Φ", 1,
  404. "CH", "Χ", 2,
  405. "Ch", "Χ", 2,
  406. "PS", "Ψ", 2,
  407. "Ps", "Ψ", 2,
  408. "O!", "Ω", 2,
  409. "W", "Ω", 1,
  410. "'O!", "Ώ", 3,
  411. "'W", "Ώ", 2,
  412. "a", "α", 1,
  413. "'a", "ά", 2,
  414. "b", "β", 1,
  415. "v", "β", 1,
  416. "g", "γ", 1,
  417. "d", "δ", 1,
  418. "e", "ε", 1,
  419. "'e", "έ", 2,
  420. "z", "ζ", 1,
  421. "e!", "η", 2,
  422. "'e!", "ή", 3,
  423. "ii", "η", 2,
  424. "'ii", "ή", 3,
  425. "h", "η", 1,
  426. "'h", "ή", 2,
  427. "th", "θ", 2,
  428. "i", "ι", 1,
  429. "'i", "ί", 2,
  430. "k", "κ", 1,
  431. "l", "λ", 1,
  432. "m", "μ", 1,
  433. "n", "ν", 1,
  434. "ks", "ξ", 2,
  435. "x", "ξ", 1,
  436. "o", "ο", 1,
  437. "'o", "ό", 2,
  438. "p", "π", 1,
  439. "r", "ρ", 1,
  440. "s ", "ς", 1,
  441. "s.", "ς", 1,
  442. "s,", "ς", 1,
  443. "s\n", "ς", 1,
  444. "s", "σ", 1,
  445. "t", "τ", 1,
  446. "u", "υ", 1,
  447. "'u", "ΰ", 2,
  448. "y", "υ", 1,
  449. "'y", "ΰ", 2,
  450. "f", "φ", 1,
  451. "ch", "χ", 2,
  452. "ps", "ψ", 2,
  453. "o!", "ω", 2,
  454. "w", "ω", 1,
  455. "'o!", "ώ", 3,
  456. "'w", "ώ", 2,
  457. 0
  458. };
  459. /* you can add other Map data here */