본문 바로가기

iTerm에서 한글 자소가 분리되어 보이는 현상

기술적인 이야기/터미널 및 셸 2021. 7. 30.
반응형

개인적으로 터미널과 셸을 좋아해서 iTerm 또한 종종 사용하는데 파일명에 한글을 거의 쓰질 않아서 거의 문제를 못 겪었었다. 그런데 macOS의 언어를 한국어로 바꾼 이후로 터미널에서 한글이 깨지는 현상 - 정확히 말해서 자소가 분리되어 보이는 현상 - 을 종종 겪게 되었다.

iTerm에서 한글의 자소가 분리되어 보이는 현상

참고로 사용하는 iTerm의 버전은 3.x다. 보통 iTerm3로 표기한다. 어쨌든 이 문제를 수정해보자.

문제 해결하기

해결 방법은 단순하다. 설정(Preferences)을 열어서 Profiles 항목의 Text 탭을 열어보자. 중앙의 Unicode 항목 근처에서 Unicode Normalization Form을 찾을 수 있는데 기본 값은 None으로 되어있다. 이 설정을 클릭해서 NFC로 바꿔주자.

iTerm Preferences - Profiles - Text

이후 바로 결과가 적용되기 때문에 재시작하거나 할 필요 없이 터미널에서 바로 확인해보면 된다.

위는 기본 설정, 아래는 NFC로 설정한 상태

유니코드 정규화 폼을 NFC로 바꾼 이후로 한글이 깔끔하게 잘 출력된다.

참고 - 유니코드 정규화(Unicode Normalization)

궁금해서 여기서 설정한 NFC란 도대체 무엇일까를 찾아봤다. 요즘은 교통카드처럼 NFC 태그가 많이 쓰여서 그쪽 단어가 많이 보이는데 당연히 그것과는 다르다. iTerm의 유니코드 정규화 폼 설정에 있는 항목은 대충 아래와 같이 요약이 가능하다.

  • None: 영어 알파벳 등 라틴문자를 쓰는 사람들에겐 아무 문제가 없는 방식이다.
  • NFC(Normalization Form Canonical Composition, 정규화 C): 문자를 특정한 기준으로 분해한 후 다시 결합하는 형태로 분리된 자소를 합친 형태로 볼 수 있다. iTerm이나 윈도우에서 한글을 제대로 보려면 이 방식이 되어야 한다.
  • NFD(Normalization Form Canonical Decomposition, 정규화 D): 문자를 특정한 기준으로 분해하는 형식으로 macOS의 GUI 및 파일 시스템에서 사용하는 방식이다. iTerm이나 윈도우에서 NFD 방식의 한글은 자소가 분리되어서 보인다.
  • HFS+: HFS+ 자체는 macOS의 파일 시스템 이름으로 사실상 NFD와 동일한 의미로 봐야한다.

NFC와 NFD 모두 유니코드 한글 표준 규격이기 때문에 뭐가 맞다 틀리다 라고 규정할 필요는 없을 것 같다. 그저 이 둘 사이에 변환하는 방법을 알면 별 문제는 되지 않을 것 같다.

728x90
반응형

댓글