Содержимое файла ReadMe.txt
Код: Выделить всё
============================================================================================
ВЕРСИЯ ПРОЕКТА: N.N.N (ВКЛЮЧАЕТ ШРИФТЫ ФОРМАТОВ WAD BITMAP LUMP TYPE 0x46, TARGA И TRUETYPE)
============================================================================================
1. Общие сведения
Во все шрифты указанных выше форматов была добавлена поддержка национальных символов кодовой
страницы CP1251 (ASCII-коды с 0x80 по 0xFF), в т.ч. кириллицы (спецификация кодовой страницы
CP1251: ftp://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1251.TXT).
Оригинальные версии шрифтов расположены в папке CP1252, модифицированные — в папке CP1251.
2. Поддерживаемые игры
• Condition Zero: Deleted Scenes (Steam)
• Day of Defeat (WON, Steam)
• Gunman Chronicles (WON)
• Half-Life (WON, Steam)
• Half-Life: Blue Shift (WON, Steam)
• Half-Life: Firearms (WON, мод v3.0+)
• Half-Life: Opposing Force (WON)
• Half-Life: Redemption (WON)
• Half-Life: Wanted! (WON)
Также поддерживаются игры, использующие шрифты перечисленных выше.
3. Известные проблемы
• Во всех версиях игр символы с ASCII-кодами с 0x80 по 0xFF при отображении с помощью Targa-
шрифтов (VGUI) являются моноширинными. (В качестве индекса массива у vgui::Font передаётся
знаковый char; фактически, при отрицательном значении ASCII-кода поведение не определено.)
• Во всех версиях игр при значении 0 переменной bitmapfonts (включает использование TrueType
вместо Targa-шрифтов) на элементах VGUI неверно отображаются символы с ASCII-кодами с 0x80
по 0xFF. (По той же причине.)
• Во всех версиях игр символ с ASCII-кодом 0xFF (строчная буква «я») воспринимается как байт
конца текста элементами VGUI, использующими функцию READ_STRING. (Особенности реализации.)
• В Steam-версиях игр при активном русском языке интерфейса размер символов TrueType-шрифтов
меньше, чем при любом другом. (Особенности реализации.)
Для устранения данного несоответствия приложены 2 Scheme-файла: TrackerScheme_ru.res — для
использования с русским языком (перед использованием переименовать в TrackerScheme.res), и
TrackerScheme.res — для использования с любым другим языком.
• В Steam-версиях игр невозможно отобразить символы с ASCII-кодами с 0x80 по 0x9F при помощи
TrueType-шрифта титров (секция Scheme/Fonts/Legacy_CreditsFont в файле TrackerScheme.res).
(Особенности реализации.)
• В Steam-версии игры Half-Life: Blue Shift невозможно корректно отобразить символы с ASCII-
кодами с 0x80 по 0xFF при помощи TrueType-шрифта титров, когда текст в titles.txt сохранён
в кодировке Windows-1251. (Некорректное использование vgui::ILocalize.)
Чтобы частично устранить данную проблему (предыдущая сохранится), смените кодировку текста
с Windows-1251 на Windows-1252 и сохраните файл titles.txt в формате UTF-8. Внимание: если
токены из файла titles.txt продублированы в файле(ах) локализации *_<язык>.txt, отобразить
их текст корректно не получится.
============================================================================================
Над анализом форматов, дорисовкой и компиляцией шрифтов работал Vit_amiN, http://csmania.ru/
============================================================================================
Во избежание путаницы в понимании того, где движком GoldSrc используются какие шрифты, стоит провести чёткую границу между платформами
WON и
Steam, поскольку отличия в области используемых шрифтов значительны.
1. WON. На этой устаревшей платформе используются 3 типа шрифтов:
- TrueType: используются только в основном меню игры: шрифт Arial.
- Targa: шрифты в виде файлов TGA. Все шрифты имеются в архиве.
- Bitmap: точечные шрифты в WAD. Все шрифты имеются в архиве.
2. Steam. Данная платформа актуальна, она использует 2 типа шрифтов:
- TrueType: TTF используются почти для всего внутриигрового текста.
- Targa: шрифты в виде файлов TGA. Все шрифты имеются в архиве.
Движок GoldSrc на платформе Steam использует шрифты TrueType вместо точечных шрифтов из файлов WAD (т.е. из файла
gfx.wad используются только точечные надписи «Загрузка» и «Пауза», а файл
fonts.wad не используется вовсе). Переход на TrueType стал причиной многих проблем, в т.ч. проблемы с кодовыми страницами при использовании VGUI1 — вместо Windows-1251 (DEFAULT_CHARSET при условии использования русского языка для программ, не поддерживающих Юникод) жёстко используется Windows-1252 (ANSI_CHARSET). Эта проблема решается использованием файлов
platform\resource\fonts\*.ttf (шрифты с принудительным отображением символов кодовой страницы Windows-1252 в Windows-1251 посредством изменённой cmap-таблицы) и
platform\resource\TrackerScheme.res (схема GUI, подключающая упомянутые шрифты). Преимущество данного метода заключается в том, что изменённые шрифты не требуется регистрировать (устанавливать) в систему, поскольку движок выполняет их временную (на период работы приложения
hl.exe) регистрацию самостоятельно.
Ссылка на загрузку актуальной версии