Bladeren bron

Fix FKR172-179. All tests pass.

scossu 1 jaar geleden
bovenliggende
commit
ea11a1a7e2
2 gewijzigde bestanden met toevoegingen van 15 en 4 verwijderingen
  1. 2 1
      scriptshifter/hooks/korean/data.yml
  2. 13 3
      scriptshifter/hooks/korean/romanizer.py

+ 2 - 1
scriptshifter/hooks/korean/data.yml

@@ -11258,11 +11258,12 @@ fkr170:
   "駆": "구"
   "験": "험"
 
-fkr172-179:
+fkr172-175:
   - "列"  # FKR172
   - "烈"  # FKR173
   - "裂"  # FKR174
   - "劣"  # FKR175
+fkr176-179:
   - "律"  # FKR176
   - "率"  # FKR177
   - "慄"  # FKR178

+ 13 - 3
scriptshifter/hooks/korean/romanizer.py

@@ -585,19 +585,29 @@ def _hancha2hangul(data):
     # FKR173: Chinese characters 烈(렬)의 발음 처리
     # FKR174: Chinese characters 裂(렬)의 발음 처리
     # FKR175: Chinese characters 劣(렬)의 발음 처리
+    for char in KCONF["fkr172-175"]:
+        idx = [i for i, item in enumerate(data) if item == char]
+        for i in idx:
+            val = ord(data[i - 1])
+            coda_value = (val - CP_MIN) % 28
+            if coda_value == 0 or coda_value == 4 or val < 100:  # TODO verify
+                data = data.replace(char, "열", 1)
+            else:
+                data = data.replace(char, "렬", 1)
+
     # FKR176: Chinese characters 律(률)의 발음 처리
     # FKR177: Chinese characters 率(률)의 발음 처리
     # FKR178: Chinese characters 慄(률)의 발음 처리
     # FKR179: Chinese characters 栗(률)의 발음 처리
-    for char in KCONF["fkr172-179"]:
+    for char in KCONF["fkr176-179"]:
         idx = [i for i, item in enumerate(data) if item == char]
         for i in idx:
             val = ord(data[i - 1])
             coda_value = (val - CP_MIN) % 28
             if coda_value == 0 or coda_value == 4 or val < 100:  # TODO verify
-                data = data.replace(char, "", 1)
+                data = data.replace(char, "", 1)
             else:
-                data = data.replace(char, "", 1)
+                data = data.replace(char, "", 1)
 
     # FKR180: Katakana
     _fkr_log(180)