Skip to main content

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

Project description

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)
스스ᇰ님이 免帖 ᄒᆞ나ᄒᆞᆯ 주시고

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

oldhangeul-1.2.1.tar.gz (23.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

OldHangeul-1.2.1-py3-none-any.whl (22.9 kB view details)

Uploaded Python 3

File details

Details for the file oldhangeul-1.2.1.tar.gz.

File metadata

  • Download URL: oldhangeul-1.2.1.tar.gz
  • Upload date:
  • Size: 23.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.1

File hashes

Hashes for oldhangeul-1.2.1.tar.gz
Algorithm Hash digest
SHA256 393287a7040929fdd14cd3b5335bf152cc9f24ab12d9ecfff601a40280562fc9
MD5 e3579e21ef1ebeb8a6fb3428966a9f1a
BLAKE2b-256 7ee41e306724ab5583e9d5ab0f99a733808fb4009b67624c976048b804efc55e

See more details on using hashes here.

File details

Details for the file OldHangeul-1.2.1-py3-none-any.whl.

File metadata

  • Download URL: OldHangeul-1.2.1-py3-none-any.whl
  • Upload date:
  • Size: 22.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.1

File hashes

Hashes for OldHangeul-1.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 38d9492dc380f27351666cc83e3c1f194c048a309148838d721a282b6d24f03c
MD5 d8f7d64feafc778a4211e4a3870cd9b3
BLAKE2b-256 938f16e9af9bfb5286d634d97425f81a27531268b4ab87aa93816b050404fa38

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page