OldHangeul
은 Python에서 옛한글을 편리하게 다루기 위해 개발한 패키지입니다.
파이썬에서는 한양 PUA로 인코딩된 완성형 옛한글을 지원하지 않습니다. 그래서 옛한글이 포함된 텍스트는 유니코드 정규화(Unicode normalization)가 작동하지 않고, string index
와 len()
에서 문제가 발생합니다. OldHangeul
은 텍스트를 조합형으로 전환하여 이러한 문제를 해결했습니다. 더불어 자음과 모음으로 옛한글을 처리할 수 있는 기능이 있습니다.
pip install OldHangeul
OldHangeul
은 파이썬에서 작동합니다.
옛한글이 포함된 텍스트를 다루는 클래스입니다. 완성형이 포함된 텍스트를 조합형으로 전환하고, 인덱싱(Indexing)과 슬라이싱(Slicing), len()
, get_jamo()
를 지원합니다.
from OldHangeul import OLD_TEXTS
a=OLD_TEXTS('스님이 免帖 나 주시고') #완성형이 포함된 텍스트입니다
print(a)
스스ᇰ님이 免帖 ᄒᆞ나ᄒᆞᆯ 주시고
>>> len(a)
15
>>> a[1]
스ᇰ
텍스트를 자음과 모음으로 분리합니다. 낱자는 space로 구분되어 있으며, 문서 내의 공백은 _로 나타냅니다.
Compatibility: 초성과 종성을 동일한 유니코드로 통일하여 처리
spacing: 문서 내 공백 표현
>>> from OldHangeul import OLD_TEXTS
>>> text_to_jamo('스스ᇰ님이 免帖 ᄒᆞ나ᄒᆞᆯ 주시고', Compatibility=False, spacing=True)
ᄉ ᅳ ᄉ ᅳ ᇰ ᄂ ᅵ ᆷ ᄋ ᅵ _ 免 帖 _ ᄒ ᆞ ᄂ ᅡ ᄒ ᆞ ᆯ _ ᄌ ᅮ ᄉ ᅵ ᄀ ᅩ
>>> text_to_jamo('스스ᇰ님이 免帖 ᄒᆞ나ᄒᆞᆯ 주시고', Compatibility=True, spacing=True)
ㅅ ㅡ ㅅ ㅡ ㆁ ㄴ ㅣ ㅁ ㅇ ㅣ _ 免 帖 _ ㅎ ㆍ ㄴ ㅏ ㅎ ㆍ ㄹ _ ㅈ ㅜ ㅅ ㅣ ㄱ ㅗ
유니코드 정규화 중 NFD의 기능입니다. 옛한글이 포함된 텍스트에도 작동하며, 소리마디(한양 PUA)를 첫가끝 코드로 변환합니다.
>>>from OldHangeul import hNFD
>>> hNFD('스님이 免帖 나 주시고')
스스ᇰ님이 免帖 ᄒᆞ나ᄒᆞᆯ 주시고
유니코드 정규화 중 NFC의 기능입니다. 옛한글이 포함된 텍스트에도 작동하며, 첫가끝 코드를 소리마디(한양 PUA)로 변환합니다. 변환이 안 된 텍스트는 activation failed
로 안내됩니다.
>>>from OldHangeul import hNFC
>>> hNFC('스스ᇰ님이 免帖 ᄒᆞ나ᄒᆞᆯ 주시고')
스님이 免帖 나 주시고