변환 옵션

이 플래그들은 변환 중에 적용되는 언어학적 규칙을 제어합니다.

프리셋

--preset은 미리 구성된 기본값 조합을 선택합니다:

프리셋사전두음법칙동음이의 창용도
ko-kr (기본)내장 stdict켜짐블록 단위남한 정서법
ko-kp없음꺼짐북조선 정서법
gukhanmun --preset ko-kp input.txt

아래의 개별 플래그들은 프리셋의 기본값을 덮어씁니다.

분할 전략

--segmentation은 단어 경계를 찾는 방식을 제어합니다:

  • lattice (기본): 동적 계획법으로 매 위치의 모든 사전 일치를 평가하여 전역적으로 최적인 분할을 찾습니다. 정확도에 가장 적합합니다.
  • eager: 왼쪽에서 오른쪽으로 가장 긴 일치를 취하는 탐욕 방식. 더 빠르지만 합성어를 잘못 분할할 수 있습니다.
gukhanmun --segmentation eager input.txt

수사 처리

--numerals는 한자 수사를 렌더링하는 방식을 제어합니다:

전략이공일륙년십일월일천이백삼십사
hangul-phonetic (기본)이공일륙년십일월일천이백삼십사
positional-arabic2016년
additive-arabic11월1234
smart2016년11월1234
gukhanmun --numerals smart input.txt

두음법칙

두음법칙은 ko-kr에서는 기본으로 켜지고 ko-kp에서는 꺼집니다. 이는 어떤 사전에서도 찾지 못한 문자에 대한 문자별 fallback 독음에 영향을 줍니다; 사전 항목은 이미 그 올바른 독음을 담고 있습니다.

입력법칙 켜짐 (ko-kr)법칙 꺼짐 (ko-kp)
내일내일래일
이유이유리유
여자여자녀자

명시적 플래그로 덮어씁니다:

gukhanmun --no-initial-sound-law input.txt  # 끄기
gukhanmun --initial-sound-law input.txt     # 켜기 (ko-kr에서는 重複)

동음이의 구별

서로 다른 한자어가 같은 한글 독음을 공유할 수 있습니다(예를 들어 연패(連霸)와 연패(連敗)는 둘 다 연패입니다). 기본 hangul-only 렌더링 모드에서, Gukhanmun은 독자가 그것들을 구별할 수 있도록 그런 단어의 한자를 괄호 안에 유지할 수 있습니다. --disambiguation은 한 독음이 모호하다고 간주되는 범위를 설정합니다:

동작
off구별 안 함
per-block (ko-kr의 기본)단락/리스트/헤딩 경계에서 재설정
per-section헤딩 경계에서 재설정
per-document입력 전체에 걸쳐 추적
gukhanmun --disambiguation per-section input.txt

--homophone-detection은 창 안에서 어떤 독음을 모호한 것으로 셀지를 선택합니다:

동작
context-local (기본)창 안에 뜻이 다른 동음이의어가 실제로 나타날 때에만 그 단어를 병기합니다.
dictionary-wide사전 안 어디서든 다른 한자 형태와 공유되는 독음도 병기합니다.
gukhanmun --homophone-detection dictionary-wide input.txt

context-local은 한글 전용 출력을 깔끔하게 유지합니다. dictionary-wide는 더 넓지만, 내장 《표준국어대사전》으로는 거의 모든 흔한 독음에 어떤 동음이의어가 있으므로 대부분의 한자어를 병기하게 됩니다. 문맥과 무관하게 특정 단어를 항상 병기하려면, 대신 --require-hanja 플래그를 사용합니다(〈사용자 지시〉 참조).

인식된 단어만 구별된다

동음이의 구별은 사전이 단위로 인식하는 단어에 대해 동작합니다. 자체 사전 항목이 없는 한자 연속은 하나의 단어로 다뤄지지 않으며, 그 fallback(비사전) 문자는 결코 병기되지 않습니다; 그 안에 있는, 인식되는 한 글자 항목(예컨대 )은 여전히 따로 처리됩니다. 예를 들어 自由子游는 둘 다 자유로 읽히는 내장 항목이므로 自由와 子游자유(自由)와 자유(子游)가 됩니다; 그러나 紫楡는 자체 항목이 없으므로, 기본 context-local 전략에서 自由와 紫楡는 병기 없이 자유와 자유가 되는데, 이는 엔진이 自由와 충돌할 두 번째 자유 단위를 결코 보지 못하기 때문입니다. 전체 용어를 구별하려면, 그것을 사용자 정의 사전에 추가하고 --dictionary로 불러와(〈사전〉 참조) 엔진이 그것을 하나의 단위로 다루게 합니다.

최초 출현 해제

--first-occurrence는 창에서 앞서 이미 표시가 강제된 문자로부터 병기를 제거합니다:

동작
off (기본)결코 해제 안 함
per-block단락/블록 안에서 해제
per-section섹션 안에서 해제
per-document문서 전체에 걸쳐 해제
gukhanmun --first-occurrence per-section input.txt

오류 복구

--recovery는 복구 불가능한 구문 분석 오류가 발생했을 때의 동작을 제어합니다(현재는 HTML 입력에만 해당):

  • strict (기본): 오류와 함께 중단
  • lenient: 문제가 되는 단편을 건너뛰고 계속
gukhanmun -f text/html --recovery lenient input.html