한글 특수문자 깨짐 완전 해결 가이드(복사·붙여넣기, 인쇄, PDF, 파일호환 총정리)

이 글의 목적은 한글(HWP)에서 특수문자·수학기호·그리스문자·원문자 등 문자 깨짐 현상을 재현 가능한 절차로 진단하고, 폰트·인코딩·내보내기 설정·OS 캐시 등 원인별 조치로 현장에서 즉시 해결하도록 돕는 것이다.

1. 문제 정의와 증상 유형

특수문자 깨짐은 다음 네 가지로 대별한다.

  • 입력 시 깨짐: 문자표에서 선택하거나 단축키로 입력했는데 네모(□)·물음표(�)·엉뚱한 글자가 표시되는 경우이다.
  • 복사·붙여넣기 시 변형: 웹 페이지·PDF·다른 오피스 프로그램에서 복사해 붙였더니 유니코드 문자가 CP949 계열로 변환되어 틀어지는 경우이다.
  • 보기·인쇄·PDF에서만 깨짐: 편집 화면은 정상인데 출력 또는 PDF 변환에서 일부 기호가 사라지거나 대체문자로 바뀌는 경우이다.
  • 파일 호환 시 손실: TXT·CSV·DOCX·ODT 등으로 가져오기/내보내기할 때 특정 기호가 물음표로 바뀌거나 삭제되는 경우이다.
주의 : 같은 문자가 폰트에 따라 ‘존재하지만 모양이 다른 글리프’로 보일 수 있다. 보이는 모양 차이는 깨짐이 아니라 폰트 디자인 차이일 수 있다.

2. 원인 구조 이해(시스템 관점)

2.1 폰트 글리프 부재

문자 코드가 유효해도 해당 폰트가 그 문자의 글리프를 포함하지 않으면 대체문자(□, tofu)가 나타난다. 예: 일부 한글 본문용 폰트는 수학 연산자나 문자 장식 기호를 포함하지 않는다.

2.2 인코딩/정규화 불일치

UTF-8, UTF-16, CP949 등 문자 인코딩이 서로 달라 변환 과정에서 손실이 발생한다. 특히 TXT/CSV, 클립보드 교환, 오래된 HWP 문서와의 호환에서 빈번하다.

2.3 글꼴 포함/대체 설정 문제

PDF 저장 시 글꼴 미포함, 인쇄 시 프린터 글꼴 대체, Windows FontSubstitutes 레지스트리 등에 의해 출력 단계에서 다른 글꼴로 바뀌어 특정 기호가 사라질 수 있다.

2.4 수식/개체 엔진 차이

수식 편집기나 OLE 개체가 폰트 내장 방식을 다르게 처리해, 편집 화면과 출력 화면이 달라질 수 있다.

3. 빠른 진단 체크리스트

증상가설 원인즉시 확인1차 조치
편집화면에 네모(□) 글리프 부재 문자 선택 후 폰트를 ‘Malgun Gothic’, ‘Segoe UI Symbol’, ‘Cambria Math’로 바꿔본다 대체 폰트 적용 또는 폰트 묶음 스타일 구성
붙여넣기 후 물음표(�) 인코딩 변환 손실 붙여넣기 옵션을 ‘형식 없는 텍스트’로 시도 붙여넣기 옵션/중간 메모장(UTF-8) 경유
PDF에서만 기호 누락 글꼴 미포함 또는 곡선화 미설정 PDF 옵션에서 글꼴 포함 여부 확인 ‘글꼴 포함’ 또는 ‘문자 곡선화’ 선택
인쇄에서만 다른 기호 프린터 글꼴 대체 프린터 드라이버 고급 옵션 확인 ‘그래픽으로 처리’, 프린터 글꼴 대체 해제
TXT/CSV 내보내기 후 깨짐 인코딩 지정 누락 저장 대화상자 인코딩 드롭다운 확인 UTF-8(BOM) 또는 필요 인코딩 지정

4. 원인별 해결 절차

4.1 폰트 글리프 부재 해결

  1. 문제 문자를 드래그한다.
  2. 글꼴을 유니코드 범위가 넓은 폰트로 변경한다. 권장: 본문용은 ‘맑은 고딕’, UI 기호는 ‘Segoe UI Symbol’, 수식은 ‘Cambria Math’이다.
  3. 문자표를 열어 해당 문자의 코드포인트를 확인한 뒤 지원 폰트를 지정한다.
  4. 스타일로 고정한다. 본문 스타일에 ‘기호 대체 폰트’를 두 번째 우선순위로 지정한다.
주의 : Wingdings/Webdings는 표준 유니코드 기호와 다르다. 문서 호환을 고려하면 동일한 의미의 유니코드 기호로 치환하는 것이 안전하다.

4.2 붙여넣기 시 인코딩 손실 대응

  1. 붙여넣기 단축키 대신 ‘형식 붙여넣기(Ctrl+Alt+V)’를 사용한다.
  2. 옵션에서 ‘서식 없는 텍스트’ 또는 ‘유니코드 텍스트’를 선택한다.
  3. 웹 페이지나 PDF에서 복사할 때 중간 단계로 메모장(UTF-8 기본) 또는 코드 편집기(UTF-8)로 붙여넣은 뒤 다시 복사해 한글에 붙인다.
  4. 붙여넣기 후 즉시 폰트를 기호 지원 폰트로 지정한다.

4.3 PDF 변환·인쇄에서의 글꼴 문제 해결

  1. PDF 저장 대화상자에서 ‘문서 글꼴 포함’을 활성화한다.
  2. 특수문자가 많은 문서는 ‘문자를 곡선으로 저장’ 옵션을 사용해 글꼴 의존성을 제거한다.
  3. 프린터 속성의 고급에서 ‘장치 글꼴 대체’를 끄고 ‘그래픽으로 인쇄’ 옵션을 사용한다.
  4. 가상 PDF 프린터 사용 시 최신 드라이버로 업데이트한다.
주의 : ‘문자 곡선화’는 파일 용량 증가와 검색 불가를 유발한다. 검색·복사를 유지해야 하면 글꼴 포함을 우선한다.

4.4 TXT·CSV·외부 파일 호환 시 인코딩 지정

  1. 가져오기 시 인코딩을 명시한다. UTF-8, UTF-16LE, EUC-KR(CP949) 중 원본에 맞게 선택한다.
  2. 내보내기 시도 시에도 인코딩 드롭다운에서 UTF-8(BOM 권장)로 지정한다.
  3. CSV에 특수문자가 많다면 UTF-8+BOM으로 저장하고 필요 시 Excel 호환을 고려해 구분자와 따옴표 규칙을 점검한다.
예: CSV 저장 규칙 - 인코딩: UTF-8 with BOM - 구분자: 콤마(,) - 텍스트 한정자: 큰따옴표(") - 줄바꿈: CRLF 

4.5 Windows 폰트 캐시/대체 설정 초기화

OS 폰트 캐시가 손상되면 특정 문자만 간헐적으로 보이지 않을 수 있다. 다음 절차로 초기화한다.

  1. 모든 문서 프로그램을 종료한다.
  2. 서비스에서 ‘Windows Font Cache Service’를 중지한다.
  3. C:\Windows\System32\FNTCACHE.DAT 파일을 삭제한다(관리자 권한 필요).
  4. PC를 재부팅한다.
# PowerShell(관리자) 예시 Stop-Service -Name "FontCache" Remove-Item "$env:windir\System32\FNTCACHE.DAT" -Force Start-Process shutdown -ArgumentList "/r /t 0" 

FontSubstitutes 레지스트리가 비표준 대체를 강제하는 경우 초기화를 검토한다.

# 레지스트리 확인(읽기) reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes" 
주의 : 레지스트리 변경은 위험하다. 백업 후 진행한다.

5. 한글 내 설정 최적화

5.1 문자 입력·문자표 활용

  1. 입력 > 문자표에서 범주를 ‘기호’, ‘수학 연산자’, ‘그리스 문자’ 등으로 전환해 코드포인트를 확인한다.
  2. 자주 쓰는 기호는 ‘즐겨찾기’ 또는 사용자 매크로로 등록한다.
  3. 동일 의미의 유니코드 기호를 우선한다. 예: ●, ○, ★, ✓ 등이다.

5.2 스타일에 폰트 묶음 설계

본문 스타일에 기본 폰트와 기호 대체 폰트를 함께 정의한다. 본문은 가독성 좋은 한글 폰트, 기호는 범용 심볼 폰트를 2순위로 둔다.

권장 예시 - 본문: 맑은 고딕 - 대체1(기호): Segoe UI Symbol - 수식: Cambria Math 

5.3 수식 개체 품질

  1. 수식 편집기 내에서 ‘Cambria Math’나 유니코드 수학 폰트를 사용한다.
  2. PDF 저장 시 수식은 글꼴 포함 우선, 문제가 지속되면 해당 수식만 벡터로 변환한다.

5.4 붙여넣기 기본 동작 표준화

조직 표준으로 붙여넣기 방식을 지정한다. 기본은 형식 없는 텍스트, 필요 시 서식 유지로 이원화한다. 단축키 매핑을 활용해 실수를 줄인다.

6. 대표 시나리오별 해법

6.1 웹에서 복사한 체크표 기호가 네모로 보임

  1. 형식 붙여넣기로 ‘유니코드 텍스트’를 선택한다.
  2. 선택 영역 폰트를 ‘Segoe UI Symbol’로 바꾼다.
  3. 체크표는 유니코드 U+2713(✓), U+2714(✔)로 교체한다.

6.2 PDF 변환 시 그리스문자(α, β)가 사라짐

  1. 문서 저장 > PDF 옵션에서 ‘글꼴 포함’을 켠다.
  2. 문제 구간만 선택해 ‘문자를 곡선으로 저장’을 적용한다.
  3. 폰트를 ‘Cambria’, ‘Times New Roman’, ‘맑은 고딕’ 등 범용 폰트로 교체한다.

6.3 CSV 내보내기 후 특수문자가 물음표로

  1. 내보내기 인코딩을 ‘UTF-8(BOM)’로 지정한다.
  2. 데이터에 구분자(,)가 포함되면 따옴표로 감싸도록 옵션을 설정한다.
  3. 상대 시스템의 가져오기 인코딩도 UTF-8로 맞춘다.

6.4 프린터로 출력 시 수학기호가 각진 사각형

  1. 프린터 속성 > 고급에서 장치 글꼴 대체를 해제한다.
  2. 드라이버를 최신 PCL/PS 버전으로 교체한다.
  3. 문제 페이지를 PDF로 출력 후 PDF에서 인쇄한다.

7. 품질 보증 절차(팀 적용용 SOP)

  1. 작성 단계: 유니코드 기호만 사용, 스타일에 대체 폰트 포함, 수식에 Cambria Math 지정한다.
  2. 검수 단계: PDF(글꼴 포함)와 인쇄 미리보기로 교차 검증한다.
  3. 배포 단계: 필요 시 곡선화 PDF를 별도 보관본으로 생성한다.
  4. 보전 단계: 폰트 버전과 프린터 드라이버 버전을 문서 하단 주석으로 기록한다.

8. 자주 쓰는 특수문자 안전 대체표

의미권장 유니코드코드포인트비고
체크U+2713대체: ✔(U+2714)
곱셈×U+00D7‘x’와 혼동 금지
나눗셈÷U+00F7수식 폰트 필요
무한대U+221E수학 기호
대쉬U+2013하이픈(-)과 구분
불릿U+2022Wingdings 불릿 지양
°U+00B0수치 뒤 결합
그리스 알파αU+03B1영문 a와 구분
마이크로µU+00B5μ(U+03BC)와 구분
원문자 RU+24C7폰트 의존 높음

9. 대량 치환·정리 작업 팁

  1. 찾기/바꾸기에서 코드포인트 기반 입력이 어렵다면 ‘문자표’로 직접 삽입 후 복사해 바꾸기를 수행한다.
  2. Wingdings/Webdings를 사용한 기호는 동일 의미 유니코드 기호로 일괄 치환한다.
  3. 불명확한 기호는 이미지 캡처가 아닌 텍스트 기호로 재작성해 검색성과 접근성을 보장한다.

10. 점검 자동화 스니펫

# PowerShell: 설치 폰트 중 수학·기호 폰트 존재 여부 샘플 점검 $need = @("Cambria Math","Segoe UI Symbol","Noto Sans Symbols","Noto Sans Math") $installed = (Get-ChildItem "$env:windir\Fonts").Name $need | ForEach-Object { $found = $installed -match $_ "{0}: {1}" -f $_, ($(if($found){"OK"}else{"Missing"})) } 

11. 예방 가이드라인

  • 조직 공통 템플릿에 대체 폰트 체인을 포함한다.
  • 문서 공유 전 PDF를 글꼴 포함으로 생성해 수신자 환경에 의존하지 않도록 한다.
  • 외부 데이터 연계는 UTF-8을 표준으로 통일한다.
  • 정기적으로 프린터 드라이버와 시스템 폰트를 업데이트한다.

FAQ

편집 화면은 정상인데 PDF에서만 특수문자가 빠지는 이유는 무엇인가?

PDF 저장 시 글꼴을 포함하지 않거나 프린터 글꼴로 대체되면서 해당 글리프가 누락되었기 때문이다. PDF 옵션에서 글꼴 포함을 활성화하고, 문제가 반복되면 문제 구간을 ‘문자 곡선화’로 생성한다.

Wingdings로 만든 체크표를 그대로 써도 되나?

문서 간 호환성이 떨어진다. 유니코드 체크마크(✓/✔)로 치환하고, 심볼 지원 폰트를 대체로 지정하는 것이 안전하다.

CSV에서 한글과 특수문자를 함께 안전하게 다루는 방법은?

UTF-8(BOM)으로 저장하고, 구분자 충돌을 피하기 위해 텍스트 한정자(큰따옴표)를 사용한다. 가져오기 시스템에서도 UTF-8로 읽도록 맞춘다.

수식에서 그리스문자가 가끔 다른 글꼴로 치환되는 이유는?

수식 엔진이 폰트 우선순위에 따라 대체하는 과정에서 발생한다. 수식 폰트를 Cambria Math로 고정하고 PDF 생성 시 글꼴 포함을 보장한다.

특정 PC에서만 네모(□)가 보이면 어떻게 하나?

Windows 폰트 캐시 손상 가능성이 있다. FontCache 서비스 중지 후 FNTCACHE.DAT를 삭제하고 재부팅한다. 문제가 지속되면 해당 폰트를 재설치한다.