Skip to content

Program with functions for manipulation of old Korean script, including Unicode normalization and jamo separation.

Notifications You must be signed in to change notification settings

go00ood/OldHangeul

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OldHangeul

OldHangeul은 Python에서 옛한글을 편리하게 다루기 위해 개발한 패키지입니다.

파이썬에서는 한양 PUA로 인코딩된 완성형 옛한글을 지원하지 않습니다. 그래서 옛한글이 포함된 텍스트는 유니코드 정규화(Unicode normalization)가 작동하지 않고, string indexlen()에서 문제가 발생합니다. OldHangeul은 텍스트를 조합형으로 전환하여 이러한 문제를 해결했습니다. 더불어 자음과 모음으로 옛한글을 처리할 수 있는 기능이 있습니다.

설치

pip install OldHangeul

사용법

OldHangeul은 파이썬에서 작동합니다.


OldTexts

옛한글이 포함된 텍스트를 다루는 클래스입니다. 완성형이 포함된 텍스트를 조합형으로 전환하고, 인덱싱(Indexing)과 슬라이싱(Slicing), len(), get_jamo()를 지원합니다.

from OldHangeul import OldTexts
text=OldTexts('스님이 免帖 나 주시고') #완성형이 포함된 텍스트입니다
print(text)

OldTexts 사용 예시입니다.

스스ᇰ님이 免帖 ᄒᆞ나ᄒᆞᆯ 주시고

OldTexts는 문자열의 길이를 손쉽게 계산할 수 있으며, 인덱싱(indexing)과 슬라이싱(slicing) 기능도 제공합니다.

len(text)
#15

text[1]
#스ᇰ

text_to_jamo

텍스트를 자음과 모음으로 분리합니다. 낱자는 space로 구분되어 있으며, 문서 내의 공백은 _로 나타냅니다.

compatibility: 초성과 종성을 동일한 유니코드로 통일하여 처리

spacing: 문서 내 공백 표현

from OldHangeul import text_to_jamo
text=text_to_jamo('스스ᇰ님이 免帖 ᄒᆞ나ᄒᆞᆯ 주시고', compatibility=False, spacing=True)
print(text)

text_to_jamo는 str타입으로 결과를 반환합니다.

          _   _        _      
from OldHangeul import text_to_jamo
text=text_to_jamo('스스ᇰ님이 免帖 ᄒᆞ나ᄒᆞᆯ 주시고', compatibility=True, spacing=True)
print(text)

compatibility와 spacing 옵션을 통해 다양한 자모 분리 및 공백 처리 방식을 설정할 수 있습니다.

          _   _        _      

hNFD

유니코드 정규화 중 NFD의 기능입니다. 옛한글이 포함된 텍스트에도 작동하며, 소리마디(한양 PUA)를 첫가끝 코드로 변환합니다.

from OldHangeul import hNFD
text=hNFD('스님이 免帖 나 주시고')
print(text)
스스ᇰ님이 免帖 ᄒᆞ나ᄒᆞᆯ 주시고

hNFC

유니코드 정규화 중 NFC의 기능입니다. 옛한글이 포함된 텍스트에도 작동하며, 첫가끝 코드를 소리마디(한양 PUA)로 변환합니다. 변환이 안 된 텍스트는 activation failed로 안내됩니다.

from OldHangeul import hNFC
text=hNFC('스스ᇰ님이 免帖 ᄒᆞ나ᄒᆞᆯ 주시고')
print(text)
님이 免帖주시고

old_hNFD

유니코드 정규화 중 NFD의 기능입니다. 옛한글이 포함된 텍스트에도 작동하며, 전체 텍스트 중 옛한글이 포함된 글자만 첫가끝(조합형)으로 변환합니다.

from OldHangeul import old_hNFD
text=old_hNFD('스스ᇰ님이 免帖 ᄒᆞ나ᄒᆞᆯ 주시고') # 조합형 → 옛한글 글자만 조합형
print(text)
스스ᇰ님이 免帖 ᄒᆞ나ᄒᆞᆯ 주시고

About

Program with functions for manipulation of old Korean script, including Unicode normalization and jamo separation.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages