브라유 점자 웹 번역기를 만들었음
모스 코드 프로젝트에서 이스터 에그 식으로 기능을 추가했다. 기존 존재하는 한글 점자 번역기의 가장 큰 문제점이 특정 글꼴을 다운로드 받아야 했다는 점인데, 내 거는 유니코드 문자를 이용해서 글꼴 다운로드가 필요 없다.
처음에는 가볍게 시작했는데, 알고 보니 한글 점자 표준안이라는 게 있었다. 거기에는 한글 점자 체계에서 사용하는 축약된 표현이랑 예외 표현들이 너무나도 많았다. 수십 장 짜리 문서로 되어있고, 수학 공식에 화학기호 심지어 전기 도면까지 점자로 만들어놨음 ㅋㅋ 그걸 구현하기 위해 엄청난 if 코드의 향연... 결국 하다가 포기 ㅎ
뭐... 포기는 아니지. 걍 일부만 구현한 거임 ㅎㅎ
여기서 잠깐. 이걸 만들면서 알게 된 점자에 대해 몰랐던 사실 몇 가지.
- 점자는 초성 중성 종성으로 나뉘는 3벌식 구조임.
- 점자는 많이 쓰는 음소라고 간단한 문자를 부여하지 않았음. (모스 부호는 자주 쓰는 음소일수록 짧은 부호로 되어있음.)
- 한글 점자 체계는 예외 조항이 너무 많음. 눈으로 읽는 것만큼 빠르게 글을 읽을 수 있도록 진화한 것이 아닐까?
- 예외 중 "영"의 축약 표현은 상황에 따라 "엉"으로 읽어야 함. 예를 들어 "훈맹정음"과 "훈맹졍음"은 같은 점자를 씀. 이건 왜 이런 건지 아직 잘 이해 안 됨 ㅋㅋ
- 영어와 한글 점자 체계는 문장 부호가 서로 다르다. 숫자 0~9까지는 같다.
끝.
참고 #1: 유니코드 점자표
Braille Patterns Official Unicode Consortium code chart (PDF) |
||||||||||||||||
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | |
U+280x | ⠀ | ⠁ | ⠂ | ⠃ | ⠄ | ⠅ | ⠆ | ⠇ | ⠈ | ⠉ | ⠊ | ⠋ | ⠌ | ⠍ | ⠎ | ⠏ |
U+281x | ⠐ | ⠑ | ⠒ | ⠓ | ⠔ | ⠕ | ⠖ | ⠗ | ⠘ | ⠙ | ⠚ | ⠛ | ⠜ | ⠝ | ⠞ | ⠟ |
U+282x | ⠠ | ⠡ | ⠢ | ⠣ | ⠤ | ⠥ | ⠦ | ⠧ | ⠨ | ⠩ | ⠪ | ⠫ | ⠬ | ⠭ | ⠮ | ⠯ |
U+283x | ⠰ | ⠱ | ⠲ | ⠳ | ⠴ | ⠵ | ⠶ | ⠷ | ⠸ | ⠹ | ⠺ | ⠻ | ⠼ | ⠽ | ⠾ | ⠿ |
참고 #2: 한글 점자 규정
한글 점자 규정 해설 - 국립국어원 (다운로드 주의)
추가 기록 #1: 점자 입력 기능 추가
점자를 입력할 수 있는 키보드를 html으로 구현했다. 화면의 키보드 요소를 눌러도 점자가 입력되고, PC에 연결된 물리 키보드를 눌러도(당연하지만 ㅋ) 점자가 입력되도록 처리했다. 물리 키보드 입력은 keyboard_shortcutsHandling Keyboard Shortcuts in JavaScript(www.openjs.com/scripts/events/keyboard_shortcuts/) 라는 코드를 갖다 썼음.
이때 문제가 됐던 것이, 첫 번째로는 가상 키보드를 눌렀을 때 textarea에 포커스가 블러처리되는 것. 첫번째 문제는 가상 키보드 버튼을 누를 때마다 포커스가 textarea로 옮겨가도록 해서 간단하게 해결. 문제 1을 해결하자 생겨난 문제 2. textarea에 포커스를 주면 모바일 기기에서 자동으로 기본 키보드가 팝업되는데, 이걸 막아야했음.
음.. 이걸 어떻게 해결했더라? 그냥 포커스 안 되게 만들어서 1번도 다시 안 되게 만들었던 거 같은데 ㅎㅎ 잘 기억 안 난다. 암튼 쓰기 불편하다는 사람도 없고해서 그냥 뒀음 ㅎ ...근데 쓰는 사람이 있긴 하나?
더 보기: 점자 해석기 사용 후기 #1: 편의점 음료 캔 점자 해석
추가 기록 #2: 실용성 검증
네이버 지식인 점자 질문에 답해주기로 실용성을 검증해 보았다.
더 보기: 점자 해석기 사용 후기 #2: 네이버 지식인 점자 질문에 답해보자