Перейти к содержанию
  • Данная статья объяснит, как добавить в игру тот или иной понравившийся лично вам шрифт.

    Итак, вам наскучили "ванильные" шрифты игры, а готовые из модов не в вашем вкусе. Самое время заняться внедрением в игру любого шрифта, который вам по душе.

    Что вам потребуется:

    1. Программа FontForge для редактирования и создания шрифтов.
    2. Программа Skyrim FontGen для создания SWF-файла, содержащего шрифт.
    3. Программа JPEXS Free Flash Decompiler для предпросмотра результата вашей работы.
    4. (Опционально) Программа Join Multiple SWF Files Into One для объединения SWF-файлов.

      Примечание: Skyrim FontGen требует для работы Flex SDK, который и занимает такой объём. Если хотите, можете выяснить, какие ресурсы при работе не используются, и удалить их самостоятельно. В архиве по ссылке находится полный Flex SDK версии 4.6.

    Часть I - Редактирование шрифта

    Рассмотрим в качестве примера шрифт Exo 2.0 Regular. Откройте его программой FontForge, на всякий случай - от имени администратора.

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

    001.PNG

    Избавьтесь от них простейшим способом: выделите их простым нажатием или перетаскиванием мыши, после чего кликните "ПКМ ➔ Очистить".

    Итак, лишние символы между первым пробелом (U+0020) и буквой "ё малая" (U+0451) удалены. Но файл шрифта может содержать множество "мусора" и за этими границами. Чтобы упростить задачу, выделите символы от U+0020 до U+0451 и используйте меню: "Правка ➔ Выделить ➔ Инвертировать выделение". После чего "ПКМ ➔ Очистить". Отлично, вы окончательно избавили шрифт от ненужных символов.

    Теперь я расскажу вам про одну особенность, которая касается именно Скайрима. Для корректного отображения кириллицы вам необходимо скопировать символы русского алфавита от "А большая" до "я малая" - U+0410 и U+044F соответственно. После чего вставить их в ячейки с U+00C0 по U+00FF. Да, у вас будет 2 набора кириллических символов.

    002.PNG

    Такую же операцию желательно произвести с пробелами - они должны быть в двух местах: U+0020 и U+00A0.

    Как вы могли заметить, шрифт довольно широкий и наверняка им будет слишком неудобно пользоваться в игре (например, в MCM). Можно ли как-то сжать его? Можно. Выделите все символы, которые хотите изменить (обычно я выбираю вообще все кроме пробелов) и используйте меню: "Элемент ➔ Преобразования ➔ Преобразовать..."

    Используйте следующие настройки (учтите, что масштабы подбираются для шрифта индивидуально):

    003.PNG

    Сохраните работу в формате SFD, после чего создайте новый шрифт в формате TTF (всё это возможно в меню "Файл"). Настройки TTF следующие:

    004.PNG

    Отлично! Теперь у вас есть шрифт, который точно подойдёт к игре (ну, более-менее).

    Часть II - Шрифт внутри SWF

    Распакуйте архив с программой "Skyrim FontGen" и запустите SkyrimFontGen.exe, после чего выберите ваш новый созданный TTF-файл. Выберите внутреннее имя шрифта (я взял ExoTwo) и сохраните сгенерированный SWF-файл в нужную вам папку. Заветное окно с сообщением:

    005.PNG

    Если всё прошло удачно, вы сможете открыть SWF-файл программой "JPEXS Free Flash Decompiler" и увидеть примерно следующую картину:

    006.PNG

    ЧасТь III - Ввод шрифта в игру

    По желанию можете переименовать файл во что-нибудь более близкое к игре, например в "fonts_et.swf". После чего откройте папку Скайрима Data/Interface и скопируйте туда этот SWF-файл.

    Далее вам нужно указать игре название шрифта и откуда его "брать". Это делается при помощи файла "fontconfig.txt" (обязательно сохраните его оригинал, чтобы все изменения можно было откатить - переименуйте его копию в "fontconfig.txt.backup"). В начале файла указывается список библиотек (впишите в него свою), в основной части - названия шрифтов (укажите выбранное вами внутреннее имя шрифта).

    007.PNG

    ЧасТь IV - Объединение

    Опциональные действия, которые могут пригодиться не всем. Если вы хотите иметь один SWF-файл с несколькими шрифтами вместо целой кучи простеньких библиотек, то вам необходимо следующее:

    1. Откройте интерфейс "Join Multiple SWF Files Into One".

    2. Добавьте в него нужные вам для объединения SWF-файлы со шрифтами.

    3. Укажите папку вывода для готового файла (по умолчанию - Рабочий стол).

      009.PNG

    4. Нажмите самую большую и главную кнопку "Start Joining". Получите файл "joined.swf".

    5. Проверьте файл программой "JPEXS Free Flash Decompiler" - там должны быть ваши шрифты, целые и невредимые.

      010.PNG

    6. Повторите действия из части III - уже с файлом "joined.swf".

    Часть V - тестирование

    Если вы всё сделали верно, то игра будет использовать ваш шрифт практически везде - от главного меню до инвентаря. Хотите разные шрифты? Создавайте разные SWF-библиотеки, сочетайте шрифты как вам хочется при помощи "fontconfig.txt", чем больше вы будете этим заниматься - тем легче это будет вам даваться.

    008.PNG

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

    Смотрите прикреплённый файл.

    • Нравится 34

    Обратная связь

    Рекомендуемые комментарии

    Kir The Seeker

    Опубликовано

    Обязательно опробую.

    Пакость

    Опубликовано

    Ну FontForge - понятно, сойдёт любая и более доступная
    JPEXS Free Flash Decompiler - или Sothink SWF Decompiler, да платный, но и с триалом (хотя скачать его с кряком чуть-ли не проще чем с их офсайта. А вот указанный JPEXS у меня как-то захотел непонятно какую версию Java и отказался запускаться (на WinXP) но при этом не забыв попробовать что-то намутить с настройками браузера.
    Skyrim FontGen - С одного боку на mega.nz лезть не советую, таки один из особо вирусных варезников...
    ну а ближе к телу, для работы от всего SDK судя по всему хватит и:
    flex_sdk\bin\fontswf.bat (или fontswf (без расширения) если хотим это делать под Linux)
    flex_sdk\lib\afe.jar
    flex_sdk\lib\aglj40.jar
    flex_sdk\lib\flex-fontkit.jar
    flex_sdk\lib\rideau.jar
    flex_sdk\lib\swfutils.jar
    {} ~10мб (а взять можно и отсюда: [download.macromedia.com/pub/flex/sdk/flex_sdk_4.6.zip](http://download.macromedia.com/pub/flex/sdk/flex_sdk_4.6.zip) )
    сам SkyrimFontGen.exe по факту не нужен (он чисто ГУЙка) т. к. "тело" - это fontswf.bat - адобовская консольная утилита, опираясь на выдернутое с нексуса запускать так:
    fontswf.bat -3 -а %название_шрифта% -o %имя_swf_файла% %имя_файла.ttf%
    <-o %имя_swf_файла% при желании можно и опустить - swf тогда будет сделан в "рабочей" папке>
    т.е. например: fontswf.bat -3 -а MySkyrimFont arial.ttf

    SkyrimFontGen.exe какой-то странный, хоть антивирусник и не орёт, сам exe-шник какой-то косой и непонятный, смахивает на крайне загадочный UPX. Собственно и сам автор об этом пишет. У меня на XP он не запустился.

    derkitus

    Опубликовано

    Цитата:

    Теперь я расскажу вам про одну особенность, которая касается именно Скайрима. Для корректного отображения кириллицы вам необходимо скопировать символы русского алфавита от "А большая" до "я малая" - U+0410 и U+044F соответственно. После чего вставить их в ячейки с U+00C0 по U+00FF. Да, у вас будет 2 набора кириллических символов.

    Это особенность Skyrim Legendary Edition. Вышеупомянутое преобразование создаёт нестандартные шрифты (ru.wikipedia.org/wiki/Нестандартные_шрифты) из юникодных.
    У Skyrim Special Edition полная поддержка юникода и эта манипуляция не нужна. Можете проверить, скачав и открыв для просмотра шрифт Sovngarde (nexusmods.com/skyrimspecialedition/mods/386).

    Гость

    Опубликовано

    Внесу свои пять копеек. В игре можно использовать шрифты отсюда ffont.ru. Проверено, работают.

    wprar

    Опубликовано

    Очень хорошие шрифты в прикреплённом файле, но в книгах буквы "ё" как не было, так и нет. Попытался исправить. Сохранил работу в формате SFD, а создать новый шрифт в формате TTF не получается.

    Meridiano

    Опубликовано

    wprar, в Скайриме от Беседки буква Ё не используется, её нет в текстах игры, любое её появление - заслуга моддеров. По-хорошему, они не должны так делать.

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



    Для публикации сообщений создайте учётную запись или авторизуйтесь

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

    Создать аккаунт

    Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!

    Регистрация нового пользователя

    Войти

    Уже есть аккаунт? Войти в систему.

    Войти

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