Skip to content
SemojumPublic

About

한국어 점자 점역·역점역 엔진 (encoder · decoder). 「한국 점자 규정」 기반

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

semojum-braille

시험 윈도우 파이썬 판 라이선스

한국어 묵자를 점자로 옮기고(점역), 점자를 묵자로 되돌리는(역점역) 파이썬 라이브러리입니다.

빠른 시작

>>> from semojum_braille.encoder import translate_tagged_text
>>> translate_tagged_text("대한민국의 모든 국민은 법 앞에 평등하다.")
'⠊⠗⠚⠒⠑⠟⠈⠍⠁⠺⠀⠑⠥⠊⠵⠀⠈⠍⠁⠑⠟⠵⠀⠘⠎⠃⠀⠣⠲⠝⠀⠙⠻⠊⠪⠶⠚⠊⠲'
>>> from semojum_braille.decoder import decode
>>> decode("⠊⠗⠚⠒⠑⠟⠈⠍⠁")
'대한민국'

점자 면 배열을 .brf 파일 바이트로 냅니다. 줄 끝은 \r\n, 쪽(26줄)마다 끝에 \x0c 입니다.

>>> from semojum_braille.brf import serialize_brf
>>> serialize_brf([["⠼⠁", "⠁⠃"]], rows=3)
b'#a\r\nab\r\n\r\n\x0c'

.brf 파일을 거꾸로 읽어 유니코드 점자 면으로 돌립니다(.brf 를 열어 역점역할 때). 대소문자 두 꼴을 다 받고, 백틱은 ⠈(초성 ㄱ)로 읽습니다.

>>> from semojum_braille.brf import parse_brf
>>> parse_brf(b"#a\r\nab\r\n\r\n\x0c")
[['⠼⠁', '⠁⠃', '']]

글 속 수식은 <!수식> 태그로 감쌉니다.

>>> translate_tagged_text("방정식 <!수식>x+1=3<!/수식>의 해")
'⠘⠶⠨⠻⠠⠕⠁⠀⠀⠭⠢⠼⠁⠒⠒⠼⠉⠀⠀⠺⠀⠚⠗'

설치

pip install "semojum-braille @ git+https://github.com/Semojum/braille"

파이썬 3.10 이상. PyPI 에는 아직 없습니다.

추가 무엇 설치 크기
(없음) 점역·역점역 전부. 역점역의 낱말 판정은 낱말 목록 약 15MB
[kiwi] 역점역의 낱말 판정을 형태소 분석기 kiwipiepy 로 약 233MB
[test] pytest
pip install "semojum-braille[kiwi] @ git+https://github.com/Semojum/braille"

의존: braillify==2.0.1 · pydantic>=2.9,<3 · 선택 kiwipiepy>=0.23,<0.24.

기능

  • 한글 약자, 숫자, 문장 부호, 특수 기호, 글 속 영어(통일영어점자 약자)
  • LaTeX 수식을 수학 점자로. 글에 섞인 평문 수식(x+1=3)도 찾아 감쌉니다
  • 표를 다섯 가지 조판 안으로: 풀어쓰기, 격자, 행열 바꿈, 테두리만, 번호 체계
  • 그림·그래프 설명. 초안이 여럿이면 초안마다
  • 32칸 × 26줄 쪽 조판: 제목 들여쓰기, 문단 들여쓰기, 쪽 번호 줄
  • 점역된 문서를 면으로 나누고 페이지행 · 원본 페이지 변경선을 넣는 조판(semojum_braille.assist, braille-assist 에서 옮김). 같은 함수의 ts · java 판과 세 구현 공용 벡터는 docs/assist.md
  • 점자 면을 현장 유통본과 같은 꼴의 .brf 바이트로: 줄 끝 \r\n, 쪽마다 끝에 \x0c, 소문자 BRF ASCII, 32칸
  • .brf 파일을 유니코드 점자 면으로 읽기(현장 두 꼴 · 탭 맞춤 줄까지). 역점역에 넘길 때 쓴다
  • 한글을 음절 단위로 끊을 수 있는 자리를 함께 반환
  • 요소마다 근거가 된 규정 조항(rule_trail)
  • 점자를 묵자로 되돌려 초안 검토용 글로
  • 요소마다 검수 순서 등급(low · medium · high)과 왕복 일치도. high 도 '확인 불필요'가 아니라 '나중에 확인'이다(docs/sidecar.md '검수 등급의 뜻')
  • 파이썬이 아닌 곳(C# 등)에서 표준입출력으로 부르는 사이드카
  • 규칙 기반. 모델도 네트워크도 없이 돌고, 같은 입력에 늘 같은 점자

문서

docs/encoder.md 점역 API, 태그 문법, 데이터 타입, 설정, 모듈 구성
docs/decoder.md 역점역 API, 설정
docs/sidecar.md 표준입출력 프로토콜, 32칸 접기
examples/csharp-sidecar C# 에서 사이드카 부르기(윈도우 CI 가 돌린다)
docs/regulations.md 어느 조항을 어느 모듈이 지키나

규정 근거

「한국 점자 규정」(문화체육관광부 2024) · 「점자 도서 제작 지침」(국립장애인도서관 2025) · 「점자 자료 제작 지침」(국립특수교육원 2025).

규정과 점자 도서 관행이 갈리는 자리는 기본값이 도서 관행입니다. BRAILLE_STYLE=regulation 이면 규정 원형을 씁니다.

한계

  • 그림을 보고 설명을 짓거나 글자를 인식(OCR)하지 않습니다
  • 악보(음악 점자)는 옮기지 않습니다
  • 기호표에 없는 기호는 경고 없이 빠집니다
  • 역점역은 검수용 근사입니다. 원문을 되살리지 않고, 점자가 규정대로인지 판정하지도 않습니다
  • 기본 설치의 역점역은 낱말 목록에 없는 한국어 낱말을 영어로 읽을 수 있습니다. [kiwi] 를 깔면 줄어듭니다
  • 스레드 안전, 파이썬 3.11 · 3.14 는 시험하지 않았습니다
  • Windows 는 CI 러너(영어 로캘)에서 설치 · 시험 · C# 에서 사이드카 부르기를 돌립니다. 한국어 로캘 PC 에서는 아직 재지 않았습니다

기여

CONTRIBUTING.md

라이선스

MIT 또는 Apache License 2.0 중 받는 쪽이 고릅니다. 데이터 파일(규정 조항 · 낱말 목록 · 음절 빈도 · 역대응표 · 기호 표)은 두 라이선스 밖이고 각자의 출처를 따릅니다. 의존 라이선스와 함께 NOTICE.md 를 보십시오.

About

한국어 점자 점역·역점역 엔진 (encoder · decoder). 「한국 점자 규정」 기반

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages