interscript 0.1.1 → 0.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (170) hide show
  1. checksums.yaml +4 -4
  2. data/README.adoc +250 -17
  3. data/bin/interscript +38 -17
  4. data/bin/setup +8 -0
  5. data/lib/__pycache__/g2pwrapper.cpython-38.pyc +0 -0
  6. data/lib/g2pwrapper.py +34 -0
  7. data/lib/interscript-opal.rb +2 -0
  8. data/lib/interscript.rb +138 -20
  9. data/lib/interscript/command.rb +28 -0
  10. data/lib/interscript/fs.rb +71 -0
  11. data/lib/interscript/mapping.rb +142 -0
  12. data/lib/interscript/opal.rb +27 -0
  13. data/lib/interscript/opal/maps.js.erb +10 -0
  14. data/lib/interscript/opal_map_translate.rb +12 -0
  15. data/lib/interscript/version.rb +1 -1
  16. data/lib/model-7 +0 -0
  17. data/lib/tha-pt-b-7 +0 -0
  18. data/maps/acadsin-zho-Hani-Latn-2002.yaml +38912 -0
  19. data/maps/alalc-amh-Ethi-Latn-1997.yaml +509 -0
  20. data/maps/alalc-amh-Ethi-Latn-2011.yaml +138 -0
  21. data/maps/alalc-ara-Arab-Latn-1997.yaml +1283 -0
  22. data/maps/alalc-asm-Deva-Latn-1997.yaml +159 -0
  23. data/maps/alalc-aze-Cyrl-Latn-1997.yaml +141 -0
  24. data/maps/alalc-bel-Cyrl-Latn-1997.yaml +125 -0
  25. data/maps/alalc-ben-Beng-Latn-2017.yaml +130 -0
  26. data/maps/alalc-bul-Cyrl-Latn-1997.yaml +94 -0
  27. data/maps/alalc-ell-Grek-Latn-1997.yaml +624 -0
  28. data/maps/alalc-ell-Grek-Latn-2010.yaml +627 -0
  29. data/maps/alalc-hin-Deva-Latn-2020.yaml +159 -0
  30. data/maps/alalc-kat-Geok-Latn-1997.yaml +111 -0
  31. data/maps/alalc-kat-Geor-Latn-1997.yaml +146 -0
  32. data/maps/alalc-kor-Hang-Latn-1997.yaml +94 -0
  33. data/maps/alalc-mar-Deva-Latn-1997.yaml +170 -0
  34. data/maps/alalc-mkd-Cyrl-Latn-1997.yaml +114 -0
  35. data/maps/alalc-mkd-Cyrl-Latn-2013.yaml +103 -0
  36. data/maps/alalc-pan-Deva-Latn-1997.yaml +237 -0
  37. data/maps/alalc-rus-Cyrl-Latn-1997.yaml +221 -0
  38. data/maps/alalc-rus-Cyrl-Latn-2012.yaml +162 -0
  39. data/maps/alalc-srp-Cyrl-Latn-1997.yaml +114 -0
  40. data/maps/alalc-srp-Cyrl-Latn-2013.yaml +135 -0
  41. data/maps/alalc-ukr-Cyrl-Latn-1997.yaml +141 -0
  42. data/maps/alalc-ukr-Cyrl-Latn-2011.yaml +16 -0
  43. data/maps/apcbg-bul-Cyrl-Latn-1995.yaml +283 -0
  44. data/maps/bas-rus-Cyrl-Latn-2017-bss.yaml +174 -0
  45. data/maps/bas-rus-Cyrl-Latn-2017-oss.yaml +169 -0
  46. data/maps/bgn-jpn-Hrkt-Latn-1962.yaml +292 -0
  47. data/maps/bgn-kor-Hang-Latn-1943.yaml +31 -0
  48. data/maps/bgn-kor-Kore-Latn-1943.yaml +31 -0
  49. data/maps/bgna-bul-Cyrl-Latn-2006.yaml +208 -0
  50. data/maps/bgna-bul-Cyrl-Latn-2009.yaml +208 -0
  51. data/maps/bgnpcgn-amh-Ethi-Latn-1967.yaml +528 -0
  52. data/maps/bgnpcgn-ara-Arab-Latn-1956.yaml +592 -0
  53. data/maps/bgnpcgn-arm-Armn-Latn-1981.yaml +108 -0
  54. data/maps/bgnpcgn-aze-Cyrl-Latn-1993.yaml +104 -0
  55. data/maps/bgnpcgn-bak-Cyrl-Latn-2007.yaml +184 -0
  56. data/maps/bgnpcgn-bel-Cyrl-Latn-1979.yaml +285 -0
  57. data/maps/bgnpcgn-bul-Cyrl-Latn-1952.yaml +115 -0
  58. data/maps/bgnpcgn-bul-Cyrl-Latn-2013.yaml +38 -0
  59. data/maps/bgnpcgn-ell-Grek-Latn-1962.yaml +701 -0
  60. data/maps/bgnpcgn-ell-Grek-Latn-1996.yaml +19 -0
  61. data/maps/bgnpcgn-jpn-Hrkt-Latn-1976.yaml +257 -0
  62. data/maps/bgnpcgn-kat-Geor-Latn-1981.yaml +127 -0
  63. data/maps/bgnpcgn-kat-Geor-Latn-2009.yaml +42 -0
  64. data/maps/bgnpcgn-kor-Hang-Latn-kn-1945.yaml +253 -0
  65. data/maps/bgnpcgn-kor-Hang-Latn-rok-2011.yaml +48 -0
  66. data/maps/bgnpcgn-kor-Kore-Latn-rok-2011.yaml +48 -0
  67. data/maps/bgnpcgn-mkd-Cyrl-Latn-1981.yaml +159 -0
  68. data/maps/bgnpcgn-mkd-Cyrl-Latn-2013.yaml +190 -0
  69. data/maps/bgnpcgn-nep-Deva-Latn-2011.yaml +200 -0
  70. data/maps/bgnpcgn-per-Arab-Latn-1956.yaml +92 -0
  71. data/maps/bgnpcgn-rus-Cyrl-Latn-1947.yaml +314 -0
  72. data/maps/bgnpcgn-srp-Cyrl-Latn-2005.yaml +166 -0
  73. data/maps/bgnpcgn-ukr-Cyrl-Latn-1965.yaml +162 -0
  74. data/maps/bgnpcgn-ukr-Cyrl-Latn-2019.yaml +208 -0
  75. data/maps/bgnpcgn-zho-Hans-Latn-1979.yaml +7456 -0
  76. data/maps/bis-asm-Beng-Latn-13194-1991.yaml +159 -0
  77. data/maps/bis-ben-Beng-Latn-13194-1991.yaml +156 -0
  78. data/maps/bis-dev-Deva-Latn-13194-1991.yaml +184 -0
  79. data/maps/bis-gjr-Gujr-Latn-13194-1991.yaml +166 -0
  80. data/maps/bis-knd-Knda-Latn-13194-1991.yaml +173 -0
  81. data/maps/bis-mlm-Mlym-Latn-13194-1991.yaml +176 -0
  82. data/maps/bis-ori-Orya-Latn-13194-1991.yaml +160 -0
  83. data/maps/bis-pnj-Guru-Latn-13194-1991.yaml +175 -0
  84. data/maps/bis-tel-Telu-Latn-13194-1991.yaml +170 -0
  85. data/maps/bis-tml-Taml-Latn-13194-1991.yaml +155 -0
  86. data/maps/by-bel-Cyrl-Latn-1998.yaml +168 -0
  87. data/maps/by-bel-Cyrl-Latn-2007.yaml +115 -0
  88. data/maps/dos-nep-Deva-Latn-1997.yaml +33 -0
  89. data/maps/elot-ell-Grek-Latn-743-1982-tl.yaml +684 -0
  90. data/maps/elot-ell-Grek-Latn-743-1982-ts.yaml +680 -0
  91. data/maps/elot-ell-Grek-Latn-743-2001-tl.yaml +19 -0
  92. data/maps/elot-ell-Grek-Latn-743-2001-ts.yaml +31 -0
  93. data/maps/ggg-kat-Geor-Latn-2002.yaml +88 -0
  94. data/maps/gki-bel-Cyrl-Latn-1992.yaml +33 -0
  95. data/maps/gki-bel-Cyrl-Latn-2000.yaml +201 -0
  96. data/maps/gost-rus-Cyrl-Latn-16876-71-1983.yaml +186 -0
  97. data/maps/hk-yue-Hani-Latn-1888.yaml +38497 -0
  98. data/maps/icao-bel-Cyrl-Latn-9303.yaml +136 -0
  99. data/maps/icao-bul-Cyrl-Latn-9303.yaml +118 -0
  100. data/maps/icao-heb-Hebr-Latn-9303.yaml +151 -0
  101. data/maps/icao-mkd-Cyrl-Latn-9303.yaml +117 -0
  102. data/maps/icao-per-Arab-Latn-9303.yaml +103 -0
  103. data/maps/icao-rus-Cyrl-Latn-9303.yaml +117 -0
  104. data/maps/icao-srp-Cyrl-Latn-9303.yaml +117 -0
  105. data/maps/icao-ukr-Cyrl-Latn-9303.yaml +119 -0
  106. data/maps/iso-ara-Arab-Latn-233-1984.yaml +323 -0
  107. data/maps/iso-ell-Grek-Latn-843-1997-t1.yaml +609 -0
  108. data/maps/iso-ell-Grek-Latn-843-1997-t2.yaml +40 -0
  109. data/maps/iso-jpn-Hrkt-Latn-3602-1989.yaml +62 -0
  110. data/maps/iso-rus-Cyrl-Latn-9-1995.yaml +271 -0
  111. data/maps/iso-tha-Thai-Latn-11940-1998.yaml +109 -0
  112. data/maps/kp-kor-Hang-Latn-2002.yaml +901 -0
  113. data/maps/lshk-yue-Hani-Latn-jyutping-1993.yaml +44820 -0
  114. data/maps/mext-jpn-Hrkt-Latn-1954.yaml +411 -0
  115. data/maps/moct-kor-Hang-Latn-2000.yaml +803 -0
  116. data/maps/mofa-jpn-Hrkt-Latn-1989.yaml +541 -0
  117. data/maps/mvd-bel-Cyrl-Latn-2008.yaml +225 -0
  118. data/maps/mvd-bel-Cyrl-Latn-2010.yaml +63 -0
  119. data/maps/mvd-rus-Cyrl-Latn-2008.yaml +109 -0
  120. data/maps/mvd-rus-Cyrl-Latn-2010.yaml +37 -0
  121. data/maps/nil-kor-Hang-Hang-jamo.yaml +11193 -0
  122. data/maps/odni-aze-Cyrl-Latn-2015.yaml +144 -0
  123. data/maps/odni-bel-Cyrl-Latn-2015.yaml +148 -0
  124. data/maps/odni-bul-Cyrl-Latn-2015.yaml +96 -0
  125. data/maps/odni-hin-Deva-Latn-2015.yaml +258 -0
  126. data/maps/odni-kat-Geor-Latn-2015.yaml +87 -0
  127. data/maps/odni-kaz-Cyrl-Latn-2015.yaml +148 -0
  128. data/maps/odni-kir-Cyrl-Latn-2015.yaml +136 -0
  129. data/maps/odni-mkd-Cyrl-Latn-2015.yaml +122 -0
  130. data/maps/odni-rus-Cyrl-Latn-2015.yaml +77 -0
  131. data/maps/odni-srp-Cyrl-Latn-2015.yaml +129 -0
  132. data/maps/odni-tat-Cyrl-Latn-2015.yaml +142 -0
  133. data/maps/odni-tgk-Cyrl-Latn-2015.yaml +148 -0
  134. data/maps/odni-uig-Cyrl-Latn-2015.yaml +138 -0
  135. data/maps/odni-ukr-Cyrl-Latn-2015.yaml +157 -0
  136. data/maps/odni-urd-Arab-Latn-2015.yaml +221 -0
  137. data/maps/odni-uzb-Cyrl-Latn-2015.yaml +166 -0
  138. data/maps/royin-tha-Thai-Latn-1939-generic.yaml +90 -0
  139. data/maps/royin-tha-Thai-Latn-1968.yaml +179 -0
  140. data/maps/royin-tha-Thai-Latn-1999-chained.yaml +180 -0
  141. data/maps/royin-tha-Thai-Latn-1999.yaml +76 -0
  142. data/maps/sac-zho-Hans-Latn-1979.yaml +24759 -0
  143. data/maps/ses-ara-Arab-Latn-1930.yaml +279 -0
  144. data/maps/stategeocadastre-ukr-Cyrl-Latn-1993.yaml +222 -0
  145. data/maps/ua-ukr-Cyrl-Latn-1996.yaml +193 -0
  146. data/maps/un-ara-Arab-Latn-1971.yaml +139 -0
  147. data/maps/un-ara-Arab-Latn-1972.yaml +159 -0
  148. data/maps/un-ara-Arab-Latn-2017.yaml +420 -0
  149. data/maps/un-bel-Cyrl-Latn-2007.yaml +114 -0
  150. data/maps/un-ben-Beng-Latn-2016.yaml +534 -0
  151. data/maps/un-ell-Grek-Latn-1987-tl.yaml +31 -0
  152. data/maps/un-ell-Grek-Latn-1987-ts.yaml +19 -0
  153. data/maps/un-ell-Grek-Latn-phonetic-1987.yaml +780 -0
  154. data/maps/un-mon-Mong-Latn-2013.yaml +99 -0
  155. data/maps/un-nep-Deva-Latn-1972.yaml +163 -0
  156. data/maps/un-rus-Cyrl-Latn-1987.yaml +166 -0
  157. data/maps/un-ukr-Cyrl-Latn-1998.yaml +30 -0
  158. data/maps/ungegn-amh-Ethi-Latn-2016.yaml +575 -0
  159. data/maps/var-jpn-Hrkt-Latn-hepburn-1886.yaml +406 -0
  160. data/maps/var-jpn-Hrkt-Latn-hepburn-1954.yaml +386 -0
  161. data/maps/var-kor-Hang-Latn-mr-1939.yaml +1054 -0
  162. data/maps/var-kor-Kore-Hang-2013.yaml +59754 -0
  163. data/maps/var-kor-Kore-Latn-mr-1939.yaml +36 -0
  164. data/maps/var-tha-Thai-Thai-phonemic.yaml +59 -0
  165. data/maps/var-tha-Thai-Zsym-ipa.yaml +301 -0
  166. data/maps/var-zho-Hani-Latn-1979.yaml +38908 -0
  167. data/spec/interscript/mapping_spec.rb +42 -0
  168. data/spec/interscript_spec.rb +26 -0
  169. data/spec/spec_helper.rb +3 -0
  170. metadata +298 -18
@@ -0,0 +1,166 @@
1
+ ---
2
+ authority_id: odni
3
+ id: 2015
4
+ language: uzb
5
+ source_script: Cyrl
6
+ destination_script: Latn
7
+ name: Office of the Director Of National Intelligence Uzbek Personal Names 2015, ICS-630-01 Annex V
8
+ # url:
9
+ source: ICS-630-01 Annex V
10
+ creation_date: 2015
11
+ confirmation_date: 2015
12
+ description: |
13
+ This system is the Intelligence Community standard for the transliteration of Uzbek person names
14
+ that will be applied to all final written reports and products for IC consumers. It is not intended to
15
+ eliminate variations of a name that can contribute forensic information. Rather, it is to provide an
16
+ IC standard Romanized (English) transliteration from Uzbek that can then be linked to forensic
17
+ information in ways that will help identify the referent of the name.
18
+
19
+ In cases where an individual’s name has already been transliterated in a variant spelling, the IC
20
+ Standard spelling should appear first, followed by the variant spelling(s) in parentheses at the first
21
+ usage. In addition, if the original Cyrillic-script spelling is known, that spelling should also
22
+ appear in parentheses following the name, if possible, following best practices of the issuing
23
+ organization and taking into consideration information system capabilities. For example:
24
+ Farkhod Tojiev (also seen as Farhod Tadjiyev, Фарход Тожиев). This convention is designed to
25
+ ensure that vital forensic information is not lost.
26
+
27
+ For names of persons who are known to not be part of the Uzbek-speaking community, use the
28
+ relevant IC transliteration standard for names from that language (e.g., Yitzhak). A translator’s
29
+ note may be used to clarify the known origin of the person. Spell names of individuals from
30
+ languages that are written in Roman letters as they are spelled in those languages (e.g., George
31
+ Clooney, Jorge Garcia, Georges Pompidou).
32
+
33
+ In the case of active senior government officials in the on-line CIA World Factbook and the online directory of Chiefs of State and Cabinet Members of Foreign Governments, the spellings
34
+ given in these on-line reference works should be used in place of the IC Standard. For any
35
+ individual who has at one time been listed in the Factbook or Chiefs of State directory but who no
36
+ longer appears in those resources (i.e. is no longer a government official), the IC Standard
37
+ spelling should appear first, with the spelling, if known, as it previously appeared in those
38
+ resources listed within parentheses at the first usage.
39
+
40
+ The primary goal is to produce a consistent Romanized transcription of names that is specifically
41
+ readable to the English-speaking non-specialist. The system uses the 26 letters of the standard
42
+ (English) Roman alphabet. Some ambiguities in the Romanized form will occur without the use
43
+ of diacritics. However, within the context of a report, where additional information about the
44
+ individual is provided, the referent will be clearly identified. This system will be used in
45
+ conjunction with on-line tools, name dictionaries, and lists containing conventional spellings of
46
+ names of well-known individuals.
47
+
48
+ notes:
49
+ - Transliterate double digraphs as a single digraph, i.e. шш -> sh, not shsh
50
+ - In the Roman, no distinction is made between digraphs such as 'sh' and single contiguous letters, (e.g. 's' followed by 'h').
51
+ - The Cyrillic ъ and ь are not transliterated, but instead are left out of the transliteration.
52
+
53
+ tests:
54
+ - source: Фарход Тожиев
55
+ expected: Farkhod Tojiev
56
+ - source: Барча одамлар эркин, қадр-қиммат в ҳуқуқлард тенг бўлиб туғиладилар. Улар ақл в виждон соҳибидирлар в бир-бирлари ила биродарларча муомал қилишларь зарур.
57
+ expected: Barcha odamlar erkin, qadr-qimat v huquqlard teng bolib tughiladilar. Ular aql v vijdon sohibidirlar v bir-birlari ila birodarlarcha muomal qilishlar zarur.
58
+ - source: Тутук белгись
59
+ expected: Tutuk belgis
60
+ - source: Янги юл
61
+ expected: Yangi iul
62
+ - source: Ўзбек ёзуви
63
+ expected: Ozbek yozuvi
64
+ - source: Чиғатай гурунги
65
+ expected: Chighatay gurungi
66
+ - source: ъ
67
+ expected: ''
68
+ - source: шш
69
+ expected: sh
70
+ - source: ччччч
71
+ expected: ch
72
+
73
+ map:
74
+ rules:
75
+ # note[1]
76
+ - pattern: "(.)\\1{1,}"
77
+ result: "\\1"
78
+
79
+ characters:
80
+ '\u0410': 'A' # А
81
+ '\u0411': 'B' # Б
82
+ '\u0412': 'V' # В
83
+ '\u0413': 'G' # Г
84
+ '\u0492': 'Gh' # Ғ
85
+ '\u0414': 'D' # Д
86
+ '\u0415': 'E' # Е
87
+ '\u0401': 'Yo' # Ё
88
+ '\u0416': 'J' # Ж
89
+ '\u0417': 'Z' # З
90
+ '\u0418': 'I' # И
91
+ '\u0419': 'Y' # Й
92
+ '\u041A': 'K' # К
93
+ '\u049A': 'Q' # Қ
94
+ '\u041B': 'L' # Л
95
+ '\u041C': 'M' # М
96
+ '\u041D': 'N' # Н
97
+ '\u041E': 'O' # О
98
+ '\u041F': 'P' # П
99
+ '\u0420': 'R' # Р
100
+ '\u0421': 'S' # С
101
+ '\u0422': 'T' # Т
102
+ '\u0423': 'U' # У
103
+ '\u040E': 'O' # Ў
104
+ '\u0424': 'F' # Ф
105
+ '\u0425': 'Kh' # Х
106
+ '\u04B2': 'H' # Ҳ
107
+ '\u0426': 'Ts' # Ц
108
+ '\u0427': 'Ch' # Ч
109
+ '\u0428': 'Sh' # Ш
110
+ '\u042D': 'E' # Э
111
+ '\u042E': 'Yu' # Ю
112
+ '\u042F': 'Ya' # Я
113
+
114
+ '\u0430': 'a' # а
115
+ '\u0431': 'b' # б
116
+ '\u0432': 'v' # в
117
+ '\u0433': 'g' # г
118
+ '\u0493': 'gh' # ғ
119
+ '\u0434': 'd' # д
120
+ '\u0435': 'e' # e
121
+ '\u0451': 'yo' # ё
122
+ '\u0436': 'j' # ж
123
+ '\u0437': 'z' # з
124
+ '\u0438': 'i' # и
125
+ '\u0439': 'y' # й
126
+ '\u043A': 'k' # к
127
+ '\u049B': 'q' # қ
128
+ '\u043B': 'l' # л
129
+ '\u043C': 'm' # м
130
+ '\u043D': 'n' # н
131
+ '\u043E': 'o' # о
132
+ '\u043F': 'p' # п
133
+ '\u0440': 'r' # р
134
+ '\u0441': 's' # с
135
+ '\u0442': 't' # т
136
+ '\u0443': 'u' # у
137
+ '\u045E': 'o' # ў
138
+ '\u0444': 'f' # ф
139
+ '\u044B': 'y' # ы
140
+ '\u0447': 'ch' # ч
141
+ '\u044F': 'ia' # я
142
+ '\u044E': 'iu' # ю
143
+ '\u0445': 'kh' # х
144
+ '\u04B3': 'h' # ҳ
145
+ '\u0448': 'sh' # ш
146
+ '\u044D': 'e' # э
147
+ '\u0449': 'shch' # щ
148
+ '\u0446': 'ts' # ц
149
+ '\u0491': 'g' # ґ
150
+ '\u046B': 'u' # ѫ
151
+ '\u0452': 'd' # ђ
152
+ '\u0455': 'dz' # ѕ
153
+ '\u0458': 'j' # ј
154
+ '\u0459': 'lj' # љ
155
+ '\u045A': 'nj' # њ
156
+ '\u04BB': 'c' # һ
157
+ '\u045F': 'dz' # џ
158
+ '\u0454': 'ie' # є
159
+ '\u0457': 'i' # ї
160
+ '\u0453': 'g' # ѓ
161
+
162
+ # note[3]
163
+ '\u042a': '' # Ъ
164
+ '\u042c': '' # Ь
165
+ '\u044a': '' # ъ
166
+ '\u044c': '' # ь
@@ -0,0 +1,90 @@
1
+ ---
2
+ authority_id: royin
3
+ id: 1939-generic
4
+ language: tha
5
+ source_script: Thai
6
+ destination_script: Latn
7
+ name: Royal Thai General System of Transcription (1939) Generic
8
+ url: http://www.siamese-heritage.org/jsspdf/1941/JSS_033_1d_RoyalInstituteTranscriptionOfThaiIntoRomanCharacters.pdf
9
+ creation_date: 1939
10
+ adoption_date:
11
+ description: |
12
+ This map loads two external maps to convert Thai text first into phonemic Thai,
13
+ and then into IPA transcription.
14
+
15
+ The IPA transcription will then be handled by this map, and converted into
16
+ Royal Thai General System of Transcription (1939)
17
+
18
+ The first two parts are done via two external maps.
19
+
20
+
21
+ notes: |
22
+ This is a draft for the map.
23
+ The conversion from Thai to Phonemic Thai is still work-in-progress.
24
+
25
+ tests:
26
+ - source: "กษัตริย์"
27
+ expected: "kasat"
28
+ - source: "ประกาศ"
29
+ expected: "prakat"
30
+ # - source: "ราชบุรี่"
31
+ # expected: "ratburi"
32
+ # - source: "ปากลัด"
33
+ # expected: "pak-lat"
34
+
35
+
36
+ chain: ["var-tha-Thai-Thai-phonemic" ,"var-tha-Thai-Zsym-ipa"]
37
+
38
+ map:
39
+ title-case: false
40
+ word_separator: " "
41
+
42
+ rules:
43
+ - pattern: '[˩˨˧˦˥]'
44
+ result : ''
45
+
46
+ postrules:
47
+ - pattern: '\.'
48
+ result: ''
49
+
50
+ characters:
51
+
52
+ dictionary:
53
+
54
+ '̯': ''
55
+ '̚': ''
56
+
57
+ 'ʔ': ''
58
+ 'ː': ''
59
+
60
+ 't͡ɕʰ': 'ch'
61
+ 't͡ɕ': 'čh'
62
+ 'ŋ': 'ng'
63
+ 'j': 'y'
64
+ 'ɔ': 'o̦'
65
+ 'ɤ': 'œ'
66
+ 'ɛ': 'æ'
67
+ 'ɯ': 'ư'
68
+ 'ʰ': 'h'
69
+
70
+ 'aːw': 'ao'
71
+ 'aw': 'ao'
72
+ 'a̯w': 'ao'
73
+ 'eːw': 'eo'
74
+ 'ew': 'eo'
75
+ 'ɛːw': 'aeo'
76
+ 'ɛw': 'æo'
77
+ 'iːw': 'iu'
78
+ 'iw': 'iu'
79
+
80
+ 'aːj': 'ai'
81
+ 'aj': 'ai'
82
+ 'a̯j': 'ai'
83
+ 'ɔːj': 'o̦i'
84
+ 'ɔj': 'o̦i'
85
+ 'oːj': 'oi'
86
+ 'oj': 'oi'
87
+ 'ɤːj': 'œi'
88
+ 'ɤj': 'œi'
89
+ 'uːj': 'ui'
90
+ 'uj': 'ui'
@@ -0,0 +1,179 @@
1
+ ---
2
+ authority_id: royin
3
+ id: 1968-chained
4
+ language: tha
5
+ source_script: Thai
6
+ destination_script: Latn
7
+ name: Royal Thai General System of Transcription (1968)
8
+ url: http://www.royin.go.th/wp-content/uploads/royin-ebook/276/FileUpload/758_6484.pdf
9
+ creation_date: 1968
10
+ adoption_date:
11
+ description: |
12
+ This map loads two external maps to convert Thai text first into phonemic Thai,
13
+ and then into IPA transcription.
14
+
15
+ The IPA transcription will then be handled by this map, and converted into
16
+ Royal Thai General System of Transcription (1968).
17
+
18
+ The first two parts are done via two external maps.
19
+
20
+ notes: |
21
+ The conversion from Thai to Phonemic Thai is still work-in-progress.
22
+
23
+ tests:
24
+ - source: "สะพาน"
25
+ expected: "saphan"
26
+ - source: "ลานตา"
27
+ expected: "lanta"
28
+ - source: "บาง"
29
+ expected: "bang"
30
+ - source: "สมุทร"
31
+ expected: "samut"
32
+ - source: "ลำ"
33
+ expected: "lam"
34
+ - source: "สิงห์"
35
+ expected: "sing"
36
+ - source: "บุรี"
37
+ expected: "buri"
38
+ - source: "สตึก"
39
+ expected: "satuk"
40
+ - source: "พืช"
41
+ expected: "phut"
42
+ - source: "บรบือ"
43
+ expected: "borabu"
44
+ - source: "ภู"
45
+ expected: "phu"
46
+ - source: "ปะนาเระ"
47
+ expected: "panare"
48
+ - source: "เพ็ญ"
49
+ expected: "phen"
50
+ # - source: "เขน"
51
+ # expected: "khen"
52
+ - source: "แซะ"
53
+ expected: "sae"
54
+ # - source: "สะแก"
55
+ # expected: "sakae"
56
+ - source: "พะโต๊ะ"
57
+ expected: "phato"
58
+ - source: "ลพ"
59
+ expected: "lop"
60
+ # - source: "สามโก้"
61
+ # expected: "samko"
62
+ - source: "เกาะ"
63
+ expected: "ko"
64
+ - source: "บ่อ"
65
+ expected: "bo"
66
+ - source: "เซอะ"
67
+ expected: "soe"
68
+ - source: "อำเภอ"
69
+ expected: "amphoe"
70
+ - source: "เนิน"
71
+ expected: "noen"
72
+ # - source: "เพียะ"
73
+ # expected: "phia"
74
+ - source: "เทียน"
75
+ expected: "thian"
76
+ # - source: "เกือะ"
77
+ # expected: "kua"
78
+ - source: "เมือง"
79
+ expected: "muang"
80
+ # - source: "ผัวะ"
81
+ # expected: "phua"
82
+ - source: "บัว"
83
+ expected: "bua"
84
+ # - source: "ควน"
85
+ # expected: "khuan"
86
+ - source: "ใหญ่"
87
+ expected: "yai"
88
+ # - source: "ไผ่"
89
+ # expected: "phai"
90
+ - source: "ชัย"
91
+ expected: "chai"
92
+ - source: "ไทย"
93
+ expected: "thai"
94
+ # - source: "ปาย"
95
+ # expected: "pai"
96
+ - source: "เจ้า"
97
+ expected: "chao"
98
+ - source: "ข้าว"
99
+ expected: "khao"
100
+ # - source: "กุย"
101
+ # expected: "kui"
102
+ - source: "โดย"
103
+ expected: "doi"
104
+ # - source: "ดอย"
105
+ # expected: "doi"
106
+ # - source: "งิ้ว"
107
+ # expected: "ngiu"
108
+ - source: "เร็ว"
109
+ expected: "reo"
110
+ # - source: "เลว"
111
+ # expected: "leo"
112
+ # - source: "เลย"
113
+ # expected: "loei"
114
+ # - source: "เดือย"
115
+ # expected: "duai"
116
+ # - source: "ห้วย"
117
+ # expected: "huai"
118
+ - source: "แมว"
119
+ expected: "maeo"
120
+ - source: "เขียว"
121
+ expected: "khieu"
122
+
123
+ chain: ["var-tha-Thai-Thai-phonemic" ,"var-tha-Thai-Zsym-ipa"]
124
+
125
+ map:
126
+ title-case: false
127
+ word_separator: " "
128
+
129
+ rules:
130
+ - pattern: '[˩˨˧˦˥]'
131
+ result : ''
132
+ - pattern: '^'
133
+ result: '.'
134
+
135
+ postrules:
136
+ - pattern: '\.'
137
+ result: ''
138
+
139
+ characters:
140
+
141
+ dictionary:
142
+
143
+ '̯': ''
144
+ '̚': ''
145
+
146
+ 'ʔ': ''
147
+ 'ː': ''
148
+
149
+ 't͡ɕʰ': 'ch'
150
+ 't͡ɕ': 'ch'
151
+ 'ŋ': 'ng'
152
+ 'j': 'y'
153
+ 'ɔ': 'o'
154
+ 'ɤ': 'oe'
155
+ 'ɛ': 'ae'
156
+ 'ɯ': 'u'
157
+ 'ʰ': 'h'
158
+
159
+ 'aːw': 'ao'
160
+ 'aw': 'ao'
161
+ 'a̯w': 'eu'
162
+ 'eːw': 'eo'
163
+ 'ew': 'eo'
164
+ 'ɛːw': 'aeo'
165
+ 'ɛw': 'aeo'
166
+ 'iːw': 'iu'
167
+ 'iw': 'iu'
168
+
169
+ 'aːj': 'ai'
170
+ 'aj': 'ai'
171
+ 'a̯j': 'ai'
172
+ 'ɔːj': 'oi'
173
+ 'ɔj': 'oi'
174
+ 'oːj': 'oi'
175
+ 'oj': 'oi'
176
+ 'ɤːj': 'oei'
177
+ 'ɤj': 'oei'
178
+ 'uːj': 'ui'
179
+ 'uj': 'ui'
@@ -0,0 +1,180 @@
1
+ ---
2
+ authority_id: royin
3
+ id: 1999-chained
4
+ language: tha
5
+ source_script: Thai
6
+ destination_script: Latn
7
+ name: Royal Thai General System of Transcription (1999)
8
+ url: http://www.royin.go.th/wp-content/uploads/royin-ebook/276/FileUpload/758_6484.pdf
9
+ creation_date: 1999
10
+ adoption_date:
11
+ description: |
12
+ This map loads two external maps to convert Thai text first into phonemic Thai,
13
+ and then into IPA transcription.
14
+
15
+ The IPA transcription will then be handled by this map, and converted into
16
+ Royal Thai General System of Transcription (1999)
17
+
18
+ The first two parts are done via two external maps.
19
+
20
+ notes: |
21
+ The conversion from Thai to Phonemic Thai is still work-in-progress.
22
+
23
+ tests:
24
+ - source: "สะพาน"
25
+ expected: "saphan"
26
+ - source: "ลานตา"
27
+ expected: "lanta"
28
+ - source: "บาง"
29
+ expected: "bang"
30
+ - source: "สมุทร"
31
+ expected: "samut"
32
+ - source: "ลำ"
33
+ expected: "lam"
34
+ - source: "สิงห์"
35
+ expected: "sing"
36
+ - source: "บุรี"
37
+ expected: "buri"
38
+ - source: "สตึก"
39
+ expected: "satuek"
40
+ - source: "พืช"
41
+ expected: "phuet"
42
+ - source: "บรบือ"
43
+ expected: "borabue"
44
+ - source: "ภู"
45
+ expected: "phu"
46
+ - source: "ปะนาเระ"
47
+ expected: "panare"
48
+ - source: "เพ็ญ"
49
+ expected: "phen"
50
+ # - source: "เขน"
51
+ # expected: "khen"
52
+ - source: "แซะ"
53
+ expected: "sae"
54
+ # - source: "สะแก"
55
+ # expected: "sakae"
56
+ - source: "พะโต๊ะ"
57
+ expected: "phato"
58
+ - source: "ลพ"
59
+ expected: "lop"
60
+ # - source: "สามโก้"
61
+ # expected: "samko"
62
+ - source: "เกาะ"
63
+ expected: "ko"
64
+ - source: "บ่อ"
65
+ expected: "bo"
66
+ - source: "เซอะ"
67
+ expected: "soe"
68
+ - source: "อำเภอ"
69
+ expected: "amphoe"
70
+ - source: "เนิน"
71
+ expected: "noen"
72
+ # - source: "เพียะ"
73
+ # expected: "phia"
74
+ - source: "เทียน"
75
+ expected: "thian"
76
+ # - source: "เกือะ"
77
+ # expected: "kuea"
78
+ - source: "เมือง"
79
+ expected: "mueang"
80
+ # - source: "ผัวะ"
81
+ # expected: "phua"
82
+ - source: "บัว"
83
+ expected: "bua"
84
+ # - source: "ควน"
85
+ # expected: "khuan"
86
+ - source: "ใหญ่"
87
+ expected: "yai"
88
+ # - source: "ไผ่"
89
+ # expected: "phai"
90
+ - source: "ชัย"
91
+ expected: "chai"
92
+ - source: "ไทย"
93
+ expected: "thai"
94
+ # - source: "ปาย"
95
+ # expected: "pai"
96
+ - source: "เจ้า"
97
+ expected: "chao"
98
+ - source: "ข้าว"
99
+ expected: "khao"
100
+ # - source: "กุย"
101
+ # expected: "kui"
102
+ - source: "โดย"
103
+ expected: "doi"
104
+ # - source: "ดอย"
105
+ # expected: "doi"
106
+ # - source: "งิ้ว"
107
+ # expected: "ngio"
108
+ - source: "เร็ว"
109
+ expected: "reo"
110
+ # - source: "เลว"
111
+ # expected: "leo"
112
+ # - source: "เลย"
113
+ # expected: "loei"
114
+ # - source: "เดือย"
115
+ # expected: "dueai"
116
+ # - source: "ห้วย"
117
+ # expected: "huai"
118
+ - source: "แมว"
119
+ expected: "maeo"
120
+ - source: "เขียว"
121
+ expected: "khiao"
122
+
123
+
124
+ chain: ["var-tha-Thai-Thai-phonemic" ,"var-tha-Thai-Zsym-ipa"]
125
+
126
+ map:
127
+ title-case: false
128
+ word_separator: " "
129
+
130
+ rules:
131
+ - pattern: '[˩˨˧˦˥]'
132
+ result : ''
133
+ - pattern: '^'
134
+ result: '.'
135
+
136
+ postrules:
137
+ - pattern: '\.'
138
+ result: ''
139
+
140
+ characters:
141
+
142
+ dictionary:
143
+
144
+ '̯': ''
145
+ '̚': ''
146
+
147
+ 'ʔ': ''
148
+ 'ː': ''
149
+
150
+ 't͡ɕʰ': 'ch'
151
+ 't͡ɕ': 'ch'
152
+ 'ŋ': 'ng'
153
+ 'j': 'y'
154
+ 'ɔ': 'o'
155
+ 'ɤ': 'oe'
156
+ 'ɛ': 'ae'
157
+ 'ɯ': 'ue' # New spelling, was u in 1968
158
+ 'ʰ': 'h'
159
+
160
+ 'aːw': 'ao'
161
+ 'aw': 'ao'
162
+ 'a̯w': 'ao' # New spelling, was eu in 1968
163
+ 'eːw': 'eo'
164
+ 'ew': 'eo'
165
+ 'ɛːw': 'aeo'
166
+ 'ɛw': 'aeo'
167
+ 'iːw': 'io' # New spelling, was iu in 1968
168
+ 'iw': 'io' # New spelling, was iu in 1968
169
+
170
+ 'aːj': 'ai'
171
+ 'aj': 'ai'
172
+ 'a̯j': 'ai'
173
+ 'ɔːj': 'oi'
174
+ 'ɔj': 'oi'
175
+ 'oːj': 'oi'
176
+ 'oj': 'oi'
177
+ 'ɤːj': 'oei'
178
+ 'ɤj': 'oei'
179
+ 'uːj': 'ui'
180
+ 'uj': 'ui'