<이미지 출처: 카르타그라 FHD 이미지 번역>


아래에 다른 분이 질문하신 내용을 듣고 예전에 정상적인 추출이 불가능하여 포기했었던

카르타그라 FHD 번역을 다시 시도하여 SCRIPT.PAK을 성공적으로 언팩 -> 기계 번역 ->리팩에 성공은 했으나

동일하게 폰트에서 도저히 방법을 못 찾겠습니다. 


일단 이번 주말 휴식을 포기하고 새벽까지 연구해 본 결과를 적습니다.


일단 'Luca System' 이라는 엔진은 기본적으로 닌텐도 스위치를 위한 엔진이며 

이 엔진을 사용한 작품의 95% 이상이 닌텐도 스위치 전용인 것을 확인 할 수 있습니다. ( 그래서 더더욱 정보가...)


크게 이 엔진을 사용한 윈도우 플랫폼 작품은

LOOPERS 스팀판, 리틀 버스터즈 영어 스팀판, 카르타그라 FHD REBIRTH 가 있는데


이 중에서 리틀 버스터즈 영어 스팀판을 어떤 분이 성공적으로 번역에 성공을 한 글을 본 것이

https://gall.dcinside.com/mgallery/board/view/?id=visualarts&no=5400&s_type=search_name&s_keyword=.EA.B2.8C.EC.A7.80.EB.84.A4&page=1

애초에 가능성을 느끼고 도전하게 된 계기 중 하나입니다.



또한 LukySystem이라는 Luca System 엔진 전용 툴을 제작했던 분이 지난 12월에 카르타그라 FHD 지원을 추가한 점도 있었습니다.




일단 엔진의 기본적인 중요 파일 경로는


FONT.PAK - 폰트 이미지와 글자 정보

info11~72는 글자에 대한 정보가 들어가 있으며


나머지는 게임 안에서 선택 가능한 폰트 5가지의 크기 별 이미지입니다. 

 


LuckSystem 툴을 이용하여 분해할 경우에는

각각 문자 내용이 담긴 폰트 이미지글자 목록이 담겨 있습니다.

※12~41은 위와 같이 한자를 포함하게 만들어져 있으며, 

11과 72는 한자를 제외한 아래와 같이 최소한의 내용만 들어가 있습니다.



SCRIPT.PAK - 모든 대사 스크립트 정보



이건 뭐 딱히 설명할 것도 없이 대사 정보가 들어가 있습니다.


위의 스크립트 파일을, 정규식을 이용하여 대사 부분만 번역 -> 리팩 -> 적용해 보면 폰트 문제로 표시는 안 되지만

아랫분처럼 Textractor 을 이용하여 후킹 할 경우 정상적으로 깨지지 않고 적용되는 것은 확인 할 수 있습니다.


이다음부터는 저의 FONT.PAK 과의 삽질인데...

LuckSystem 툴의 명령어 중에서 "특정 txt의 문자를 특정 폰트의 n번째 문자로 교체하고 특정 ttf파일의 이미지로 변경" 기능을 활용하여


한자가 시작하는 838번째부터 한국어 글자를 넣기 위해서 다음과 같은 명령어를 사용했습니다 :

lucksystem font edit -s 경로/明朝33 -S 경로/info33 -f 경로/GyeonggiT2.ttf -o 경로/明朝33_o -O 경로/info33_o -c 경로/allchar.txt -i 838


인수로는 바꿀 이미지 파일(明朝33),문자열 정보가 담긴 파일(info33)과 폰트 스타일(GyeonggiT2.ttf), 추가할 문자 (allchar.txt), 대체를 시작할 순서(838)를 받아서, 

바뀐 이미지 파일(明朝33_o)과 문자열 정보가 담긴 파일(info33_o)를 출력합니다.


明朝(명조) 파일 33과 문자열 정보 파일 info33을 위와 같은 방법으로 수정 후 나온 파일을 

"폰트 이미지와 문자 집합 txt 추출" 명령어를 사용할 경우:

lucksystem font extract -s 경로/明朝33_o -S 경로/info33_o -o 경로/明朝33_o_f.png -O 경로/info33_o_f.txt

아래와 같이 바뀌게 됩니다.


하지만 여기서부터 문제가 발생하게 되는데... 위와 같이 12~41 을 변환 후 FONT.PAK을 리팩하여 적용하고

테스트 해보면 


폰트 텍스쳐 초기화에 실패 했다는 메시지가 나오게 되며 게임이 켜지지 않거나,

이런 식으로 모든 글자가 깨집니다.



list12~41을 제외하고 明朝12~41만 적용 시에는 

그대로 놔둔 일본어 원문은 원래 한자가 있던 부분의 위치에 있는 한글이 출력되며

한글은 빈칸으로 저렇게 뜨게 됩니다.


즉 明朝12~41은 단순히 폰트 이미지 파일이며 

list12~41이 문자열 정보를 가지고 있는 것이 맞는 것 같습니다.


위에 리틀 버스터즈 스팀판 번역 & 한글 출력에 성공하신 분은

직접 FONT.PAK을 수정하여 '나눔스퀘어라운드Bold , 다음체 Regular' 폰트 두 가지로 바꿔 적용에 성공하신 것 같은데

몇 시간을 도전해도 도저히 방법을 모르겠습니다... 


가능한 모든 것을 도전해 보고 염치 없게 도움을 요청해 봅니다...


이미지 한글화 적용된 게임 본체 파일 , 사용한 툴과 파일들 첨부합니다.

aHR0cHM6Ly9kcml2ZS5nb29nbGUuY29tL2ZpbGUvZC8xZ3dPTU16eWpPd0JxcEN6ZmZVMm5QeWtuRWVTdVhyMGIvdmlldz91c3A9c2hhcmluZw==