1

Что я хочу сделать, это временно переключить один конкретный шрифт на другой, а затем переключить его обратно. Это позволит мне увидеть нужный шрифт в любых играх или программах. Мне интересно, существует ли такая вещь, или это возможно программно.

3 ответа3

5

Если вы хотите иметь возможность настроить все системные шрифты (в том числе в приложениях, таких как игры) на один конкретный шрифт или семейство шрифтов, то, к сожалению, ответ - нет, это невозможно.

Каждая программа, от программ просмотра документов до браузеров и игр, имеет свои собственные настройки шрифтов, и даже те, которые позволяют настраивать их, имеют ограничения на типы (форматы файлов) шрифтов, которые можно использовать. Не говоря уже о том, что такие программы обычно используют внутренние настройки для установки шрифтов по умолчанию.

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

Извините, это не более удовлетворительный ответ.

3

Это возможно.

Во-первых, это можно сделать глобально, установив заменители шрифта в реестре Windows. Вот документ Microsoft. В основном вы идете в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes и добавляете строковую запись. Ключ - оригинальный шрифт, а значение - имя шрифта, на который вы хотите изменить. После перезапуска все заработает. Я проверял это под Vista.

Во-вторых, существует также более простое неглобальное решение под названием GDI++, которое позволяет записывать эти настройки в его конфигурационный файл gdi++.ini например:

[FontSubstitutes]
Courier New=Arial

После этого вы перетаскиваете исполняемый файл программы на этот gdi++.exe и он будет работать как замененный. Иногда это не работает, возможно, потому что целевая программа использует свои собственные методы рендеринга.

Тогда я рекомендую использовать MacType. Он получен из GDI++ ниже. Это немного сложно, но предоставляет хороший интерфейс для переключения / настройки профилей. В конфиге профиля есть переключение шрифтов. Включите настройку и установите заменители, и это может работать на программах должным образом.

1

Я не верю, что можно переключать шрифты таким образом.

Файл шрифта содержит много мета-информации, которая используется Windows/Linux для поиска шрифта, который лучше всего соответствует шрифту, запрашиваемому программой.

Нет способа передать эту метаинформацию из одного шрифта в другой. Нужно было бы объединить два файла шрифтов в новый шрифт: метаинформацию из одного и глифы из другого, с поправками на размеры символов, кернинг и другую информацию. Другими словами: создайте ложный шрифт, который отвечает тем же характеристикам, что и настоящий, но использует другие глифы, затем переименуйте реальный шрифт и замените его новым.

Затрачиваемые усилия сравнимы с усилиями по самостоятельному созданию нового шрифта, что является большой работой. См. « Создание собственного шрифта».

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .