180bpm

UE3 로컬라이징의 Font Mapping을 이용해 다양한 폰트를 빠르게 테스트 해보기 본문

Flash/Scaleform

UE3 로컬라이징의 Font Mapping을 이용해 다양한 폰트를 빠르게 테스트 해보기

powdersnow 2013. 1. 18. 15:45

스케일폼의 로컬라이징 시스템에서도 사용할 수 있습니다.

*************************************************************************************************


폰트 고를때 인게임에서 어떻게 보일지 보고 싶을 때.

gfxFontLib안의 폰트 라이브러리를 교체하고 복사하고, 게임을 두개 띄우려니 gfxFontLib 파일이 읽기상태라 교체도 안되고, 그래서 게임을 복사해서 두개 띄우고..

이러면 시간도, 비용도, 짜증도 늘어납니다.


gfxFontLib 파일에 폰트들을 다 때려넣고 UE3의 로컬라이징 파일에서 매핑만 바꿔주면 다음과 같은 상황에서 편하게 테스트를 할 수가 있어요.

로컬라이징 파일은 한번 읽고 마니까 게임이 떴다면 수정해서 저장만 하고 또 실행해주면 2개가 문제 없이 뜨지요.



그리고 폰트 구매가 되지 않은 상태에서 다양한 폰트 맵을 지정해두고 나중에 매핑될 폰트만 바꿔주면 모든 UI를 열어서 라이브러리에 바뀐 폰트 라이브러리를 덮어쓰지 않아도 되요!!!

예를 들면

QuestTitleFont=굴림,Normal
HUDCharNameFont=굴림,Normal

HUDCharNameFont=굴림,Normal

이렇게 막 나눠...두면 혼나려나?


*********************************************************************************************

필요한 준비물

1. 꼐임

2. 플래시

3. 메모짱


4. 폰트 크리에이터

주의. 폰트의 개조는 법으로 저촉받는 행위입니다. 저작권자와 협의를 하세요.




폰트 라이브러리 파일을 열어서 폰트들을 임베딩 해줘요.

클래스명은 대충 적어도 되요. 어짜피 릴리즈 아니고, 나만 볼꺼니깐요.

근데 숫자로 시작하면 안될꺼에요 아마..


이렇게 카와이하게 별 모양으로 임베딩을 시켜줘요.
$NormalFont가 지금 쓰고 있는 폰트

주의.숫자로 시작한다면 절대 읽지 못합니다.

2002 많이 쓰시죠? 이거 그냥 쓰면 절대 못읽어요!!!!!!!!!!!

embed 되면 클래스화 되는데 클래스는 숫자로 시작하면 안되거든요.


피똥쌌던 관련 글

http://cafe.naver.com/scaleformkorea/3341


주의. FontFormat의 Font Name이 가능하다면 영문자로 통일

예전에 나눔고딕 쓸 적에. 나눔고딕 미디엄은 영문자로 써야만 읽히고, 볼드는 한글로 써야 읽힌 적이 있어요.

NormalFontOTF=NanumGothicOTF 

NormalFontOTFB=나눔고딕OTF,Bold 

둘 다 FontFormat 안에 영문, 한글 카테고리가 따로 있었는데도요.


Font Creator로 열어본 윤디자인 2002월드컵의 Naming

추측해봤는데 컴파일 하는 PC의 운영체제 언어를 따라가는게 아닌가 싶어요.

미디엄은 예전부터 썼던건데 만든 사람 OS가 Win7 en이였고 저는 Win7 kr이었거든요.

플래시 언어팩이랑 관계 없지 싶어요. 근데 테스트를 안해봤으니 보장은 못하겠어요.


그냥 속 편하게 영문명으로 지어버리세요.

지금 쓰고 있는 폰트는 "Project1234"(가명)로 지었습니다. 한글 포맷도 똑같이 Project1234구요.


로컬라이징 파일에 다음과 같이 맵핑할 폰트 명을 적어줘요. 

매핑할 이름 = 폰트명, 웨이트

로컬라이징 파일에 매핑시킬 폰트명을 추가함. ";"은 주석

[FontLib] 구문에는 폰트 라이브러리가 위치한 패키지명을 적어준다.


주의. 로컬라이징 파일에선 $ 달러 표시를 뺍니다.

FontConfig에선 $도 같이 붙여야해요.


주의. 폰트 이름이 Bold라고 해서 진짜 폰트 스타일이 Bold가 아닐 수도 있습니다.

예를 들면 2002B는 볼드체지만, 폰트 내부의 웨이트는 레귤러로 되어있어요.


산돌커뮤니케이션의 10x10 Bold.
분명 한개의 패밀리로 묶여있고 스타일이 갈라져있다.


산돌커뮤니케이션의 10x10 Bold을 폰트 크리에이터로 열었을때.
window 전용 패밀리 네임이 포함되어 있고, 서브스타일 - 보통 웨이트(Weight)라 부르는 - 도 포함되어있다

근데 Setting을 보면 Classfication의 Weight은 레귤러로 되어있다?

 뭐가 진짜야?


웨이트가 Bold 이런식으로 되어있으면 이해라도 편할텐데 "2" 이렇게 되있는것도 있구요

"Helvetica Neue LT Pro" 라는 패밀리에 27 Ultra Light Condensed Obilque 같은 스타일도 있어요

이 포스팅은 Font의 구조를 설명하는게 아니니깐 자세한건 넘어가구요.

역시 이것도 속편하게 다 통일시켜주세요.


Advanced Naming의 Family는 체크해제

Setting은 Regular, Normal.


만약, 나중에 폰트 구매를 할거라면 제작사에게 다 기본셋팅으로 해달라고 요구하시는게 좋겠죠?



이제 게임을 띄워볼게요


...



......?


왤까요?

왜 글자가 깨졌을까요?


로그 자체가 답입니다.

$NormalFont 를 찾아봤습니다

무비 리소스에 없음

폰트 맵에 $NormalFont는 SapaM이라고 연결되어있음

폰트 라이브러리에 SapaM 없음

폰트 프로바이더에도 SapaM는 없음


폰트 없다능.


스테이지에서 쓰지 않으면 컴파일에 포함이 되지 않아서네요.

그래서 쓸 폰트들을 다 스테이지에 던져둡니다.



붙여넣으니 파일 용량부터 달라졌어요






잘 나오네요.

이제 로컬라이징 파일에서 주석처리만 잘 해주면 폰트가 바로바로 바뀌는것을 확인 할 수 있습니다.


Comments