PDA

Просмотр полной версии : Как поменять игровой шрифт в BTS?



FRide
04.11.2009, 10:53
Оригинальный Civilization 4 ставил несколько месяцев назад. Тот шрифт, который он использует в игре, мне не понравился (моник не самый большой). Выкрутился так: в sylfaen.ttf (Assets/res/Fonts/) заменил все символы на символы из trebuchet (в игре выглядит превосходно).

Сегодня синсталлил Beyond The Sword, установил русификатор от civfanatics.ru v3.17.1. Шрифт в игре поменялся, визуально, на Arial. Но мне нужен trebuchet! В папке Beyond The Sword/Assets/res/Fonts/ лежат GameFont.tga, GameFont_75.tga и два их бэкапа, но sylfaen.ttf там нет. Копирование не помогло.

Назревает вопрос: как сменить шрифт в Beyond The Sword? Может знает кто? На Arial'е играть жесть.

swan
04.11.2009, 11:56
BtS использует sylfaen.ttf не из папки %CivDir%\Assets\Res\Fonts а из папки %WinDir%\Fonts - во всяком случае в XP - с вистой и семеркой насчет таких вопросов не заморачивался, но вероятно то-же самое

FRide
05.11.2009, 08:22
<div class='quotetop'>Цитата(swan * 4.11.2009, 11:56) 313023</div>

BtS использует sylfaen.ttf не из папки %CivDir%\Assets\Res\Fonts а из папки %WinDir%\Fonts - во всяком случае в XP - с вистой и семеркой насчет таких вопросов не заморачивался, но вероятно то-же самое
[/b]
Замена не помогла. Перезагружал компьютер - тоже безрезультатно.

Ради интереса провёл эксперимент с помощью File Monitor (программа в реальном времени сканирует запросы на файловую систему) - запустил BTS на отслеживание его запросов на файлы. Поиск производил по ключевому слову "fonts". Вот что вышло:
- Загрузка %CivDir%\Beyond the Sword\assets\res\fonts\gamefont.tga
- Загрузка %CivDir%\Beyond the Sword\assets\res\fonts\gamefont75.tga
- Загрузка %CivDir%\Beyond the Sword\assets\res\fonts\numberfont-sylfaen64px.tga
- Загрузка %WinDir%\FONTS\VGAFIXR.FON
- Загрузка %WinDir%\FONTS\ARIALI.TTF
- Загрузка %WinDir%\FONTS\VGASYSR.FON

По "sylfaen" ничего найдено не было. Вопрос: где sylfaen.ttf и почему курсивный Arial?

P.S. Windows XP.

swan
05.11.2009, 17:18
<div class='quotetop'>Цитата</div>
- Загрузка %CivDir%\Beyond the Sword\assets\res\fonts\numberfont-sylfaen64px.tga[/b]
А это откель взялось? Такого фонта никогда и в помине не было в циве

А насчет курсивного ариала - это не к нам - его тоже и в помине не было - символы обычного ариала загнали на соответствующие места сильфаена - больше ничего не трогали

ЗЫ учитывая ваше описание - не удивлюсь, если вы использовали какую-нибудь стороннюю софтину (скорее всего не связанную с цивой), которая изменила сеттинги для шрифтов - такое нередко встречается - даже фотожопа CS8 с кривым кряком меняет сеттинги, что потом если по хорошему - то хрен разберешься, какой шрифт откуда

FRide
06.11.2009, 04:57
<div class='quotetop'>Цитата(swan * 5.11.2009, 17:18) 313244</div>

<div class='quotetop'>Цитата
- Загрузка %CivDir%\Beyond the Sword\assets\res\fonts\numberfont-sylfaen64px.tga[/b]
А это откель взялось? Такого фонта никогда и в помине не было в циве[/b][/quote]
Я тоже удивлён. Сейчас глянул, грузит из %CivDir%\assets\res\fonts\. В этом файле едва различимые силуэты цифр от 0 до 9 на белом (или прозрачном) фоне крупного размера. Удалил его в корзину, но при запуске BTS всё равно пытается его загрузить.

<div class='quotetop'>Цитата</div>
А насчет курсивного ариала - это не к нам - его тоже и в помине не было - символы обычного ариала загнали на соответствующие места сильфаена - больше ничего не трогали[/b]
То есть вы при русификации меняете оригинальный сильфаен на "ариальный" в системной папке?

<div class='quotetop'>Цитата</div>
ЗЫ учитывая ваше описание - не удивлюсь, если вы использовали какую-нибудь стороннюю софтину (скорее всего не связанную с цивой), которая изменила сеттинги для шрифтов - такое нередко встречается - даже фотожопа CS8 с кривым кряком меняет сеттинги, что потом если по хорошему - то хрен разберешься, какой шрифт откуда[/b]
Неужели есть связанный с Цивилизацией софт для работы со шрифтами?
Я использовал FontCreator. В своё время пытался менять соответствующие символы sylfaen.ttf на символы из других шрифтов, но в игре буквы выглядили коряво и невыравненно (как щас помню, у них обводка слишком толстой и неравномерной получалась вроде). Трюк с переимнованием какого-нибудь verdana.ttf на sylfaen.ttf не проходил, требовалось переименовывать внутренние имена, что я успешно и сделал.

Пример.
Используя FontCreator, можно изменить значения следующих данных шрифта:
- font family name (Для sylfaen&#39;a - "Sylfaen");
- font subfamily name ("Regular");
- unique font identifier ("Sylfaen Regular");
- full font name ("Sylfaen");
- version string ("Version 1.00");
- postscript name ("Sylfaen") и др...

В результате поисков я выбрал trebuchet как наиболее "смотрящийся". Скопировал его в папку шрифтов цивы, переименовал на силфаен, поменял все вышеприведённые значения (определенно, цива проверяет одно или несколько из таких) на силфаеновские, ещё вроде скопировал этот файлик в сис. папку шрифтов (заменив sylfaen, точно не помню), после чего требушет появился в игре. Вот собственно и всё, пока не установил BTS...

Провёл ещё один эксперимент. Взял требушетовский sylfaen, расширенно перименовал его в ariali.ttf, после чего попытался заменить им настоящий ariali.ttf. Из-за "продвинутости" (интеграции с реестром) сисшрифт папки мне это не удалось ("Шрифт Arial уже установлен", хотя самого файла курсивного ариала там не было). Насильно скопировал файл с помощью стороннего файлового менеджера. Запустил BTS. Визуально шрифт вроде не поменялся. Посмотрел список загруженных файлов, а там вместо ariali.ttf прописан verdanai.ttf. Удалил все файлы Arial (да простит меня винда :)), и цивизилованно синсталлил ariali.ttf.
Результат на скрине. Шрифт поменялся, контуры стали слишком толстыми (не касается текста на всплывающих окошках, к примеру - тут он хорош). Но плохо смотрибельно. Посмотрел, грузит verdanai.ttf, но теперь результат, что называется, виден на лицо.

Вернул нормальный Arial, но тут пошли косяки (винда не простила :(). Добавилось хлопот...

Итог таков. Arial как-то связан с BTS. К сожалению, я не знаю всю шрифтовую подноготную Windows и Civilization 4, но определённо там не всё так просто. Например, при расширенном переименовании требушетовского sylfaen&#39;а в arial italic (без какой-либо замены символов) при просмотре его в стандартном "средстве просмотра шрифтов" он выглядел точь-в-точь как Arial. Сейчас, когда я переустановил семейство Arial, в этом же "средстве" не отображается вообще ничего. Будто в Windows хранится какая-то база данных шрифтов, а сами их файлы всего лишь марионетки этой базы. Ну просто заговор...

swan
06.11.2009, 23:34
<div class='quotetop'>Цитата</div>
То есть вы при русификации меняете оригинальный сильфаен на "ариальный" в системной папке?[/b]
Зачастую - да - сильфаен используется в печати крайне редко, поэтому дефолтно мы не предупреждаем, что в системной папке сильфаен становится сильфаеном с ариальными фонтами, хотя об этом не раз упоминалось. Но нередко при включенном фаерволе попытка инсталляторам "прописать" шрифт блокируется

Кстати - в циве есть такой файлик - %CivDir%\Beyond the Sword\Resource\Themes\Civ4\Civ4Theme_Common.thm - можете поковырять его - в нем прописаны шрифты, но помните, что этот файл тоже входит в список файлов, которые проверяются на LMA-checksum - поэтому в результате его изменения в сетевых играх и защищенных от изменения ассетов сейвах у вас могут возникнуть проблемы

FRide
07.11.2009, 04:44
<div class='quotetop'>Цитата(swan * 6.11.2009, 23:34) 313435</div>

Кстати - в циве есть такой файлик - %CivDir%\Beyond the Sword\Resource\Themes\Civ4\Civ4Theme_Common.thm...[/b]
В точку. Раньше я тоже искал сеттинги по шрифтам в циве и в Beyond the Sword, смотрел файлы в том числе и в папке Themes, но... чёт не зацепило. А щас глянул - ничего себе, и так и сяк экспериментировал, а тут прям всё как на блюдечке...

Короче, в этом файле в секции SF_CtrlTheme_Civ4_Control_Font находятся описания используемых в игре шрифтов разных групп:


GFont.Size0_Normal = GFont("sylfaen", "Regular", 10, GFlags(GFontFeature, FC_FONT_ALPHA));
GFont.Size0_Bold = GFont("sylfaen", "Bold", 10, GFlags(GFontFeature, GFC_FONT_BOLD, GFC_FONT_ALPHA))...
и так для курсивного и полужирного курсивного начертаний. Всего таких групп 5 (Size0, Size1, Size2, Size3, Size4). После описания этих групп прописано использование этих шрифтов в игре:


.Normal = SF_CtrlTheme_Civ4_Control_Font_Size3_Normal;
.Bold = SF_CtrlTheme_Civ4_Control_Font_Size3_Bold...
Основной тип шрифта (кнопки, цивилопедия и мн. др.) прописан в свойстве Normal. Ему можно присвоить одно значение из свойств GFont, то есть описаний шрифтов, указанных выше. Например, в данном случае основным шрифтом в циве будет sylfaen обычного начертания размером, судя по всему, 16 px, так как


GFont.Size3_Normal = GFont("sylfaen", "Regular", 16, GFlags(GFontFeature, GFC_FONT_ALPHA));
Чтобы поменять этот шрифт, достаточно указать новый в GFont.Size3_Normal, или присвоить Normal другое значение. Я, например, вместо sylfaen прописал trebuchet ms, тем самым решив поставленную в первом посте задачу.

Изменив свойство Footer, можно поменять шрифт для названий, например, технологий. Также можно менять размер шрифтов.

swan, вам большое спасибо. Эх, раньше надо было подсказать...

antoca
20.06.2010, 14:47
Так всё же как поставить шрифт 1С на английскую версию?