1부에서 데이터를 준비했다면, 이제 게임이 한글을 인식할 수 있게 '그릇'을 만들 차례입니다. 텔테일 엔진은 비트맵 폰트 방식을 사용하므로, 단순히 폰트 파일을 교체하는 게 아니라 한글 글자가 그려진 '폰트 맵'을 새로 제작해야 합니다.
1. 폰트 분석: 15개의 폰트와 그 역할

테일즈 프롬 더 보더랜드에는 총 15개의 폰트 파일이 존재합니다. 각각의 역할이 다르므로 직접 검수하시면서 확인이 필요합니다. 제가 작업하며 확인한 주요 폰트들은 다음과 같습니다.
- ✔ default_df.font: 가장 기본이 되는 자막 및 일반 텍스트 담당
- ✔ Bevan.font: 주인공 리스(Rhys) 전용 선택지 및 UI 폰트
- ✔ DilleniaUPC.font: 주인공 피오나(Fiona) 전용 선택지 및 UI 폰트
- ✔ Bitsumishi.font: 에코아이(ECHO-eye) 스캔 시 사물명 표시 폰트
- ※ 파일명에 credit이 들어간 폰트들은 엔딩 크레딧용입니다.
2. BMFont 설정 방법
비트맵 폰트 제작을 위해 BMFont를 사용합니다. 설정을 일일이 하기 번거로운 분들을 위해 제가 사용한 Bevan.bmfc 설정 파일을 공유합니다.
- 다운로드: AngelCode BMFont 공식 사이트
[주요 설정 포인트]
- - 글자 선택: Edit -> Select chars from file에서 제가 첨부한 '상용한글 2350자 텍스트'를 불러오면 자동으로 선택됩니다.
- - Font Settings: 'Tmon몬소리 Black' (Size: -48) 기준으로 작업했습니다.
- - Export Settings: 반드시 Text 형식을 선택하세요. (XML은 인식 오류가 잦습니다.) 텍스처는 32bit(dds)를 선택합니다.



3. 시트(Page) 개수 확인: Visualize(V)
폰트마다 생성되는 이미지 장수(시트)가 다릅니다. 저장 전 반드시 확인이 필요합니다.
- Visualize 확인 (단축키 V): V를 눌러 시트 장수를 확인하세요. (예: Bevan은 1장, WillowBody_120은 3장)
- 장수 조정: 시트가 너무 많이 생긴다면 Export Settings의 Width/Height 값을 조정(2048, 4096 등)하여 장수를 적절히 맞춰주는 것이 안전합니다.(시트는 .dds 파일이 몇장이 되느냐를 결정합니다.)


4. DDS 압축: NVIDIA Texture Tools Exporter
BMFont가 생성한 .dds 파일은 NVIDIA Texture Tools Exporter를 사용해 다시 압축해 주어야 안정적입니다.
✔ 프리셋 활용: 제가 설정해둔 BC3 preset.dpf를 로드하면 한 번에 세팅이 끝납니다.

5. 자막 겹침 해결: .fnt 파일 수동 수정
폰트를 적용했을 때 자막이 위아래로 겹친다면, 생성된 .fnt 파일을 Notepad++로 열어 상단의 수치를 직접 수정해야 합니다.
info face="Tmon몬소리 Black" size=-48 padding=3,3,3,3 spacing=2,2 outline=2
common lineHeight=70 base=54 scaleW=4096 scaleH=2048
- lineHeight: 폰트 크기보다 넉넉하게(약 1.4~1.5배) 설정해야 행간이 겹치지 않습니다.
- Tip: 수치 계산이 번거롭다면 제미나이(AI)에게 "폰트 사이즈가 48인데 자막이 안 겹치는 lineHeight와 base 값을 추천해줘"라고 시키면 아주 정확하게 계산해 줍니다.
6. 폰트 주입 (Font Editor)
마지막으로 TTG Tools의 Font Editor에서 원본 .font 파일을 로드합니다. 각 시트에 맞게 dds 파일들을 0, 1, 2 순서대로 설정해 주시고, 수정한 .fnt를 씌워주면 완성됩니다.



"기술적인 그릇은 모두 준비되었습니다. 이제 그 그릇에 담을 '알맹이'를 꺼낼 시간입니다. 다음 편에서는 복잡한 게임 데이터 속에서 순수 대사 파일만을 추출하고 정제하는, 이른바 '데이터 채굴' 과정을 다뤄보겠습니다."
'[Lab] AI 조련과 피지컬 노트' 카테고리의 다른 글
| 테일즈 프롬 더 보더랜드 한패 삽질기 (완결) - Lua 스크립트와 최종 적용 (0) | 2026.01.28 |
|---|---|
| 테일즈 프롬 더 보더랜드 한패 삽질기 (5) - 패킹 (0) | 2026.01.27 |
| 테일즈 프롬 더 보더랜드 한패 삽질기 (4) - 제미나이(Gemini)를 활용한 번역 (0) | 2026.01.27 |
| 테일즈 프롬 더 보더랜드 한패 삽질기 (3) - 텍스트 추출 (0) | 2026.01.27 |
| 테일즈 프롬 더 보더랜드 한패 삽질기 (1) - 언패킹 (0) | 2026.01.25 |