Как работает синхронизация шрифтов в Windows?

Например, Adobe Type-Kit: на самом деле он пишет шрифты в папке <system-drive>\Windows\Fonts\ или есть другой способ инициализации шрифтов в системе из другого места с использованием хаков реестра?

1 ответ1

1

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

Список постоянно установленных шрифтов сохраняется в реестре в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts (для шрифтов TrueType и OpenType список шрифтов Type1 хранится в другом месте). Существует запись для каждого файла шрифта, который должен быть загружен при запуске Windows, если путь не указан, Windows предполагает, что файл находится в системной папке «Шрифты», но если указать полный путь, Windows загружает шрифт из этого расположения.

В качестве примера я создал запись в реестре для файла шрифта, расположенного в папке C:\Temp :

Внешний шрифт - Реестр

После перезапуска Windows шрифт отображается как в Панели управления, так и в системной папке «Шрифты», но в виде ссылки, указывающей на то, что файл шрифта находится в другой папке:

Внешний шрифт - Explorer

Кроме того, шрифт доступен другим программам так же, как и шрифты, расположенные в системной папке «Шрифты».

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