3

Как ОС (Mac/Windows/Linux) управляют шрифтами?

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

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

2 ответа2

2

Большинство операционных систем имеют каталог, в котором установлены шрифты. В Linux, например, это один из /usr/local/share/fonts , /usr/share/fonts , ~/fonts . Программы, которые могут использовать шрифты, будут либо сканировать эти папки, либо считывать доступные шрифты из списка, созданного другой программой. В Linux это делается с помощью fc-cache .

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

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

1

Во-первых: все, что использует ваш компьютер, дисплеи и т.д., Должно быть загружено в память. Краткое и простое объяснение памяти.

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

В-третьих: приложение обычно загружает только то, что ему нужно - загрузка всего на тот случай, если это может понадобиться, - плохой дизайн программного обеспечения. Существуют API, которые базовая операционная система предлагает Приложения для доступа к таким вещам, как шрифты, см. Эту ссылку: Windows API

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