Как добавить пользовательские шрифты


Введение
Эта документация пройдет следующие этапы:
  • Настройка файлов и путей
  • Создание шрифтов
  • Размещение файлов в папке модуля
  • Создание текстурных атласов 
  • Как использовать шрифты в Bannerlord

Предпосылки
Настройка файлов и путей
  • Перейдите в 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
  • Если вы видите какие-либо ошибки в пакетном сценарии, убедитесь, что переменные -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». А также сопоставили некоторые встроенные шрифты с нашими пользовательскими.
  • После сохранения этого файла должны быть установлены шрифты по умолчанию для вашего языка, и вы должны увидеть правильный шрифт для вашего языка.




Если вы обнаружили ошибку/искажение содержимого/отсутствие контента в новости: Выделите место с ошибкой, нажмите ctrl+Enter и изложите проблему

Комментариев 0

Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Интересно

Онлайн

Сейчас на сайте: 150
Гостей: 143

Пользователи: 

Последние комментарии

MOD A Clash of Kings
Texnolog, Сегодня, 18:33
Иннот, спасибо за ответ. Видимо это у меня что то с системой, потому что это не первый мод в...
MOD A World of Ice and Fire
Regulaz, Сегодня, 18:28
а как попасть в чит-магазин?...
Hotfix (e1.7.2) & Beta Hotfix (e1.8.0 - 16/06/22)
Velizariy, Сегодня, 17:37
А куда пропали политические фракции в 1.8.0? Эту функцию выключили или спрятали?...
MOD Diplomacy
Velizariy, Сегодня, 17:34
Во всех локализациях надо добавить 1 файл с описанием файлов локализации - language_data.xml. Єто...
Перечень модификаций на MOUNT AND BLADE 2 BANNERLORD
Tissimir, Сегодня, 13:16
Обновилось:Eykonal's Banners Surrender TweaksTetsojin (AKA.Ronin)...
MOD Neekio's Donate Food To Towns and Castles
Tissimir, Сегодня, 13:00
Вышла версия для 1.8.0, добавил ссылку....
MOD Diplomacy
Tissimir, Сегодня, 12:51
Raganvad, приветствую на сайте. Возможно, русификатор не работает с последними версиями, попробуй...
MOD Perisno
Tissimir, Сегодня, 12:49
ArdKarraig, приветствую на сайте....
MOD Perisno
ArdKarraig, Сегодня, 12:39
Добрый день. B Perisno дробящее оружие помимо оглушающего эффекта даёт ещё и смертельный, примерно...