Sfoglia il codice sorgente

Merge branch 'main' of gh:lcnetdev/scriptshifter

scossu 2 mesi fa
parent
commit
f4b7142b5c

+ 7 - 4
scriptshifter/tables/data/arabic.yml

@@ -15,11 +15,12 @@ general:
 roman_to_script:
   map:
 
-    # Original table by David Bucknum
-    # Last updated 25 January 2019
+    # Original table by David Bucknum, 5 April 2010
+    # Updated, 25 January 2019
     # Modified by WK with testing by Arabic Cat Staff LOC-CAIRO
     # Additional info from R. Vassie, [n.d.] "Marrying the Arabic and Latin
     # Scripts Conceptually"
+    # Updated, 26 March 2025 by Randall K. Barry to reverse truncation marks for ScriptShifter
 
 
     # Punctuation marks:
@@ -135,11 +136,11 @@ roman_to_script:
     "fi\u0304-": "\u0641\u064A"
     "ka-": "\u0643"
 
-    # Vowels and vowel/consonant combinations
+    # Vowels and vowel/consonant combinations - ta-marbutah at end of word
     "ah%": "\u0629"
     "at%": "\u0629"
 
-    # tanwin
+    # tanwin at end of word
     "an%": "\u0627"
 
     # ayn-alif combo
@@ -149,6 +150,8 @@ roman_to_script:
     "\u02BBA\u0304": "\u0639\u0627"
     "\u02BBa\u0304": "\u0639\u0627"
 
+    "\u02BBI\u0304Y": "\u0639\u064A"
+    "\u02BBi\u0304y": "\u0639\u064A"
     "\u02BBI\u0304": "\u0639\u064A"
     "\u02BBi\u0304": "\u0639\u064A"
 

+ 4 - 4
scriptshifter/tables/data/macedonian.yml

@@ -14,14 +14,14 @@ roman_to_script:
     "\u01F5": "\u0453"
     "g": "\u0433"
     "\u0110": "\u0402"
-    "D\uFE20Z\u030C\uFE21": "\040F"
-    "D\uFE20z\u030C\uFE21": "\040F"
-    "d\uFE20Z\u030C\uFE21": "\040F"
+    "D\uFE20Z\u030C\uFE21": "\u040F"
+    "D\uFE20z\u030C\uFE21": "\u040F"
+    "d\uFE20Z\u030C\uFE21": "\u040F"
     # Mapping from precomposed non-MARC-8 Latin equivalent
     "\u01C4": "\u040F"
     # Mapping from precomposed non-MARC-8 Latin equivalent
     "\u01C5": "\u040F"
-    "d\uFE20z\u030C\uFE21": "\045F"
+    "d\uFE20z\u030C\uFE21": "\u045F"
     # Mapping from precomposed non-MARC-8 Latin equivalent
     "\u01C6": "\u045F"
     "D\uFE20Z\uFE21": "\u0405"

+ 275 - 0
scriptshifter/tables/data/tod_mongolian.yml

@@ -0,0 +1,275 @@
+---
+general:
+  name: Tod (Mongolian)
+  parents:
+    - _ignore_base
+  case_sensitive: false
+  
+roman_to_script:
+
+  map:
+    # Generates Narrow No-Break Space
+    "\u002Daca": "\u202F\u1820\u1854\u1820"
+    "\u002DA": "\u180E\u1820"
+    "\u002Da": "\u180E\u1820"
+    "A": "\u1820"
+    "a": "\u1820"
+    "\u002Dece": "\u202F\u1844\u1854\u1844"
+    "\u002DE": "\u180E\u1844"
+    "\u002De": "\u180E\u1844"
+    # Generates Narrow No-Break Space
+    "\u002D": "\u202F"
+    "E": "\u1844"
+    "e": "\u1844"
+    "I": "\u1845"
+    "i": "\u1845"
+    "O\u0308": "\u1848"
+    "o\u0308": "\u1848"
+    "O": "\u1846"
+    "o": "\u1846"
+    "U\u0308": "\u1849"
+    "u\u0308": "\u1849"
+    "U": "\u1847"
+    "u": "\u1847"
+    # n followed by a g with dot
+    "ng\u0307": "\u1828\u184E"
+    # this conversion shouldn't be needed, but does no harm
+    "nG": "\u184A"
+    "ng": "\u184A"
+    "N\u0303": "\u185B"
+    "n\u0303": "\u185B"
+    "N": "\u1828"
+    "n": "\u1828"
+    "B": "\u184B"
+    "b": "\u184B"
+    "P": "\u184C"
+    "p": "\u184C"
+    "Q": "\u184E"
+    "q": "\u184E"
+    "KH": "\u183B"
+    "Kh": "\u183B"
+    # this conversion shouldn't be needed, but does no harm
+    "kH": "\u183B"
+    "kh": "\u183B"
+    "K\u0307": "\u1857"
+    "k\u0307": "\u1857"
+    "Ka": "\u1857\u1820"
+    "ka": "\u1857\u1820"
+    "Ke": "\u184D\u1844"
+    "ke": "\u184D\u1844"
+    "Ki": "\u184D\u1845"
+    "ki": "\u184D\u1845"
+    "Ko\u0308": "\u184D\u1848"
+    "ko\u0308": "\u184D\u1848"
+    "Ko": "\u1857\u1846"
+    "ko": "\u1857\u1846"
+    "Ku\u0308": "\u184D\u1849"
+    "ku\u0308": "\u184D\u1849"
+    "Ku": "\u1857\u1847"
+    "ku": "\u1857\u1847"
+    "K": "\u1857"
+    "k": "\u1857"
+    "G\u0307": "\u184E"
+    "g\u0307": "\u184E"
+    "G": "\u184E"
+    "g": "\u184E"
+    "M": "\u184F"
+    "m": "\u184F"
+    "LH": "\u1840"
+    "Lh": "\u1840"
+    # this conversion shouldn't be needed, but does no harm
+    "lH": "\u1840"
+    "lh": "\u1840"
+    "L": "\u182F"
+    "l": "\u182F"
+    "TS\u0307": "\u1854"
+    # this conversion shouldn't be needed, but does no harm
+    "Ts\u0307": "\u1854"
+    # this conversion shouldn't be needed, but does no harm
+    "tS\u0307": "\u1854"
+    "ts\u0307": "\u1854"
+    "S\u0301": "\u1831"
+    "s\u0301": "\u1831"
+    "S": "\u1830"
+    "s": "\u1830"
+    "T": "\u1850"
+    "t": "\u1850"
+    "D": "\u1851"
+    "d": "\u1851"
+    "J\u0301": "\u185A"
+    "j\u0301": "\u185A"
+    "J": "\u1853"
+    "j": "\u1853"
+    "Y": "\u1855"
+    "y": "\u1855"
+    "V": "\u1856"
+    "v": "\u1856"
+    "W": "\u1856"
+    "w": "\u1856"
+    "F": "\u1839"
+    "f": "\u1839"
+    "Xa": "\u184D\u1820"
+    "xa": "\u184D\u1820"
+    "Xe": "\u184D\u1844"
+    "xe": "\u184D\u1844"
+    "Xi": "\u184D\u1845"
+    "xi": "\u184D\u1845"
+    "Xo\u0308": "\u184D\u1848"
+    "xo\u0308": "\u184D\u1848"
+    "Xo": "\u184D\u1846"
+    "xo": "\u184D\u1846"
+    "Xu\u0308": "\u184D\u1849"
+    "xu\u0308": "\u184D\u1849"
+    "Xu": "\u184D\u1847"
+    "xu": "\u184D\u1847"
+    "X": "\u184D"
+    "x": "\u184D"
+    "Z\u0301": "\u183F"
+    "z\u0301": "\u183F"
+    "ZR": "\u183F"
+    # this conversion shouldn't be needed, but does no harm
+    "Zr": "\u183F"
+    # this conversion shouldn't be needed, but does no harm
+    "zR": "\u183F"
+    "zr": "\u183F"
+    "R": "\u1837"
+    "r": "\u1837"
+    "ZH": "\u1841"
+    "Zh": "\u1841"
+    # this conversion shouldn't be needed, but does no harm
+    "zH": "\u1841"
+    "zh": "\u1841"
+    "CH": "\u1842"
+    "Ch": "\u1842"
+    # this conversion shouldn't be needed, but does no harm
+    "cH": "\u1842"
+    "ch": "\u1842"
+    "C\u0307": "\u1878"
+    "c\u0307": "\u1878"
+    "C\u0301": "\u183C"
+    "c\u0301": "\u183C"
+    "C": "\u1852"
+    "c": "\u1852"
+    "H": "\u183E"
+    "h": "\u183E"
+    "Z": "\u1834"
+    "z": "\u1834"
+    "...": "\u1801"
+    "..": "\u1803"
+    ".": "\u180A"
+    ",": "\u1802"
+    ":": "\u1804"
+    # Left pointing double angle quotation mark
+    "\u003C\u003C": "\u300A"
+    # Right pointing double angle quotation mark
+    "\u003E\u003E": "\u300B"
+    "0": "\u1810"
+    "1": "\u1811"
+    "2": "\u1812"
+    "3": "\u1813"
+    "4": "\u1814"
+    "5": "\u1815"
+    "6": "\u1816"
+    "7": "\u1817"
+    "8": "\u1818"
+    "9": "\u1819"
+    "\u0304": "\u1843"
+
+script_to_roman:
+
+  map:
+    "\u184E\u1820": "g\u0307a"
+    "\u184E\u1846": "g\u0307o"
+    "\u184E\u1847": "g\u0307u"
+    "\u1820\u184E": "aq"
+    "\u1846\u184E": "oq"
+    "\u1847\u184E": "uq"
+    "\u184E\u1844": "ge"
+    "\u184E\u1845": "gi"
+    "\u184E\u1848": "go\u0308"
+    "\u184E\u1849": "gu\u0308"
+    "\u1844\u184E": "eq"
+    "\u1845\u184E": "iq"
+    "\u1848\u184E": "o\u0308q"
+    "\u1849\u184E": "u\u0308q"
+    "\u184D\u1820": "xa"
+    "\u184D\u1846": "xo"
+    "\u184D\u1847": "xu"
+    "\u184D\u1844": "ke"
+    "\u184D\u1845": "ki"
+    "\u184D\u1848": "ko\u0308"
+    "\u184D\u1849": "ku\u0308"
+    "\u180E\u1820": "\u002Da"
+    "\u180E\u1844": "\u002De"
+    "\u180E\u1845": "U002Di"
+    "\u180E": "\u002D"
+    "\u202F": "\u002D"
+    "\u1801": "..."
+    "\u1803": "."
+    "\u1802": ","
+    "\u1804": ":"
+    "\u1810": "0"
+    "\u1811": "1"
+    "\u1812": "2"
+    "\u1813": "3"
+    "\u1814": "4"
+    "\u1815": "5"
+    "\u1816": "6"
+    "\u1817": "7"
+    "\u1818": "8"
+    "\u1819": "9"
+    "\u1820": "a"
+    "\u1828": "n"
+    "\u182F": "l"
+    "\u1830": "s"
+    "\u1831": "s\u0301"
+    "\u1834": "z"
+    "\u1837": "r"
+    "\u1839": "f"
+    "\u183C": "c\u0301"
+    "\u183E": "h"
+    "\u183F": "z\u0301"
+    "\u1843": "\u0304"
+    "\u1844": "e"
+    "\u1845": "i"
+    "\u1846": "o"
+    "\u1847": "u"
+    "\u1848": "o\u0308"
+    "\u1849": "u\u0308"
+    "\u184A": "ng"
+    "\u184B": "b"
+    "\u184C": "p"
+    "\u184D\u1820": "xa"
+    "\u184D\u1844": "xe"
+    "\u184D\u1845": "xi"
+    "\u184D\u1848": "xo\u0308"
+    "\u184D\u1846": "xo"
+    "\u184D\u1849": "xu\u0308"
+    "\u184D\u1847": "xu"
+    "\u184D": "q"
+    "\u184E": "g"
+    "\u184F": "m"
+    "\u1850": "t"
+    "\u1851": "d"
+    "\u1852": "c"
+    "\u1853": "j"
+    "\u1854": "ts"
+    "\u1855": "y"
+    "\u1856": "v"
+    "\u1857\u1820": "ka"
+    "\u1857\u1844": "ke"
+    "\u1857\u1845": "ki"
+    "\u1857\u1846": "ko"
+    "\u1857\u1847": "ku"
+    "\u1857\u1848": "ko\u0308"
+    "\u1857\u1849": "ku\u0308"
+    "\u1857": "k"
+    "\u1858": "g"
+    "\u1859": "h"
+    "\u185A": "j\u0301"
+    "\u185B": "k\u0307"
+    "\u185C": "j"
+    "\u00AB": "\u003C\u003C"
+    "\u00BB": "\u003E\u003E"
+    "\u300A": "\u0022"
+    "\u300B": "\u0022"

+ 18 - 1
scriptshifter/tables/index.yml

@@ -72,7 +72,16 @@ chuvash_cyrillic:
   marc_code: chv
   name: Chuvash (Cyrillic)
 cyrillic_generic:
-  name: Cyrillic (generic)
+  description: 'Multi-purpose transliteration for most languages that use the Cyrillic script:
+    Abaza, Abkhaz, Adygei, Aisor, Altai, Avar, Azeri, Balkar, Bashkir, Belarusian, Bulgarian,
+    Buryat, Chechen, Chukchi, Chuvash, Dargwa, Dungan, Eskimo, Even, Evenki, Gagauz, Ingush,
+    Inuit, Kabardian, Kalmyk, Karachay, Karachay-Balkar, Karakalpak, Karelian, Khakass, Khanty,
+    Komi, Komi-Permyak, Koryak, Kumyk, Lak, Lapp, Lezghian, Lithuanian, Macedonian, Mansi, Mari,
+    Moldovan, Molodstov, Mordvin, Nanai, Nenets, Nivkh, Nogai, Ossetic, Permyak, Romanian, Romany,
+    Russian, Selkup, Serbian, Shor, Tabasaran, Tat, Tuva, Udekhe, Udmurt, Ukrainian, Yakut.'
+  marc_code: abk, ady, alt, ava, bak, bel, bul, che, chm, chv, dar, ale, esk, kbd, xal, krc, kaa,
+    krl, kom, kum, lez, lit, mac, nog, oss, rum, rom, sah, sel, srp, udm, ukr
+  name: Cyrillic (Generic)
 devanagari:
   marc_code: hin, san
   name: Devanagari
@@ -169,6 +178,9 @@ macedonian:
 malayalam:
   marc_code: mal
   name: Malayalam
+manchu:
+  marc_code: mnc
+  name: Manchu
 mansi_cyrillic:
   name: Mansi (Cyrillic)
 marathi_devanagari:
@@ -268,6 +280,9 @@ thai:
 tibetan:
   marc_code: tib
   name: Tibetan
+tod_mongolian:
+  marc_code: xal
+  name: Tod Mongolian
 turkmen_cyrillic:
   marc_code: tuk
   name: Turkmen (Cyrillic)
@@ -300,3 +315,5 @@ yiddish:
   name: Yiddish
 yuit_cyrillic:
   name: Yuit (Cyrillic)
+  
+