twitter_cldr 4.0.0 → 4.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (308) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +3 -2
  3. data/README.md +18 -2
  4. data/Rakefile +39 -122
  5. data/lib/twitter_cldr.rb +3 -0
  6. data/lib/twitter_cldr/formatters/numbers/rbnf.rb +5 -1
  7. data/lib/twitter_cldr/resources.rb +86 -5
  8. data/lib/twitter_cldr/resources/bidi_test_importer.rb +50 -44
  9. data/lib/twitter_cldr/resources/casefolder_class_generator.rb +22 -13
  10. data/lib/twitter_cldr/resources/collation_tries_importer.rb +44 -0
  11. data/lib/twitter_cldr/resources/hyphenation_importer.rb +16 -42
  12. data/lib/twitter_cldr/resources/import_resolver.rb +71 -0
  13. data/lib/twitter_cldr/resources/importer.rb +107 -0
  14. data/lib/twitter_cldr/resources/language_codes_importer.rb +35 -38
  15. data/lib/twitter_cldr/resources/loader.rb +3 -3
  16. data/lib/twitter_cldr/resources/locales_resources_importer.rb +48 -35
  17. data/lib/twitter_cldr/resources/phone_codes_importer.rb +24 -23
  18. data/lib/twitter_cldr/resources/postal_codes_importer.rb +10 -11
  19. data/lib/twitter_cldr/resources/properties.rb +0 -4
  20. data/lib/twitter_cldr/resources/properties/age_property_importer.rb +13 -9
  21. data/lib/twitter_cldr/resources/properties/arabic_shaping_property_importer.rb +9 -11
  22. data/lib/twitter_cldr/resources/properties/bidi_brackets_property_importer.rb +11 -9
  23. data/lib/twitter_cldr/resources/properties/blocks_property_importer.rb +13 -9
  24. data/lib/twitter_cldr/resources/properties/derived_core_properties_importer.rb +9 -11
  25. data/lib/twitter_cldr/resources/properties/east_asian_width_property_importer.rb +13 -9
  26. data/lib/twitter_cldr/resources/properties/grapheme_break_property_importer.rb +13 -9
  27. data/lib/twitter_cldr/resources/properties/hangul_syllable_type_property_importer.rb +13 -9
  28. data/lib/twitter_cldr/resources/properties/indic_positional_category_property_importer.rb +13 -9
  29. data/lib/twitter_cldr/resources/properties/indic_syllabic_category_property_importer.rb +13 -9
  30. data/lib/twitter_cldr/resources/properties/jamo_property_importer.rb +13 -9
  31. data/lib/twitter_cldr/resources/properties/line_break_property_importer.rb +13 -9
  32. data/lib/twitter_cldr/resources/properties/prop_list_importer.rb +9 -11
  33. data/lib/twitter_cldr/resources/properties/property_importer.rb +13 -22
  34. data/lib/twitter_cldr/resources/properties/script_extensions_property_importer.rb +12 -10
  35. data/lib/twitter_cldr/resources/properties/script_property_importer.rb +13 -9
  36. data/lib/twitter_cldr/resources/properties/sentence_break_property_importer.rb +13 -9
  37. data/lib/twitter_cldr/resources/properties/unicode_data_properties_importer.rb +11 -9
  38. data/lib/twitter_cldr/resources/properties/word_break_property_importer.rb +13 -9
  39. data/lib/twitter_cldr/resources/rbnf_test_importer.rb +41 -38
  40. data/lib/twitter_cldr/resources/readme_renderer.rb +1 -2
  41. data/lib/twitter_cldr/resources/requirements.rb +18 -0
  42. data/lib/twitter_cldr/resources/requirements/cldr_requirement.rb +66 -0
  43. data/lib/twitter_cldr/resources/requirements/dependency_requirement.rb +23 -0
  44. data/lib/twitter_cldr/resources/requirements/git_requirement.rb +66 -0
  45. data/lib/twitter_cldr/resources/requirements/icu_requirement.rb +111 -0
  46. data/lib/twitter_cldr/resources/requirements/unicode_requirement.rb +51 -0
  47. data/lib/twitter_cldr/resources/segment_tests_importer.rb +15 -30
  48. data/lib/twitter_cldr/resources/tailoring_importer.rb +33 -26
  49. data/lib/twitter_cldr/resources/transform_test_importer.rb +15 -17
  50. data/lib/twitter_cldr/resources/uli/segment_exceptions_importer.rb +29 -17
  51. data/lib/twitter_cldr/resources/unicode_data_importer.rb +38 -31
  52. data/lib/twitter_cldr/resources/unicode_file_parser.rb +37 -0
  53. data/lib/twitter_cldr/resources/unicode_property_aliases_importer.rb +23 -27
  54. data/lib/twitter_cldr/shared/casefolder.rb +139 -115
  55. data/lib/twitter_cldr/version.rb +1 -1
  56. data/lib/twitter_cldr/versions.rb +0 -4
  57. data/resources/collation/tailoring/bo.yml +4 -0
  58. data/resources/collation/tries/bo.dump +0 -0
  59. data/resources/locales/bo/calendars.yml +247 -0
  60. data/resources/locales/bo/currencies.yml +208 -0
  61. data/resources/locales/bo/fields.yml +31 -0
  62. data/resources/locales/bo/languages.yml +24 -0
  63. data/resources/locales/bo/layout.yml +5 -0
  64. data/resources/locales/bo/lists.yml +12 -0
  65. data/resources/locales/bo/numbers.yml +111 -0
  66. data/resources/locales/bo/plural_rules.yml +6 -0
  67. data/resources/locales/bo/plurals.yml +12 -0
  68. data/resources/locales/bo/territories.yml +14 -0
  69. data/resources/locales/bo/units.yml +283 -0
  70. data/resources/shared/transforms/Arab-Latn.yml +109 -0
  71. data/resources/shared/transforms/Beng-Deva.yml +13 -0
  72. data/resources/shared/transforms/Beng-Gujr.yml +13 -0
  73. data/resources/shared/transforms/Beng-Guru.yml +13 -0
  74. data/resources/shared/transforms/Beng-Knda.yml +13 -0
  75. data/resources/shared/transforms/Beng-Latn.yml +13 -0
  76. data/resources/shared/transforms/Beng-Mlym.yml +13 -0
  77. data/resources/shared/transforms/Beng-Orya.yml +13 -0
  78. data/resources/shared/transforms/Beng-Taml.yml +13 -0
  79. data/resources/shared/transforms/Beng-Telu.yml +13 -0
  80. data/resources/shared/transforms/Cyrl-Latn.yml +128 -0
  81. data/resources/shared/transforms/Deva-Beng.yml +13 -0
  82. data/resources/shared/transforms/Deva-Gujr.yml +13 -0
  83. data/resources/shared/transforms/Deva-Guru.yml +13 -0
  84. data/resources/shared/transforms/Deva-Knda.yml +13 -0
  85. data/resources/shared/transforms/Deva-Latn.yml +13 -0
  86. data/resources/shared/transforms/Deva-Mlym.yml +13 -0
  87. data/resources/shared/transforms/Deva-Orya.yml +13 -0
  88. data/resources/shared/transforms/Deva-Taml.yml +13 -0
  89. data/resources/shared/transforms/Deva-Telu.yml +13 -0
  90. data/resources/shared/transforms/Geor-Latn.yml +43 -0
  91. data/resources/shared/transforms/Grek-Latn-UNGEGN.yml +160 -0
  92. data/resources/shared/transforms/Grek-Latn.yml +206 -0
  93. data/resources/shared/transforms/Gujr-Beng.yml +13 -0
  94. data/resources/shared/transforms/Gujr-Deva.yml +13 -0
  95. data/resources/shared/transforms/Gujr-Guru.yml +13 -0
  96. data/resources/shared/transforms/Gujr-Knda.yml +13 -0
  97. data/resources/shared/transforms/Gujr-Latn.yml +13 -0
  98. data/resources/shared/transforms/Gujr-Mlym.yml +13 -0
  99. data/resources/shared/transforms/Gujr-Orya.yml +13 -0
  100. data/resources/shared/transforms/Gujr-Taml.yml +13 -0
  101. data/resources/shared/transforms/Gujr-Telu.yml +13 -0
  102. data/resources/shared/transforms/Guru-Beng.yml +13 -0
  103. data/resources/shared/transforms/Guru-Deva.yml +13 -0
  104. data/resources/shared/transforms/Guru-Gujr.yml +13 -0
  105. data/resources/shared/transforms/Guru-Knda.yml +13 -0
  106. data/resources/shared/transforms/Guru-Latn.yml +13 -0
  107. data/resources/shared/transforms/Guru-Mlym.yml +13 -0
  108. data/resources/shared/transforms/Guru-Orya.yml +13 -0
  109. data/resources/shared/transforms/Guru-Taml.yml +13 -0
  110. data/resources/shared/transforms/Guru-Telu.yml +13 -0
  111. data/resources/shared/transforms/Han-Spacedhan.yml +1 -1
  112. data/resources/shared/transforms/Hang-Latn.yml +12 -0
  113. data/resources/shared/transforms/Hani-Latn.yml +1605 -0
  114. data/resources/shared/transforms/Hans-Hant.yml +3982 -0
  115. data/resources/shared/transforms/Hebr-Latn.yml +72 -0
  116. data/resources/shared/transforms/Hira-Kana.yml +114 -0
  117. data/resources/shared/transforms/Hira-Latn.yml +15 -0
  118. data/resources/shared/transforms/InterIndic-Latin.yml +2 -2
  119. data/resources/shared/transforms/Jamo-Latn.yml +12 -0
  120. data/resources/shared/transforms/Knda-Beng.yml +13 -0
  121. data/resources/shared/transforms/Knda-Deva.yml +13 -0
  122. data/resources/shared/transforms/Knda-Gujr.yml +13 -0
  123. data/resources/shared/transforms/Knda-Guru.yml +13 -0
  124. data/resources/shared/transforms/Knda-Latn.yml +13 -0
  125. data/resources/shared/transforms/Knda-Mlym.yml +13 -0
  126. data/resources/shared/transforms/Knda-Orya.yml +13 -0
  127. data/resources/shared/transforms/Knda-Taml.yml +13 -0
  128. data/resources/shared/transforms/Knda-Telu.yml +13 -0
  129. data/resources/shared/transforms/Latin-ASCII.yml +16 -1
  130. data/resources/shared/transforms/Latin-InterIndic.yml +2 -2
  131. data/resources/shared/transforms/Latn-Armn.yml +90 -0
  132. data/resources/shared/transforms/Latn-Beng.yml +14 -0
  133. data/resources/shared/transforms/Latn-Bopo.yml +1336 -0
  134. data/resources/shared/transforms/Latn-Cans.yml +190 -0
  135. data/resources/shared/transforms/Latn-Deva.yml +14 -0
  136. data/resources/shared/transforms/Latn-Ethi.yml +278 -0
  137. data/resources/shared/transforms/Latn-Gujr.yml +14 -0
  138. data/resources/shared/transforms/Latn-Guru.yml +14 -0
  139. data/resources/shared/transforms/Latn-Hang.yml +13 -0
  140. data/resources/shared/transforms/Latn-Jamo.yml +13 -0
  141. data/resources/shared/transforms/Latn-Kana.yml +274 -0
  142. data/resources/shared/transforms/Latn-Knda.yml +14 -0
  143. data/resources/shared/transforms/Latn-Mlym.yml +14 -0
  144. data/resources/shared/transforms/Latn-Orya.yml +14 -0
  145. data/resources/shared/transforms/Latn-Taml.yml +14 -0
  146. data/resources/shared/transforms/Latn-Telu.yml +14 -0
  147. data/resources/shared/transforms/Latn-Thaa.yml +439 -0
  148. data/resources/shared/transforms/Latn-Thai.yml +13 -0
  149. data/resources/shared/transforms/Mlym-Beng.yml +13 -0
  150. data/resources/shared/transforms/Mlym-Deva.yml +13 -0
  151. data/resources/shared/transforms/Mlym-Gujr.yml +13 -0
  152. data/resources/shared/transforms/Mlym-Guru.yml +13 -0
  153. data/resources/shared/transforms/Mlym-Knda.yml +13 -0
  154. data/resources/shared/transforms/Mlym-Latn.yml +13 -0
  155. data/resources/shared/transforms/Mlym-Orya.yml +13 -0
  156. data/resources/shared/transforms/Mlym-Taml.yml +13 -0
  157. data/resources/shared/transforms/Mlym-Telu.yml +13 -0
  158. data/resources/shared/transforms/Orya-Beng.yml +13 -0
  159. data/resources/shared/transforms/Orya-Deva.yml +13 -0
  160. data/resources/shared/transforms/Orya-Gujr.yml +13 -0
  161. data/resources/shared/transforms/Orya-Guru.yml +13 -0
  162. data/resources/shared/transforms/Orya-Knda.yml +13 -0
  163. data/resources/shared/transforms/Orya-Latn.yml +13 -0
  164. data/resources/shared/transforms/Orya-Mlym.yml +13 -0
  165. data/resources/shared/transforms/Orya-Taml.yml +13 -0
  166. data/resources/shared/transforms/Orya-Telu.yml +13 -0
  167. data/resources/shared/transforms/Syrc-Latn.yml +55 -0
  168. data/resources/shared/transforms/Taml-Beng.yml +13 -0
  169. data/resources/shared/transforms/Taml-Deva.yml +13 -0
  170. data/resources/shared/transforms/Taml-Gujr.yml +13 -0
  171. data/resources/shared/transforms/Taml-Guru.yml +13 -0
  172. data/resources/shared/transforms/Taml-Knda.yml +13 -0
  173. data/resources/shared/transforms/Taml-Latn.yml +13 -0
  174. data/resources/shared/transforms/Taml-Mlym.yml +13 -0
  175. data/resources/shared/transforms/Taml-Orya.yml +13 -0
  176. data/resources/shared/transforms/Taml-Telu.yml +13 -0
  177. data/resources/shared/transforms/Telu-Beng.yml +13 -0
  178. data/resources/shared/transforms/Telu-Deva.yml +13 -0
  179. data/resources/shared/transforms/Telu-Gujr.yml +13 -0
  180. data/resources/shared/transforms/Telu-Guru.yml +13 -0
  181. data/resources/shared/transforms/Telu-Knda.yml +13 -0
  182. data/resources/shared/transforms/Telu-Latn.yml +13 -0
  183. data/resources/shared/transforms/Telu-Mlym.yml +13 -0
  184. data/resources/shared/transforms/Telu-Orya.yml +13 -0
  185. data/resources/shared/transforms/Telu-Taml.yml +13 -0
  186. data/resources/shared/transforms/Thai-Latn.yml +15 -0
  187. data/resources/shared/transforms/am-am_FONIPA.yml +609 -0
  188. data/resources/shared/transforms/am-am_Latn-BGN.yml +336 -0
  189. data/resources/shared/transforms/am-ar.yml +11 -0
  190. data/resources/shared/transforms/am-fa.yml +10 -0
  191. data/resources/shared/transforms/ar-ar_Latn-BGN.yml +122 -0
  192. data/resources/shared/transforms/az_Cyrl-az-BGN.yml +93 -0
  193. data/resources/shared/transforms/be-be_Latn-BGN.yml +108 -0
  194. data/resources/shared/transforms/bg-bg_Latn-BGN.yml +99 -0
  195. data/resources/shared/transforms/ch-am.yml +10 -0
  196. data/resources/shared/transforms/ch-ar.yml +10 -0
  197. data/resources/shared/transforms/ch-ch_FONIPA.yml +0 -8
  198. data/resources/shared/transforms/ch-fa.yml +10 -0
  199. data/resources/shared/transforms/cs-am.yml +10 -0
  200. data/resources/shared/transforms/cs-ar.yml +10 -0
  201. data/resources/shared/transforms/cs-fa.yml +10 -0
  202. data/resources/shared/transforms/dsb-dsb_FONIPA.yml +0 -5
  203. data/resources/shared/transforms/dv-dv_Latn-BGN.yml +112 -0
  204. data/resources/shared/transforms/el-el_Latn-BGN.yml +208 -0
  205. data/resources/shared/transforms/eo-am.yml +10 -0
  206. data/resources/shared/transforms/eo-ar.yml +10 -0
  207. data/resources/shared/transforms/eo-eo_FONIPA.yml +52 -0
  208. data/resources/shared/transforms/eo-fa.yml +10 -0
  209. data/resources/shared/transforms/es-ar.yml +13 -0
  210. data/resources/shared/transforms/es-fa.yml +13 -0
  211. data/resources/shared/transforms/es_419-am.yml +11 -0
  212. data/resources/shared/transforms/es_419-ar.yml +14 -0
  213. data/resources/shared/transforms/es_419-fa.yml +14 -0
  214. data/resources/shared/transforms/fa-fa_Latn-BGN.yml +123 -0
  215. data/resources/shared/transforms/he-he_Latn-BGN.yml +62 -0
  216. data/resources/shared/transforms/hy-am.yml +10 -0
  217. data/resources/shared/transforms/hy-ar.yml +10 -0
  218. data/resources/shared/transforms/hy-fa.yml +10 -0
  219. data/resources/shared/transforms/hy-hy_FONIPA.yml +56 -0
  220. data/resources/shared/transforms/hy-hy_Latn-BGN.yml +133 -0
  221. data/resources/shared/transforms/hy_AREVMDA-am.yml +10 -0
  222. data/resources/shared/transforms/hy_AREVMDA-ar.yml +10 -0
  223. data/resources/shared/transforms/hy_AREVMDA-fa.yml +10 -0
  224. data/resources/shared/transforms/hy_AREVMDA-hy_AREVMDA_FONIPA.yml +82 -0
  225. data/resources/shared/transforms/ia-am.yml +10 -0
  226. data/resources/shared/transforms/ia-ar.yml +10 -0
  227. data/resources/shared/transforms/ia-fa.yml +10 -0
  228. data/resources/shared/transforms/ia-ia_FONIPA.yml +69 -0
  229. data/resources/shared/transforms/ja_Hrkt-ja_Latn-BGN.yml +310 -0
  230. data/resources/shared/transforms/ka-ka_Latn-BGN.yml +44 -0
  231. data/resources/shared/transforms/kk-am.yml +10 -0
  232. data/resources/shared/transforms/kk-ar.yml +10 -0
  233. data/resources/shared/transforms/kk-fa.yml +10 -0
  234. data/resources/shared/transforms/kk-kk_FONIPA.yml +53 -0
  235. data/resources/shared/transforms/kk-kk_Latn-BGN.yml +136 -0
  236. data/resources/shared/transforms/ko-ko_Latn-BGN.yml +282 -0
  237. data/resources/shared/transforms/ky-am.yml +10 -0
  238. data/resources/shared/transforms/ky-ar.yml +10 -0
  239. data/resources/shared/transforms/ky-fa.yml +10 -0
  240. data/resources/shared/transforms/ky-ky_FONIPA.yml +73 -0
  241. data/resources/shared/transforms/ky-ky_Latn-BGN.yml +107 -0
  242. data/resources/shared/transforms/la-la_FONIPA.yml +0 -8
  243. data/resources/shared/transforms/mk-mk_Latn-BGN.yml +89 -0
  244. data/resources/shared/transforms/mn-mn_Latn-BGN.yml +101 -0
  245. data/resources/shared/transforms/mn-mn_Latn-MNS.yml +89 -0
  246. data/resources/shared/transforms/my-am.yml +10 -0
  247. data/resources/shared/transforms/my-ar.yml +10 -0
  248. data/resources/shared/transforms/my-fa.yml +10 -0
  249. data/resources/shared/transforms/my-my_FONIPA.yml +260 -0
  250. data/resources/shared/transforms/pl-am.yml +10 -0
  251. data/resources/shared/transforms/pl-ar.yml +10 -0
  252. data/resources/shared/transforms/pl-fa.yml +10 -0
  253. data/resources/shared/transforms/ps-ps_Latn-BGN.yml +151 -0
  254. data/resources/shared/transforms/rm_SURSILV-am.yml +10 -0
  255. data/resources/shared/transforms/rm_SURSILV-ar.yml +10 -0
  256. data/resources/shared/transforms/rm_SURSILV-fa.yml +10 -0
  257. data/resources/shared/transforms/rm_SURSILV-rm_FONIPA_SURSILV.yml +84 -0
  258. data/resources/shared/transforms/ro-am.yml +10 -0
  259. data/resources/shared/transforms/ro-ar.yml +10 -0
  260. data/resources/shared/transforms/ro-fa.yml +10 -0
  261. data/resources/shared/transforms/ro-ro_FONIPA.yml +38 -6
  262. data/resources/shared/transforms/ro_FONIPA-ja.yml +1 -0
  263. data/resources/shared/transforms/ru-ru_Latn-BGN.yml +121 -0
  264. data/resources/shared/transforms/ru_Latn-ru-BGN.yml +101 -0
  265. data/resources/shared/transforms/sat-am.yml +10 -0
  266. data/resources/shared/transforms/sat-ar.yml +10 -0
  267. data/resources/shared/transforms/sat-fa.yml +10 -0
  268. data/resources/shared/transforms/sat_Olck-sat_FONIPA.yml +132 -0
  269. data/resources/shared/transforms/si-am.yml +10 -0
  270. data/resources/shared/transforms/si-ar.yml +10 -0
  271. data/resources/shared/transforms/si-fa.yml +10 -0
  272. data/resources/shared/transforms/si-si_FONIPA.yml +128 -0
  273. data/resources/shared/transforms/si-si_Latn.yml +96 -0
  274. data/resources/shared/transforms/sk-am.yml +10 -0
  275. data/resources/shared/transforms/sk-ar.yml +10 -0
  276. data/resources/shared/transforms/sk-fa.yml +10 -0
  277. data/resources/shared/transforms/sk-sk_FONIPA.yml +18 -2
  278. data/resources/shared/transforms/sk_FONIPA-ja.yml +2 -0
  279. data/resources/shared/transforms/sr-sr_Latn-BGN.yml +81 -0
  280. data/resources/shared/transforms/tk_Cyrl-tk-BGN.yml +122 -0
  281. data/resources/shared/transforms/tlh-am.yml +10 -0
  282. data/resources/shared/transforms/tlh-ar.yml +10 -0
  283. data/resources/shared/transforms/tlh-fa.yml +10 -0
  284. data/resources/shared/transforms/tlh-tlh_FONIPA.yml +0 -8
  285. data/resources/shared/transforms/uk-uk_Latn-BGN.yml +115 -0
  286. data/resources/shared/transforms/und_FONIPA-ar.yml +96 -0
  287. data/resources/shared/transforms/und_FONIPA-fa.yml +88 -0
  288. data/resources/shared/transforms/und_FONIPA-und_FONXSAMP.yml +198 -0
  289. data/resources/shared/transforms/uz_Cyrl-uz-BGN.yml +117 -0
  290. data/resources/shared/transforms/xh-am.yml +10 -0
  291. data/resources/shared/transforms/xh-ar.yml +10 -0
  292. data/resources/shared/transforms/xh-fa.yml +10 -0
  293. data/resources/shared/transforms/xh-xh_FONIPA.yml +71 -0
  294. data/resources/shared/transforms/zu-am.yml +10 -0
  295. data/resources/shared/transforms/zu-ar.yml +10 -0
  296. data/resources/shared/transforms/zu-fa.yml +10 -0
  297. data/resources/shared/transforms/zu-zu_FONIPA.yml +58 -0
  298. data/spec/formatters/numbers/rbnf/rbnf_spec.rb +3 -1
  299. data/spec/resources/loader_spec.rb +12 -5
  300. data/spec/spec_helper.rb +1 -1
  301. metadata +242 -10
  302. data/History.txt +0 -282
  303. data/lib/twitter_cldr/resources/collation_tries_dumper.rb +0 -43
  304. data/lib/twitter_cldr/resources/custom_locales_resources_importer.rb +0 -80
  305. data/lib/twitter_cldr/resources/download.rb +0 -64
  306. data/lib/twitter_cldr/resources/icu_based_importer.rb +0 -18
  307. data/lib/twitter_cldr/resources/properties/properties_importer.rb +0 -59
  308. data/lib/twitter_cldr/resources/unicode_importer.rb +0 -37
@@ -0,0 +1,96 @@
1
+ ---
2
+ :transforms:
3
+ -
4
+ :direction: forward
5
+ :rules:
6
+ - "$IVowel = [i ɪ e {e̞}];"
7
+ - "$UVowel = [y {ɨ} {ʉ} ɯ u ʏ {ɪ̈} {ʊ̈} {ɯ̽} {ʊ} ø ɤ o {ø̞} {ɤ̞} {o̞} ɞ ɔ w {w̥} ʍ ʷ];"
8
+ - "$AVowel = [ɛ œ ɜ ʌ æ ɐ a ɶ {ä} {ɒ̈} ɑ ɒ];"
9
+ - "$SchwaVowel = [ɘ ɵ ə {ɵ̞}];"
10
+ - "$Vowel = [$IVowel $UVowel $AVowel $SchwaVowel];"
11
+ - "$Click = [ʘ ɋ ǀ ʇ ǃ ʗ ǂ ʄ ǁ ʖ];"
12
+ - "$Boundary = [^[:L:][:M:][:N:]];"
13
+ - "::NFD;"
14
+ - "[ʰ ʱ ʼ ̃ ̰ ̋ ́ ̄ ̀ ̏ ̌ ̂ ˥ ˦ ˧ ˨ ˩ ꜜ ꜛ ↗ ↘ ͡ ͜ ̯] > ;"
15
+ - "ʲ > j;"
16
+ - "ᵐ > m;"
17
+ - "ⁿ > n;"
18
+ - "ᵑ > ŋ;"
19
+ - "::NFC;"
20
+ - "$UVowel [j $IVowel] [e {e̞} $SchwaVowel] > uia;"
21
+ - "yʉ > iu;"
22
+ - "::NULL;"
23
+ - "$Boundary {ʔ? $IVowel ː} > إِي;"
24
+ - "$Boundary {ʔ? $IVowel} > إِ;"
25
+ - "{$IVowel ʔ} $Boundary > ئ;"
26
+ - "{$IVowel ː ʔ} $Boundary > يء;"
27
+ - "{$IVowel ː ʔ} [$Vowel] > ئ;"
28
+ - "$IVowel ː? > ي;"
29
+ - "$Boundary {ʔ? $UVowel ː} > أو;"
30
+ - "$Boundary {ʔ? $UVowel} > أ;"
31
+ - "{$UVowel ʔ} $Boundary > ؤ;"
32
+ - "{$UVowel ː ʔ} $Boundary > وء;"
33
+ - "$UVowel ː? > و;"
34
+ - "$Boundary {ʔ? $AVowel ː} > آ;"
35
+ - "$Boundary {ʔ? $AVowel} > أ;"
36
+ - "{$AVowel ʔ} $Boundary > أ;"
37
+ - "{$AVowel ː ʔ} $Boundary > اء;"
38
+ - "$AVowel ː? ʔ $AVowel ː? > اءا;"
39
+ - "$AVowel ː? > ا;"
40
+ - "$Boundary {ʔ? $SchwaVowel ː} > إِي;"
41
+ - "$Boundary {ʔ? $SchwaVowel} > أ;"
42
+ - "$SchwaVowel ː > ي;"
43
+ - "$SchwaVowel > ;"
44
+ - "ʔ > ;"
45
+ - "ː > ّ;"
46
+ - "[{t͡ʃ} ʧ] > تْش;"
47
+ - "[ɡ g ɠ k] $Click > كْش;"
48
+ - "$Click > تْش;"
49
+ - "[{m̥} m ɱ] > م;"
50
+ - "[{n̼̊} {n̼} {n̥} n {ɳ̊} ɳ {ɲ̊} {ɲ̥} ɲ] > ن;"
51
+ - "[{ŋ̊} ŋ {ɴ̥} ɴ] k > نك;"
52
+ - "[{ŋ̊} ŋ {ɴ̥} ɴ] [ɡ g ɠ]? > نْغ;"
53
+ - "[p b {p̪} {b̪} ɓ] > ب;"
54
+ - "[{d̼} d ɗ ᶑ] > د;"
55
+ - "[{t̼} t] > ت;"
56
+ - "[ʈ] > ط;"
57
+ - "[ɖ] > ض;"
58
+ - "c > تْش;"
59
+ - "ɟ > دج;"
60
+ - "k > ك;"
61
+ - "[ɡ g ɠ] > غ;"
62
+ - "[q ɢ ʡ ʛ] > ق;"
63
+ - "s > س;"
64
+ - "z > ز;"
65
+ - "[ʃ ʂ ɕ ʄ] > ش;"
66
+ - "[ʒ ʐ ʑ] > ج;"
67
+ - "[ɸ f v] > ف;"
68
+ - "β > ب;"
69
+ - "[{θ̼} θ {θ̱}] > ث;"
70
+ - "[{ð̼} ð {ð̠}] > ذ;"
71
+ - "ç > ش;"
72
+ - "ʝ $IVowel? ː? > ي;"
73
+ - "[x χ] > خ;"
74
+ - "[ɣ ʁ] > غ;"
75
+ - "ħ > ح;"
76
+ - "ʕ > ع;"
77
+ - "[h ɦ {ʔ̞}] > ه;"
78
+ - "ʋ > و;"
79
+ - "ʙ > بر;"
80
+ - "{r̝} > رش;"
81
+ - "[{ɹ̥} {ɹ} {ɻ̊} {ɻ} {ɾ̥} ɾ {ɽ̊} ɽ {r̼} {r̥} r] > ر;"
82
+ - "[{ʀ̥} ʀ] > غ;"
83
+ - "ʜ > ح;"
84
+ - "ʢ > ع;"
85
+ - "j $IVowel? ː? > ي;"
86
+ - "ɬ > شْل;"
87
+ - "ɮ > جْل;"
88
+ - "{[{ʎ̥} ʎ]} [^ $IVowel j ʝ] > لي;"
89
+ - "[{l̼} {l̥} l {ɭ̊} ɭ {ʎ̥} ʎ] > ل;"
90
+ - "[ʟ {ʟ̠}] > غ;"
91
+ - "::NULL;"
92
+ - "\\. > ;"
93
+ - "ووو+ > وو;"
94
+ :source: und_FONIPA
95
+ :target: ar
96
+ :variant: ~
@@ -0,0 +1,88 @@
1
+ ---
2
+ :transforms:
3
+ -
4
+ :direction: forward
5
+ :rules:
6
+ - "$IVowel = [i ɪ e {e̞}];"
7
+ - "$UVowel = [y {ɨ} {ʉ} ɯ u ʏ {ɪ̈} {ʊ̈} {ɯ̽} {ʊ} ø ɤ o {ø̞} {ɤ̞} {o̞} ɔ w {w̥} ʍ ʷ];"
8
+ - "$AVowel = [ɛ œ ɜ æ ɶ];"
9
+ - "$DarkAVowel = [ʌ a ɑ ɒ ɐ ɞ {ä} {ɒ̈}]; # آ instead of ا at beginning of words"
10
+ - "$SchwaVowel = [ɘ ɵ ə {ɵ̞}];"
11
+ - "$Click = [ʘ ɋ ǀ ʇ ǃ ʗ ǂ ʄ ǁ ʖ];"
12
+ - "$Boundary = [^[:L:][:M:][:N:]];"
13
+ - "::NFD;"
14
+ - "[ʰ ʱ ʼ ̃ ̰ ̋ ́ ̄ ̀ ̏ ̌ ̂ ˥ ˦ ˧ ˨ ˩ ꜜ ꜛ ↗ ↘ ͡ ͜ ̯] > ;"
15
+ - "ʲ > j;"
16
+ - "ᵐ > m;"
17
+ - "ⁿ > n;"
18
+ - "ᵑ > ŋ;"
19
+ - "::NFC;"
20
+ - "$UVowel [j $IVowel] [e {e̞} $SchwaVowel] > uia;"
21
+ - "yʉ > iu;"
22
+ - "::NULL;"
23
+ - "$Boundary {$SchwaVowel ː?} > ای;"
24
+ - "$SchwaVowel ː > ی;"
25
+ - "{[$SchwaVowel e {e̞}]} [^[:L:][:M:][:N:][\\.]] > ه;"
26
+ - "$SchwaVowel > ;"
27
+ - "$Boundary {$IVowel ː?} > ای;"
28
+ - "$IVowel ː? j? > ی;"
29
+ - "$Boundary {$UVowel ː?} > او;"
30
+ - "$UVowel ː? > و;"
31
+ - "$Boundary {$AVowel ː?} > ا;"
32
+ - "$AVowel ː? > ا;"
33
+ - "$Boundary {$DarkAVowel ː?} > آ;"
34
+ - "$DarkAVowel ː? > ا;"
35
+ - "ː > ّ;"
36
+ - "[{t͡ʃ} ʧ] > چ;"
37
+ - "[ɡ g ɠ k] $Click > کچ;"
38
+ - "[n ɲ]? $Click > نچ;"
39
+ - "[{m̥} m ɱ] > م;"
40
+ - "[{n̼̊} {n̼} {n̥} n {ɳ̊} ɳ {ɲ̊} {ɲ̥} ɲ] > ن;"
41
+ - "[{ŋ̊} ŋ {ɴ̥} ɴ] k > نک;"
42
+ - "[{ŋ̊} ŋ {ɴ̥} ɴ] [ɡ g]? > نگ;"
43
+ - "[p {p̪}] > پ;"
44
+ - "[b {b̪} ɓ] > ب;"
45
+ - "[{d̼} d ɗ ᶑ] > د;"
46
+ - "[{t̼} t] > ت;"
47
+ - "[ʈ] > ط;"
48
+ - "[ɖ] > ض;"
49
+ - "c > چ;"
50
+ - "ɟ > دج;"
51
+ - "k > ک;"
52
+ - "[ɡ g ɠ] > گ;"
53
+ - "[q ɢ ʡ ʛ] > ق;"
54
+ - "ʔ > ;"
55
+ - "s > س;"
56
+ - "z > ز;"
57
+ - "[ʃ ʂ ɕ ʄ] > ش;"
58
+ - "[ʒ ʐ ʑ] > ژ;"
59
+ - "[ɸ f] > ف;"
60
+ - "[β v] > و;"
61
+ - "[{θ̼} θ {θ̱}] > ث;"
62
+ - "[{ð̼} ð {ð̠}] > ذ;"
63
+ - "ç > ش;"
64
+ - "ʝ $IVowel? ː? > ی;"
65
+ - "[x χ] > خ;"
66
+ - "[ɣ ʁ] > غ;"
67
+ - "ħ > ح;"
68
+ - "ʕ > ع;"
69
+ - "[h ɦ {ʔ̞}] > ه;"
70
+ - "ʋ > و;"
71
+ - "ʙ > بر;"
72
+ - "{r̝} > رژ;"
73
+ - "[{ɹ̥} {ɹ} {ɻ̊} {ɻ} {ɾ̥} ɾ {ɽ̊} ɽ {r̼} {r̥} r] > ر;"
74
+ - "[{ʀ̥} ʀ] > غ;"
75
+ - "ʜ > ح;"
76
+ - "ʢ > ع;"
77
+ - "j $IVowel? ː? > ی;"
78
+ - "ɬ > شل;"
79
+ - "ɮ > ژل;"
80
+ - "{[{ʎ̥} ʎ]} [^ $IVowel j ʝ] > لی;"
81
+ - "[{l̼} {l̥} l {ɭ̊} ɭ {ʎ̥} ʎ] > ل;"
82
+ - "[ʟ {ʟ̠}] > غ;"
83
+ - "::NULL;"
84
+ - "\\. > ;"
85
+ - "ووو+ > وو;"
86
+ :source: und_FONIPA
87
+ :target: fa
88
+ :variant: ~
@@ -0,0 +1,198 @@
1
+ ---
2
+ :transforms:
3
+ -
4
+ :direction: both
5
+ :rules:
6
+ - "$t = '_'; # X-SAMPA representation of IPA tie bar."
7
+ - "::NFD(NFC);"
8
+ - "ʯ <> 'z`_w='; # LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL"
9
+ - "n\\u031F\\u030A < 'n_+_0';"
10
+ - "n\\u0320\\u030A < 'n_-_0';"
11
+ - "n\\u032A\\u030A < 'n_d_0';"
12
+ - "n\\u033A\\u030A < 'n_a_0';"
13
+ - "n\\u033B\\u030A < 'n_m_0';"
14
+ - "n\\u033C\\u030A < 'n_N_0';"
15
+ - "ɻ\\u030A < 'r\\`_0';"
16
+ - "ǁ <> '|\\|\\'; # LATIN LETTER LATERAL CLICK"
17
+ - "ʄ <> 'J\\_<'; # LATIN SMALL LETTER DOTLESS J WITH STROKE AND HOOK"
18
+ - "ʛ <> 'G\\_<'; # LATIN LETTER SMALL CAPITAL G WITH HOOK"
19
+ - "ʮ <> 'z_w='; # LATIN SMALL LETTER TURNED H WITH FISHHOOK"
20
+ - "\\u1DC4 <> '_H_T'; # COMBINING MACRON-ACUTE"
21
+ - "\\u1DC5 <> '_B_L'; # COMBINING GRAVE-MACRON"
22
+ - "\\u1DC8 <> '_R_F'; # COMBINING GRAVE-ACUTE-GRAVE"
23
+ - "ɭ\\u030A < 'l`_0';"
24
+ - "ɰ\\u030A < 'M\\_0';"
25
+ - "ɳ\\u030A < 'n`_0';"
26
+ - "ɽ\\u030A < 'r`_0';"
27
+ - "ɓ <> 'b_<'; # LATIN SMALL LETTER B WITH HOOK"
28
+ - "ɗ <> 'd_<'; # LATIN SMALL LETTER D WITH HOOK"
29
+ - "ɠ <> 'g_<'; # LATIN SMALL LETTER G WITH HOOK"
30
+ - "ɻ <> 'r\\`'; # LATIN SMALL LETTER TURNED R WITH HOOK"
31
+ - "↗ <> '<R>'; # NORTH EAST ARROW"
32
+ - "↘ <> '<F>'; # SOUTH EAST ARROW"
33
+ - "j\\u030A < 'j_0';"
34
+ - "ŋ\\u030A < 'N_0';"
35
+ - "ɥ\\u030A < 'H_0';"
36
+ - "ɱ\\u030A < 'F_0';"
37
+ - "ɲ\\u030A < 'J_0';"
38
+ - "ħ <> 'X\\'; # LATIN SMALL LETTER H WITH STROKE"
39
+ - "ǀ <> '|\\'; # LATIN LETTER DENTAL CLICK"
40
+ - "ǂ <> '=\\'; # LATIN LETTER ALVEOLAR CLICK"
41
+ - "ǃ <> '!\\'; # LATIN LETTER RETROFLEX CLICK"
42
+ - "ɕ <> 's\\'; # LATIN SMALL LETTER C WITH CURL"
43
+ - "ɖ <> 'd`'; # LATIN SMALL LETTER D WITH TAIL"
44
+ - "ɘ <> '@\\'; # LATIN SMALL LETTER REVERSED E"
45
+ - "ɚ <> '@`'; # LATIN SMALL LETTER SCHWA WITH HOOK"
46
+ - "ɝ <> '3`'; # LATIN SMALL LETTER REVERSED OPEN E WITH HOOK"
47
+ - "ɞ <> '3\\'; # LATIN SMALL LETTER CLOSED REVERSED OPEN E"
48
+ - "ɟ <> 'J\\'; # LATIN SMALL LETTER DOTLESS J WITH STROKE"
49
+ - "ɢ <> 'G\\'; # LATIN LETTER SMALL CAPITAL G"
50
+ - "ɦ <> 'h\\'; # LATIN SMALL LETTER H WITH HOOK"
51
+ - "ɧ <> 'x\\'; # LATIN SMALL LETTER HENG WITH HOOK"
52
+ - "ɭ <> 'l`'; # LATIN SMALL LETTER L WITH RETROFLEX HOOK"
53
+ - "ɮ <> 'K\\'; # LATIN SMALL LETTER LEZH"
54
+ - "ɰ <> 'M\\'; # LATIN SMALL LETTER TURNED M WITH LONG LEG"
55
+ - "ɳ <> 'n`'; # LATIN SMALL LETTER N WITH RETROFLEX HOOK"
56
+ - "ɴ <> 'N\\'; # LATIN LETTER SMALL CAPITAL N"
57
+ - "ɸ <> 'p\\'; # LATIN SMALL LETTER PHI"
58
+ - "ɹ <> 'r\\'; # LATIN SMALL LETTER TURNED R"
59
+ - "ɺ <> 'l\\'; # LATIN SMALL LETTER TURNED R WITH LONG LEG"
60
+ - "ɽ <> 'r`'; # LATIN SMALL LETTER R WITH TAIL"
61
+ - "ʀ <> 'R\\'; # LATIN LETTER SMALL CAPITAL R"
62
+ - "ʂ <> 's`'; # LATIN SMALL LETTER S WITH HOOK"
63
+ - "ʈ <> 't`'; # LATIN SMALL LETTER T WITH RETROFLEX HOOK"
64
+ - "ʐ <> 'z`'; # LATIN SMALL LETTER Z WITH RETROFLEX HOOK"
65
+ - "ʑ <> 'z\\'; # LATIN SMALL LETTER Z WITH CURL"
66
+ - "ʕ <> '?\\'; # LATIN LETTER PHARYNGEAL VOICED FRICATIVE"
67
+ - "ʘ <> 'O\\'; # LATIN LETTER BILABIAL CLICK"
68
+ - "ʙ <> 'B\\'; # LATIN LETTER SMALL CAPITAL B"
69
+ - "ʜ <> 'H\\'; # LATIN LETTER SMALL CAPITAL H"
70
+ - "ʝ <> 'j\\'; # LATIN SMALL LETTER J WITH CROSSED-TAIL"
71
+ - "ʟ <> 'L\\'; # LATIN LETTER SMALL CAPITAL L"
72
+ - "ʡ <> '>\\'; # LATIN LETTER GLOTTAL STOP WITH STROKE"
73
+ - "ʢ <> '<\\'; # LATIN LETTER REVERSED GLOTTAL STOP WITH STROKE"
74
+ - "ʰ <> '_h'; # MODIFIER LETTER SMALL H"
75
+ - "ʷ <> '_w'; # MODIFIER LETTER SMALL W"
76
+ - "ʼ <> '_>'; # MODIFIER LETTER APOSTROPHE"
77
+ - "ˆ <> '_\\'; # MODIFIER LETTER CIRCUMFLEX ACCENT"
78
+ - "ˇ <> '_/'; # CARON"
79
+ - "ˑ <> ':\\'; # MODIFIER LETTER HALF TRIANGULAR COLON"
80
+ - "ˠ <> '_G'; # MODIFIER LETTER SMALL GAMMA"
81
+ - "ˡ <> '_l'; # MODIFIER LETTER SMALL L"
82
+ - "ˤ <> '_?\\'; # MODIFIER LETTER SMALL REVERSED GLOTTAL STOP"
83
+ - "\\u0300 <> '_L'; # COMBINING GRAVE ACCENT"
84
+ - "\\u0301 <> '_H'; # COMBINING ACUTE ACCENT"
85
+ - "\\u0302 <> '_F'; # COMBINING CIRCUMFLEX ACCENT"
86
+ - "\\u0304 <> '_M'; # COMBINING MACRON"
87
+ - "\\u0306 <> '_X'; # COMBINING BREVE"
88
+ - "\\u0308 <> '_\"'; # COMBINING DIAERESIS"
89
+ - "\\u030B <> '_T'; # COMBINING DOUBLE ACUTE ACCENT"
90
+ - "\\u030C <> '_R'; # COMBINING CARON"
91
+ - "\\u030F <> '_B'; # COMBINING DOUBLE GRAVE ACCENT"
92
+ - "\\u0318 <> '_A'; # COMBINING LEFT TACK BELOW"
93
+ - "\\u0319 <> '_q'; # COMBINING RIGHT TACK BELOW"
94
+ - "\\u031A <> '_}'; # COMBINING LEFT ANGLE ABOVE"
95
+ - "\\u031C <> '_c'; # COMBINING LEFT HALF RING BELOW"
96
+ - "\\u031D <> '_r'; # COMBINING UP TACK BELOW"
97
+ - "\\u031E <> '_o'; # COMBINING DOWN TACK BELOW"
98
+ - "\\u031F <> '_+'; # COMBINING PLUS SIGN BELOW"
99
+ - "\\u0320 <> '_-'; # COMBINING MINUS SIGN BELOW"
100
+ - "\\u0324 <> '_t'; # COMBINING DIAERESIS BELOW"
101
+ - "\\u0325 <> '_0'; # COMBINING RING BELOW"
102
+ - "\\u032A <> '_d'; # COMBINING BRIDGE BELOW"
103
+ - "\\u032C <> '_v'; # COMBINING CARON BELOW"
104
+ - "\\u032F <> '_^'; # COMBINING INVERTED BREVE BELOW"
105
+ - "\\u0330 <> '_k'; # COMBINING TILDE BELOW"
106
+ - "\\u0334 <> '_e'; # COMBINING TILDE OVERLAY"
107
+ - "\\u0339 <> '_O'; # COMBINING RIGHT HALF RING BELOW"
108
+ - "\\u033A <> '_a'; # COMBINING INVERTED BRIDGE BELOW"
109
+ - "\\u033B <> '_m'; # COMBINING SQUARE BELOW"
110
+ - "\\u033C <> '_N'; # COMBINING SEAGULL BELOW"
111
+ - "\\u033D <> '_x'; # COMBINING X ABOVE"
112
+ - "ᵻ <> 'I\\'; # LATIN SMALL CAPITAL LETTER I WITH STROKE"
113
+ - "ᵿ <> 'U\\'; # LATIN SMALL CAPITAL LETTER U WITH STROKE"
114
+ - "ⁿ <> '_n'; # MODIFIER LETTER LATIN SMALL LETTER N"
115
+ - "ʋ < 'v\\'; # LATIN SMALL LETTER V WITH HOOK"
116
+ - "ʲ < '_j'; # MODIFIER LETTER SMALL J"
117
+ - "\\u0303 < '_~'; # COMBINING TILDE"
118
+ - "\\u0329 < '_='; # COMBINING VERTICAL LINE BELOW"
119
+ - "c\\u0327 <> C; # LATIN SMALL LETTER C WITH CEDILLA (decomposed)"
120
+ - "æ <> '{'; # LATIN SMALL LETTER AE"
121
+ - "ð <> D; # LATIN SMALL LETTER ETH"
122
+ - "ø <> 2; # LATIN SMALL LETTER O WITH STROKE"
123
+ - "ŋ <> N; # LATIN SMALL LETTER ENG"
124
+ - "œ <> 9; # LATIN SMALL LIGATURE OE"
125
+ - "ɐ <> 6; # LATIN SMALL LETTER TURNED A"
126
+ - "ɑ <> A; # LATIN SMALL LETTER ALPHA"
127
+ - "ɒ <> Q; # LATIN SMALL LETTER TURNED ALPHA"
128
+ - "ɔ <> O; # LATIN SMALL LETTER OPEN O"
129
+ - "ə <> '@'; # LATIN SMALL LETTER SCHWA"
130
+ - "ɛ <> E; # LATIN SMALL LETTER OPEN E"
131
+ - "ɜ <> 3; # LATIN SMALL LETTER REVERSED OPEN E"
132
+ - "ɡ <> g; # LATIN SMALL LETTER SCRIPT G"
133
+ - "ɣ <> G; # LATIN SMALL LETTER GAMMA"
134
+ - "ɤ <> 7; # LATIN SMALL LETTER RAMS HORN"
135
+ - "ɥ <> H; # LATIN SMALL LETTER TURNED H"
136
+ - "ɨ <> 1; # LATIN SMALL LETTER I WITH STROKE"
137
+ - "ɪ <> I; # LATIN LETTER SMALL CAPITAL I"
138
+ - "ɫ <> 5; # LATIN SMALL LETTER L WITH MIDDLE TILDE"
139
+ - "ɬ <> K; # LATIN SMALL LETTER L WITH BELT"
140
+ - "ɯ <> M; # LATIN SMALL LETTER TURNED M"
141
+ - "ɱ <> F; # LATIN SMALL LETTER M WITH HOOK"
142
+ - "ɲ <> J; # LATIN SMALL LETTER N WITH LEFT HOOK"
143
+ - "ɵ <> 8; # LATIN SMALL LETTER BARRED O"
144
+ - "ɶ <> '&'; # LATIN LETTER SMALL CAPITAL OE"
145
+ - "ɾ <> 4; # LATIN SMALL LETTER R WITH FISHHOOK"
146
+ - "ʁ <> R; # LATIN LETTER SMALL CAPITAL INVERTED R"
147
+ - "ʃ <> S; # LATIN SMALL LETTER ESH"
148
+ - "ʉ <> '}'; # LATIN SMALL LETTER U BAR"
149
+ - "ʊ <> U; # LATIN SMALL LETTER UPSILON"
150
+ - "ʋ <> P; # LATIN SMALL LETTER V WITH HOOK"
151
+ - "ʌ <> V; # LATIN SMALL LETTER TURNED V"
152
+ - "ʍ <> W; # LATIN SMALL LETTER TURNED W"
153
+ - "ʎ <> L; # LATIN SMALL LETTER TURNED Y"
154
+ - "ʏ <> Y; # LATIN LETTER SMALL CAPITAL Y"
155
+ - "ʒ <> Z; # LATIN SMALL LETTER EZH"
156
+ - "ʔ <> '?'; # LATIN LETTER GLOTTAL STOP"
157
+ - "ʲ <> \\'; # MODIFIER LETTER SMALL J"
158
+ - "ˈ <> '\"'; # MODIFIER LETTER VERTICAL LINE"
159
+ - "ˌ <> '%'; # MODIFIER LETTER LOW VERTICAL LINE"
160
+ - "ː <> ':'; # MODIFIER LETTER TRIANGULAR COLON"
161
+ - "˞ <> '`'; # MODIFIER LETTER RHOTIC HOOK"
162
+ - "\\u0303 <> '~'; # COMBINING TILDE"
163
+ - "\\u0329 <> '='; # COMBINING VERTICAL LINE BELOW"
164
+ - "\\u0361 <> $t; # COMBINING DOUBLE INVERTED BREVE"
165
+ - "β <> B; # GREEK SMALL LETTER BETA"
166
+ - "θ <> T; # GREEK SMALL LETTER THETA"
167
+ - "χ <> X; # GREEK SMALL LETTER CHI"
168
+ - "↑ <> '^'; # UPWARDS ARROW"
169
+ - "↓ <> '!'; # DOWNWARDS ARROW"
170
+ - "g > g; # LATIN SMALL LETTER G (redundant, for additional clarity)"
171
+ - "ȵ > J; # LATIN SMALL LETTER N WITH CURL"
172
+ - "ɩ > I; # LATIN SMALL LETTER IOTA"
173
+ - "ɷ > U; # LATIN SMALL LETTER CLOSED OMEGA"
174
+ - "ɼ > 'r_r'; # LATIN SMALL LETTER R WITH LONG LEG"
175
+ - "ɿ > 'z='; # LATIN SMALL LETTER REVERSED R WITH FISHHOOK"
176
+ - "ʅ > 'z`='; # LATIN SMALL LETTER SQUAT REVERSED ESH"
177
+ - "ʆ > S\\'; # LATIN SMALL LETTER ESH WITH CURL"
178
+ - "ʇ > '|\\' ; # LATIN SMALL LETTER TURNED T"
179
+ - "ʓ > Z\\'; # LATIN SMALL LETTER EZH WITH CURL"
180
+ - "ʖ > '|\\|\\'; # LATIN LETTER INVERTED GLOTTAL STOP"
181
+ - "ʗ > '!\\'; # LATIN LETTER STRETCHED C"
182
+ - "ʚ > '3\\'; # LATIN SMALL LETTER CLOSED OPEN E"
183
+ - "ʠ > 'G\\_<_0'; # LATIN SMALL LETTER Q WITH HOOK"
184
+ - "ʣ > d $t z; # LATIN SMALL LETTER DZ DIGRAPH"
185
+ - "ʤ > d $t Z; # LATIN SMALL LETTER DEZH DIGRAPH"
186
+ - "ʥ > d $t 'z\\'; # LATIN SMALL LETTER DZ DIGRAPH WITH CURL"
187
+ - "ʦ > t $t s; # LATIN SMALL LETTER TS DIGRAPH"
188
+ - "ʧ > t $t S; # LATIN SMALL LETTER TESH DIGRAPH"
189
+ - "ʨ > t $t 's\\'; # LATIN SMALL LETTER TC DIGRAPH WITH CURL"
190
+ - "˔ > '_r'; # MODIFIER LETTER UP TACK"
191
+ - "˕ > '_o'; # MODIFIER LETTER DOWN TACK"
192
+ - "\\u030A > '_0'; # COMBINING RING ABOVE"
193
+ - "φ > 'p\\'; # GREEK SMALL LETTER PHI"
194
+ - "ꞎ > 'K`'; # LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT"
195
+ - "::NFC(NFD);"
196
+ :source: und_FONIPA
197
+ :target: und_FONXSAMP
198
+ :variant: ~
@@ -0,0 +1,117 @@
1
+ ---
2
+ :transforms:
3
+ -
4
+ :direction: forward
5
+ :rules:
6
+ - ":: [АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЪЬЭЮЯЎҚҒҲабвгдеёжзийклмнопрстуфхцчшъьэюяўқғҳ] ;"
7
+ - ":: NFD (NFC) ;"
8
+ - "$prime = ʹ ;"
9
+ - "$doublePrime = ʺ ;"
10
+ - "$upperConsonants = [БВГДЖЗЙКЛМНПРСТФХЦЧШЪЬҚҒҲ] ;"
11
+ - "$lowerConsonants = [бвгджзйклмнпрстфхцчшъьқғҳ] ;"
12
+ - "$consonants = [$upperConsonants $lowerConsonants] ;"
13
+ - "$upperVowels = [АЕЁИОУЭЮЯЎ] ;"
14
+ - "$lowerVowels = [аеёиоуэюяў] ;"
15
+ - "$vowels = [$upperVowels $lowerVowels] ;"
16
+ - "$lower = [$lowerConsonants $lowerVowels] ;"
17
+ - "$wordBoundary = [^[:L:][:M:][:N:]] ;"
18
+ - "$lowerVowels ы > y ;"
19
+ - "$upperVowels[Ыы] > Y ;"
20
+ - "А > A ; # CYRILLIC CAPITAL LETTER A"
21
+ - "а > a ; # CYRILLIC SMALL LETTER A"
22
+ - "Б > B ; # CYRILLIC CAPITAL LETTER BE"
23
+ - "б > b ; # CYRILLIC SMALL LETTER BE"
24
+ - "В > W ; # CYRILLIC CAPITAL LETTER VE"
25
+ - "в > w ; # CYRILLIC SMALL LETTER VE"
26
+ - "ГҲ > G·H ; # CYRILLIC CAPITAL LETTER GHE"
27
+ - "Гҳ > G·h ; # CYRILLIC CAPITAL LETTER GHE"
28
+ - "гҳ > g·h ; # CYRILLIC SMALL LETTER GHE"
29
+ - "Г > G ; # CYRILLIC CAPITAL LETTER GHE"
30
+ - "г > g ; # CYRILLIC SMALL LETTER GHE"
31
+ - "Д > D ; # CYRILLIC CAPITAL LETTER DE"
32
+ - "д > d ; # CYRILLIC SMALL LETTER DE"
33
+ - "Е}[$upperVowels [ЙЬ]] > YE ; # CYRILLIC CAPITAL LETTER IE"
34
+ - "Е}[$lowerVowels [йь]] > Ye ; # CYRILLIC CAPITAL LETTER IE"
35
+ - "$wordBoundary{Е > Ye ; # CYRILLIC CAPITAL LETTER IE"
36
+ - "Е > E ; # CYRILLIC CAPITAL LETTER IE"
37
+ - "е}[$upperVowels $lowerVowels [ЙйЬь]] > ye ; # CYRILLIC SMALL LETTER IE"
38
+ - "$wordBoundary{е > ye ; # CYRILLIC SMALL LETTER IE"
39
+ - "е > e ; # CYRILLIC SMALL LETTER IE"
40
+ - "Ё} $lower > Yo ; # CYRILLIC CAPITAL LETTER IO"
41
+ - "Ё > YO ; # CYRILLIC CAPITAL LETTER IO"
42
+ - "ё > yo ; # CYRILLIC SMALL LETTER IO"
43
+ - "Ж > J ; # CYRILLIC CAPITAL LETTER ZHE"
44
+ - "ж > j ; # CYRILLIC SMALL LETTER ZHE"
45
+ - "З > Z ; # CYRILLIC CAPITAL LETTER ZE"
46
+ - "з > z ; # CYRILLIC SMALL LETTER ZE"
47
+ - "И > I ; # CYRILLIC CAPITAL LETTER I"
48
+ - "и > i ; # CYRILLIC SMALL LETTER I"
49
+ - "Й > Y ; # CYRILLIC CAPITAL LETTER I"
50
+ - "й > y ; # CYRILLIC SMALL LETTER I"
51
+ - "КҲ > K·H ; # CYRILLIC CAPITAL LETTER KA"
52
+ - "Кҳ > K·h ; # CYRILLIC CAPITAL LETTER KA"
53
+ - "кҳ > k·h ; # CYRILLIC SMALL LETTER KA"
54
+ - "К > K ; # CYRILLIC CAPITAL LETTER KA"
55
+ - "к > k ; # CYRILLIC SMALL LETTER KA"
56
+ - "Л > L ; # CYRILLIC CAPITAL LETTER EL"
57
+ - "л > l ; # CYRILLIC SMALL LETTER EL"
58
+ - "М > M ; # CYRILLIC CAPITAL LETTER EM"
59
+ - "м > m ; # CYRILLIC SMALL LETTER EM"
60
+ - "Н > N ; # CYRILLIC CAPITAL LETTER EN"
61
+ - "н > n ; # CYRILLIC SMALL LETTER EN"
62
+ - "О > O ; # CYRILLIC CAPITAL LETTER O"
63
+ - "о > o ; # CYRILLIC SMALL LETTER O"
64
+ - "П > P ; # CYRILLIC CAPITAL LETTER PE"
65
+ - "п > p ; # CYRILLIC SMALL LETTER PE"
66
+ - "Р > R ; # CYRILLIC CAPITAL LETTER ER"
67
+ - "р > r ; # CYRILLIC SMALL LETTER ER"
68
+ - "СҲ > S·H ; # CYRILLIC CAPITAL LETTER ES"
69
+ - "Сҳ > S·h ; # CYRILLIC CAPITAL LETTER ES"
70
+ - "сҳ > s·h ; # CYRILLIC SMALL LETTER ES"
71
+ - "С > S ; # CYRILLIC CAPITAL LETTER ES"
72
+ - "с > s ; # CYRILLIC SMALL LETTER ES"
73
+ - "Т > T ; # CYRILLIC CAPITAL LETTER TE"
74
+ - "т > t ; # CYRILLIC SMALL LETTER TE"
75
+ - "У > Ū ; # CYRILLIC CAPITAL LETTER U"
76
+ - "у > ū ; # CYRILLIC SMALL LETTER U"
77
+ - "Ф > F ; # CYRILLIC CAPITAL LETTER EF"
78
+ - "ф > f ; # CYRILLIC SMALL LETTER EF"
79
+ - "Х} $lower > Kh ; # CYRILLIC CAPITAL LETTER HA"
80
+ - "Х > KH ; # CYRILLIC CAPITAL LETTER HA"
81
+ - "х > kh ; # CYRILLIC SMALL LETTER HA"
82
+ - "ЦҲ > TS·H ; # CYRILLIC CAPITAL LETTER GHE"
83
+ - "Цҳ > Ts·h ; # CYRILLIC CAPITAL LETTER GHE"
84
+ - "цҳ > ts·h ; # CYRILLIC SMALL LETTER GHE"
85
+ - "Ц} $lower > Ts ; # CYRILLIC CAPITAL LETTER TSE"
86
+ - "Ц > TS ; # CYRILLIC CAPITAL LETTER TSE"
87
+ - "ц > ts ; # CYRILLIC SMALL LETTER TSE"
88
+ - "Ч} $lower > Ch ; # CYRILLIC CAPITAL LETTER CHE"
89
+ - "Ч > CH ; # CYRILLIC CAPITAL LETTER CHE"
90
+ - "ч > ch ; # CYRILLIC SMALL LETTER CHE"
91
+ - "Ш} $lower > Sh ; # CYRILLIC CAPITAL LETTER SHA"
92
+ - "Ш > SH ; # CYRILLIC CAPITAL LETTER SHA"
93
+ - "ш > sh ; # CYRILLIC SMALL LETTER SHA"
94
+ - "Ъ > $prime ; # CYRILLIC CAPITAL LETTER HARD SIGN"
95
+ - "ъ > $prime ; # CYRILLIC SMALL LETTER HARD SIGN"
96
+ - "Ь > $prime ; # CYRILLIC CAPITAL LETTER SOFT SIGN"
97
+ - "ь > $prime ; # CYRILLIC SMALL LETTER SOFT SIGN"
98
+ - "Э > e ; # CYRILLIC CAPITAL LETTER E"
99
+ - "э > e ; # CYRILLIC SMALL LETTER E"
100
+ - "Ю} $lower > Yu ; # CYRILLIC CAPITAL LETTER YU"
101
+ - "Ю > YU ; # CYRILLIC CAPITAL LETTER YU"
102
+ - "ю > yu ; # CYRILLIC SMALL LETTER YU"
103
+ - "Я} $lower > Ya ; # CYRILLIC CAPITAL LETTER YA"
104
+ - "Я > YA ; # CYRILLIC CAPITAL LETTER YA"
105
+ - "я > ya ; # CYRILLIC SMALL LETTER YA"
106
+ - "Ў > Ŭ ; # CYRILLIC CAPITAL LETTER SHORT U"
107
+ - "ў > ŭ ; # CYRILLIC SMALL LETTER SHORT U"
108
+ - "Қ > Q ; # CYRILLIC CAPITAL LETTER KA WITH DESCENDER"
109
+ - "қ > q ; # CYRILLIC SMALL LETTER KA WITH DESCENDER"
110
+ - "Ғ} $lower > Gh ; # CYRILLIC CAPITAL LETTER GHE WITH STROKE"
111
+ - "Ғ > GH ; # CYRILLIC CAPITAL LETTER GHE WITH STROKE"
112
+ - "ғ > gh ; # CYRILLIC SMALL LETTER GHE WITH STROKE"
113
+ - "Ҳ > H ; # CYRILLIC CAPITAL LETTER HA WITH DESCENDER"
114
+ - "ҳ > h ; # CYRILLIC SMALL LETTER HA WITH DESCENDER"
115
+ :source: uz_Cyrl
116
+ :target: uz
117
+ :variant: BGN