Как добавить пользовательские шрифты
Введение
Эта документация пройдет следующие этапы:
- Настройка файлов и путей
- Создание шрифтов
- Размещение файлов в папке модуля
- Создание текстурных атласов
- Как использовать шрифты в Bannerlord
Предпосылки
- Файл TrueTypeFont для шрифта. Например (OpenSans-Regular.ttf)
- Mount & Blade II: Bannerlord - Modding Kit - загружается из Steam.
- Знания о создании текстурных атласов пользовательского интерфейса (см.: Создание и загрузка текстурных атласов пользовательского интерфейса).
Настройка файлов и путей
- Перейдите в Mount & Blade II Bannerlord\GUI\GauntletUI\Fonts.
- Убедитесь, что два файла ниже существуют в каталоге. Мы будем использовать их для генерации данных нашего шрифта.
- GenerateFont.bat
- GenerateFontSettings.txt
- Переместите файл шрифта .ttf в каталог.
- В нашем примере мы будем использовать файл шрифта с именем OpenSansRegular.ttf.
- Откройте файл: «GenerateFontSettings.txt».
- Значения по умолчанию для GenerateFontSettings.txt:
-fontpath {FONT\_PATH.ttf} -outputpath {OUTPUT\_PATH.png} -atlassize 2048 2048 -size 64 -angle 8 -range 16 -padding 16 -smooth 0 -smoothingConstant 0.5-mode 1
- Здесь нам нужно изменить переменные-заполнители {FONT_PATH.ttf} и {OUTPUTPATH.png} на фактические пути.
- Пути здесь относятся к каталогу: …\bin\Win64_Shipping_wEditor, если вы не укажете полный путь.
- Обратите внимание, что если вы хотите использовать пути, содержащие пробелы, вам нужно поместить их в кавычки.
- Настройка -fontpath:
- В нашем примере переменная должна быть: -fontpath OpenSansRegular.ttf.
- Настройка -outputpath:
- Эта переменная определяет, где должен быть размещен файл .png. Мы должны использовать путь файла .png к несуществующему файлу, который будет создан в процессе создания атласа.
- В нашем примере мы устанавливаем переменную -outputpath как: -outputpath OpenSansRegular.png.
- Содержимое GenerateFontSettings.txt теперь должно выглядеть так:
-fontpath OpenSansRegular.ttf
-outputpath OpenSansRegular.png
-atlassize 2048 2048
-size 64
-angle 8
-range 16
-padding 16
-smooth 0
-smoothingConstant 0.5-mode 1
Если сгенерированный файл .png не содержит всех символов для вашего шрифта, рассмотрите возможность увеличения -atlassize.
Создание шрифтов
- Теперь, когда файлы добавлены и установлены правильные пути для генератора, запустите GenerateFont.bat.
- Если все настроено правильно, программа не выдаст никаких ошибок и сгенерирует 3 файла в каталоге, который вы определили как свой -outputpath.
- В нашем примере это 3 файла:
- OpenSansRegular.fnt
- OpenSansRegular.bfnt
- OpenSansRegular.png
- В нашем примере это 3 файла:
- Если вы видите какие-либо ошибки в пакетном сценарии, убедитесь, что переменные -fontpath и -outputpath установлены правильно.
- В нашем примере 3 сгенерированных файла расположены в каталоге *…\bin\Win64_Shipping_wEditor*, поскольку мы указали относительный путь.
Размещение файлов в папке модуля
- На шаге выше мы создали 3 файла. Теперь нам нужно поместить эти файлы в наш модуль.
- Перейдите в папку {ВАШ_МОДУЛЬ}\GUI\Fonts. Если в вашем модуле нет папки Fonts, создайте ее.
- Переместите сгенерированные файлы .fnt и .bfnt в папку Fonts, в нашем примере они называются OpenSansRegular.fnt и OpenSansRegular.bfnt.
- Перейдите в папку {ВАШ_МОДУЛЬ}\GUI\SpriteParts. Если в вашем модуле нет папок GUI или SpriteParts, создайте их.
- В папке SpriteParts создайте пустую папку с именем ui_custom_fonts.
- Если у вас нет файла Config.xml в папке SpriteParts, создайте его тоже.
- На этом этапе в папке SpriteParts должна быть папка с именем ui_custom_fonts и файл с именем Config.xml.
- Теперь мы можем переместить наш файл .png в папку ui_custom_fonts. В нашем примере файл называется OpenSansRegular.png.
- Чтобы иметь возможность использовать наш шрифт в игре, нам нужно указать в нашем файле Config.xml, что наш шрифт должен загружаться автоматически.
- Содержимое Config.xml должно включать следующую конфигурацию:
<Config> <SpriteCategory Name="ui_custom_fonts"> <PackAllSpritesToUniqueTextures/> <SingleChannel/> <AlwaysLoad/> <EdgeSize Value="0" /> </SpriteCategory> </Config>
- Обратите внимание, что ui_custom_fonts здесь происходит от имени папки, которую вы создали в {ВАШ_МОДУЛЬ}\GUI\SpriteParts.
Создание текстурных атласов
- Теперь необходимо сгенерировать текстурные атласы шрифта, используя файл .png, созданный в последнем процессе.
- Мы кратко расскажем, как добавить новый шрифт в таблицы спрайтов. Подробное пояснение см. в разделе Создание и загрузка текстурных атласов пользовательского интерфейса.
- Запустите генератор спрайтов, просто запустив Mount & Blade II Bannerlord\bin\Win64_Shipping_wEditor\TaleWorlds.TwoDimension.SpriteSheetGenerator.exe.
- Если все настроено правильно, вывод генератора спрайтов должен выглядеть так:
- Вы должны импортировать шрифт через Браузер ресурсов в игре. Что было объяснено в документе выше.
Использование недавно добавленных шрифтов
- Если мы все сделали правильно, мы сможем использовать наши недавно добавленные шрифты в игре.
- Чтобы использовать шрифт, мы можем объявить его имя в кисти, например:
<Brush Name="CustomBrush.With.New.Font" Font="OpenSansRegular" TextHorizontalAlignment="Right"> <Styles> <Style Name="Default" FontColor="#F4E1C4FF" TextGlowColor="#000000FF" TextOutlineColor="#000000FF" TextOutlineAmount="0.01" TextGlowRadius="0" TextBlur="0" FontSize="20" /> </Styles> </Brush>
- Теперь любые виджеты, которые используют эту кисть, будут отображаться с использованием нашего недавно добавленного шрифта.
Установка шрифтов по умолчанию для языка
- Для некоторых языков могут потребоваться собственные пользовательские шрифты. Если это ваш случай, вы можете установить шрифт по умолчанию для своего языка.
- Для этого создайте файл с именем {ВАШ_МОДУЛЬ}Languages.xml и поместите его в папку: {ВАШ_МОДУЛЬ}\GUI\Fonts .
- Обратите внимание, что вы должны дать файлу *Languages.xml уникальное имя, и оно всегда должно заканчиваться на "Languages" (например, _MyModuleLanguages.xml_ ). Для получения дополнительной информации см.: Добавление и переопределение ресурсов.
- В файле новых языков вы можете определить новый языковой узел, переопределить существующие и изменить язык игры по умолчанию.
- Языковые узлы используются для сопоставления встроенных шрифтов с вашими пользовательскими шрифтами.
- Например, если вы хотите установить шрифты по умолчанию для турецкого языка, ваш узел должен выглядеть так:
<Languages> <!-- Turkish --> <Language id="Türkçe" DefaultFont="OpenSans-Regular" LineSeperatorChar="-"> <Map From="FiraSansExtraCondensed-Light" To="OpenSans-Regular"/> <Map From="FiraSansExtraCondensed-Medium" To="OpenSans-Regular"/> <Map From="FiraSansExtraCondensed-Regular" To="OpenSans-Regular"/> <Map From="Galahad" To="OpenSans-Regular"/> <Map From="Galahad_Numbers_Bold" To="OpenSans-Regular"/> </Language> </Languages>
- Здесь мы установили шрифт по умолчанию для турецкого языка как «OpenSansRegular». А также сопоставили некоторые встроенные шрифты с нашими пользовательскими.
- После сохранения этого файла должны быть установлены шрифты по умолчанию для вашего языка, и вы должны увидеть правильный шрифт для вашего языка.
Комментариев 0
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.