한글화 분석 (작업X)

Harvest Moon The Winds of Anthos

Snowyegret 2023. 12. 10. 21:36

한글화 예정이기에 작성하는 글이 아닌, 폰트 교체 설명 링크용 글입니다.

 

 

1. 목표 폰트 탐색

폰트가 Harvest Moon The Winds of Anthos_Data/StreamingAssets/AssetBundle/Windows/font 폴더에 en이라는 에셋번들에 들어있다는 정보를 미리 얻은 상태로 시작했다.

 

 

 

검증하기 위해, 낙서를 한 다음 게임을 켜보자.

 

 

 

해당 번들을 수정하는 것이 정답으로 보인다.

 

 

 

2. 폰트 제작

pointSize 24, padding 5로 폰트를 제작하자.

atlasWidth, atlasHeight가 1024로 매우 작은 걸 보니, material파일 수정을 해야 할 수도 있어보인다.

 

 

 

내가 사용하는 문자 세트는 3864글자나 되기 때문에, 2048x2048로 제작하였다.

 

 

 

3. 폰트 이식

FaceInfo 부분부터 최하단 부분까지를 이식하고, pathid 및 fileid를 맞춰준다.

기본적인 작업이 모두 끝났으니, 이제 구조가 다른지 검사해보자.

 

 

 

구조 검사하는 방법은 그냥 노가다라고 보면 된다.

우선, Notepad++를 이용해 왼쪽에 원본 폰트의 Monobehaviour dump를, 오른쪽엔 내가 작업한 폰트의 Monobehaviour dump를 열어둔 후,

Notepad++ 상단 메뉴 - 언어 - YAML을 선택하여 트리 구조로 접었다, 폈다 할 수 있게 만든 다음,

메모장을 켜서 이걸 일종의 자 혹은 가림막 느낌으로 사용하며 양쪽의 구조가 같은지 검사하면 된다.

 

위 스샷 기준으로 보자면 m_FaceIndex부분이 양쪽에 동일하게 있으니 0 PPtr<$Font> m_SourceFontFile 부분까진 모두 접어버리면 된다.

 

 

 

접은 다음, 다시 검사해보자.

왼쪽 메모장 바로 위에 m_MeanLine이 있다. 그런데 오른쪽 메모장 바로 위엔 m_CapLine이 있다.

뭔가 이상한 항목이 내가 만든 폰트에 추가되어있다는 것이다.

자세히 살펴보면, m_UnitsPerEM이 추가되어 있는걸 확인할 수 있다. 이걸 지워서 원본과 동일하게 맞추자.

 

이런 Array 형태의 데이터는 대부분 문제가 없으니, 일단 그냥 접어버리자.

 

검사를 마쳤다.

결과적으로, "0 int m_UnitsPerEM = 1000" 부분만 차이가 났었다.

 

수정이 완료된 오른쪽 파일을 import dump 하자.

또한, 폰트 텍스쳐도 import하자.

 

 

 

4. 확인

제대로 변경된 것을 볼 수 있다.

 

구분하기 어려울까봐 한국어로 변경도 해보았다.