한글 하이픈 단어 나눔 오류 완벽 해결 가이드

이 글의 목적은 한글(Hancom 한글) 문서에서 하이픈(-)이나 유니코드 하이픈류 문자 때문에 발생하는 단어 나눔 오류를 체계적으로 진단하고 재발 방지까지 포함한 실무형 해결 절차를 제공하는 것이다.

1. 현상 정의와 영향

문단 양쪽 맞춤, 줄 바꿈 규칙, 글꼴 특성, 유니코드 하이픈 변형 문자 등이 상호작용할 때 다음과 같은 오류가 발생한다.

  • 줄 끝에서 하이픈이 중복되어 보이거나 사라지는 현상이다.
  • 하이픈 앞 또는 뒤에서 비정상적인 줄 바꿈이 발생한다.
  • 영문 복합어(예: role-based, state-of-the-art)가 임의 위치에서 끊기거나 한쪽에 몰린다.
  • 소프트 하이픈(조건부 하이픈)이 화면에서는 안 보이다가 PDF/인쇄에 표시되는 현상이다.
  • URL, 파일경로, 모델명과 같은 비분절 문자열에서 비의도적 줄 바꿈이 발생한다.
주의 : 오류는 단일 원인보다 설정·문자·글꼴·출력 경로의 복합 요인으로 발생하는 경우가 많다. 동일 문장이라도 글꼴 또는 PDF 변환기로 바꾸면 증상이 달라질 수 있다.

2. 하이픈 관련 유니코드와 동작 차이

한글 문서에서 하이픈으로 보이는 문자가 반드시 ASCII 하이픈(-, U+002D)만은 아니다. 입력 경로나 붙여넣기 출처에 따라 다양한 코드 포인트가 섞인다. 아래 표로 구분한다.

문자코드 포인트명칭주요 용도줄 바꿈 행동(일반적)문제 사례
-U+002DHyphen-Minus일반 하이픈/마이너스양쪽에서 줄 바꿈 허용 가능중복 표시, URL 분절
-U+2011Non-Breaking Hyphen끊기면 안 되는 복합어줄 바꿈 금지강제 미분절로 과도한 공백 발생
U+2013En Dash범위 표기양쪽에서 줄 바꿈 가능하이픈으로 오용 시 간격 불일치
U+2014Em Dash삽입 구절 구분주로 주변 불분절여백 과대, 줄 끝 매달림
­U+00ADSoft Hyphen조건부 분단 기호줄 끝에서만 표시붙여넣기 시 숨은 문자 잔존
U+FE63Small Hyphen-Minus호환용불명확폰트 교체 시 사라짐
주의 : 같은 문장에 U+002D와 U+2011이 섞여 있으면 줄 바꿈 규칙이 구간별로 달라져 예측 불가능한 결과가 나온다.

3. 원인 진단 절차(체크리스트)

3.1 입력 문자 정규성 검사

  1. 문제 구간을 드래그하여 상태표시나 문자표에서 코드 포인트를 확인한다.
  2. 붙여넣기 출처가 웹, PDF, 워드프로세서, CAD, ERP 등인지 기록한다.
  3. 같은 모양의 하이픈이 다른 코드 포인트로 섞여 있는지 샘플 3~5개를 점검한다.

3.2 문단·글자 모양과 줄 바꿈 규칙 점검

  1. 문단 정렬 방식(양쪽, 왼쪽, 맞춤형)을 확인한다.
  2. 한글의 영문 단어 단위 줄 바꿈 옵션, 특수문자 줄 바꿈 허용 옵션을 확인한다.
  3. 자간·장평·커닝이 95% 이하 또는 105% 이상으로 과도하지 않은지 확인한다.
  4. 단축키·자동 교정 기능이 하이픈을 다른 문자로 치환하지 않는지 확인한다.

3.3 글꼴 및 출력 경로 점검

  1. 현재 글꼴이 해당 하이픈 코드 포인트의 글리프를 지원하는지 확인한다.
  2. PDF 변환기, 프린터 드라이버별로 미리보기 차이가 있는지 비교한다.
  3. 폰트 임베딩 설정을 켜고 껐을 때 차이를 확인한다.

4. 해결 전략(근본 원인별)

4.1 섞인 하이픈 문자 단일화

문서 전체에서 하이픈 코드를 통일하면 예측 가능성이 급상승한다. 다음 치환 규칙을 적용한다.

  • 일반 복합어: U+002D로 통일한다.
  • 끊기면 안 되는 고유명·모델명: U+2011로 통일한다.
  • 조건부 분단이 필요한 길고 복잡한 합성어: 필요한 지점에만 U+00AD를 삽입한다.

정규화용 검색·바꾸기 패턴 예시는 다음과 같다.

1) En Dash→하이픈 통일 찾기: \u2013 바꾸기: -
Em Dash→En Dash 또는 하이픈 통일
찾기: \u2014
바꾸기: -

호환용 Small Hyphen 제거
찾기: \uFE63
바꾸기: -

비분절 하이픈 강제 적용(변경 대상만 범위 선택)
찾기: 모델명A-123 또는 정규식 (?:A|B|C)-\d{3,}
바꾸기: U+2011 삽입 (비분절 하이픈)
주의 : 조건부 하이픈(U+00AD)은 눈에 보이지 않아 과다 삽입 시 디버깅이 매우 어렵다. 최소한으로 사용한다.

4.2 문단·줄 바꿈 규칙 최적화

양쪽 맞춤 상태에서 영문과 하이픈이 많은 텍스트는 자간 조정과 줄 바꿈 허용 규칙이 충돌하기 쉽다. 실무 권장값은 다음과 같다.

  • 자간 98~102% 범위 유지 권장이다.
  • 장평 98~100% 범위 유지 권장이다.
  • 영문 단어 단위 줄 바꿈 허용을 켜고, 특수문자 기준 줄 바꿈은 하이픈만 허용한다.
  • URL과 코드 블록은 문단 스타일을 별도로 만들어 왼쪽 정렬로 분리한다.

4.3 글꼴 전략

하이픈 관련 글리프가 균일한 범용 글꼴을 우선 선택한다. 특정 브랜드폰트는 U+2011을 미지원하기도 한다. 문제가 재현될 때는 다음을 시행한다.

  1. 같은 계열의 대체 글꼴 2~3개로 시연 비교한다.
  2. PDF 변환 시 폰트 임베딩을 활성화한다.
  3. 프린터 드라이버의 글꼴 대체 옵션을 비활성화한다.

4.4 붙여넣기 정제

웹·PDF·디자인툴에서 복사한 텍스트에는 U+2011, U+00AD가 자주 섞인다. 붙여넣기 직후 다음 정제를 수행한다.

붙여넣기 정제 4단계: 1) 형식 없는 텍스트로 붙여넣기 2) 전체 선택 후 하이픈류 정규화(2~3가지 패턴 치환) 3) 문단 스타일 재적용 4) URL, 모델명 구간만 비분절 하이픈(U+2011)로 재치환 

5. 사용 시나리오별 처방

5.1 기술문서·사양서

  • 모델명, 규격명은 비분절 하이픈(U+2011)로 통일한다.
  • 수식·코드·경로는 왼쪽 정렬, 고정폭 글꼴, 줄 바꿈 금지 영역을 적용한다.
  • 도표 캡션의 하이픈은 U+002D로 통일하고 캡션 스타일에서 자간을 100%로 고정한다.

5.2 보고서·마케팅 문서

  • 문단은 양쪽 맞춤을 사용하되 하이픈 밀도가 높은 단락은 왼쪽 정렬로 예외 처리한다.
  • 소프트 하이픈은 제목·머리말에서 금지한다.
  • 인라인 영문 복합어는 2~3개 이하로 제한하고 긴 합성어는 재구성한다.

5.3 URL·파일경로·코드 스니펫

자동 줄 바꿈이 치명적이면 다음 기법을 사용한다.

  • 공백 대신 비분절 공백(U+00A0) 또는 단어 결합자(U+2060)를 최소 범위에 적용한다.
  • 문단 스타일에서 특수문자 기준 줄 바꿈을 해제한다.
  • 표 셀 내부에서는 셀 폭을 늘리거나 축약형을 사용한다.

6. 스타일 템플릿 구축

재발 방지를 위해 문서 시작 템플릿에 하이픈 대응 스타일을 미리 정의한다.

스타일명용도정렬자간/장평줄 바꿈 규칙비고
Body-Justified일반 본문양쪽100%/100%하이픈 허용, 기타 특수문자 금지영문 단어 단위 허용
Body-Left하이픈 밀집 단락왼쪽100%/100%특수문자 줄 바꿈 해제URL 포함
Caption도표 캡션왼쪽100%/100%하이픈만 허용숫자 자폭 고정
Code코드·경로왼쪽100%/100%줄 바꿈 금지고정폭 글꼴

7. 배치 정규화 워크플로

대량 문서를 일괄 정리할 때의 권장 순서는 아래와 같다.

배치 정규화 6단계: 1) 백업본 생성 2) 하이픈류 문자 스캔(샘플링 5개 문서) 3) 전역 치환(En Dash/Em Dash → -) 4) 모델명 목록 기반 비분절 하이픈 재적용 5) 스타일 재적용 및 미리보기 검수 6) PDF 변환 테스트(임베딩 ON/OFF 비교) 
주의 : 4단계에서 모델명 사전이 최신이 아니면 잘못된 비분절 처리로 역효과가 날 수 있다. 제품군별 사전을 별도로 유지한다.

8. 출력 단계 품질 점검

8.1 화면·PDF·인쇄 교차검증

  1. 문제 단락 3곳을 북마크하여 화면·PDF·인쇄를 동일 구간으로 비교한다.
  2. PDF 변환기는 2가지 이상으로 교차 확인한다.
  3. 프린터 드라이버의 글꼴 대체, 그래픽 처리 옵션을 각각 켜고 꺼서 비교한다.

8.2 회귀 테스트 체크리스트

항목합격 기준불합격 예시
중복 하이픈줄 끝에서 1개만 표시-- 로 중복 노출
사라진 하이픈줄 바꿈 후에도 단어 의미 보존rolebased로 합쳐짐
잘못된 분절의미 단위 유지state-of-the- / art
URL 분절링크 단위 미분절https:// 예외적 분절

9. 문제 유형별 빠른 처방

9.1 줄 끝 하이픈 중복 표시

  • 조건부 하이픈(U+00AD)과 일반 하이픈(U+002D)이 중복되었을 가능성이 높다.
  • U+00AD 전역 검색 후 삭제하고 필요한 위치에만 다시 삽입한다.

9.2 하이픈이 사라짐

  • 폰트가 해당 코드 포인트를 미지원하거나 PDF 변환에서 합성된 가능성이 있다.
  • 동일 문장에 다른 글꼴을 적용해 확인하고 폰트 임베딩을 활성화한다.

9.3 영문 복합어 비의도 분절

  • 핵심 합성어의 하이픈을 U+2011로 일괄 치환한다.
  • 문단을 왼쪽 정렬로 예외 처리하거나 자간 자동 조정을 끈다.

9.4 URL·경로가 끊김

  • URL 전용 스타일(Code)로 분리하고 줄 바꿈 금지 옵션을 적용한다.
  • 필요 시 소구간에 단어 결합자(U+2060)를 삽입한다.

10. 팀·문서 차원의 표준 운영

  1. 템플릿에 하이픈 처리 원칙을 주석으로 포함한다.
  2. 모델명·제품군 사전을 팀 저장소에서 관리하고 릴리스마다 업데이트한다.
  3. PDF 변환기와 프린터 드라이버 버전을 문서 하단에 기록한다.
  4. 신입 사용자 교육 자료에 U+2011, U+00AD 개념과 적용 예를 포함한다.

11. 실무 예제

11.1 제품명 비분절 처리 스니펫

예: WAYFIX-MSDS-2000 절차: 1) "WAYFIX-MSDS-2000" 전체 검색 2) 하이픈을 U+2011(Non-Breaking Hyphen)로 치환 3) 문단 스타일 Body-Justified 적용 유지 4) PDF 미리보기에서 줄 끝 매달림 여부 확인 

11.2 조건부 하이픈으로 가독성 향상

예: state-of-the-art 절차: 1) 기본 하이픈은 U+002D 유지 2) "state-of-the-" 다음 "art" 앞에 U+00AD 삽입 금지(불필요) 3) 대신 문단 왼쪽 정렬 예외 또는 자간 100% 고정 

11.3 URL 보호

예: https://docs.example.com/role-based-access 절차: 1) 문단 스타일 Code 적용(왼쪽 정렬, 줄 바꿈 금지) 2) 꼭 필요한 경우 "role-based"의 하이픈만 U+2011로 치환 3) 프린터 드라이버에서 글꼴 대체 해제 

12. 점검 자동화 아이디어

대량 문서에서는 수동 검수가 누락될 수 있다. 다음 규칙으로 반자동 점검을 구성한다.

  • 정규표현식 [A-Za-z0-9]+-[A-Za-z0-9]+ 패턴을 스캔해 후보 목록을 만든다.
  • 모델명 사전과 교집합인 경우 자동으로 U+2011로 치환한다.
  • URL 스키마(https://)가 포함된 줄은 줄 바꿈 금지 스타일을 자동 적용한다.

13. 최종 점검 체크리스트

  • 문서 내 하이픈 코드 통일 여부 확인한다.
  • 모델명·규격명 비분절 처리 적용 여부 확인한다.
  • URL·경로·코드 블록 스타일 분리 여부 확인한다.
  • PDF·인쇄에서 동일한 시각 결과를 재현하는지 확인한다.
  • 템플릿과 사전 업데이트 내역을 문서에 기록한다.

FAQ

하이픈이 많은 단락에서 양쪽 맞춤을 유지하고 싶다. 어떻게 세팅하나?

자간·장평을 100%로 고정하고 특수문자 줄 바꿈 허용 중 하이픈만 허용한다. 분절이 잦은 복합어는 U+2011로 비분절 처리한다. 그래도 들쭉날쭉하면 해당 단락만 왼쪽 정렬 예외로 처리한다.

소프트 하이픈이 PDF에서 보인다. 원인과 대책은 무엇인가?

U+00AD는 줄 끝에서만 표시되어야 하지만 변환기 설정에 따라 표시될 수 있다. 불필요한 U+00AD를 전역 제거하고 필요한 위치에만 최소 삽입한다. 변환기 옵션에서 하이픈 표시 규칙을 점검한다.

폰트 임베딩을 켜도 하이픈이 사라진다.

폰트가 해당 코드 포인트 글리프를 포함하지 않거나 대체 글꼴이 개입되었을 수 있다. 다른 범용 글꼴로 교체해 보고, 프린터 드라이버의 글꼴 대체 기능을 비활성화한다.

붙여넣기 시 하이픈류가 섞이는 것을 예방할 수 있나?

형식 없는 텍스트로 붙여넣기 후 즉시 정규화 치환을 수행한다. 반복 문서라면 매크로 또는 스크립트로 3~4개의 규칙을 자동화한다.

URL이 꼭 줄 바꿈되어야 할 때는?

표 폭을 넓히거나, 슬래시(/) 기준으로만 줄 바꿈을 허용하는 규칙을 적용한다. 중요한 구간은 U+2060 단어 결합자를 국소적으로 삽입한다.