Procházet zdrojové kódy

Kor fixes (#91)

* Fix bug in Korean name splitting.

* Fix some test strings.

* Remove duplicate data in Korean FKR map.

* Fix isssue with native Korean first names; optimize first name function.

* Add details about diff in test report.
Stefano Cossu před 1 rokem
rodič
revize
4609b20eff

+ 9 - 488
scriptshifter/hooks/korean/data.yml

@@ -21,15 +21,6 @@ fkr004:
   - "을지"
 
 fkr011:
-  nat_ini:
-    - "i1#"
-    - "i4#"
-    - "i8#"
-    - "i10#"
-    - "i13#"
-    - "i15#"
-    - "i16#"
-
   nat_fin:
     - "f2~"
     - "f2E"
@@ -54,6 +45,15 @@ fkr011:
     - "f26"
     - "f27"
 
+  nat_ini:
+    - "i1#"
+    - "i4#"
+    - "i8#"
+    - "i10#"
+    - "i13#"
+    - "i15#"
+    - "i16#"
+
   sino_ini:
     - "씨"
     - "쌍"
@@ -298,485 +298,6 @@ fkr034:
   "Ri": "I"
   "Ry": "Y"
 
-lname_rom:
-  one_chars:
-    "김": "Kim"
-    "가": "Ka"
-    "간": "Kan"
-    "갈": "Kal"
-    "감": "Kam"
-    "강": "Kang"
-    "개": "Kae"
-    "견": "Kyŏn"
-    "경": "Kyŏng"
-    "계": "Kye"
-    "고": "Ko"
-    "곡": "Kok"
-    "공": "Kong"
-    "곽": "Kwak"
-    "교": "Kyo"
-    "구": "Ku"
-    "국": "Kuk"
-    "군": "Kun"
-    "궁": "Kung"
-    "궉": "Kwŏk"
-    "권": "Kwŏn"
-    "근": "Kŭn"
-    "금": "Kŭm"
-    "기": "Ki"
-    "길": "Kil"
-    "나": "Na"
-    "난": "Nan"
-    "남": "Nam"
-    "낭": "Nang"
-    "내": "Nae"
-    "노": "No"
-    "뇌": "Noe"
-    "누": "Nu"
-    "단": "Tan"
-    "담": "Tam"
-    "당": "Tang"
-    "대": "Tae"
-    "도": "To"
-    "독": "Tok"
-    "돈": "Ton"
-    "동": "Tong"
-    "두": "Tu"
-    "라": "Na"
-    "로": "No"
-    "류": "Yu"
-    "리": "Yi"
-    "림": "Im"
-    "마": "Ma"
-    "만": "Man"
-    "매": "Mae"
-    "맹": "Maeng"
-    "명": "Myŏng"
-    "모": "Mo"
-    "목": "Mok"
-    "묘": "Myo"
-    "묵": "Muk"
-    "문": "Mun"
-    "미": "Mi"
-    "민": "Min"
-    "박": "Pak"
-    "반": "Pan"
-    "방": "Pang"
-    "배": "Pae"
-    "백": "Paek"
-    "범": "Pŏm"
-    "변": "Pyŏn"
-    "복": "Pok"
-    "봉": "Pong"
-    "부": "Pu"
-    "비": "Pi"
-    "빈": "Pin"
-    "빙": "Ping"
-    "사": "Sa"
-    "삼": "Sam"
-    "상": "Sang"
-    "서": "Sŏ"
-    "석": "Sŏk"
-    "선": "Sŏn"
-    "설": "Sŏl"
-    "섭": "Sŏp"
-    "성": "Sŏng"
-    "소": "So"
-    "손": "Son"
-    "송": "Song"
-    "수": "Su"
-    "순": "Sun"
-    "승": "Sŭng"
-    "시": "Si"
-    "신": "Sin"
-    "심": "Sim"
-    "십": "Sip"
-    "아": "A"
-    "안": "An"
-    "애": "Ae"
-    "야": "Ya"
-    "양": "Yang"
-    "어": "Ŏ"
-    "엄": "Ŏm"
-    "여": "Yŏ"
-    "연": "Yŏn"
-    "염": "Yŏm"
-    "엽": "Yŏp"
-    "영": "Yŏng"
-    "예": "Ye"
-    "오": "O"
-    "옥": "Ok"
-    "온": "On"
-    "옹": "Ong"
-    "왕": "Wang"
-    "요": "Yo"
-    "용": "Yong"
-    "우": "U"
-    "운": "Un"
-    "원": "Wŏn"
-    "위": "Wi"
-    "유": "Yu"
-    "육": "Yuk"
-    "윤": "Yun"
-    "은": "Ŭn"
-    "음": "Ŭm"
-    "이": "Yi"
-    "인": "In"
-    "임": "Im"
-    "자": "Cha"
-    "장": "Chang"
-    "저": "Chŏ"
-    "전": "Chŏn"
-    "점": "Chŏm"
-    "정": "Chŏng"
-    "제": "Che"
-    "조": "Cho"
-    "종": "Chong"
-    "좌": "Chwa"
-    "주": "Chu"
-    "준": "Chun"
-    "즙": "Chŭp"
-    "증": "Chŭng"
-    "지": "Chi"
-    "진": "Chin"
-    "차": "Ch'a"
-    "창": "Ch'ang"
-    "채": "Ch'ae"
-    "천": "Ch'ŏn"
-    "초": "Ch'o"
-    "최": "Ch'oe"
-    "추": "Ch'u"
-    "춘": "Ch'un"
-    "침": "Sim"
-    "탁": "T'ak"
-    "탄": "T'an"
-    "태": "T'ae"
-    "판": "P'an"
-    "팽": "P'aeng"
-    "편": "P'yŏn"
-    "평": "P'yŏng"
-    "포": "P'o"
-    "표": "P'yo"
-    "풍": "P'ung"
-    "피": "P'i"
-    "필": "P'il"
-    "하": "Ha"
-    "학": "Hak"
-    "한": "Han"
-    "함": "Ham"
-    "해": "Hae"
-    "허": "Hŏ"
-    "현": "Hyŏn"
-    "형": "Hyŏng"
-    "호": "Ho"
-    "홍": "Hong"
-    "화": "Hwa"
-    "환": "Hwan"
-    "황": "Hwang"
-    "후": "Hu"
-    "흥": "Hŭng"
-
-  2char1:
-    "南宮": "Namgung"
-    "諸葛": "Chegal"
-    "皇甫": "Hwangbo"
-    "鮮于": "Sŏnu"
-    "西門": "Sŏmun"
-    "東方": "Tongbang"
-    "獨孤": "Tokko"
-    "司空": "Sagong"
-    "司馬": "Sama"
-    "乙支": "Ŭlchi"
-
-  2char2:
-    "남궁": "Namgung"
-    "제갈": "Chegal"
-    "황보": "Hwangbo"
-    "선우": "Sŏnu"
-    "서문": "Sŏmun"
-    "동방": "Tongbang"
-    "독고": "Tokko"
-    "사공": "Sagong"
-    "사마": "Sama"
-    "을지": "Ŭlchi"
-
-  ln_in_chi_set:
-    "賈": "가"
-    "簡": "간"
-    "葛": "갈"
-    "甘": "감"
-    "剛": "강"
-    "姜": "강"
-    "康": "강"
-    "强": "강"
-    "彊": "강"
-    "介": "개"
-    "堅": "견"
-    "甄": "견"
-    "京": "경"
-    "慶": "경"
-    "景": "경"
-    "桂": "계"
-    "高": "고"
-    "曲": "곡"
-    "公": "공"
-    "孔": "공"
-    "郭": "곽"
-    "橋": "교"
-    "丘": "구"
-    "具": "구"
-    "邱": "구"
-    "國": "국"
-    "菊": "국"
-    "鞠": "국"
-    "君": "군"
-    "弓": "궁"
-    "鴌": "궉"
-    "權": "권"
-    "斤": "근"
-    "琴": "금"
-    "奇": "기"
-    "箕": "기"
-    "吉": "길"
-    "金": "김"
-    "金": "김"
-    "羅": "나"
-    "欒": "난"
-    "南": "남"
-    "浪": "낭"
-    "乃": "내"
-    "奈": "내"
-    "盧": "노"
-    "路": "노"
-    "魯": "노"
-    "賴": "뇌"
-    "雷": "뇌"
-    "樓": "누"
-    "單": "단"
-    "段": "단"
-    "端": "단"
-    "譚": "담"
-    "唐": "당"
-    "大": "대"
-    "道": "도"
-    "都": "도"
-    "陶": "도"
-    "敦": "돈"
-    "頓": "돈"
-    "董": "동"
-    "杜": "두"
-    "頭": "두"
-    "柳": "류"
-    "馬": "마"
-    "麻": "마"
-    "萬": "만"
-    "梅": "매"
-    "孟": "맹"
-    "明": "명"
-    "毛": "모"
-    "牟": "모"
-    "睦": "목"
-    "苗": "묘"
-    "墨": "묵"
-    "文": "문"
-    "米": "미"
-    "閔": "민"
-    "朴": "박"
-    "潘": "반"
-    "班": "반"
-    "房": "방"
-    "方": "방"
-    "邦": "방"
-    "龐": "방"
-    "裵": "배"
-    "白": "백"
-    "凡": "범"
-    "范": "범"
-    "卞": "변"
-    "邊": "변"
-    "卜": "복"
-    "奉": "봉"
-    "鳳": "봉"
-    "傅": "부"
-    "夫": "부"
-    "丕": "비"
-    "彬": "빈"
-    "賓": "빈"
-    "冰": "빙"
-    "氷": "빙"
-    "史": "사"
-    "舍": "사"
-    "謝": "사"
-    "杉": "삼"
-    "森": "삼"
-    "尙": "상"
-    "徐": "서"
-    "西": "서"
-    "昔": "석"
-    "石": "석"
-    "宣": "선"
-    "楔": "설"
-    "薛": "설"
-    "葉": "섭"
-    "成": "성"
-    "星": "성"
-    "肖": "소"
-    "蘇": "소"
-    "邵": "소"
-    "孫": "손"
-    "宋": "송"
-    "松": "송"
-    "水": "수"
-    "洙": "수"
-    "淳": "순"
-    "舜": "순"
-    "荀": "순"
-    "順": "순"
-    "承": "승"
-    "昇": "승"
-    "施": "시"
-    "柴": "시"
-    "愼": "신"
-    "申": "신"
-    "辛": "신"
-    "沈": "심"
-    "沈": "심"
-    "什": "십"
-    "阿": "아"
-    "安": "안"
-    "艾": "애"
-    "夜": "야"
-    "梁": "양"
-    "楊": "양"
-    "樑": "양"
-    "襄": "양"
-    "魚": "어"
-    "嚴": "엄"
-    "余": "여"
-    "呂": "여"
-    "汝": "여"
-    "延": "연"
-    "燕": "연"
-    "連": "연"
-    "廉": "염"
-#    "葉": "엽" # WARN: duplicate key at 614
-    "影": "영"
-    "榮": "영"
-    "永": "영"
-    "乂": "예"
-    "芮": "예"
-    "吳": "오"
-    "玉": "옥"
-    "溫": "온"
-    "邕": "옹"
-    "雍": "옹"
-    "王": "왕"
-    "姚": "요"
-    "龍": "용"
-    "于": "우"
-    "宇": "우"
-    "禹": "우"
-    "芸": "운"
-    "雲": "운"
-    "元": "원"
-    "苑": "원"
-    "袁": "원"
-    "韋": "위"
-    "魏": "위"
-    "兪": "유"
-    "劉": "유"
-    "庾": "유"
-    "陸": "육"
-    "尹": "윤"
-    "殷": "은"
-    "陰": "음"
-    "伊": "이"
-    "李": "이"
-    "異": "이"
-    "印": "인"
-    "任": "임"
-    "林": "임"
-    "慈": "자"
-    "張": "장"
-    "章": "장"
-    "莊": "장"
-    "蔣": "장"
-    "邸": "저"
-    "全": "전"
-    "田": "전"
-    "錢": "전"
-    "占": "점"
-    "丁": "정"
-    "程": "정"
-    "鄭": "정"
-    "諸": "제"
-    "齊": "제"
-    "曺": "조"
-    "趙": "조"
-    "宗": "종"
-    "鍾": "종"
-    "左": "좌"
-    "周": "주"
-    "朱": "주"
-    "俊": "준"
-    "汁": "즙"
-    "增": "증"
-    "曾": "증"
-    "智": "지"
-    "池": "지"
-    "晋": "진"
-    "眞": "진"
-    "秦": "진"
-    "陳": "진"
-    "車": "차"
-    "倉": "창"
-    "昌": "창"
-    "菜": "채"
-    "蔡": "채"
-    "采": "채"
-    "千": "천"
-    "天": "천"
-    "初": "초"
-    "楚": "초"
-#    "肖": "초" # WARN: duplicate key at 617
-    "崔": "최"
-    "秋": "추"
-    "鄒": "추"
-    "椿": "춘"
-    "卓": "탁"
-    "彈": "탄"
-    "太": "태"
-    "判": "판"
-    "彭": "팽"
-    "扁": "편"
-    "片": "편"
-    "平": "평"
-    "包": "포"
-    "表": "표"
-    "馮": "풍"
-    "皮": "피"
-    "弼": "필"
-    "夏": "하"
-    "河": "하"
-    "學": "학"
-    "漢": "한"
-    "韓": "한"
-    "咸": "함"
-    "海": "해"
-    "許": "허"
-    "玄": "현"
-    "邢": "형"
-    "扈": "호"
-    "胡": "호"
-    "鎬": "호"
-    "洪": "홍"
-    "化": "화"
-    "桓": "환"
-    "黃": "황"
-    "候": "후"
-    "后": "후"
-    "興": "흥"
-
 fkr035:
   "Nuk'ŏsŭ": "Luk'ŏsŭ"
   "Rotte": "Lotte"

+ 37 - 27
scriptshifter/hooks/korean/romanizer.py

@@ -171,6 +171,7 @@ def _romanize_name(src, options):
     parsed, _warnings = _parse_kor_name(
             re.sub(r"\s{2,}", " ", src.strip()),
             options)
+    logger.debug(f"Parsed Korean name: {parsed}")
 
     if len(_warnings):
         warnings += _warnings
@@ -178,11 +179,14 @@ def _romanize_name(src, options):
     if parsed:
         if "~" in parsed:
             lname, fname = parsed.split("~", 1)
+            logger.debug(f"First name: {fname}; Last name: {lname}")
             fname_rom = _kor_fname_rom(fname)
 
             lname_rom_ls = []
             for n in lname.split("+"):
                 _k = _kor_lname_rom(n)
+                logger.debug(f"Split last name part: {n}")
+                logger.debug(f"Split last name part romanized: {_k}")
                 if _k:
                     lname_rom_ls.append(_k)
 
@@ -219,10 +223,11 @@ def _parse_kor_name(src, options):
     warnings = []
 
     # FKR004: Check first two characters. Two-syllable family name or not?
-    two_syl_fname = False
+    two_syl_lname = False
     for ptn in KCONF["fkr004"]:
         if src.startswith(ptn):
-            two_syl_fname = True
+            two_syl_lname = True
+            logger.debug("Name has a 2-syllable last name.")
             break
 
     src_len = len(src)
@@ -243,25 +248,33 @@ def _parse_kor_name(src, options):
 
     # FKR007: 2 spaces (two family names)
     if ct_spaces == 2:
+        logger.debug(f"Name {src} has 2 spaces.")
         parsed = src.replace(" ", "+", 1).replace(" ", "~", 1)
     elif ct_spaces == 1:
         # FKR008: 1 space (2nd position)
         if src[1] == " ":
+            logger.debug(f"Name {src} has 1 space in the 2nd position.")
             parsed = src.replace(" ", "~")
 
         # FKR009: 1 space (3nd position)
         if src[2] == " ":
-            if two_syl_fname:
+            logger.debug(f"Name {src} has 1 space in the 3rd position.")
+            if two_syl_lname:
                 parsed = "+" + src.replace(" ", "~")
 
     # FKR010: When there is no space
     else:
+        logger.debug(f"Name {src} has no spaces.")
         if src_len == 2:
+            logger.debug("Name has 2 characters.")
             parsed = src[0] + "~" + src[1:]
         elif src_len > 2:
-            if two_syl_fname:
-                parsed = src[:1] + "~" + src[2:]
+            logger.debug("Name has more than 2 characters.")
+            if two_syl_lname:
+                logger.debug("Last name has 2 syllables.")
+                parsed = src[:2] + "~" + src[2:]
             else:
+                logger.debug("Last name has 1 syllable.")
                 parsed = src[0] + "~" + src[1:]
     return parsed, warnings
 
@@ -609,45 +622,37 @@ def _kor_fname_rom(fname):
         fin = "f" + str(cp % 28)
         rom_ls.append("#".join((ini, med, fin)))
     rom = "~".join(rom_ls) + "E"
+    logger.debug(f"Encoded first name: {rom}")
 
     # FKR011: Check native Korean name, by coda
-    origin_by_fin = "sino"
+    native_by_fin = False
     for tok in KCONF["fkr011"]["nat_fin"]:
         if tok in rom:
-            origin_by_fin = "native"
+            native_by_fin = True
             break
 
     j = False
     for tok in KCONF["fkr011"]["nat_ini"]:
         if tok in rom:
             j = True
-
+            break
     k = False
     for tok in KCONF["fkr011"]["sino_ini"]:
-        if tok in rom:
+        if tok in fname:
             k = True
-
-    if j:
-        if k:
-            origin_by_ini = "sino"
-        else:
-            origin_by_ini = "native"
-    else:
-        origin_by_ini = "sino"
+            break
+    native_by_ini = j and not k
 
     # FKR012: Check native Korean name, by vowel & coda
-    origin_by_med = "sino"
+    native_by_med = False
     for tok in KCONF["fkr011"]:
         if tok in rom:
-            origin_by_med = "native"
+            native_by_med = True
             break
 
     # FKR013: Check native Korean name, by ㅢ
     if "m19#" in rom:
-        if "의" in fname or "희" in fname:
-            origin_by_med = "sino"
-        else:
-            origin_by_med = "native"
+        native_by_med = "의" not in fname and "희" not in fname
 
     # FKR014: Consonant assimilation ㄱ
     # FKR015: Consonant assimilation ㄲ
@@ -677,6 +682,8 @@ def _kor_fname_rom(fname):
 
     rom = _replace_map(rom.replace("#", ""), {"swi": "shwi", "Swi": "Shwi"}, 1)
 
+    logger.debug(f"Partly romanized first name: {rom}")
+    logger.debug(f"fname: {fname} ({len(fname)})")
     if len(fname) == 2:
         rom = rom.replace("~", "-")
     else:
@@ -689,12 +696,15 @@ def _kor_fname_rom(fname):
         rom = _replace_map(rom, cmap)
 
     # FKR032: Capitalization
+    _fkr_log(32)
     rom = rom[0].upper() + rom[1:]
 
     # FKR033: Remove hyphen in bisyllabic native Korean first name
+    _fkr_log(33)
     if (
             len(fname) == 2
-            and "native" in (origin_by_ini, origin_by_fin, origin_by_med)):
+            and any((native_by_ini, native_by_fin, native_by_med))):
+        logger.debug("First name is native.")
         rom = _replace_map(rom, {"n-g": "n'g", "-": ""})
 
     # FKR034: First name, initial sound law
@@ -707,14 +717,14 @@ def _kor_fname_rom(fname):
 
 def _kor_lname_rom(lname):
     if len(lname) == 2:
-        # FKR181: 2-charater names.
+        # FKR181: 2-character names.
         _fkr_log(181)
         rom = _replace_map(lname, KCONF["fkr181"])
     else:
-        # FKR182: 1-charater Chinese names.
+        # FKR182: 1-character Chinese names.
         _fkr_log(182)
         lname = _replace_map(lname, KCONF["fkr182"])
-        # FKR183: 1-charater names.
+        # FKR183: 1-character names.
         _fkr_log(183)
         rom = _replace_map(lname, KCONF["fkr183"])
 

+ 1 - 1
tests/__init__.py

@@ -58,7 +58,7 @@ def test_sample(dset):
         # If no deltas, just truncate the file.
         for lang, script, delta in deltas:
             fh.write(f"Language: {lang}\n")
-            fh.write(f"Original: {script}\n")
+            fh.write(f"Original: {script}\nDiff (result vs. expected):\n")
             for dline in delta:
                 fh.write(dline.strip() + "\n")
             fh.write("\n\n")

+ 13 - 13
tests/data/script_samples/korean.csv

@@ -98,7 +98,7 @@ korean_names,경복흥,Kyŏng Pok-hŭng,,Hangul; from Y. Lee,
 korean_names,경천흥,Kyŏng Ch'ŏn-hŭng,,Hangul; from Y. Lee,
 korean_names,계봉우,Kye Pong-u,,Hangul; from Y. Lee,
 korean_names,계용묵,Kye Yong-muk,,Hangul; from Y. Lee,
-korean_names,계응상,Kye ŭng-sang,,Hangul; from Y. Lee,
+korean_names,계응상,Kye Ŭng-sang,,Hangul; from Y. Lee,
 korean_names,계정식,Kye Chŏng-sik,,Hangul; from Y. Lee,
 korean_names,고경리,Ko Kyŏng-ri,,Hangul; from Y. Lee,
 korean_names,고경명,Ko Kyŏng-myŏng,,Hangul; from Y. Lee,
@@ -107,7 +107,7 @@ korean_names,고경허,Ko Kyŏng-hŏ,,Hangul; from Y. Lee,
 korean_names,고경흠,Ko Kyŏng-hŭm,,Hangul; from Y. Lee,
 korean_names,고광수,Ko Kwang-su,,Hangul; from Y. Lee,
 korean_names,고광순,Ko Kwang-sun,,Hangul; from Y. Lee,
-korean_names,고광욱,Ko kwang-uk,,Hangul; from Y. Lee,
+korean_names,고광욱,Ko Kwang-uk,,Hangul; from Y. Lee,
 korean_names,고광자,Ko Kwang-ja,,Hangul; from Y. Lee,
 korean_names,고덕무,Ko Tŏng-mu,,Hangul; from Y. Lee,
 korean_names,고두환,Ko Tu-hwan,,Hangul; from Y. Lee,
@@ -438,8 +438,8 @@ korean_names,나월환,Na Wŏr-hwan,,Hangul; from Y. Lee,
 korean_names,남유상,Nam Yu-sang,,Hangul; from Y. Lee,
 korean_names,남유용,Nam Yu-yong,,Hangul; from Y. Lee,
 korean_names,남윤전,Nam Yun-jŏn,,Hangul; from Y. Lee,
-korean_names,남응운,Nam ŭng-un,,Hangul; from Y. Lee,
-korean_names,남응중,Nam ŭng-jung,,Hangul; from Y. Lee,
+korean_names,남응운,Nam Ŭng-un,,Hangul; from Y. Lee,
+korean_names,남응중,Nam Ŭng-jung,,Hangul; from Y. Lee,
 korean_names,남이공,Nam I-gong,,Hangul; from Y. Lee,
 korean_names,남이성,Nam I-sŏng,,Hangul; from Y. Lee,
 korean_names,남이신,Nam I-sin,,Hangul; from Y. Lee,
@@ -660,7 +660,7 @@ korean_names,양규철,Yang Kyu-ch'ŏl,,Hangul; from Y. Lee,
 korean_names,양근환,Yang Kŭn-hwan,,Hangul; from Y. Lee,
 korean_names,양득중,Yang Tŭk-chung,,Hangul; from Y. Lee,
 korean_names,양백연,Yang Paeg-yŏn,,Hangul; from Y. Lee,
-korean_names,어윤적, Ŏ Yun-jŏk,,Hangul; from Y. Lee,
+korean_names,어윤적,Ŏ Yun-jŏk,,Hangul; from Y. Lee,
 korean_names,엄복동,Ŏm Pok-tong,,Hangul; from Y. Lee,
 korean_names,여규형,Yŏ Kyu-hyŏng,,Hangul; from Y. Lee,
 korean_names,여운철,Yŏ Un-ch'ŏl,,Hangul; from Y. Lee,
@@ -941,14 +941,14 @@ korean_names,黃仲寶,Hwang Chung-bo,,Hancha; From Y. Lee,
 korean_names,黃俊良,Hwang Chun-nyang,,Hancha; From Y. Lee,
 korean_names,黃信德,Hwang Sin-dŏk,,Hancha; From Y. Lee,
 korean_names,黃允吉,Hwang Yun-gil,,Hancha; From Y. Lee,
-korean_names,남궁 억,Namgung k,,From Elaine Kim: 2 character last name + 1 character given name,
-korean_names,독고 영,Tokko Yng,,From Elaine Kim: 2 character last name + 1 character given name,
-korean_names,선우 정,Sŏnu Chŏng,,From Elaine Kim: 2 character last name + 1 character given name,
-korean_names,선우 종원,Sŏnu Chong-wŏn,,From Elaine Kim: 2 character last name + 2 character given name,
-korean_names,남궁 지영,Namgung Chi-yng,,From Elaine Kim: 2 character last name + 2 character given name,
-korean_names,선우 은숙,Sŏnu Ŭn-suk,,From Elaine Kim: 2 character last name + 2 character given name,
-korean_nonames,성철 선사,Sŏngch'ŏl Sŏnsa,"{""capitalize"": ""all""}",From Elaine Kim: No surname,
-korean_nonames,법현,Pŏphyŏn,"{""capitalize"": ""all""}",From Elaine Kim: No surname,
+korean_names,남궁 억,Namgung Ŏk,,From Elaine Kim: 2 character last name + 1 character given name,
+korean_names,독고 영,Tokko Yŏng,,From Elaine Kim: 2 character last name + 1 character given name,
+korean_names,선우 정,Sŏnu Chŏng,,From Elaine Kim: 2 character last name + 1 character given name,
+korean_names,선우 종원,Sŏnu Chong-wŏn,,From Elaine Kim: 2 character last name + 2 character given name,
+korean_names,남궁 지영,Namgung Chi-yŏng,,From Elaine Kim: 2 character last name + 2 character given name,
+korean_names,선우 은숙,Sŏnu Ŭn-suk,,From Elaine Kim: 2 character last name + 2 character given name,
+korean_nonames,성철 선사,Sŏngch'ŏl Sŏnsa,"{""capitalize"": ""all""}",From Elaine Kim: No surname,
+korean_nonames,법현,Pŏphyŏn,"{""capitalize"": ""all""}",From Elaine Kim: No surname,
 korean_nonames,민주화 이후 국정 운영,Minjuhwa ihu kukchŏng unyŏng,"{""capitalize"": ""first""}",,
 korean_nonames,曉城 趙 明基 博士 追慕 佛教 史學 論文集,Hyosŏng Cho Myŏng-gi Paksa ch'umo Pulgyo sahak nonmunjip,"{""capitalize"": ""first""}",Not Chinese,
 korean_nonames,결단력,Kyŏltannyŏk,"{""capitalize"": ""first""}",From Elaine Kim,

+ 2 - 5
tests/data/script_samples/unclassified.csv

@@ -3,9 +3,6 @@ armenian,Ա Բ Գ Դ Ե Զ Է Ը Թ Ժ Ի Լ Խ Ծ Կ Հ Ձ Ղ Ճ Մ Յ Ն Շ Ո
 georgian,ადგილობრივი თვითმმართველობის კოდექსი : საქართველოს ორგანული კანონი; 2018 წლის 7 სექტებრის მდგომარეობით.,Adgilobrivi tʻvitʻmmartʻvelobis kodekʻsi : Sakʻartʻvelos organuli kanoni; 2018 clis 7 sekʻtembris mdgomareobitʻ.,,
 hindi,परमहंस की पीड़ा : महान क्रांतिकारी रामप्रसाद बिस्मिल के जीवन पर आधारित उपन्यास,Paramahaṃsa kī pīṛā : mahāna krāntikārī Rāmaprasāda Bismila ke jīvana para ādhārita upanyāsa,,
 mongolian_mongol_bichig,ᠳᠠᠶᠢᠴᠢᠩ ᠭᠦᠷᠦᠨ ᠦ ᠦᠶ ᠡ ᠶᠢᠨ ᠥᠯᠠᠨ ᠺᠡᠯᠡᠨ ᠦ ᠦᠰᠦᠭ ᠬᠠᠪᠰᠸᠷᠸᠭᠰᠠᠨ ᠰᠸᠷᠪᠸᠯᠵᠢ ᠪᠢᠴᠢᠭ ᠦᠨ ᠰᠸᠳᠸᠯᠸᠯ,Dayicing gu̇ru̇n-u̇ u̇y-e-yin olan kelen-u̇ u̇su̇g qabsuruġsan surbulji bicig-u̇n sudulul,,
-,نظام الحكم في عمان : من إمامة الإنتخاب الى السلطنة الوراثية,Niẓām al-ḥukm fī ʻUmān : min imāmat al-intikhāb ilá al-salṭanah al-wirāthīyah,,
-,ندوة علاقات مصر بدول حوض النيل في ظل رئاسة مصر للاتحاد الإفريقي‏,Nadwat ʻAlāqāt Miṣr bi-Duwal Ḥawḍ al-Nīl fī ẓill Riʼāsat Miṣr lil-Ittiḥād al-Ifrīqī,,
-,تهذيب البيان والجمع في الفرق بين التكليف والوضع,Tahdhīb al-bayān wa-al-jamʻ fī al-farq bayna al-taklīf wa-al-waḍʻ,,
 ,আগবাৰীত  ফুলিলে  সোনে  মোৰ  চম্পা,Āgabārīta phulile soṇe mora campā,,
 ,Milli dövlətçilik hərəkatının yüksəlişi və Xalq Cümhuriyyəti dövründə Azərbaycançılıq ideyası,Milli dövlätçilik häräkatının yüksälişi vä Xalq Cümhuriyyäti dövründä azärbaycançılıq ideyası,,
 ,مجنون مجنون دوشون منى  شعر توپلوسو ,Macnūn macnūn düşün manī : şiʻr toplūsū,,
@@ -31,8 +28,8 @@ mongolian_mongol_bichig,ᠳᠠᠶᠢᠴᠢᠩ ᠭᠦᠷᠦᠨ ᠦ ᠦᠶ ᠡ
 ,बुनाः त्याः पि : नियात्रा ,Bunāḥ tyāḥ pi : niyātr,,
 ,ਪੰਜਾਬੀ ਲੋਕ-ਸਾਹਿਤ ਵਿਚ ਸੈਨਿਕ,Pañjābī loka-sāhita wica sainika,,
 ,پنجابی وچ 20 ہندی کہانیاں,Panjābiī vic 20 Hindī kahāniyān̲,,
-,جامعه ايران در دوران رضا شاه,Jāmiʻah-i Īrān dar dawrān-i Riz̤ā Shāh,,
-,بچههاى بد,Bachchahʹhā-yi bad,,
+,جامعه ايران در دوران رضا شاه,Jāmiʻah-i Īrān dar dawrān-i Riz̤ā Shāh,,
+,بچههاى بد,Bachchahʹhā-yi bad,,
 ,چې لاس دې نه راکاوه,Che lās de nah rākāwah,,
 ,संस्कृतानिबन्धञ्जलिः,Saṃskr̥tanibandhāñjali,,
 ,انسائيڪلوپيڊيا سنڌيانا,Insāʼiklopīḍiyā Sindhiyānā,,

+ 0 - 869
tests/korean_tests.txt

@@ -1,869 +0,0 @@
-- Kim chŏngil kongp'o rŭl ssoa ollida
-?     ^
-+ Kim Chŏng-il kongp'o rŭl ssoa ollida
-?     ^    +
- : S2R transliteration error for korean_nonames!
-Original: 김 정일 공포 를 쏘아 올리다
-
-======================================================================
-FAIL: sample_s2r (tests.test02_transliteration.TestTrans.sample_s2r)
-Test S2R transliteration for one CSV sample.
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/home/stefano/code/scriptshifter/src/tests/test02_transliteration.py", line 38, in sample_s2r
-    self.assertEqual(
-AssertionError: "Kim ch'angmo ŭi Taehan Min'guk sŏnmul opsyŏn kyogwasŏ" != "Kim Ch'ang-mo ŭi Taehan Min'guk sŏnmul opsyŏn kyogwasŏ"
-- Kim ch'angmo ŭi Taehan Min'guk sŏnmul opsyŏn kyogwasŏ
-?     ^
-+ Kim Ch'ang-mo ŭi Taehan Min'guk sŏnmul opsyŏn kyogwasŏ
-?     ^     +
- : S2R transliteration error for korean_nonames!
-Original: 김 창모 의 대한 민국 선물 옵션 교과서
-
-======================================================================
-FAIL: sample_s2r (tests.test02_transliteration.TestTrans.sample_s2r)
-Test S2R transliteration for one CSV sample.
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/home/stefano/code/scriptshifter/src/tests/test02_transliteration.py", line 38, in sample_s2r
-    self.assertEqual(
-AssertionError: "Tasŏk ryu yŏngmo - uri mal kwa uri kŭl ro ch'ŏrhakhan k'ŭn sasangga" != "Tasŏk Yu Yŏng-mo - uri mal kwa uri kŭl ro ch'ŏrhakhan k'ŭn sasangga"
-- Tasŏk ryu yŏngmo - uri mal kwa uri kŭl ro ch'ŏrhakhan k'ŭn sasangga
-?       ^^  ^
-+ Tasŏk Yu Yŏng-mo - uri mal kwa uri kŭl ro ch'ŏrhakhan k'ŭn sasangga
-?       ^  ^   +
- : S2R transliteration error for korean_nonames!
-Original: 다석 류 영모 - 우리 말 과 우리 글 로 철학한 큰 사상가
-
-======================================================================
-FAIL: sample_s2r (tests.test02_transliteration.TestTrans.sample_s2r)
-Test S2R transliteration for one CSV sample.
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/home/stefano/code/scriptshifter/src/tests/test02_transliteration.py", line 38, in sample_s2r
-    self.assertEqual(
-AssertionError: "Taehan Min'guk 20-tae chŏlmang ŭi t'ŭraiaenggŭl ŭl nŏmŏ" != "Taehan Min 'guk 20-tae chŏlmang ŭi t'ŭraiaenggŭl ŭl nŏmŏ"
-- Taehan Min'guk 20-tae chŏlmang ŭi t'ŭraiaenggŭl ŭl nŏmŏ
-+ Taehan Min 'guk 20-tae chŏlmang ŭi t'ŭraiaenggŭl ŭl nŏmŏ
-?           +
- : S2R transliteration error for korean_nonames!
-Original: 대한민국 20대 절망 의 트라이앵글 을 넘어
-
-======================================================================
-FAIL: sample_s2r (tests.test02_transliteration.TestTrans.sample_s2r)
-Test S2R transliteration for one CSV sample.
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/home/stefano/code/scriptshifter/src/tests/test02_transliteration.py", line 38, in sample_s2r
-    self.assertEqual(
-AssertionError: 'To yŏnmyŏng ŭi sasang kwa munhak' != 'To Yŏn-myŏng ŭi sasang kwa munhak'
-- To yŏnmyŏng ŭi sasang kwa munhak
-?    ^
-+ To Yŏn-myŏng ŭi sasang kwa munhak
-?    ^  +
- : S2R transliteration error for korean_nonames!
-Original: 도 연명 의 사상 과 문학
-
-======================================================================
-FAIL: sample_s2r (tests.test02_transliteration.TestTrans.sample_s2r)
-Test S2R transliteration for one CSV sample.
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/home/stefano/code/scriptshifter/src/tests/test02_transliteration.py", line 38, in sample_s2r
-    self.assertEqual(
-AssertionError: "Munhak cheguk: ch'oe kangmin p'yŏngnonjip" != "Munhak cheguk: Ch'oe Kang-min p'yŏngnonjip"
-- Munhak cheguk: ch'oe kangmin p'yŏngnonjip
-?                ^     ^
-+ Munhak cheguk: Ch'oe Kang-min p'yŏngnonjip
-?                ^     ^   +
- : S2R transliteration error for korean_nonames!
-Original: 문학 제국 : 최 강민 평론집
-
-======================================================================
-FAIL: sample_s2r (tests.test02_transliteration.TestTrans.sample_s2r)
-Test S2R transliteration for one CSV sample.
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/home/stefano/code/scriptshifter/src/tests/test02_transliteration.py", line 38, in sample_s2r
-    self.assertEqual(
-AssertionError: "Pak kijun ŭi Han'guk manhwa yasa" != "Pak Ki-jun ŭi Han'guk manhwa yasa"
-- Pak kijun ŭi Han'guk manhwa yasa
-?     ^
-+ Pak Ki-jun ŭi Han'guk manhwa yasa
-?     ^ +
- : S2R transliteration error for korean_nonames!
-Original: 박 기준 의 한국 만화 야사
-
-======================================================================
-FAIL: sample_s2r (tests.test02_transliteration.TestTrans.sample_s2r)
-Test S2R transliteration for one CSV sample.
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/home/stefano/code/scriptshifter/src/tests/test02_transliteration.py", line 38, in sample_s2r
-    self.assertEqual(
-AssertionError: 'Pak nohong ŭi taejung yŏnyesa 1' != 'Pak No-hong ŭi taejung yŏnyesa 1'
-- Pak nohong ŭi taejung yŏnyesa 1
-?     ^
-+ Pak No-hong ŭi taejung yŏnyesa 1
-?     ^ +
- : S2R transliteration error for korean_nonames!
-Original: 박 노홍 의 대중 연예사 1
-
-======================================================================
-FAIL: sample_s2r (tests.test02_transliteration.TestTrans.sample_s2r)
-Test S2R transliteration for one CSV sample.
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/home/stefano/code/scriptshifter/src/tests/test02_transliteration.py", line 38, in sample_s2r
-    self.assertEqual(
-AssertionError: 'Sarang ŭi hakkyo (ma kwangsu sosŏlchip)' != 'Sarang ŭi hakkyo (Ma Kwang-su sosŏlchip)'
-- Sarang ŭi hakkyo (ma kwangsu sosŏlchip)
-?                   ^  ^
-+ Sarang ŭi hakkyo (Ma Kwang-su sosŏlchip)
-?                   ^  ^    +
- : S2R transliteration error for korean_nonames!
-Original: 사랑 의 학교 (마 광수 소설집)
-
-======================================================================
-FAIL: sample_s2r (tests.test02_transliteration.TestTrans.sample_s2r)
-Test S2R transliteration for one CSV sample.
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/home/stefano/code/scriptshifter/src/tests/test02_transliteration.py", line 38, in sample_s2r
-    self.assertEqual(
-AssertionError: "Sahoe pokchi yulli wa ch'ŏrhak (kaejŏngp'an)" != "Sahoe pokchi yulli wa ch 'ŏrhak (kaejŏngp' an)"
-- Sahoe pokchi yulli wa ch'ŏrhak (kaejŏngp'an)
-+ Sahoe pokchi yulli wa ch 'ŏrhak (kaejŏngp' an)
-?                         +                 +
- : S2R transliteration error for korean_nonames!
-Original: 사회 복지 윤리 와 철학 (개정판)
-
-======================================================================
-FAIL: sample_s2r (tests.test02_transliteration.TestTrans.sample_s2r)
-Test S2R transliteration for one CSV sample.
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/home/stefano/code/scriptshifter/src/tests/test02_transliteration.py", line 38, in sample_s2r
-    self.assertEqual(
-AssertionError: "Sebŏphak 1 (2009) kaejŏngp'an" != "Sepŏphak 1 (2009) kaejŏngp'an"
-- Sebŏphak 1 (2009) kaejŏngp'an
-?   ^
-+ Sepŏphak 1 (2009) kaejŏngp'an
-?   ^
- : S2R transliteration error for korean_nonames!
-Original: 세법학 1 (2009) 개정판
-
-======================================================================
-FAIL: sample_s2r (tests.test02_transliteration.TestTrans.sample_s2r)
-Test S2R transliteration for one CSV sample.
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/home/stefano/code/scriptshifter/src/tests/test02_transliteration.py", line 38, in sample_s2r
-    self.assertEqual(
-AssertionError: "Sebŏphak 2 (2009) kaejŏngp'an" != "Sepŏphak 2 (2009) kaejŏngp'an"
-- Sebŏphak 2 (2009) kaejŏngp'an
-?   ^
-+ Sepŏphak 2 (2009) kaejŏngp'an
-?   ^
- : S2R transliteration error for korean_nonames!
-Original: 세법학 2 (2009) 개정판
-
-======================================================================
-FAIL: sample_s2r (tests.test02_transliteration.TestTrans.sample_s2r)
-Test S2R transliteration for one CSV sample.
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/home/stefano/code/scriptshifter/src/tests/test02_transliteration.py", line 38, in sample_s2r
-    self.assertEqual(
-AssertionError: "Sop'ŭrano sin yŏngok ŭi kkum kkun hu e" != "Sop'ŭrano Sin Yŏng-ok ŭi kkum kkun hu e"
-- Sop'ŭrano sin yŏngok ŭi kkum kkun hu e
-?           ^   ^
-+ Sop'ŭrano Sin Yŏng-ok ŭi kkum kkun hu e
-?           ^   ^   +
- : S2R transliteration error for korean_nonames!
-Original: 소프라노 신 영옥 의 꿈 꾼 후 에
-
-======================================================================
-FAIL: sample_s2r (tests.test02_transliteration.TestTrans.sample_s2r)
-Test S2R transliteration for one CSV sample.
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/home/stefano/code/scriptshifter/src/tests/test02_transliteration.py", line 38, in sample_s2r
-    self.assertEqual(
-AssertionError: 'Son yŏngun ŭi uri ttang kwahak tapsagi' != 'Son Yŏng-un ŭi uri ttang kwahak tapsagi'
-- Son yŏngun ŭi uri ttang kwahak tapsagi
-?     ^
-+ Son Yŏng-un ŭi uri ttang kwahak tapsagi
-?     ^   +
- : S2R transliteration error for korean_nonames!
-Original: 손 영운 의 우리 땅 과학 답사기
-
-======================================================================
-FAIL: sample_s2r (tests.test02_transliteration.TestTrans.sample_s2r)
-Test S2R transliteration for one CSV sample.
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/home/stefano/code/scriptshifter/src/tests/test02_transliteration.py", line 38, in sample_s2r
-    self.assertEqual(
-AssertionError: 'Song uk ŭi sam kwa munhak' != 'Song Uk ŭi sam kwa munhak'
-- Song uk ŭi sam kwa munhak
-?      ^
-+ Song Uk ŭi sam kwa munhak
-?      ^
- : S2R transliteration error for korean_nonames!
-Original: 송 욱 의 삶 과 문학
-
-======================================================================
-FAIL: sample_s2r (tests.test02_transliteration.TestTrans.sample_s2r)
-Test S2R transliteration for one CSV sample.
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/home/stefano/code/scriptshifter/src/tests/test02_transliteration.py", line 38, in sample_s2r
-    self.assertEqual(
-AssertionError: "Sukpin ch'oessi charyojip 2" != "Sukpin Ch'oe Ssi charyojip 2"
-- Sukpin ch'oessi charyojip 2
-?        ^    ^
-+ Sukpin Ch'oe Ssi charyojip 2
-?        ^    ^^
- : S2R transliteration error for korean_nonames!
-Original: 숙빈 최씨 자료집 2
-
-======================================================================
-FAIL: sample_s2r (tests.test02_transliteration.TestTrans.sample_s2r)
-Test S2R transliteration for one CSV sample.
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/home/stefano/code/scriptshifter/src/tests/test02_transliteration.py", line 38, in sample_s2r
-    self.assertEqual(
-AssertionError: "Sunjong Hwangje wa ch'ininch'ŏk" != "Sunjong hwangje wa ch'ininch'ŏk"
-- Sunjong Hwangje wa ch'ininch'ŏk
-?         ^
-+ Sunjong hwangje wa ch'ininch'ŏk
-?         ^
- : S2R transliteration error for korean_nonames!
-Original: 순종 황제 와 친인척
-
-======================================================================
-FAIL: sample_s2r (tests.test02_transliteration.TestTrans.sample_s2r)
-Test S2R transliteration for one CSV sample.
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/home/stefano/code/scriptshifter/src/tests/test02_transliteration.py", line 38, in sample_s2r
-    self.assertEqual(
-AssertionError: "Syup'ŏ Ait'i K'oria 2020" != "Syup'ŏ Ait'i k'oria 2020"
-- Syup'ŏ Ait'i K'oria 2020
-?              ^
-+ Syup'ŏ Ait'i k'oria 2020
-?              ^
- : S2R transliteration error for korean_nonames!
-Original: 슈퍼 아이티 코리아 2020
-
-======================================================================
-FAIL: sample_s2r (tests.test02_transliteration.TestTrans.sample_s2r)
-Test S2R transliteration for one CSV sample.
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/home/stefano/code/scriptshifter/src/tests/test02_transliteration.py", line 38, in sample_s2r
-    self.assertEqual(
-AssertionError: "Singminji ihu rŭl sayuhada: t'alsingminhwa wa chaesingminhwa ŭi kyŏnggye" != "Singminji ihu rŭl sayu hada: t'alsingminhwa wa chaesingminhwa ŭi kyŏnggye"
-- Singminji ihu rŭl sayuhada: t'alsingminhwa wa chaesingminhwa ŭi kyŏnggye
-+ Singminji ihu rŭl sayu hada: t'alsingminhwa wa chaesingminhwa ŭi kyŏnggye
-?                       +
- : S2R transliteration error for korean_nonames!
-Original: 식민지 이후 를 사유하다 : 탈식민화 와 재식민화 의 경계
-
-======================================================================
-FAIL: sample_s2r (tests.test02_transliteration.TestTrans.sample_s2r)
-Test S2R transliteration for one CSV sample.
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/home/stefano/code/scriptshifter/src/tests/test02_transliteration.py", line 38, in sample_s2r
-    self.assertEqual(
-AssertionError: 'Sin hyŏnsu sijip 1985-2004 chŏn 2-kwŏn' != 'Sin Hyŏn-su-sijip 1985-2004 chŏn 2-kwŏn'
-- Sin hyŏnsu sijip 1985-2004 chŏn 2-kwŏn
-?     ^     ^
-+ Sin Hyŏn-su-sijip 1985-2004 chŏn 2-kwŏn
-?     ^   +  ^
- : S2R transliteration error for korean_nonames!
-Original: 신 현수 시집 1985-2004 전 2권
-
-======================================================================
-FAIL: sample_s2r (tests.test02_transliteration.TestTrans.sample_s2r)
-Test S2R transliteration for one CSV sample.
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/home/stefano/code/scriptshifter/src/tests/test02_transliteration.py", line 38, in sample_s2r
-    self.assertEqual(
-AssertionError: "Sim yŏnsu ŭi simunhak t'amsaek" != "Sim Yŏn-su ŭi simunhak t'amsaek"
-- Sim yŏnsu ŭi simunhak t'amsaek
-?     ^
-+ Sim Yŏn-su ŭi simunhak t'amsaek
-?     ^  +
- : S2R transliteration error for korean_nonames!
-Original: 심 연수 의 시문학 탐색
-
-======================================================================
-FAIL: sample_s2r (tests.test02_transliteration.TestTrans.sample_s2r)
-Test S2R transliteration for one CSV sample.
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/home/stefano/code/scriptshifter/src/tests/test02_transliteration.py", line 38, in sample_s2r
-    self.assertEqual(
-AssertionError: "Simjang ŭl salligo sahoe rŭl sallinŭn song myŏnggŭn ŭi kŏn'gang kyogwasŏ" != "Simjang ŭl salligo sahoe rŭl sallinŭn Song Myŏng-gŭn ŭi kŏn'gang kyogwasŏ"
-- Simjang ŭl salligo sahoe rŭl sallinŭn song myŏnggŭn ŭi kŏn'gang kyogwasŏ
-?                                       ^    ^
-+ Simjang ŭl salligo sahoe rŭl sallinŭn Song Myŏng-gŭn ŭi kŏn'gang kyogwasŏ
-?                                       ^    ^    +
- : S2R transliteration error for korean_nonames!
-Original: 심장 을 살리고 사회 를 살리는 송 명근 의 건강 교과서
-
-======================================================================
-FAIL: sample_s2r (tests.test02_transliteration.TestTrans.sample_s2r)
-Test S2R transliteration for one CSV sample.
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/home/stefano/code/scriptshifter/src/tests/test02_transliteration.py", line 38, in sample_s2r
-    self.assertEqual(
-AssertionError: 'Yŏmsangsŏp sosŏl tasi ilki' != 'Yŏm sangsŏp sosŏl tasi ilki'
-- Yŏmsangsŏp sosŏl tasi ilki
-+ Yŏm sangsŏp sosŏl tasi ilki
-?    +
- : S2R transliteration error for korean_nonames!
-Original: 염상섭 소설 다시 읽기
-
-======================================================================
-FAIL: sample_s2r (tests.test02_transliteration.TestTrans.sample_s2r)
-Test S2R transliteration for one CSV sample.
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/home/stefano/code/scriptshifter/src/tests/test02_transliteration.py", line 38, in sample_s2r
-    self.assertEqual(
-AssertionError: 'Yŏngwŏnhi kkŏjiji annŭn ŏnyak ŭi tŭngpul 1' != 'Yŏngwŏnhi kkŏjiji annŭn ŏnyak ŭi tŭngbul 1'
-- Yŏngwŏnhi kkŏjiji annŭn ŏnyak ŭi tŭngpul 1
-?                                      ^
-+ Yŏngwŏnhi kkŏjiji annŭn ŏnyak ŭi tŭngbul 1
-?                                      ^
- : S2R transliteration error for korean_nonames!
-Original: 영원히 꺼지지 않는 언약 의 등불 1
-
-======================================================================
-FAIL: sample_s2r (tests.test02_transliteration.TestTrans.sample_s2r)
-Test S2R transliteration for one CSV sample.
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/home/stefano/code/scriptshifter/src/tests/test02_transliteration.py", line 38, in sample_s2r
-    self.assertEqual(
-AssertionError: 'Obama wa kim chŏngil ŭi saengjon' != 'Obama wa Kim Chŏng-il ŭi saengjon'
-- Obama wa kim chŏngil ŭi saengjon
-?          ^   ^
-+ Obama wa Kim Chŏng-il ŭi saengjon
-?          ^   ^    +
- : S2R transliteration error for korean_nonames!
-Original: 오바마 와 김 정일 의 생존
-
-======================================================================
-FAIL: sample_s2r (tests.test02_transliteration.TestTrans.sample_s2r)
-Test S2R transliteration for one CSV sample.
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/home/stefano/code/scriptshifter/src/tests/test02_transliteration.py", line 38, in sample_s2r
-    self.assertEqual(
-AssertionError: 'Wanyŏk i ok chŏnjip 03 pŏlledŭl ŭi koerophim e taehayŏ' != 'Wanyŏk Yi Ok chŏnjip 03 pŏlledŭl ŭi koerophim e taehayŏ'
-- Wanyŏk i ok chŏnjip 03 pŏlledŭl ŭi koerophim e taehayŏ
-?          ^
-+ Wanyŏk Yi Ok chŏnjip 03 pŏlledŭl ŭi koerophim e taehayŏ
-?        +  ^
- : S2R transliteration error for korean_nonames!
-Original: 완역 이 옥 전집 03 벌레들 의 괴롭힘 에 대하여
-
-======================================================================
-FAIL: sample_s2r (tests.test02_transliteration.TestTrans.sample_s2r)
-Test S2R transliteration for one CSV sample.
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/home/stefano/code/scriptshifter/src/tests/test02_transliteration.py", line 38, in sample_s2r
-    self.assertEqual(
-AssertionError: "Yu t'aeu ŭi chilbyŏng wanch'i (CD1-chang p'oham)" != "Yu T'ae-u ŭi chilbyŏng wanch'i (CD1-chang p'oham)"
-- Yu t'aeu ŭi chilbyŏng wanch'i (CD1-chang p'oham)
-?    ^
-+ Yu T'ae-u ŭi chilbyŏng wanch'i (CD1-chang p'oham)
-?    ^   +
- : S2R transliteration error for korean_nonames!
-Original: 유 태우 의 질병 완치 (CD1장 포함)
-
-======================================================================
-FAIL: sample_s2r (tests.test02_transliteration.TestTrans.sample_s2r)
-Test S2R transliteration for one CSV sample.
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/home/stefano/code/scriptshifter/src/tests/test02_transliteration.py", line 38, in sample_s2r
-    self.assertEqual(
-AssertionError: 'I kangbaek hŭigok chŏnjip 2' != 'Yi Kang-baek hŭigok chŏnjip 2'
-- I kangbaek hŭigok chŏnjip 2
-? ^^^
-+ Yi Kang-baek hŭigok chŏnjip 2
-? ^^^^   +
- : S2R transliteration error for korean_nonames!
-Original: 이 강백 희곡 전집 2
-
-======================================================================
-FAIL: sample_s2r (tests.test02_transliteration.TestTrans.sample_s2r)
-Test S2R transliteration for one CSV sample.
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/home/stefano/code/scriptshifter/src/tests/test02_transliteration.py", line 38, in sample_s2r
-    self.assertEqual(
-AssertionError: 'I tŏgil ŭi sesang ŭl pakkun yŏindŭl' != 'Yi Tŏg-il ŭi sesang ŭl pakkun yŏindŭl'
-- I tŏgil ŭi sesang ŭl pakkun yŏindŭl
-? ^^^
-+ Yi Tŏg-il ŭi sesang ŭl pakkun yŏindŭl
-? ^^^^  +
- : S2R transliteration error for korean_nonames!
-Original: 이 덕일 의 세상 을 바꾼 여인들
-
-======================================================================
-FAIL: sample_s2r (tests.test02_transliteration.TestTrans.sample_s2r)
-Test S2R transliteration for one CSV sample.
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/home/stefano/code/scriptshifter/src/tests/test02_transliteration.py", line 38, in sample_s2r
-    self.assertEqual(
-AssertionError: 'I samno ka chŏngmal pulssang hada' != 'Yi Sam-no ka chŏngmal pulssang hada'
-- I samno ka chŏngmal pulssang hada
-? ^^^
-+ Yi Sam-no ka chŏngmal pulssang hada
-? ^^^^  +
- : S2R transliteration error for korean_nonames!
-Original: 이 삼노 가 정말 불쌍 하다
-
-======================================================================
-FAIL: sample_s2r (tests.test02_transliteration.TestTrans.sample_s2r)
-Test S2R transliteration for one CSV sample.
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/home/stefano/code/scriptshifter/src/tests/test02_transliteration.py", line 38, in sample_s2r
-    self.assertEqual(
-AssertionError: "I sang chŏnjip 2 tanp'yŏn sosŏl" != "Yi Sang chŏnjip 2 tanp'yŏn sosŏl"
-- I sang chŏnjip 2 tanp'yŏn sosŏl
-? ^^^
-+ Yi Sang chŏnjip 2 tanp'yŏn sosŏl
-? ^^^^
- : S2R transliteration error for korean_nonames!
-Original: 이 상 전집 2 단편 소설
-
-======================================================================
-FAIL: sample_s2r (tests.test02_transliteration.TestTrans.sample_s2r)
-Test S2R transliteration for one CSV sample.
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/home/stefano/code/scriptshifter/src/tests/test02_transliteration.py", line 38, in sample_s2r
-    self.assertEqual(
-AssertionError: "I sang chŏnjip 3: changp'yŏn sosŏl" != "Yi Sang chŏnjip 3: changp'yŏn sosŏl"
-- I sang chŏnjip 3: changp'yŏn sosŏl
-? ^^^
-+ Yi Sang chŏnjip 3: changp'yŏn sosŏl
-? ^^^^
- : S2R transliteration error for korean_nonames!
-Original: 이 상 전집 3 : 장편 소설
-
-======================================================================
-FAIL: sample_s2r (tests.test02_transliteration.TestTrans.sample_s2r)
-Test S2R transliteration for one CSV sample.
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/home/stefano/code/scriptshifter/src/tests/test02_transliteration.py", line 38, in sample_s2r
-    self.assertEqual(
-AssertionError: 'I sŭngman tongmun sŏhanjip (sang)' != 'Yi Sŭng-man tongmun sŏhanjip (sang)'
-- I sŭngman tongmun sŏhanjip (sang)
-? ^^^
-+ Yi Sŭng-man tongmun sŏhanjip (sang)
-? ^^^^   +
- : S2R transliteration error for korean_nonames!
-Original: 이 승만 동문 서한집 (상)
-
-======================================================================
-FAIL: sample_s2r (tests.test02_transliteration.TestTrans.sample_s2r)
-Test S2R transliteration for one CSV sample.
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/home/stefano/code/scriptshifter/src/tests/test02_transliteration.py", line 38, in sample_s2r
-    self.assertEqual(
-AssertionError: "I iksang tanp'yŏn sosŏl chŏnjip" != "Yi Ik-sang tanp'yŏn sosŏl chŏnjip"
-- I iksang tanp'yŏn sosŏl chŏnjip
-?  --
-+ Yi Ik-sang tanp'yŏn sosŏl chŏnjip
-? +++  +
- : S2R transliteration error for korean_nonames!
-Original: 이 익상 단편 소설 전집
-
-======================================================================
-FAIL: sample_s2r (tests.test02_transliteration.TestTrans.sample_s2r)
-Test S2R transliteration for one CSV sample.
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/home/stefano/code/scriptshifter/src/tests/test02_transliteration.py", line 38, in sample_s2r
-    self.assertEqual(
-AssertionError: "Iginŭn chŏng chuyŏng chiji annŭn i pyŏngch'ŏl" != "Iginŭn Chŏng Chu-yŏng chiji annŭn Yi Pyŏng-ch'ŏl"
-- Iginŭn chŏng chuyŏng chiji annŭn i pyŏngch'ŏl
-?        ^     ^                     ^
-+ Iginŭn Chŏng Chu-yŏng chiji annŭn Yi Pyŏng-ch'ŏl
-?        ^     ^  +                 +  ^    +
- : S2R transliteration error for korean_nonames!
-Original: 이기는 정 주영 지지 않는 이 병철
-
-======================================================================
-FAIL: sample_s2r (tests.test02_transliteration.TestTrans.sample_s2r)
-Test S2R transliteration for one CSV sample.
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/home/stefano/code/scriptshifter/src/tests/test02_transliteration.py", line 38, in sample_s2r
-    self.assertEqual(
-AssertionError: 'Ijae hwang yunsŏk ŭi hangmun kwa sasang' != 'Ijae Hwang Yun-sŏk ŭi hangmun kwa sasang'
-- Ijae hwang yunsŏk ŭi hangmun kwa sasang
-?      ^     ^
-+ Ijae Hwang Yun-sŏk ŭi hangmun kwa sasang
-?      ^     ^  +
- : S2R transliteration error for korean_nonames!
-Original: 이재 황 윤석 의 학문 과 사상
-
-======================================================================
-FAIL: sample_s2r (tests.test02_transliteration.TestTrans.sample_s2r)
-Test S2R transliteration for one CSV sample.
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/home/stefano/code/scriptshifter/src/tests/test02_transliteration.py", line 38, in sample_s2r
-    self.assertEqual(
-AssertionError: "Chŏjakkwŏnbŏp ŭi chŏngsŏk che 3-p'an" != "Chŏjakkwŏnpŏp ŭi chŏngsŏk che 3-p'an"
-- Chŏjakkwŏnbŏp ŭi chŏngsŏk che 3-p'an
-?           ^
-+ Chŏjakkwŏnpŏp ŭi chŏngsŏk che 3-p'an
-?           ^
- : S2R transliteration error for korean_nonames!
-Original: 저작권법 의 정석 제 3판
-
-======================================================================
-FAIL: sample_s2r (tests.test02_transliteration.TestTrans.sample_s2r)
-Test S2R transliteration for one CSV sample.
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/home/stefano/code/scriptshifter/src/tests/test02_transliteration.py", line 38, in sample_s2r
-    self.assertEqual(
-AssertionError: "Chŏnsŏl ŭi myŏngch'ang im pangul" != "Chŏnsŏl ŭi myŏngch'ang Im Pang-ul"
-- Chŏnsŏl ŭi myŏngch'ang im pangul
-?                        ^  ^
-+ Chŏnsŏl ŭi myŏngch'ang Im Pang-ul
-?                        ^  ^   +
- : S2R transliteration error for korean_nonames!
-Original: 전설 의 명창 임 방울
-
-======================================================================
-FAIL: sample_s2r (tests.test02_transliteration.TestTrans.sample_s2r)
-Test S2R transliteration for one CSV sample.
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/home/stefano/code/scriptshifter/src/tests/test02_transliteration.py", line 38, in sample_s2r
-    self.assertEqual(
-AssertionError: 'Chŏlmŭn kugŭllŏ ka sesang e tŏnjinŭn yŏljŏngnyŏk' != 'Chŏlmŭn kugŭllŏ ka sesang e tŏnjinŭn yŏlchŏngnyŏk'
-- Chŏlmŭn kugŭllŏ ka sesang e tŏnjinŭn yŏljŏngnyŏk
-?                                         ^
-+ Chŏlmŭn kugŭllŏ ka sesang e tŏnjinŭn yŏlchŏngnyŏk
-?                                         ^^
- : S2R transliteration error for korean_nonames!
-Original: 젊은 구글러 가 세상 에 던지는 열정력
-
-======================================================================
-FAIL: sample_s2r (tests.test02_transliteration.TestTrans.sample_s2r)
-Test S2R transliteration for one CSV sample.
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/home/stefano/code/scriptshifter/src/tests/test02_transliteration.py", line 38, in sample_s2r
-    self.assertEqual(
-AssertionError: "Cho kŭnho kŏmsajang ŭi wŏryo p'yŏnji" != "Cho Kŭn-ho kŏmsajang ŭi wŏryo p'yŏnji"
-- Cho kŭnho kŏmsajang ŭi wŏryo p'yŏnji
-?     ^
-+ Cho Kŭn-ho kŏmsajang ŭi wŏryo p'yŏnji
-?     ^  +
- : S2R transliteration error for korean_nonames!
-Original: 조 근호 검사장 의 월요 편지
-
-======================================================================
-FAIL: sample_s2r (tests.test02_transliteration.TestTrans.sample_s2r)
-Test S2R transliteration for one CSV sample.
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/home/stefano/code/scriptshifter/src/tests/test02_transliteration.py", line 38, in sample_s2r
-    self.assertEqual(
-AssertionError: "Cho suung ŭi iyagi munhak (kaejŏngp'an)" != "Cho Su-ung ŭi iyagi munhak (kaejŏngp'an)"
-- Cho suung ŭi iyagi munhak (kaejŏngp'an)
-?     ^
-+ Cho Su-ung ŭi iyagi munhak (kaejŏngp'an)
-?     ^ +
- : S2R transliteration error for korean_nonames!
-Original: 조 수웅 의 이야기 문학 (개정판)
-
-======================================================================
-FAIL: sample_s2r (tests.test02_transliteration.TestTrans.sample_s2r)
-Test S2R transliteration for one CSV sample.
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/home/stefano/code/scriptshifter/src/tests/test02_transliteration.py", line 38, in sample_s2r
-    self.assertEqual(
-AssertionError: 'Chosebŏp (2009)' != 'Chosepŏp (2009)'
-- Chosebŏp (2009)
-?      ^
-+ Chosepŏp (2009)
-?      ^
- : S2R transliteration error for korean_nonames!
-Original: 조세법 (2009)
-
-======================================================================
-FAIL: sample_s2r (tests.test02_transliteration.TestTrans.sample_s2r)
-Test S2R transliteration for one CSV sample.
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/home/stefano/code/scriptshifter/src/tests/test02_transliteration.py", line 38, in sample_s2r
-    self.assertEqual(
-AssertionError: "Chungso kiŏp ŭi chŏllyakchŏk sŏngkwa kwalli(BSC) ironp'yŏn" != "Chungsogiŏp ŭi chŏllyakchŏk sŏngkwa kwalli (BSC) ironp'yŏn"
-- Chungso kiŏp ŭi chŏllyakchŏk sŏngkwa kwalli(BSC) ironp'yŏn
-?        ^^
-+ Chungsogiŏp ŭi chŏllyakchŏk sŏngkwa kwalli (BSC) ironp'yŏn
-?        ^                                  +
- : S2R transliteration error for korean_nonames!
-Original: 중소 기업 의 전략적 성과 관리(BSC) 이론편
-
-======================================================================
-FAIL: sample_s2r (tests.test02_transliteration.TestTrans.sample_s2r)
-Test S2R transliteration for one CSV sample.
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/home/stefano/code/scriptshifter/src/tests/test02_transliteration.py", line 38, in sample_s2r
-    self.assertEqual(
-AssertionError: "Chis[40 chars]onggong chŏngbohwa hyŏksin pangan yŏn'gu(Ⅳ) ch'onggwal pogosŏ" != "Chis[40 chars]onggong chŏngbohwa hyŏksin pangan yŏn'gu (Ⅳ) ch'onggwal pogosŏ"
-- Chisik chŏngbohwa ŭi chŏnmyŏnhwa rŭl wihan konggong chŏngbohwa hyŏksin pangan yŏn'gu(Ⅳ) ch'onggwal pogosŏ
-+ Chisik chŏngbohwa ŭi chŏnmyŏnhwa rŭl wihan konggong chŏngbohwa hyŏksin pangan yŏn'gu (Ⅳ) ch'onggwal pogosŏ
-?                                                                                     +
- : S2R transliteration error for korean_nonames!
-Original: 지식 정보화 의 전면화 를 위한 공공 정보화 혁신 방안 연구(Ⅳ) 총괄 보고서
-
-======================================================================
-FAIL: sample_s2r (tests.test02_transliteration.TestTrans.sample_s2r)
-Test S2R transliteration for one CSV sample.
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/home/stefano/code/scriptshifter/src/tests/test02_transliteration.py", line 38, in sample_s2r
-    self.assertEqual(
-AssertionError: 'Chilbyŏng e ttarŭn yang, hanbang siksa yobŏp' != 'Chilbyŏng e ttarŭn yang,-hanbang siksa yobŏp'
-- Chilbyŏng e ttarŭn yang, hanbang siksa yobŏp
-?                         ^
-+ Chilbyŏng e ttarŭn yang,-hanbang siksa yobŏp
-?                         ^
- : S2R transliteration error for korean_nonames!
-Original: 질병 에 따른 양·한방 식사 요법
-
-======================================================================
-FAIL: sample_s2r (tests.test02_transliteration.TestTrans.sample_s2r)
-Test S2R transliteration for one CSV sample.
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/home/stefano/code/scriptshifter/src/tests/test02_transliteration.py", line 38, in sample_s2r
-    self.assertEqual(
-AssertionError: "Ch'ŏnha cheil chamnom cho yŏngnam ŭi suda" != "Ch'ŏnha cheil chamnom Cho Yŏng-nam Ŭi suda"
-- Ch'ŏnha cheil chamnom cho yŏngnam ŭi suda
-?                       ^   ^       ^
-+ Ch'ŏnha cheil chamnom Cho Yŏng-nam Ŭi suda
-?                       ^   ^   +    ^
- : S2R transliteration error for korean_nonames!
-Original: 천하 제일 잡놈 조 영남 의 수다
-
-======================================================================
-FAIL: sample_s2r (tests.test02_transliteration.TestTrans.sample_s2r)
-Test S2R transliteration for one CSV sample.
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/home/stefano/code/scriptshifter/src/tests/test02_transliteration.py", line 38, in sample_s2r
-    self.assertEqual(
-AssertionError: "Ch'oe namsŏn ŭi ek'ŭrit'wirŭ wa kŭndae ŏnŏ minjok" != "Ch 'oe Nam-sŏn ŭi ek'ŭrit'wirŭ wa kŭndae ŏnŏ minjok"
-- Ch'oe namsŏn ŭi ek'ŭrit'wirŭ wa kŭndae ŏnŏ minjok
-?       ^
-+ Ch 'oe Nam-sŏn ŭi ek'ŭrit'wirŭ wa kŭndae ŏnŏ minjok
-?   +    ^  +
- : S2R transliteration error for korean_nonames!
-Original: 최 남선 의 에크리튀르 와 근대 언어 민족
-
-======================================================================
-FAIL: sample_s2r (tests.test02_transliteration.TestTrans.sample_s2r)
-Test S2R transliteration for one CSV sample.
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/home/stefano/code/scriptshifter/src/tests/test02_transliteration.py", line 38, in sample_s2r
-    self.assertEqual(
-AssertionError: "Ch'oe sŭngch'ŏl paksa ka mal hanŭn sŏnginpyŏng ttaeryŏ chapki" != "Ch'oe Sŭng-ch'ŏl paksa ka mal hanŭn sŏnginpyŏng ttaeryŏ chapki"
-- Ch'oe sŭngch'ŏl paksa ka mal hanŭn sŏnginpyŏng ttaeryŏ chapki
-?       ^
-+ Ch'oe Sŭng-ch'ŏl paksa ka mal hanŭn sŏnginpyŏng ttaeryŏ chapki
-?       ^   +
- : S2R transliteration error for korean_nonames!
-Original: 최 승철 박사 가 말 하는 성인병 때려 잡기
-
-======================================================================
-FAIL: sample_s2r (tests.test02_transliteration.TestTrans.sample_s2r)
-Test S2R transliteration for one CSV sample.
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/home/stefano/code/scriptshifter/src/tests/test02_transliteration.py", line 38, in sample_s2r
-    self.assertEqual(
-AssertionError: "Ch'oe chonghyŏn kŭ ka kkumkkun iltŭng kukka ro kanŭn kil" != "Ch'oe Chong-hyŏn Kŭ ka kkumkkun iltŭng kukka ro kanŭn kil"
-- Ch'oe chonghyŏn kŭ ka kkumkkun iltŭng kukka ro kanŭn kil
-?       ^         ^
-+ Ch'oe Chong-hyŏn Kŭ ka kkumkkun iltŭng kukka ro kanŭn kil
-?       ^    +     ^
- : S2R transliteration error for korean_nonames!
-Original: 최 종현 그 가 꿈꾼 일등 국가 로 가는 길
-
-======================================================================
-FAIL: sample_s2r (tests.test02_transliteration.TestTrans.sample_s2r)
-Test S2R transliteration for one CSV sample.
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/home/stefano/code/scriptshifter/src/tests/test02_transliteration.py", line 38, in sample_s2r
-    self.assertEqual(
-AssertionError: "P'aldangho sujil sago yegyŏngbo sisŭt'em kaebal e kwanhan kich'o yŏn'gu" != "P'altangho sujil sago yegyŏngbo sisŭt'em kaebal e kwanhan kich'o yŏn'gu"
-- P'aldangho sujil sago yegyŏngbo sisŭt'em kaebal e kwanhan kich'o yŏn'gu
-?     ^
-+ P'altangho sujil sago yegyŏngbo sisŭt'em kaebal e kwanhan kich'o yŏn'gu
-?     ^
- : S2R transliteration error for korean_nonames!
-Original: 팔당호 수질 사고 예경보 시스템 개발 에 관한 기초 연구
-
-======================================================================
-FAIL: sample_s2r (tests.test02_transliteration.TestTrans.sample_s2r)
-Test S2R transliteration for one CSV sample.
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/home/stefano/code/scriptshifter/src/tests/test02_transliteration.py", line 38, in sample_s2r
-    self.assertEqual(
-AssertionError: "Hananim kat'i kapsida" != "Hananim kach'i kapsida"
-- Hananim kat'i kapsida
-?           ^
-+ Hananim kach'i kapsida
-?           ^^
- : S2R transliteration error for korean_nonames!
-Original: 하나님 같이 갑시다
-
-======================================================================
-FAIL: sample_s2r (tests.test02_transliteration.TestTrans.sample_s2r)
-Test S2R transliteration for one CSV sample.
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/home/stefano/code/scriptshifter/src/tests/test02_transliteration.py", line 38, in sample_s2r
-    self.assertEqual(
-AssertionError: "Han'guk ŭi kyoyŏk kujo wa Kyŏngsang suji pyŏndong yoin punsŏk" != "Han'guk ŭi kyoyŏk kujo wa kyŏngsang suji pyŏndong yoin punsŏk"
-- Han'guk ŭi kyoyŏk kujo wa Kyŏngsang suji pyŏndong yoin punsŏk
-?                           ^
-+ Han'guk ŭi kyoyŏk kujo wa kyŏngsang suji pyŏndong yoin punsŏk
-?                           ^
- : S2R transliteration error for korean_nonames!
-Original: 한국 의 교역 구조 와 경상 수지 변동 요인 분석
-
-======================================================================
-FAIL: sample_s2r (tests.test02_transliteration.TestTrans.sample_s2r)
-Test S2R transliteration for one CSV sample.
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/home/stefano/code/scriptshifter/src/tests/test02_transliteration.py", line 38, in sample_s2r
-    self.assertEqual(
-AssertionError: "Han'guk hŏnbŏmnon [5 p'an]" != "Han'guk hŏnpŏmnon [5 p'an]"
-- Han'guk hŏnbŏmnon [5 p'an]
-?            ^
-+ Han'guk hŏnpŏmnon [5 p'an]
-?            ^
- : S2R transliteration error for korean_nonames!
-Original: 한국 헌법론 [5 판]
-
-======================================================================
-FAIL: sample_s2r (tests.test02_transliteration.TestTrans.sample_s2r)
-Test S2R transliteration for one CSV sample.
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/home/stefano/code/scriptshifter/src/tests/test02_transliteration.py", line 38, in sample_s2r
-    self.assertEqual(
-AssertionError: "Han'guk hŏnbŏmnon [chŏnjŏng 5-p'an]" != "Han'guk hŏnpŏmnon [chŏnjŏng 5-p'an]"
-- Han'guk hŏnbŏmnon [chŏnjŏng 5-p'an]
-?            ^
-+ Han'guk hŏnpŏmnon [chŏnjŏng 5-p'an]
-?            ^
- : S2R transliteration error for korean_nonames!
-Original: 한국 헌법론 [전정 5판]
-
-======================================================================
-FAIL: sample_s2r (tests.test02_transliteration.TestTrans.sample_s2r)
-Test S2R transliteration for one CSV sample.
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/home/stefano/code/scriptshifter/src/tests/test02_transliteration.py", line 38, in sample_s2r
-    self.assertEqual(
-AssertionError: "Han'guksa ŭi ihae yochŏm" != "Han'guksa ŭi ihae yojŏm"
-- Han'guksa ŭi ihae yochŏm
-?                     ^^
-+ Han'guksa ŭi ihae yojŏm
-?                     ^
- : S2R transliteration error for korean_nonames!
-Original: 한국사 의 이해 요점
-
-======================================================================
-FAIL: sample_s2r (tests.test02_transliteration.TestTrans.sample_s2r)
-Test S2R transliteration for one CSV sample.
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/home/stefano/code/scriptshifter/src/tests/test02_transliteration.py", line 38, in sample_s2r
-    self.assertEqual(
-AssertionError: "Han'gugŏ paldalsa chŭngbo" != "Han'gugŏ paltalsa chŭngbo"
-- Han'gugŏ paldalsa chŭngbo
-?             ^
-+ Han'gugŏ paltalsa chŭngbo
-?             ^
- : S2R transliteration error for korean_nonames!
-Original: 한국어 발달사 증보
-
-======================================================================
-FAIL: sample_s2r (tests.test02_transliteration.TestTrans.sample_s2r)
-Test S2R transliteration for one CSV sample.
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/home/stefano/code/scriptshifter/src/tests/test02_transliteration.py", line 38, in sample_s2r
-    self.assertEqual(
-AssertionError: "Han'gugŏ wa Oegugŏ taejo punsŏngnon" != "Han'gugŏ wa oegugŏ taejo punsŏngnon"
-- Han'gugŏ wa Oegugŏ taejo punsŏngnon
-?             ^
-+ Han'gugŏ wa oegugŏ taejo punsŏngnon
-?             ^
- : S2R transliteration error for korean_nonames!
-Original: 한국어 와 외국어 대조 분석론
-
-======================================================================
-FAIL: sample_s2r (tests.test02_transliteration.TestTrans.sample_s2r)
-Test S2R transliteration for one CSV sample.
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/home/stefano/code/scriptshifter/src/tests/test02_transliteration.py", line 38, in sample_s2r
-    self.assertEqual(
-AssertionError: 'Haengjŏng chŏngbohwa(G4C) sŏngkwa punsŏk' != 'Haengjŏng chŏngbohwa (G4C) sŏngkwa punsŏk'
-- Haengjŏng chŏngbohwa(G4C) sŏngkwa punsŏk
-+ Haengjŏng chŏngbohwa (G4C) sŏngkwa punsŏk
-?                     +
- : S2R transliteration error for korean_nonames!
-Original: 행정 정보화(G4C) 성과 분석
-
-======================================================================
-FAIL: sample_s2r (tests.test02_transliteration.TestTrans.sample_s2r)
-Test S2R transliteration for one CSV sample.
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/home/stefano/code/scriptshifter/src/tests/test02_transliteration.py", line 38, in sample_s2r
-    self.assertEqual(
-AssertionError: "Hyŏndaesahoe wa seksyuŏllit'i" != "Hyŏndae sahoe wa seksyuŏllit'i"
-- Hyŏndaesahoe wa seksyuŏllit'i
-+ Hyŏndae sahoe wa seksyuŏllit'i
-?        +
- : S2R transliteration error for korean_nonames!
-Original: 현대사회 와 섹슈얼리티