안녕하세요. 항상 이렇게 질문이 있을 때만 찾아오게 되어 죄송합니다. ㅠㅠ 뭔가 스스로가 얌생이 같지만, 그래도 도움 받을 곳은 이 곳이 유일한지라 염치불구하고 돌아온 만화가 울림, 정종욱이라고 합니다. 귀찮고 번거로우시더라도, 잠깐만 시간내주시어 읽어주시면 고맙겠습니다.
요새는 '베스타리아 사가' 라는 게임을 리눅스에서 돌려보려고 노력중입니다. 파이어 엠블렘의 개발자로 유명한 카가 쇼조 선생님께서 만드신 동인 게임이죠. (https://namu.wiki/w/%EB%B2%A0%EC%8A%A4%ED%83%80%EB%A6%AC%EC%95%84%20%EC%82%AC%EA%B0%80) 게임 자체가 리눅스에서 안 돌아가기로 악명이 높았지만, 와인을 설치한 뒤, 다음 명령어를 입력하여 해결이 되었습니다.
winetricks wsh57
그리고, 윈도우에서 한글패치가 적용된 상태의 모습입니다. 한글 패치 파일을 원본 폴더에 뒤집어 씌우는 방식으로 이루어집니다.
그러나 리눅스에서 한글 패치를 뒤집어 씌운 뒤, 와인으로 실행시키면 다음과 같이 출력됩니다.
특수 기호를 뺀 나머지 문자들은 출력이 되지 않는 모습입니다. 한글이 출력되었다면, 저 빈칸들에 한글이 나오고 있었겠죠. 저는 '이 게임의 자체 폰트 파일에 한글이 없어서 출력이 되지 않는 게 아닐까? 그렇다면, 이 자체 폰트 파일을 한글 폰트 파일로 바꿔보자!' 라는 생각으로, 맑은 고딕 레귤러 글꼴을 자체 폰트 파일과 바꿔치기 하였습니다. (맑은 고딕 글꼴 파일 이름을, 자체 폰트 파일인 logotypegothicregular 으로 고치는 방식으로 바꿔치기 하였습니다.) 그 결과는 다음과 같습니다.
...아아, 특수 기호조차도 출력되지 않게 되었습니다. 혹시나 싶어, 한글패치를 덮어 씌우지 않은 채로 자체 글꼴 파일만 한글 글꼴 파일로 바꿔치기 해봤습니다. (한글 글꼴 파일이 게임 안에서 인식되나 확인하기 위함이었습니다.)
결과는 이전과 같았습니다. 저는 '혹시, 한글 패치 파일에서 특정 한글 폰트를 지정하여 불러오는 방식으로 한글을 출력하게 만든게 아닐까?' 라는 생각으로 한글 패치 제작자이신 폭사아님께 문의를 드려본 결과, 다음과 같이 답변해주셨습니다.
"저는 특정 폰트를 지정하지 않았기 때문에, 해당 게임을 만든 툴인 'SRPG Studio' 프로그램의 기본 폰트가 출력되는 게 아닐까 생각합니다. 아마도 이 프로그램의 기본폰트는 런타임을 사용하는 것 같은데, 폰트 에러가 난다면 .net framework 와 관련이 있지 않을까하네요."
이상이 지금까지 저의 삽질이었습니다. 리눅스 고수 분들께 여쭤볼 내용은 다음과 같습니다.
1. 이처럼, wine 안에서 한글 글꼴 출력이 되지 않을 때에는 보통 어떤 방법으로 해결할 수 있을까요?
2. 만약 닷넷 프레임 워크와 관련이 있는 에러라면, wine에서 이를 해결하기 위해서는 어떤 방법을 쓸 수 있을까요?
별 쓸따리 없고 무모한 도전일 수도 있겠지만, 고수분들의 작은 지식 나눔이 큰 도움이 됩니다. 긴 글 읽어주시고, 함께 고민해주셔서 감사드려요. 환절기 감기 조심하시고 좋은 하루 되세요~! ^^/
이유를 들어보니 윈도우는 없는 글꼴을 표현하기위해 폰트링크라는 기능을 쓰는데 Wine은 그 설정이 빡셉니다. 그리고 시스템폰트를 잘 못건들면 인터페이스가 완전 꼬일수 있지요.
어쨌거나 기본사용폰트 logotypegothicregular를 바꿔치기하니 안된다고 하셨죠? 그러면 logotypegothicregular ttf파일에 한글을 주입하거나 하는 방식이면 가능하지 않을까 싶습니다.
http://m.egloos.zum.com/einmong/v/5885619
여기있는 방식을 응용하는 겁니다.
fontname3라는 윈도우프로그램으로 한글폰트의 이름을 logotypegothicregular로 바꿔서 이식하는겁니다.
logotypegothicregular의 폰트정보를 빼낸다음 Noto sans CJK KR이나 나눔바른고딕같은 폰트에 정보를 덮어씌워서 게임에 이식하면 되지 않을까 싶네요.