Руководство по внедрению новых шрифтов - Моды и моддинг - Strategium.ru Перейти к содержимому

Руководство по внедрению новых шрифтов

Рекомендованные сообщения

Каллиграф

Допустим, вам понравился какой-то шрифт и вы хотели бы с его помощью сделать свои скриншоты игровой карты Crusader Kings 2 более индивидуальными и атмосферными. Данное руководство поможет вам в этом.

1. Прежде всего, следует получить образец желаемого шрифта. Шрифты могут храниться в нескольких стандартных форматах: TrueType, OpenType и PostScript, а также во множестве более специализированных форматов. Не останавливаясь на их различиях (об этом вы всегда можете разузнать самостоятельно), скачаем с одного из хранилищ нужный нам шрифт в формате TrueType - пусть это будет, например, Kingthings.ttf. Открываем этот файл и устанавливаем шрифт на свой компьютер.

Устанавливаем новый шрифтНажмите здесь!
 SFRgwbH.jpg[Cкрыть]

2. Затем нужно разобраться, как игра хранит шрифты для карты. Для этого служат два файла: Mapfont.fnt и Mapfont.dds по адресу \Crusader Kings II\gfx\fonts. Для генерации этих файлов с новым шрифтом необходимо скачать и установить специальную программу AngelCode's Bitmap font gererator: Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое. .

3. Запускаем BMfont. По центру появившегося окна мы видим поле с набором символов, которые можно выделять кликом. Выделенные символы затем войдут в сгенерированный шрифт, а остальные будут проигнорированы. Слева находятся готовые маски для такого выделения. Если вы создаете английский шрифт, выбирайте 000000 Latin + Latin Supplement, а если русский - 000400 Cyrillic, но не одновременно! Дело в том, что из-за выносных элементов некоторых символов, используемых игрой (в таких топонимах, как Еland, Nдrke, Sjжlland, Цstergцtland), не получится совместить русский и английский шрифт. Заодно, если вы модифицируете английский шрифт, проверьте, что в вашем новом шрифте эти символы вообще присутствуют.

Выбираем маскуНажмите здесь!
 LyccnOq.jpg[Cкрыть]

4. Открываем меню Options > Font Settings.

  • В меню Font выбираем новый шрифт, который мы установили в п.1.
  • Выбираем кодировку - OEM и в выпадающем меню выбираем: для английского шрифта - ANSI, для русского - RUSSIAN.
  • Size (px) пока устанавливаем в размере 100, он отвечает за четкость прорисовки каждого символа. Потом мы еще вернемся к этому параметру.
  • Ставим галочки на Font Smoothing и ClearType.
  • Ставим галку напротив SuperSampling (отвечает за сглаживание) и устанавливаем степень сглаживания 4 (максимально возможная в этой программе).
  • Outline Thickness отвечает за толщину контурной обводки букв с целью детальной отрисовки границы символов или других элементов. Если вы не собираетесь делать ничего такого, ставьте 0.

Должно получиться так, как на скриншоте ниже. Жмем ОК.

Font SettingsНажмите здесь!
 IQbjELa.jpg[Cкрыть]

5. Открываем меню Options > Export Options.

  • В разделе Layout - Padding задается размер области вокруг каждого символа, зарезервированной для пост-эффектов, например, объемного фона как в ванильном шрифте. Если вы не собираетесь рисовать ничего такого, ставьте нули.
  • Устанавливаем высоту и ширину будущего текстурного файла dds 1024х1024. Во-первых, из-за специфики dds-формата его ширина и высота должны быть степенями двойки, а во-вторых, игра правильно считывает только текстуры размера 1024х1024. Если сделать их больше (2048х2048 или 4096х4096), то буквы выйдут четче, однако нарушится соответствие их размера той области карты, которую они обозначают.
  • Глубину цвета Bit depth устанавливаем равной 32.
  • Канал A ставим на заливку, остальные каналы R, G и B зануляем. В принципе, эти опции в дальнейшем можно исправить при помощи Adobe Photoshop или другого графического редактора, умеющего работать с форматом dds, однако такие настройки избавят нас от лишней работы.
  • Устанавливаем формат выходного файла на dds.

Должно получиться так, как на скриншоте ниже. Жмем ОК.

Export OptionsНажмите здесь!
 gCD8JqX.jpg[Cкрыть]

6. Открываем меню Options > Visualize.

VisualizeНажмите здесь!
 zVZ93Jg.jpg[Cкрыть]

Если шрифт не умещается на одной текстуре целиком, сверху будет написано Preview 1/2, или Preview 1/3 и т.д. В этом случае dds-файл будет разбит на несколько частей и игра не поймет что с ними делать. Уместить весь шрифт на одной странице (и в одном файле) можно двумя путями: либо уменьшая параметр Size (px) из п.4, либо исключая неиспользуемые игрой символы (понятно, что например вопросительных и восклицательных знаков в названиях государств мы не ожидаем). Однако маленькое значение параметра Size (px) делает растровую природу шрифта более заметной, особенно на больших надписях, и результат получится эстетически неприглядным. Поэтому первым делом исключаем неиспользуемые символы, а затем увеличиваем параметр Size (px) до тех пор, пока текстурный файл не будет заполнен полностью.

При этом не удалите случайно такие важные символы, как пробел, дефис и точку!

Итого, на примере шрифта Kingthings Petrock получилось примерно следующее:

Новый размер шрифта и новая визуализацияНажмите здесь!
 QJ8vdQX.jpg

qqtXLDb.jpg

[Cкрыть]

Обратите внимание, что ненулевые значения Padding из п.5 также "съедают" пространство текстурного файла, поэтому общий размер букв в этом случае придется делать еще меньше.

7. Сохраняем выбранный шрифт под именем Mapfont в какую-нибудь рабочую папку, открыв меню Options > Save bitmap font as... При этом будет создано два файла: Mapfont.fnt и Mapfont_0.dds.

8. Открываем при помощи любого текстового редактора файл Mapfont.fnt.

  • Удаляем запись unicode=0.
  • Удаляем запись outline=0.
  • Удаляем запись packed=0 alphaChnl=0 redChnl=3 greenChnl=3 blueChnl=3.
  • Удаляем запись page id=0 file="Mapfont_0.dds".
  • Удаляем запись chars count=124.
  • Удаляем все записи chnl=15 в последней колонке всех остальных строчек (в Notepad++ выделяем " chnl=15", жмем Ctrl+H и выбираем опцию Заменить все).

Удаляем лишнееНажмите здесь!
 Было:

SgbfJg9.jpg

Стало:

bCiNOvS.jpg

[Cкрыть]

Перезаписываем получившийся файл.

9. Открываем файл Mapfont_0.dds в любом подходящем для этого графическом редакторе: Adobe Photoshop, Paint.net или др. Для Adobe Photoshop понадобится подключаемый плагин NVIDIA Texture Tools: Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое. .

В текущем виде этот текстурный файл уже можно использовать, однако в сыром виде надписи получатся полностью черными, оттого слишком кричащими и назойливыми. Сделаем их чуточку прозрачными.

  • Для этого переходим на вкладку Каналы и выбираем канал Alpha.
  • Выполняем заливку: Редактирование > Выполнить заливку. В качестве содержимого выбираем черный цвет, режим - Линейный затемнитель, прозрачность - 30%. Наш шрифт будет по-прежнему черным, но на 30% прозрачным и более приятным для глаза. Этот параметр можно регулировать по личным предпочтениям.
  • Имея навыки работы в Photoshop, можно также иным образом модифицировать шрифт, сделав его уникальным и неповторимым.
  • Сохраняем файл в формате DXT3 под именем Mapfont.dds.

Добавляем прозрачностиНажмите здесь!
 nbdRICv.jpg

bFPlAyx.jpg

[Cкрыть]

И сохраняемсяНажмите здесь!
 c6Uyocn.jpg[Cкрыть]

10. Итак, файлы на замену старого шрифта готовы. Теперь создаем папку MyNewFont по адресу C:\Users\...\Documents\Paradox Interactive\Crusader Kings II\mod\, в ней создаем последовательно вложенные папки gfx и fonts, и в последнюю переносим созданные ранее файлы Mapfont.fnt и Mapfont.dds.

Заготовка модаНажмите здесь!
 vp9mcla.jpg[Cкрыть]

11. В папке C:\Users\...\Documents\Paradox Interactive\Crusader Kings II\mod\ рядом с папкой с вашим модом создаем файл MyNewFont.mod. Открываем его текстовым редактором и пишем две строчки:

  • name = "My new font!" - отвечает за то имя, которое будет высвечиваться в лаунчере CK2;
  • path = "mod/MyNewFont" - отвечает за папку, где находится сам мод.

MyNewFont.modНажмите здесь!
 jrKyAmp.jpg[Cкрыть]

Сохраняем и закрываем файл.

12. Запускаем CK2 и выбираем свой новый шрифтовый мод. Убедитесь, что в списке модов он стоит самым первым из тех, которые тоже изменяют шрифты. Изменять положение мода в списке можно строчкой name = "My new font!" из п.11, моды сортируются в алфавитном порядки этих своих строчек.

Запускаем игруНажмите здесь!
 bRIQKPq.jpg[Cкрыть]

13. Новый шрифт для карты готов! При этом чексумма не нарушена и в режиме Ironman доступно получение достижений.

РезультатНажмите здесь!
 XSkuByN.jpg[Cкрыть]

14. Примеры новых шрифтов.

ПримерыНажмите здесь!
 

zLaB7If.jpg

z4CfETh.jpg

4RYLNV9.jpg

JWZIHnm.jpg

AZWOMqv.jpg

ObLC3kG.jpg

fM4nUUt.jpg

MZ48cZ3.jpg

qv3go6x.jpg

MFuoXxn.jpg

pf7iHD0.jpg

nFsXJZc.jpg

mijGlQ5.jpg

[Cкрыть]
Изменено пользователем Каллиграф
Ссылка на комментарий

Закреплённые сообщения

Какая-то нестыковочка в гайде:

3. Запускаем BMfont.

Если вы создаете английский шрифт, выбирайте 000000 Latin + Latin Supplement, а если русский - 000400 Cyrillic, но не одновременно!

Данные наборы можно выбирать если в Options/Font Settings выбрать кодировку Unicode.

Однако, далее, в п.4 пишут уже совсем про другое:

4. Открываем меню Options > Font Settings.

Выбираем кодировку - OEM и в выпадающем меню выбираем: для английского шрифта - ANSI, для русского - RUSSIAN.

Если выполнить такой порядок действий, получиться полная чушь. Даже GIF'ку прицеплю для наглядности [Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое. ].

Изменено пользователем fen-x
Ссылка на комментарий

Гайд хороший. Но нужна помощь. Проблема в кернинге шрифтов. Данные по кернингу из файла fnt, игра по всей видимости игнорирует. Игра с Padding и Spacing результата тоже не дает. Собственно нужна помощь как исправить такой косяк текста. 

Спойлер

Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое.

 

Ссылка на комментарий

Alariko
В 20.10.2015 в 21:24, ramazan сказал:

Товарищ, поделитесь уже готовыми, если не жалко.

Не жалко, только уг какое-то получилось. Не знаю, уж вроде бы и так старался все настройки скопировать с оригинала, но всё равно не то.
 

Спойлер

Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое.

Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое.

 

Вот такой ещё прикольный шрифт есть
 

Спойлер

vRjlYg0.png

Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое.

Изменено пользователем Alarih94
Ссылка на комментарий

El Búho

@Carrachiolla не знаю, какие сложности могут возникнуть после прочтения руководства каллиграфа. всё то же самое, только сохранять файл как tga и обработка в графическом редакторе не нужна.

ладно, напишу руководство для шрифтов интерфейса. в данном случае для шрифта текста событий

1. нужно скачать и установить шрифт Roboto Condensed Light (или любой другой, который понравится) и программу bm font (есть в теме каллиграфа)

2. запустить программу, выбрать шрифт и установить следующие настройки (см. картинку)

Спойлер

jforUit.png

 

Спойлер

Zg3sMdr.png

3. файл сохранить, ну скажем как robotocnlt_19. должно получится два файла: robotocnlt_19.fnt и robotocnlt_19.tga

4. в заголовке файла robotocnlt_19.fnt должно быть вот так:

info face="Roboto Condensed Light" size=19 bold=0 italic=0 charset="RUSSIAN"stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=1,1
common lineHeight=17 base=15 scaleW=256 scaleH=128 pages=1

так же нужно скопировать строку char id=32, поместить её после строки char id=255 и поменять в ней char id=32 на char id=16

что нужно удалить из файла fnt - написано в руководстве каллиграфа.

5. теперь нужно создать файл, где прописываются файлы шрифтов. создаём свой файл, ну скажем my_fonts.gfx и добавляем туда запись

Спойлер

bitmapfonts =  {

    bitmapfont = {
        name = "robotocnlt_19_black"
        fontname = "robotocnlt_19"
        color = 0xff000000

        color_override = {
            G = { 24 112 26 }
            R = { 124 24 24 }
            Y = { 0 0 0 }
        }
    }

}

всё, файл можно сохранять в кодировке 1251

6. теперь нужно сказать игре, какой шрифт мы хотим использовать для текста в окошках событий.

для этого понадобится файл из русификатора eventwindow.gui 

в главном меню игры нужно нажать тильду - появится красная рамочка. можно запускать иргу. в окошке события нужно навести курсор на текст - появится подсказка с названием файла (eventwindow.gui) и  номером строки. находим это в файле и вместо старого шрифта указываем свой  font = "robotocnlt_19_black"

операцию придётся повторить несколько раз. в зависимости от события может быть использован разный шрифт/размер шрифта.

7. теперь нужно собрать наш мод

файлы  robotocnlt_19.fnt и robotocnlt_19.tga нужно поместить в my_fonts\gfx\fonts

файлы eventwindow.gui и my_fonts.gfx нужно поместить в  my_fonts\interface

создаём файл my_fonts.mod

name = "!_My Fonts"
path = "mod/my_fonts"

8. всё :) 

если не устраивает размер шрифта - можно поиграться с настройками шрифта в программе (size) и в файле fnt - lineHeight.

это всё, что нужно знать о создании шрифтов интерфейса.

 

 

 

Ссылка на комментарий

IceCrystall

Вроде всё по инструкции делал, а уже при сохранении шрифта у меня появился один файл вместо двух, также в нем отсутствуют некоторые строки.

 

И у меня почему-то на стратегиуме поменялся шрифт после этих манипуляций.

Изменено пользователем IceCrystall
Ссылка на комментарий

El Búho
3 часа назад, IceCrystall сказал:

также в нем отсутствуют некоторые строки.

и чего же в супе не хватает? 

Ссылка на комментарий

IceCrystall
7 часов назад, El Búho сказал:

и чего же в супе не хватает? 

Файла .tga, а в файде fnt не хватает таких строк, как char id

 

И почему у меня в браузере поменялись шрифты?

Изменено пользователем IceCrystall
Ссылка на комментарий

Alariko

Нашёл наиболее похожий шрифт на тот, что ныне используется в скриншотах по CK3.

Шрифт имеет более 600 символов, то есть покрывает любые латинские умляуты.

Ежели кто желает сделать из него рабочий модец для СК2,Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое. .

Ссылка на комментарий

Присоединиться к обсуждению

Вы можете оставить комментарий уже сейчас, а зарегистрироваться позже! Если у вас уже есть аккаунт, войдите, чтобы оставить сообщение через него.

Гость
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Only 75 emoji are allowed.

×   Ваша ссылка автоматически преображена.   Отображать как простую ссылку

×   Предыдущее содержимое было восстановлено..   Очистить текст в редакторе

×   You cannot paste images directly. Upload or insert images from URL.

  • Ответы 9
  • Создано
  • Последний ответ
  • Просмотры 6654

Лучшие авторы в этой теме

  • IceCrystall

    2

  • El Búho

    2

  • Alariko

    2

  • ramazan

    1

  • Каллиграф

    1

  • fen-x

    1

  • X4ndrius

    1

Лучшие авторы в этой теме

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу


Copyright © 2008-2024 Strategium.ru Powered by Invision Community

×
×
  • Создать...