전광판, 푯말 한글 표시에 대한 고찰입니다.

전광판, 푯말 한글 표시에 대한 고찰입니다.
팁 > OpenRCT2 2017.11.24 04:27
곰지잉 신규회원

[#첨부파일]
정말 오랜만에 OpenRCT2 덕분에 RCT세계에 다시 입문하게 되는군요.
초등학교 때부터 즐겨왔던 게임이 어느새 추억의 게임이 되었다니 믿기지가 않습니다.

각설하고, 가입하자마자 제가 말씀드리고 싶었던 주제는 제목에서도 명시된 바와 같이
'전광판, 푯말'에서의 한글표시에 관한 문제입니다.

OpenRCT2로 오픈소스화 되는 과정에서 드디어 한글이 전광판, 푯말에 표시되게 되었습니다만,
굴림체 자체의 큰 글씨가 전광판 밖을 비집고 나오는 문제는 물론이거니와 가독성 문제, 외관상의 문제가 두드러졌었습니다.

그래서, 과거 OpenTTD를 한창 즐기던 시절, 가장 작은 폰트를 찾기위해 고군분투 했었던 기억을 되살려
한글폰트 중 가장 작은 폰트인 '윤디자인웹돋움'을 사용해 보기로 마음먹습니다.

윤디자인웹돋움은 구글 등의 포털사이트에서 검색하여 받으실 수 있습니다.
현재 폰코 사이트 (구 윤폰트 사이트)에서는 제공을하지 않는것으로 확인됐습니다.


글꼴을 받으신 후 바로 설치하지 마시고, 파일이름을 영문으로 변환하신 후 설치하시면 좋습니다.
(저는 yweb.ttf로 변경 후 설치했습니다.)



먼저, 폰트 변경 및 사이즈 조절을 위해 다음 파일을 수정하였습니다.
윈도우 10 기준
C:\Users\자신의사용자명\Documents\OpenRCT2\config.ini (※내PC>문서>OpenRCT2에 있는 config.ini)

본 파일을 메모장 등으로 열어 최 하단으로 내려가, 다음과 같이 수정해 주었습니다. (폰트의 경로는 지정해주지 않아도 상관없습니다)

[font]
file_name = "yweb.ttf"
font_name = "yweb"
x_offset = 0
y_offset = 0
size_tiny = 9
size_small = 10
size_medium = 10
size_big = 14
height_tiny = 11
height_small = 12
height_medium = 12
height_big = 16
enable_hinting = true
hinting_threshold = 0


여기서, size_tiny = 9 이 부분이 바로 배너에 표시될 글자의 크기입니다. 윤디자인웹돋움 폰트에서 지원하는 '가장 작은 사이즈'인 9입니다.

하지만 실험결과는 만족스럽지 못했습니다.



이래뵈도 나름 회전목마 라는 텍스트입니다만, 글꼴의 크기가 충분히 작은데도 불구하고 위쪽으로 밀려 올라간 것을 보실 수 있습니다.

그 이후로 수많은 변화를 줘봤습니다.
y_offset = 3y 오프셋을 음수, 양수값으로 모두 바꿔봤지만, UI의 글꼴만 위아래로 움직일 뿐, 전광판 내의 글씨는 전혀 움직일 생각조차 없더군요.
height_tiny = 11height 값은 행간에 대한 문제이므로 아무리 건드려도 도움이 되지 않았습니다.



그나마 글씨를 읽을 수준이 되는 정도는 size_tiny = 12 작은 글꼴 사이즈가 12일 때 였습니다만,
제가 원한 결과는 당연히 이게 아니었습니다.


그럼, 대체 뭘 건드려야 size_tiny = 9의 상태에서 저 글씨들이 아래로 내려올까.
글꼴 자체를 건드려야 하나?

...네... 결국 글꼴 자체를 건드리고 말았습니다.

유명한(지는 잘 모르겠으나) 오픈소스 글꼴 편집 프로그램 FontForge로 말이죠.

FontForge는 여기에서 받으실 수 있습니다.

실행하게되면 다음과 같은 창이 뜹니다.


윤디자인웹돋움의 복사본을 바탕화면이나 다른 폴더에 만들어 두신 후, 해당 파일을 열어보겠습니다.





자, 여기서 중요한 것은 비트맵폰트를 불러와야 한다는 것입니다.
해당 폰트는 큰 글씨는 자동으로 벡터방식(크기를 아무리 늘여도 깨지지 않는 방식이라고 대충 설명하고 넘어가도록 하죠.)으로 표현되는 반면,
9픽셀~17픽셀의 작은 글씨비트맵(도트로 찍은 듯한 방식이라고 대충 설명하고 넘어가겠습니다.)으로 표현됩니다.
따라서 해당 폰트의 비트맵 폰트 모두를 불러와야겠죠. 모두 선택을 누른 후 '네'를 누릅니다.






음... 뭔가 끔찍한걸 불러온 것 같은 기분이 들지만, 당황하지 마시고.






표시>9 pixel bitmap을 선택합니다.






그러면 이런 모습으로 바뀝니다. 벡터기반 폰트에서 비트맵 폰트로 보이게 되는 것이죠.
이 상태에서 ctrl+a를 눌러 전체 선택을 합니다.





요소>변형>변형(T)...을 선택합니다.





Transform창이 뜨면, 위와 같이 설정해 줍니다.
이동... Y -300
체크박스는 자동으로 위 세개가 선택되어 있을 것입니다.

OK를 누르면 변형중이라는 로딩창이 뜹니다. 끝날 때까지 기다려 줍시다.






글꼴이 3px 정도 주저 앉았습니다. (확인 결과 100이 약 1px정도 되는 것 같습니다. 물론, 정확하지는 않습니다만...)

이대로 폰트로 출력해도 상관은 없지만, 저는 오리지널 윤디자인웹돋움도 사용하기 때문에 설정 몇개를 더 건드려 줬습니다.



요소>폰트정보 에 들어갑니다.


PS Names 탭에서 폰트명, 패밀리명, 표시용명을 적당히 바꾸어줍니다. 저는 yweb4orct2로 변경하였습니다.




TTF명도 적당히 변경해 줍니다. 참고로 UniqueID의 경우 한국어, 영어 (미국) 두 개가 모두 작성되어 있는데,
이 경우 둘중 하나만 쓰는게 좋다는 오류가 떠서 저는 그냥 한국어 UniqueID를 지워버렸습니다.



설정은 모두 끝났습니다!!!!!!

이제 글꼴로 내보내기만 하면 됩니다.

파일>폰트를 출력을 클릭합니다.





Generate Fonts 대화상자가 뜨면, 파일 이름을 지정하고,
Validate Before Saving체크해제합니다.

※폰트 자체가 2000년대 초반에 나온 굉장히 오래된 폰트이므로 Validate 옵션을 끄지 않으면 오류를 엄청 뿜어냅니다. 무시해도 되므로 반드시 체크를 해제해 주세요.


마지막으로 Generate버튼을 누르면,


이런 오류창이 뜨는데, 그냥 를 눌러주시면 됩니다.



이제 끝났습니다!

글꼴을 설치하고, config파일을 다시 수정해 줍시다.

[font]
file_name = "yweb4orct2.ttf"
font_name = "ywebfororct2"
x_offset = 0
y_offset = -2
size_tiny = 9
size_small = 10
size_medium = 10
size_big = 14
height_tiny = 11
height_small = 12
height_medium = 12
height_big = 16
enable_hinting = true
hinting_threshold = 0


폰트 이름은 본인이 지정한 이름 그대로 사용하셔야 합니다. 확장자도 빼먹지 말고 써주시기 바랍니다.
y_offset에 음수값을 준 이유는, 폰트 자체가 2~3픽셀 정도 주저 앉았기 때문에 이를 보정해주기 위함입니다.

이렇게 설정한 후 다시 회전목마를 보러 가보겠습니다.


이제 됐습니다!

즐거운 OpenRCT2 즐기시기 바랍니다.



※참고:

본 폰트는 오래된 폰트이며 업데이트가 전혀 이루어지지 않은 폰트입니다.
일부 글꼴은 있는데도 불구하고 누락되어 있어 게임 내 몇가지 특수문자가 표기되지 않는 버그가 있습니다. 적용하실 때 참고하시기 바랍니다.

※참고2:
글꼴은 따로 첨부해 드릴 수 없을 것 같습니다. 애초에 글꼴을 수정하는 것 자체가 문제가 되는 부분이라... 개인적으로 사용할 목적으로 위치수정을 가한 것이며,
배포시에는 문제가 발생할 수 있어 이렇게 정신없는 팁으로만 정리하여 보여드리는 것을 양해해 주시면 감사하겠습니다.


이 게시물이 마음에 드시면 추천을, 마음에 들지 않으시면 비추천을 눌러주세요

추천 추천 비추천 비추천

IP Address : 36.xxx.5.219 / 게시물 신고 / 글쓴이 신고
댓글

목록 보기 정렬 글쓰기


↑TOP