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,170 @@
1
+ ---
2
+ authority_id: alalc
3
+ id: 1997
4
+ language: hin
5
+ source_script: Deva
6
+ destination_script: Latn
7
+ name: Marathi Romanization, 1997
8
+ url: https://www.loc.gov/catdir/cpso/romanization/marathi.pdf
9
+ creation_date: 1997
10
+ description: |
11
+ ALA-LC Romanization table for Marathi
12
+
13
+ notes:
14
+
15
+ - Only the vowel forms that appear at the beginning of a syllable are listed; the forms used for
16
+ vowels following a consonant can be found in grammars; no distinction between the two is
17
+ made in transliteration.
18
+
19
+ - |
20
+ The vowel a is implicit after all consonants and consonant clusters and is supplied in
21
+ transliteration, with the following exceptions:
22
+
23
+ a) when another vowel is indicated by its appropriate sign; and
24
+ b) when the absence of any vowel is indicated by the subscript sign ( ् ) called halanta or
25
+ virāma.
26
+
27
+ - |
28
+ Exception: Anusvāra is transliterated by:
29
+
30
+ a) ṅ before gutturals,
31
+ b) ñ before palatals,
32
+ c) ṇ before cerebrals,
33
+ d) n before dentals, and
34
+ e) m before labials.
35
+ In other circumstances it is transliterated by a tilde (~) over the vowel.
36
+
37
+ - When doubled, avagraha is transliterated by two apostrophes ( ’’ ).
38
+
39
+ tests:
40
+ - source: "ठाणे - जिल्ह्यात बुधवारी एक हजार रुग्णांची वाढ, तर जणांच्या मृत्यूची नोंद"
41
+ expected: "ṭhaāṇae - jailahayaāta baudhavaāraī eka hajaāra raugaṇaāñcaī vaāḍha, tara jaṇaāñcayaā maṛitayaūcaī naonda"
42
+ - source: "एकता कपूर पुन्हा अडकली वादात, वेबसीरिजमधल्या 'त्या' सीनमुळे जमावाची घरावर दगडफेक"
43
+ expected: "ekataā kapaūra paunahaā aḍakalaī vaādaāta, vaebasaīraijamadhalayaā 'tayaā' saīnamaulae jamaāvaācaī gharaāvara dagaḍaphaeka"
44
+ - source: "जाणून घ्या, बीएमसीच्या अधिकाऱ्यांनी कंगना राणौतच्या ऑफिसमधले नक्की काय- काय तोडलं"
45
+ expected: "jaāṇaūna ghayaā, baīemasaīcayaā adhaikaāऱyaānnaī kaṅganaā raāṇaautacayaā ôphaisamadhalae nakakaī kaāya- kaāya taoḍalam"
46
+ - source: "कंगना मुंबईत दाखल होण्यापूर्वी 'मातोश्री'वरून फर्मान सुटले; प्रवक्त्यांना सक्त आदेश"
47
+ expected: "kaṅganaā maumbaīta daākhala haoṇayaāpaūravaī 'maātaośaraī'varaūna pharamaāna sauṭalae; paravakatayaānnaā sakata ādaeśa"
48
+ - source: "मराठा आरक्षणास तात्पुरती स्थगिती; सर्वोच्च न्यायालयाचा निर्णय"
49
+ expected: "maraāṭhaā ārakashaṇaāsa taātapaurataī sathagaitaī; saravaocaca nayaāyaālayaācaā nairaṇaya"
50
+ - source: "भारताच्या तिन्ही लशींचा पहिला टप्पा यशस्वी, वाचा कधी येणार बाजारात"
51
+ expected: "bhaārataācayaā tainahaī laśaīñcaā pahailaā ṭapapaā yaśasavaī, vaācaā kadhaī yaeṇaāra baājaāraāta"
52
+ - source: "रुग्णवाढीमुळे खाटांची चणचण"
53
+ expected: "raugaṇavaāḍhaīmaulae khaāṭaāñcaī caṇacaṇa"
54
+ - source: "पीएम स्वनिधी कर्ज योजनेला मुंबईतून अल्प प्रतिसाद"
55
+ expected: "paīema savanaidhaī karaja yaojanaelaā maumbaītaūna alapa parataisaāda"
56
+ - source: "सांताक्रूझ-चेंबूर लिंक रोडवरील उन्नत मार्गाला स्थगिती"
57
+ expected: "saāntaākaraūjha-caembaūra laiṅka raoḍavaraīla unanata maāragaālaā sathagaitaī"
58
+ - source: "संपादक अर्णब गोस्वामी यांच्याविरूद्ध खडक पोलिस ठाण्यात तक्रार"
59
+ expected: "sampaādaka araṇaba gaosavaāmaī yaāñcayaāvairaūdadha khaḍaka paolaisa ṭhaāṇayaāta takaraāra"
60
+
61
+ map:
62
+
63
+ rules:
64
+ # note[3]
65
+ - pattern: \u0902(?=[कखगघङ])
66
+ result: ṅ
67
+ - pattern: \u0902(?=[चछजझञ])
68
+ result: ñ
69
+ - pattern: \u0902(?=[टठडढण])
70
+ result: ṇ
71
+ - pattern: \u0902(?=[तथदधन])
72
+ result: n
73
+
74
+ characters:
75
+
76
+ # I. Vowels and Diphthongs (see Note 1)
77
+
78
+ 'अ': 'a'
79
+ 'आ': 'ā'
80
+ 'इ': 'i'
81
+ 'ई': 'ī'
82
+ 'उ': 'u'
83
+ 'ऊ': 'ū'
84
+ 'ऋ': 'ṛ'
85
+ 'ॠ': 'ṝ'
86
+ 'ऌ': 'ḹ'
87
+ #'ॳ': 'ĕ'
88
+ 'ए': 'e'
89
+ 'ॲ': 'ê'
90
+ #'अै': 'ai'
91
+ 'ऐ': 'ai'
92
+ #'ऒ': 'ŏ'
93
+ 'ओ': 'o'
94
+ 'ऑ': 'ô'
95
+ 'औ': 'ău'
96
+
97
+ # II. Consonants
98
+ # Gutturals
99
+ 'क': 'ka'
100
+ 'ख': 'kha'
101
+ 'ग': 'ga'
102
+ 'घ': 'gha'
103
+ 'ङ': 'ṅa'
104
+
105
+ # Palatals
106
+ 'च': 'ca'
107
+ 'छ': 'cha'
108
+ 'ज': 'ja'
109
+ 'झ': 'jha'
110
+ 'ञ': 'ña'
111
+
112
+ # Cerebrals
113
+ 'ट': 'ṭa'
114
+ 'ठ': 'ṭha'
115
+ 'ड': 'ḍa'
116
+ #'ड़': 'ṛa'
117
+ 'ढ': 'ḍha'
118
+ #'ढ़': 'ṛha'
119
+ 'ण': 'ṇa'
120
+
121
+ # Dentals
122
+ 'त': 'ta'
123
+ 'थ': 'tha'
124
+ 'द': 'da'
125
+ 'ध': 'dha'
126
+ 'न': 'na'
127
+
128
+ # Labials
129
+ 'प': 'pa'
130
+ 'फ': 'pha'
131
+ 'ब': 'ba'
132
+ 'भ': 'bha'
133
+ 'म': 'ma'
134
+
135
+ # Semivowels
136
+ 'य': 'ya'
137
+ 'र': 'ra'
138
+ 'ल': 'la'
139
+ 'ळ': 'la'
140
+ 'व': 'va'
141
+
142
+ # Sibilants
143
+ 'श': 'śa'
144
+ 'ष': 'sha'
145
+ 'स': 'sa'
146
+
147
+ # Aspirate
148
+ 'ह': 'ha'
149
+
150
+ # Anusvāra
151
+ 'ं': 'm'
152
+
153
+ # Bisarga
154
+ 'ः ': 'ḥ'
155
+
156
+ # Abagraha
157
+ 'ऽ': '’' # (apostrophe)
158
+
159
+ # Medials # Needed for connecting constants
160
+ 'ा': "ā"
161
+ 'ि': "i"
162
+ 'ी': "ī"
163
+ 'ु': "u"
164
+ 'ू': "ū"
165
+ 'ृ': "ṛi"
166
+ 'ॄ': "rī"
167
+ 'े': "e"
168
+ 'ो': "o"
169
+ 'ौ': "au"
170
+ '्': ''
@@ -0,0 +1,114 @@
1
+ ---
2
+ authority_id: alalc
3
+ id: 1997
4
+ language: mkd
5
+ source_script: Cyrl
6
+ destination_script: Latn
7
+ name: Serbian and Makedonian Romanization, ALA-LC 1997 System
8
+ url: http://catdir.loc.gov/catdir/cpso/romanization/serbian.pdf
9
+ creation_date: 1997
10
+ description: ALA-LC Romanization table for Serbian and Makedonian.
11
+
12
+ notes:
13
+ - Special characters in romanization
14
+ Đ - D with crossbar (upper case). USMARC hexadecimal code A3.
15
+ đ - d with crossbar (upper case). USMARC hexadecimal code B3.
16
+
17
+ - Character modifiers in romanization
18
+ ´ - acute. USMARC hexadecimal code E2.
19
+ ˇ - hachek. USMARC hexadecimal code E9.
20
+
21
+ tests:
22
+ - source: Општина Ердут
23
+ expected: Opština Erdut
24
+ - source: Општина Двор
25
+ expected: Opština Dvor
26
+ - source: ЛУЃЕ луѓе
27
+ expected: LUǴE luǵe
28
+ - source: ЅВЕЗДА ѕвезда Ѕвезда
29
+ expected: DZVEZDA dzvezda Dzvezda
30
+ - source: ЌАРУВАЊЕ ќарување
31
+ expected: ḰARUVANJE ḱaruvanje
32
+
33
+ map:
34
+ postrules:
35
+ # DZ
36
+ - pattern: "((?<=[[:upper:]])Dz(?=[[:upper:]])?|(?<=[[:upper:]])?Dz(?=[[:upper:]]))"
37
+ result: "DZ"
38
+ #LJ
39
+ - pattern: "((?<=[[:upper:]])Lj(?=[[:upper:]])?|(?<=[[:upper:]])?Lj(?=[[:upper:]]))"
40
+ result: "LJ"
41
+ #NJ
42
+ - pattern: "((?<=[[:upper:]])Nj(?=[[:upper:]])?|(?<=[[:upper:]])?Nj(?=[[:upper:]]))"
43
+ result: "NJ"
44
+ #DŽ
45
+ - pattern: "((?<=[[:upper:]])Dž(?=[[:upper:]])?|(?<=[[:upper:]])?Dž(?=[[:upper:]]))"
46
+ result: "DŽ"
47
+
48
+ characters:
49
+ "\u0410": "A"
50
+ "\u0411": "B"
51
+ "\u0412": "V"
52
+ "\u0413": "G"
53
+ "\u0403": "\u01F4" # Ǵ
54
+ "\u0414": "D"
55
+ "\u0402": "\u0110" # Đ
56
+ "\u0415": "E"
57
+ "\u0416": "\u005a\u030c" # Ž
58
+ "\u0417": "Z"
59
+ "\u0405": "Dz"
60
+ "\u0418": "I"
61
+ "\u0408": "J"
62
+ "\u041A": "K"
63
+ "\u040C": "\u1E30" # Ḱ
64
+ "\u041B": "L"
65
+ "\u0409": "Lj"
66
+ "\u041C": "M"
67
+ "\u041D": "N"
68
+ "\u040A": "Nj"
69
+ "\u041E": "O"
70
+ "\u041F": "P"
71
+ "\u0420": "R"
72
+ "\u0421": "S"
73
+ "\u0422": "T"
74
+ "\u040B": "\u0043\u0301" # Ć
75
+ "\u0423": "U"
76
+ "\u0424": "F"
77
+ "\u0425": "H"
78
+ "\u0426": "C"
79
+ "\u0427": "\u0043\u030c" # Č
80
+ "\u040F": "D\u007a\u030c" # Dž
81
+ "\u0428": "\u0053\u030c" # Š
82
+ "\u0430": "a"
83
+ "\u0431": "b"
84
+ "\u0432": "v"
85
+ "\u0433": "g"
86
+ "\u0453": "\u01F5" # ǵ
87
+ "\u0434": "d"
88
+ "\u0452": "\u0111" # đ
89
+ "\u0435": "e"
90
+ "\u0436": "\u007a\u030c" # ž
91
+ "\u0437": "z"
92
+ "\u0455": "dz"
93
+ "\u0438": "i"
94
+ "\u0458": "j"
95
+ "\u043A": "k"
96
+ "\u045C": "\u1E31" # ḱ
97
+ "\u043B": "l"
98
+ "\u0459": "lj"
99
+ "\u043C": "m"
100
+ "\u043D": "n"
101
+ "\u045A": "nj"
102
+ "\u043E": "o"
103
+ "\u043F": "p"
104
+ "\u0440": "r"
105
+ "\u0441": "s"
106
+ "\u0442": "t"
107
+ "\u045B": "\u0063\u0301" # ć
108
+ "\u0443": "u"
109
+ "\u0444": "f"
110
+ "\u0445": "h"
111
+ "\u0446": "c"
112
+ "\u0447": "\u0063\u030c" # č
113
+ "\u045F": "d\u007a\u030c" # dž
114
+ "\u0448": "\u0073\u030c" # š
@@ -0,0 +1,103 @@
1
+ ---
2
+ authority_id: alalc
3
+ id: 2013
4
+ language: mkd
5
+ source_script: Cyrl
6
+ destination_script: Latn
7
+ name: Makedonian Romanization, ALA-LC 2013 System
8
+ url: https://www.loc.gov/catdir/cpso/romanization/macedonian.pdf
9
+ creation_date: 2013
10
+ description: ALA-LC Romanization table for Makedonian.
11
+
12
+ tests:
13
+ - source: Општина Ердут
14
+ expected: Opština Erdut
15
+ - source: Општина Двор
16
+ expected: Opština Dvor
17
+ - source: ЛУЃЕ луѓе
18
+ expected: LUǴE luǵe
19
+ - source: ЅВЕЗДА ѕвезда Ѕвезда
20
+ expected: DZVEZDA dzvezda Dzvezda
21
+ - source: ЌАРУВАЊЕ ќарување
22
+ expected: ḰARUVANJE ḱaruvanje
23
+
24
+ map:
25
+ postrules:
26
+ # DZ
27
+ - pattern: "((?<=[[:upper:]])Dz(?=[[:upper:]])?|(?<=[[:upper:]])?Dz(?=[[:upper:]]))"
28
+ result: "DZ"
29
+ #LJ
30
+ - pattern: "((?<=[[:upper:]])Lj(?=[[:upper:]])?|(?<=[[:upper:]])?Lj(?=[[:upper:]]))"
31
+ result: "LJ"
32
+ #NJ
33
+ - pattern: "((?<=[[:upper:]])Nj(?=[[:upper:]])?|(?<=[[:upper:]])?Nj(?=[[:upper:]]))"
34
+ result: "NJ"
35
+ #DŽ
36
+ - pattern: "((?<=[[:upper:]])Dž(?=[[:upper:]])?|(?<=[[:upper:]])?Dž(?=[[:upper:]]))"
37
+ result: "DŽ"
38
+
39
+ characters:
40
+ "\u0410": "A"
41
+ "\u0411": "B"
42
+ "\u0412": "V"
43
+ "\u0413": "G"
44
+ "\u0403": "\u01F4" # Ǵ
45
+ "\u0414": "D"
46
+ "\u0402": "\u0110" # Đ
47
+ "\u0415": "E"
48
+ "\u0416": "\u005a\u030c" # Ž
49
+ "\u0417": "Z"
50
+ "\u0405": "Dz"
51
+ "\u0418": "I"
52
+ "\u0408": "J"
53
+ "\u041A": "K"
54
+ "\u040C": "\u1E30" # Ḱ
55
+ "\u041B": "L"
56
+ "\u0409": "Lj"
57
+ "\u041C": "M"
58
+ "\u041D": "N"
59
+ "\u040A": "Nj"
60
+ "\u041E": "O"
61
+ "\u041F": "P"
62
+ "\u0420": "R"
63
+ "\u0421": "S"
64
+ "\u0422": "T"
65
+ "\u0423": "U"
66
+ "\u0424": "F"
67
+ "\u0425": "H"
68
+ "\u0426": "C"
69
+ "\u0427": "\u0043\u030c" # Č
70
+ "\u040F": "D\u007a\u030c" # Dž
71
+ "\u0428": "\u0053\u030c" # Š
72
+ "\u0430": "a"
73
+ "\u0431": "b"
74
+ "\u0432": "v"
75
+ "\u0433": "g"
76
+ "\u0453": "\u01F5" # ǵ
77
+ "\u0434": "d"
78
+ "\u0452": "\u0111" # đ
79
+ "\u0435": "e"
80
+ "\u0436": "\u007a\u030c" # ž
81
+ "\u0437": "z"
82
+ "\u0455": "dz"
83
+ "\u0438": "i"
84
+ "\u0458": "j"
85
+ "\u043A": "k"
86
+ "\u045C": "\u1E31" # ḱ
87
+ "\u043B": "l"
88
+ "\u0459": "lj"
89
+ "\u043C": "m"
90
+ "\u043D": "n"
91
+ "\u045A": "nj"
92
+ "\u043E": "o"
93
+ "\u043F": "p"
94
+ "\u0440": "r"
95
+ "\u0441": "s"
96
+ "\u0442": "t"
97
+ "\u0443": "u"
98
+ "\u0444": "f"
99
+ "\u0445": "h"
100
+ "\u0446": "c"
101
+ "\u0447": "\u0063\u030c" # č
102
+ "\u045F": "d\u007a\u030c" # dž
103
+ "\u0448": "\u0073\u030c" # š
@@ -0,0 +1,237 @@
1
+ ---
2
+ authority_id: alalc
3
+ id: 1997
4
+ language: pan
5
+ source_script: Deva
6
+ destination_script: Latn
7
+ name: Panjabi Romanization, 1997
8
+ url: https://www.loc.gov/catdir/cpso/romanization/panjabi.pdf
9
+ creation_date: 1997
10
+ description: |
11
+ ALA-LC Romanization table for Panjabi
12
+
13
+ notes:
14
+
15
+ - Only the vowel forms that appear at the beginning of a syllable are listed; the forms used for
16
+ vowels following a consonant can be found in grammars; no distinction between the two is
17
+ made in transliteration.
18
+
19
+ - |
20
+ The vowel a is implicit after consonant clusters and may be implicit after consonants except
21
+ when they are final or when another vowel is indicated by its appropriate sign. The cases in
22
+ which the vowel a is implicit, however, can be determined only from a knowledge of the
23
+ language or from suitable reference sources. In such cases the a is supplied in transliteration.
24
+
25
+ - The dotted letters (ਸ਼ ਖ਼ ਗ਼ ਜ਼ ਫ਼ ਲ਼) are used in Urdu words.
26
+
27
+ - |
28
+ Exception: Bindī is transliterated by:
29
+
30
+ a) ṅ before gutturals,
31
+ b) ñ before palatals,
32
+ c) ṇ before cerebrals,
33
+ d) n before dentals, and
34
+ e) m before labials.
35
+
36
+ - |
37
+ Exception: Ṭippī is transliterated by:
38
+
39
+ a) ṅ before gutturals,
40
+ b) ñ before palatals,
41
+ c) ṇ before cerebrals,
42
+ d) n before dentals, and
43
+ e) m before labials.
44
+
45
+ - |
46
+ Exception: When adhik implies the combination of a non-aspirated and an aspirated
47
+ consonant, the combination is transliterated as a non-aspirated, followed by an aspirated
48
+ consonant.
49
+
50
+ tests:
51
+ - source: "ਪੰਜਾਬ 'ਚ ਵਧ ਰਿਹਾ ਖ਼ੁਦਕੁਸ਼ੀਆਂ ਦਾ ਰੁਝਾਨ"
52
+ expected: "pañjaāba 'ca wadha raihaā khaudakaushaīāṃ daā raujhaāna"
53
+ - source: "ਲੱਖ ਤੋਂ ਪਾਰ ਪੁੱਜਾ ਸਰਗਰਮ ਕੇਸਾਂ ਦਾ ਅੰਕੜਾ, ਦਿੱਲੀ 'ਚ ਦੋ ਲੱਖ ਤੋਂ ਪਾਰ ਇਨਫੈਕਟਿਡ"
54
+ expected: "lakkha taoṃ paāra paujjaā saragarama kaesaāṃ daā aṅkaṛaā, daillaī 'ca dao lakkha taoṃ paāra inaphaaikaṭaiḍa"
55
+ - source: "ਪਰਿਵਾਰਕ ਸਮੱਸਿਆਵਾਂ ਅਤੇ ਵਿਆਹ ਵੀ ਹੈ ਹੋਰ ਅਹਿਮ ਕਾਰਨ"
56
+ expected: "paraiwaāraka samassaiāwaāṃ atae waiāha waī haai haora ahaima kaārana"
57
+ - source: "ਮਰਦਾਂ 'ਚ ਔਰਤਾਂ ਨਾਲੋਂ ਵੱਧ ਹੈ ਖ਼ੁਦਕੁਸ਼ੀ ਦਾ ਰੁਝਾਨ"
58
+ expected: "maradaāṃ 'ca aurataāṃ naālaoṃ waddha haai khaudakaushaī daā raujhaāna"
59
+ - source: "ਰਾਸ਼ਟਰੀ ਪੱਧਰ 'ਤੇ ਪੰਜਾਬ ਦੀ ਸਥਿਤੀ ਕਾਫ਼ੀ ਸੂਬਿਆਂ ਤੋਂ ਬਿਹਤਰ"
60
+ expected: "raāshaṭaraī paddhara 'tae pañjaāba daī sathaitaī kaāfaī saūbaiāṃ taoṃ baihatara"
61
+ - source: "ਚੀਨੀ ਸੈਨਾ ਨੇ ਲਾਪਤਾ ਅਰੁਣਾਚਲ ਦੇ 5 ਨੌਜਵਾਨਾਂ ਬਾਰੇ ਦੱਸਿਆ"
62
+ expected: "caīnaī saainaā nae laāpataā arauṇaācala dae 5 naaujawaānaāṃ baārae dassaiā"
63
+ - source: "ਸਾਖਰਤਾ ਦੇ ਮਾਮਲੇ 'ਚ ਦੇਸ਼ 'ਚ 7ਵੇਂ ਨੰਬਰ 'ਤੇ ਪੰਜਾਬ"
64
+ expected: "saākharataā dae maāmalae 'ca daesha 'ca 7waeṃ nam̆̐bara 'tae pañjaāba"
65
+ - source: "ਦਿੱਲੀ ਕਮੇਟੀ ਦੇ ਮੈਂਬਰ ਸ਼ੰਟੀ ਨੇ ਅਕਾਲੀ ਦਲ ਤੋਂ ਦਿੱਤਾ ਅਸਤੀਫ਼ਾ"
66
+ expected: "daillaī kamaeṭaī dae maaiṃbara shaṇṭaī nae akaālaī dala taoṃ daittaā asataīfaā"
67
+ - source: "102 ਹੋਰ ਕੋਰੋਨਾ ਪਾਜ਼ੀਟਿਵ ਮਰੀਜ਼ਾਂ ਦੀ ਪੁਸ਼ਟੀ, ਇਕ ਦੀ ਮੌਤ"
68
+ expected: "102 haora kaoraonaā paāzaīṭaiwa maraīzaāṃ daī paushaṭaī, ika daī maauta"
69
+ - source: "ਸੜਕ ਹਾਦਸੇ ਦੌਰਾਨ ਇਕ ਦੀ ਮੌਤ"
70
+ expected: "saṛaka haādasae daauraāna ika daī maauta"
71
+
72
+ map:
73
+
74
+ rules:
75
+ # note[4]
76
+ - pattern: \u0A02(?=[ਕਖਖ਼ਗਗ਼ਘਙ]) # ਂ before gutturals
77
+ result: ṅ
78
+ - pattern: \u0A02(?=[ਚਛਜਜ਼ਝਞ]) # ਂ before palatals
79
+ result: ñ
80
+ - pattern: \u0A02(?=[ਟਠਡਢਣ]) # ਂ before cerebrals
81
+ result: ṇ
82
+ - pattern: \u0A02(?=[ਤਥਦਧਨ]) # ਂ before dentals
83
+ result: n
84
+
85
+ # note[5]
86
+ - pattern: \u0A70(?=[ਕਖਖ਼ਗਗ਼ਘਙ]) # ੰ before gutturals
87
+ result: ṅ
88
+ - pattern: \u0A70(?=[ਚਛਜਜ਼ਝਞ]) # ੰ before palatals
89
+ result: ñ
90
+ - pattern: \u0A70(?=[ਟਠਡਢਣ]) # ੰ before cerebrals
91
+ result: ṇ
92
+ - pattern: \u0A70(?=[ਤਥਦਧਨ]) # ੰ before dentals
93
+ result: n
94
+
95
+ characters:
96
+
97
+ # I. Vowels and Diphthongs (see Note 1)
98
+
99
+ 'ਅ': 'a'
100
+ 'ਆ': 'ā'
101
+ 'ਇ': 'i'
102
+ 'ਈ': 'ī'
103
+ 'ਉ': 'u'
104
+ 'ਊ': 'ū'
105
+ 'ਏ': 'e'
106
+ 'ਐ': 'ai'
107
+ 'ਓ': 'o'
108
+ 'ਔ': 'au'
109
+
110
+ # II. Consonants (see Note 2)
111
+ # Gutturals
112
+ 'ਕ': 'ka'
113
+ 'ਖ': 'kha'
114
+ 'ਖ਼': 'kha'
115
+ 'ਗ': 'ga'
116
+ 'ਗ਼': 'gha'
117
+ 'ਘ': 'gha'
118
+ 'ਙ': 'ṅa'
119
+
120
+ # Palatals
121
+ 'ਚ': 'ca'
122
+ 'ਛ': 'cha'
123
+ 'ਜ਼': 'za'
124
+ 'ਜ': 'ja'
125
+ 'ਝ': 'jha'
126
+ 'ਞ': 'ña'
127
+
128
+ # Cerebrals
129
+ 'ਟ': 'ṭa'
130
+ 'ਠ': 'ṭha'
131
+ 'ਡ': 'ḍa'
132
+ 'ਢ': 'ḍha'
133
+ 'ਣ': 'ṇa'
134
+
135
+ # Dentals
136
+ 'ਤ': 'ta'
137
+ 'ਥ': 'tha'
138
+ 'ਦ': 'da'
139
+ 'ਧ': 'dha'
140
+ 'ਨ': 'na'
141
+
142
+ # Labials
143
+ 'ਪ': 'pa'
144
+ 'ਫ': 'pha'
145
+ 'ਫ਼': 'fa'
146
+ 'ਬ': 'ba'
147
+ 'ਭ': 'bha'
148
+ 'ਮ': 'ma'
149
+
150
+ # Semivowels
151
+ 'ਯ': 'ya'
152
+ 'ਰ': 'ra'
153
+ 'ਲ': 'la'
154
+ 'ਲੵ': 'ḷa'
155
+ 'ਲ਼': 'ḷa'
156
+ 'ਵ': 'wa'
157
+ 'ੜ': 'ṛa'
158
+
159
+ # Sibilants
160
+ 'ਸ': 'sa'
161
+ 'ਸ਼': 'sha'
162
+
163
+ # Aspirate
164
+ 'ਹ': 'ha'
165
+
166
+ # Bindī (see Note 4)
167
+ 'ਂ': 'ṃ'
168
+
169
+ # Ṭippī (see Note 5)
170
+ 'ੰ': 'm̆̐'
171
+
172
+ # Medials # Needed for connecting constants
173
+ 'ਾ': "ā"
174
+ 'ਿ': "i"
175
+ 'ੀ': "ī"
176
+ 'ੁ': "u"
177
+ 'ੂ': "ū"
178
+ 'ੇ': "e"
179
+ 'ੈ': "ai"
180
+ 'ੋ': "o"
181
+ 'ੌ': "au"
182
+
183
+ # For adhik character[Note 6]
184
+
185
+ # Gutturals
186
+ 'ੱਕ': 'kka'
187
+ 'ੱਖ': 'kkha'
188
+ 'ੱਖ਼': 'kkha'
189
+ 'ੱਗ': 'gga'
190
+ 'ੱਗ਼': 'ggha'
191
+ 'ੱਘ': 'ggha'
192
+ 'ੱਙ': 'ṅṅa'
193
+
194
+ # Palatals
195
+ 'ੱਚ': 'cca'
196
+ 'ੱਛ': 'ccha'
197
+ 'ੱਜ': 'jja'
198
+ 'ੱਜ਼': 'zza'
199
+ 'ੱਝ': 'jjha'
200
+ 'ੱਞ': 'ñña'
201
+
202
+ # Cerebrals
203
+ 'ੱਟ': 'ṭṭa'
204
+ 'ੱਠ': 'ṭṭha'
205
+ 'ੱਡ': 'ḍḍa'
206
+ 'ੱਢ': 'ḍḍha'
207
+ 'ੱਣ': 'ṇṇa'
208
+
209
+ # Dentals
210
+ 'ੱਤ': 'tta'
211
+ 'ੱਥ': 'ttha'
212
+ 'ੱਦ': 'dda'
213
+ 'ੱਧ': 'ddha'
214
+ 'ੱਨ': 'nna'
215
+
216
+ # Labials
217
+ 'ੱਪ': 'ppa'
218
+ 'ੱਫ': 'ppha'
219
+ 'ੱਫ਼': 'ffa'
220
+ 'ੱਬ': 'bba'
221
+ 'ੱਭ': 'bbha'
222
+ 'ੱਮ': 'mma'
223
+
224
+ # Semivowels
225
+ 'ੱਯ': 'yya'
226
+ 'ੱਰ': 'rra'
227
+ 'ੱਲ': 'lla'
228
+ 'ੱਲੵ': 'ḷḷa'
229
+ 'ੱਵ': 'wwa'
230
+ 'ੱੜ': 'ṛṛa'
231
+
232
+ # Sibilants
233
+ 'ੱਸ': 'ssa'
234
+ 'ੱਸ਼': 'ssha'
235
+
236
+ # Aspirate
237
+ 'ੱਹ': 'hha'