SteamDB

» » » Создание шрифтов для Terraria 1.3.5 и выше

Создание шрифтов для Terraria 1.3.5 и выше

Данный гайд поэтапно описывает возможные варианты создания шрифтов для Terraria версии 1.3.5 и выше.
Так же присутствует шрифт в варианте кириллицы классического шрифта Terraria.
Вступление
Здравствуйте. Хочу вам показать как создавать шрифты для Terraria версии 1.3.5 и выше.

После патча 1.3.5 перестали работать старые шрифты, потому что ReLogic создали новый формат шрифтов – Dynamic Sprite Font, который позволяет создать что-то типа архива шрифтов. Благодаря этому получилось перевести игру на китайский язык.

Есть три варианта создания шрифтов:

Самый первый – самый легкий (к сожалению для меня, был найден в последний момент), шрифт делается в два клика при помощи утилиты под названием Dynamic Sprite Font Generator.

Если вам охота посложнее, то есть два других варианта: для обоих нужна среда разработки Visual Studio.

Первый из них требует Windows 7 и Visual Studio 2010 – это не наш выбор (srsly, win7 в 2019?).

Второй – костыльный: Windows 10 и Visual Studio 2017 с установкой XNA Game Studio (это как раз то, что не устанавливается на Windows 10).

Хочу выразить благодарность сайту , за доходчивый гайд по VS.
Так же спасибо команде L&K за часть глиф для шрифта, их сайт:
Пользователю mistzzt за полезную утилиту, его сайт на GitHub.com: , Steam: .
Легкий способ (DSFG)
Или Dynamic Sprite Font Generator.

Первое. Скачиваем утилиту от mistzzt для создания шрифтов с оф. форума.
Ссылка: /
Нам потребуются два файла:



После скачивания распакуйте архив и закиньте туда скаченный SampleFont.dynamicfont.

Выглядит это как-то так:



Настало время редактирования этого файла. Тут поподробнее.

Новый формат шрифтов позволяет менять шрифты для разных диапазонов таблицы Unicode (UTF-8). То есть, именно поэтому в отечественной локализации так плохо выглядит русский шрифт, и нормально все остальные.

Основным шрифтом игры идёт коммерческий шрифт Andy Bold, у которого не существуют символы кириллицы, но благодаря фанатам всё возможно (в конце гайда будет ссылка на фанатскую версию шрифта с кириллицей).

<FontName>Arial</FontName> – непосредственно название шрифта (почему-то шрифты в формате *.OTF не работают, используйте только *.TTF)
<Size>14</Size> – размер букв (дальше будут указаны рекомендованные значения, найденные эмпирическим путём)
<Spacing>0</Spacing> – отступ
<UseKerning>true</UseKerning> – «наплыв» букв друг на друга (оставить как есть)
<Style>Bold</Style> – стиль шрифта
<DefaultCharacter>*</DefaultCharacter> – символ, который будет использоваться при отсутствии нужного символа
<VerticalOffset>DefaultFontAscent</VerticalOffset> – смещение по вертикали (оставить как есть)

Чтобы для всех символов использовать один шрифт и одни настройки, можете оставить их только в начале. Пример:



После изменения настроек просто переносим файл SampleFont.dynamicfont на DynamicFontGenerator.exe.



Процесс не самый быстрый, зависит от мощности вашего компьютера.



Не обращайте внимание на данные предупреждения, утилита жалуется на отсутствие глиф у служебных символов юникода.

После этого создается необходимый нам файл:



Далее просто переименовываем его в необходимый файл шрифта и копируем в “Terraria\Content\Fonts”, получается примерно это:



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

Для создания шрифта Andy Bold с кириллицей я использовал:
    Для шрифтов Combat_Crit.xnb, Combat_Text.xnb, Mouse_Text.xnb:
    • Для всех типов:
    • Шрифт: Andy (модифицированный)
    • Размер: 15
    • Отступ: 0
    • Кёрнинг: +
    • Стиль: Bold
    • Стандартный символ: *
    • Для китайского:
    • Шрифт: Droid Sans Fallback
    • Для английского в китайском:
    • Шрифт: Droid Sans Fallback
    Для шрифта Death_Text.xnb:
    • Всё тоже самое, кроме размера.
    • Размер: 32
    Для шрифта Item_Stack.xnb:
  • Размер: 14
    Для шрифта Title_Font.xnb:
  • Размер: 24
Получается что-то типа этого:



Ссылка на данный шрифт будет в конце.
Сложный способ
Шаг первый. Нужно установить Visual Studio 2017 Express. Тут ничего сложного. Точно не могу сказать, потребуется ли компилятор C# (XNA как раз на нём).

!ГЛАВНОЕ! – нам нужна именно 2017 (она по ссылке почти в самом низу)!

Ссылка на скачивание:



При установке на всякий случай поставьте компилятор C#.



Шаг второй. Нужно установить XNA Game Studio на VS2017. В этом нам поможет гайд с сайта flatredball.com.

Ссылка на гайд:

Шаг третий. После выполнения шагов из гайда выше в Visual Studio при создании проекта должен будет появится тип проекта XNA Game Studio. Выбираем «Windows Game (4.0)».



Шаг четвертый. После этого нам потребуется официальная библиотека для нового формата текстур шрифтов от ReLogic.

Ссылка на библиотеку:

Скачиваем файл «Font Extension.zip» и распаковываем.

Нужно сделать ссылку да данную библиотеку в проекте.





После этого создаём ассет шрифта:





Потом два раза кликаем по нему, заменяем на содержимое из второго файла из архива, и после этого нажимаем одним нажатием на SpriteFont1.spritefont и меняем на выделенные параметры:



После настройки шрифта просто нажимаем «Пуск».

Скорость создания достаточно медленная, требуется время. Как будет готово, откроется голубое окно.

Если вы в начале не изменяли путь проекта, то созданный шрифт будет лежать в: «C:\Users\*имя_пользователя*\source\repos\WindowsGame1\
WindowsGame1\WindowsGame1\bin\x86\Debug\Content»


Далее, просто копируем в папку Fonts и переименовываем.

Про настройку шрифта – информация выше.

Возможные проблемы
  • Ошибка: Microsoft.Xna.Framework.Content.Pipeline.InvalidContentException: The font family "font" could not be found. Please ensure the requested font is installed, and is a TrueType or OpenType font.
  • Решение: Возможно вы неправильно написали название шрифта, его стиль, либо указали шрифт с расширением *.OTF.

Если у вас какие-то другие ошибки с Dynamic Sprite Font Generator, то можете попробовать установить xnafx40_redist.msi из папки с игрой.
Готовый русский шрифт
Русский шрифт, похожий на оригинальный:
Google Drive:

Скриншот:
yji 10 августа 2019 20:53
во какую пасту накатал
  • Нравится
  • 0