2024. 3. 4. 15:30

 

검색해서 나오는 방법을 사용하여 유니코드 폰트(나눔 고딕)를 설치하고 TMP(TextMeshPro)로 변환했는데 한글이 계속 깨집니다.

 

 

레거시(Legacy text)는 잘만 나옵니다.

폰트 자체가 잘못된 게 아니라 생성이 잘못됐다는 거죠.

 

 

1. 유니코드 범위 지정하기

유니코드 폰트의 경우 폰트 범위를 지정하면 되는 경우가 있으니 해봅시다.

 

'Character Set'를 'Unicode Range (Hex)'로 설정합니다.

그러면 'Character Sequence (Hex)'칸이 생기는데 이 칸에 아래와 같이 범위를 설정합니다.

 

가-힣, 초성, 중성, 종성의 범위는 다음과 같습니다.

AC00-D7AF,1100-1112,1161-1175,11A8-11FF

 

아니면

AC00-D7AF, 1100-11FF

 

 

이제 완성 한글은 잘 나오는데 초성, 중성, 종성이 안 나옵니다.

 

 

2. 호환 한글 설정하기

그래서 검색해 보니 '호환 한글'이라는 게 있습니다.

'호환 한글' 범위인 '3131-318F'로 지정해 봅시다.

AC00-D7AF,3131-318F

 

 

이제 초성, 중성, 종성도 잘 나옵니다.

 

 

 

마무리

만약 다른 문자도 필요하다면 위키피디아를 참고하면 됩니다.

참고 : 위키백과 - 유니코드 영역

 

자주 사용하는 유니코드 범위는 아래 링크를 참고하면 됩니다.

참고 : 만사오케이프로 - Unity 로컬라이징 TextMeshPro TMP_Font 유니코드 범위

 

 

다른 사람들은 유니코드 그냥 통으로 읽어도 되는 것인가?

아니면 버전에 따라서 동작이 다른 것인가?

라는 고민을 하게 만드는 문제였습니다.