Windows & Fonts. Как Windows управляет шрифтами

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

Количество шрифтов

Распространено фольклорное мнение, что Windows нормально работает со шрифтами только, если в системе установлено менее 1000 шрифтов, и что столько их и нужно. Парадоксально, что это совсем не так, но одновременно очень близко к истине.

В действительности Windows отводит в системе ограниченное место для записи имён всех установленных шрифтов. Каждый установленный шрифт регистрируется вместе со своим полным путём в системном реестре внутри раздела HKEY_LOCAL_MACHINE SOFTWARE MicrosoftWindows CurrentVersion Fonts. Размер данного раздела, как и любого другого раздела реестра, ограничен 64 Кб. При средней длине имени шрифта в 10–20 символов в реестр могут быть вписаны примерно 1100-1300 шрифтов. Непосредственно за количеством установленных шрифтов система не следит, она только подсчитывает их и результат показывает в левом нижнем углу системной папки «Шрифты» (доступ к ней открывается из Control Panel). Т.е. подсчёт количества шрифтов выполняется исключительно в информационных целях.

По мере добавления в систему новых устанавливаемых шрифтов их количество, показываемое в папке, нарастает до тех пор, пока не заполниться всё отведённое под имена пространство в системном реестре. Дальнейшее добавление шрифтов заметным образом не проявляется, число, показывающее их количество, перестаёт нарастать. Однако неисчерпаемый Windows заносит эти дополнения в свою тайную, «потустороннюю» память. В этой ситуации удаление шрифтов приводит изменению содержания раздела реестра за счёт запасов из «потусторонней» памяти; при этом их количество практически не меняется, сохраняется без изменений соответственно сведения об их количестве в системной папке «Шрифты». Так продолжается пока не освободится место в вышеприведённом разделе реестра. Лишь теперь начнётся демонстрация уменьшения количества установленных шрифтов. Разумеется, полезно не приближаться к границе переполнения раздела реестра. В этом смысле рекомендуемое число шрифтов – 1000 – достаточно оправдано и вполне допустимо в качестве ориентира оснащённости системы шрифтами.

Следует добавить, что несколько идеализированное представление процесса переполнения реестра записями о новых шрифтах маскирует опасность этого процесса. А состоит она в том, что при перетасовке шрифтов, когда раздел переполнен, Windows может утратить контроль над сохранностью системных шрифтов и потерять их. А последнее опасно возможным крахом системы.

С другой стороны, на развалах можно найти CD с рекламными надписями о наличии на диске многих десятков тысяч замечательных шрифтов, а Windows из-за указанного ограничения даже близко не позволяет воспользоваться накопленным шрифтовым богатством. Грустно. И даже как-то настраивает против козней Microsoft и заодно против самого Microsoft.

На самом же деле говорить о 60000 и даже о 10000 шрифтов не стоит. Во-первых, эти громадные цифры относятся не к шрифтам, а к файлам на диске, за которыми тысячами прячутся идентичные шрифты, иногда под разными названиями, а чаще даже под одинаковыми, но в разных директориях. Во-вторых, имеются тысячи похожих шрифтов, когда различия заключаются в таких незначительных деталях как форма точки, межсимвольный интервал или начертание пары символов (это из двух сотен!). В-третьих, количество нагнетается размножением стандартных вариаций типа наклон влево.., наклон вправо.., буква на фоне прямоугольника.., буквы разделены линией или двумя линиями… и т.п. (я насчитал почти два десятка вида таких вариаций); наверно в каких-то случаях эти вариации могут послужить добру, но при массовом применении они приобретают черты спама. Я не распространяю это замечание на стандартные варианты начертаний bold (жирный), italica (курсив), когда изменения хорошо заметны, касаются одновременно всех символов и существенно меняют восприятие текста. И вообще, самые разнообразные тексты для чтения могут быть успешно выполнены с применением всего 5-10 шрифтов. Так, что тот набор шрифтов, который автоматически устанавливается при setup”е Windows и состоит из 64 наименований, с лихвой достаточен для большинства типовых задач персоналки, связанных с набором текстов.

Ситуация кардинально меняется, если возникает потребность в декоративных шрифтах, но это относится только к гурманам! Поздравительная открытка или приглашение на свадьбу, рекламный щит или обложка книги – вот, где место для декоративных шрифтов. Их действительно море, более нескольких тысяч, они часто очень витиеваты и потому многие из них поддаются восприятию только хорошо подготовленным интеллектам. Но если они сложны для восприятия, то мало удобны даже на этапе набора текста, так что их применение крайне ограничено, исключительно среди избранных. Тем не менее, для особых случаев, а такие подстерегают нас постоянно, например, для подготовки адреса шефу по случаю дня рождения его тёщи, всегда могут понадобиться декоративные шрифты; ну, сколько их может понадобиться? 50? 150? Примем 150, тогда нижняя граница в необходимом количестве получиться 214. За счёт потребности в нескольких раскладках, скажем русской, украинской и английской, и в случае отсутствия всех раскладок во всех шрифтах эта цифра может вырасти ещё на 50-60 наименований.

Со смелым округлением можно дойти до 300 – столько шрифтов может понадобиться установить на компьютере типичного назначения. Больше вроде бы ни к чему!

Я в своей компьютерной практике (а она ориентирована на работу в рекламе) прошёл путь от пары тысяч установленных шрифтов, когда систему так зашкаливало, что конца перечня из-за горизонта видно не было, до 428 в настоящее время. И половиной из них до сих пор не довелось воспользоваться ни разу, но надежды применить не теряю! Потому и продолжаю держать в системе.

Из изложенного ясно, что с точки зрения богатства набора шрифтов, представленных в компьютере, цифра в пределах 300 - 1000 штук достаточна для большинства пользователей, посильна для любой системы и вполне может служить ориентиром в оценке готовности компьютера к решению самых разнообразных задач, связанных с применением шрифтов.

Вот и получается, что фольклорное количество шрифтов в системе – 1000, хоть не очень понятно, каким образом сложилось, но приемлемо со всех точек зрения. Осталось добавить, что на быстродействие современных Pentium”ов с гигабайтной оперативкой избыток шрифтов оказать воздействие не в состоянии, его заметное влияние на скорость работы компьютера осталась где-то позади лет пять тому назад.

Как Windows управляет шрифтами

Как правило, пользователям приходится время от времени сталкиваться с проблемами комплектования шрифтами, выбора шрифта для той или иной работы и т.п. Здесь я делюсь некоторым опытом и соображениями в решении подобных вопросов на примере системы Windows98SE.

Стандартный набор средств Windows очень скромен, но для многих пользователей и для многих приложений достаточен по своим возможностям. Собственно он состоит всего из двух компонент: системной папки Fonts (Шрифты) и программы Charmap (лежит непосредственно в папке Windows)

Системная папка Fonts

Системная папка Fonts – это один из сервисов Windows - называется системным потому, что она является органическим компонентом Windows, имеет активную связь с другими компонентами ОС, в первую очередь с реестром, и называется папкой, потому что по форме и содержанию очень похожа на обычную папку.

Откройте Control PanelFonts (Шрифты). Перед Вами предстанет перечень всех установленных в системе шрифтов, подберите удобный «вид» (я предпочитаю «список») и полюбуйтесь.

Слева внизу скромные маленькие цифры – это количество установленных шрифтов, хорошо, если количество соответствует рекомендациям части 1 (Izone 518). Команды из меню «Файл» позволяют удалять неугодные шрифты или добавлять шрифты из любых других директорий и дисков, доступ к которым открывается из подменю «установить шрифт».

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

Случается, что системная папка утрачивает в своём меню специфичные для неё пункты (например, "Установить новый шрифт"). Причина может быть одной из перечисленных:

  • атрибут "Системный" не установлен на папке «Fonts»;
  • файл Fontext.dll в папке WindowsSystem отсутствует или повреждён;
  • файл Desktop.ini в папке WindowsFonts отсутствует или повреждён.

Для восстановления системного атрибута на каталоге «Fonts» следует перейти в сеанс MS-DOS, в каталоге Windows выполнить команду

ATTRIB FONTS +S и перезагрузить компьютер.

Для восстановления файлов Fontext.dll и Desktop.ini их можно в сеансе MS-DOS извлечь из инсталляционного комплекта с помощью программы Extrac32.exe (находится в папке Windows). Для всех этих дел можно загрузится с дискеты, открыть досовский файл-менеджер (DOS-Navigator, например) и всё легко в нём выполнить. Также возможно восстановление файлов Fontext.dll и Desktop.ini путём перезаписи из соответствующих папок директории Windows любого работающего компьютера (с помощью банальной дискеты). Однако практикуется также такой кровавый метод, как переустановка системы по-горячему, т.е. поверх действующей. Впрочем, иногда он предпочтительнее, так как требует меньше навыков, а заодно может помочь справиться с другими проблемами.

Полный перечень шрифтов можно также увидеть в папке Fonts (в директории Windows). Уже беглое сравнение вызывает некоторое недоумение: очень похоже на содержание системной папки, но всё же не то. В действительности и там, и там доступны одни и те же шрифты, но в системной папке приведены наименования шрифтов, а в папке Windows наименования файлов, содержащих шрифты. Конечно, было бы естественным совпадение этих наименований, однако, как правило, они только похожи, вернее, позволяют вычислить или угадать, какие из них относятся к одному и тому же шрифту. Это разработчики, а чаще переработчики шрифтов вносят сознательно, а иногда вынуждены вносить разнобой в наименованиях. В частности при доработках, связанных, например, с дополнением в шрифт кириллических или других региональных начертаний.

Но стоит открыть раздел реестра HKEY_LOCAL_MACHINE SOFTWARE Microsoft Windows CurrentVersion Fonts, всмотреться, и станут доступны взору и пониманию связь между обеими папками – реестр объединяет их. Каждая строка реестра содержит в качестве параметра запись из папки WindowsFonts и в качестве значения запись из системной папки. Так что противопоставлять различия в содержании системной папки Fonts содержанию папки WindowsFonts не следует – один и тот же перечень выступает в разных видах.

Charmap

Назначение этой маленькой программки показать одновременно все символы выбранного шрифта. Иногда это бывает просто интересно, но чаще это бывает и необходимо, например, в том случае, когда требуется ввод символа, не имеющего своей клавиши на клавиатуре: знака умножения « ´ », символа градуса температуры « ° », или когда очень хочется изобразить греческую букву дельта « d ».

Открывается программа, выбирается шрифт, греющий взор и душу, выделяется мышкой нужный символ, а в правом нижнем углу появляется код этого символа. Например, Alt+0188. Имейте в виду – это левый Alt и цифры дополнительной (правой) клавиатуры. Символ окажется впечатанным в Ваш текст, как только отпустите все кнопки. Есть и другой метод, это с помощью кнопок окна программы занести выбранный символ в клипбод, а потом воспользоваться по усмотрению.

В кодах, так называемых дополнительных (не привязанных к кнопкам клавиатуры), символов различных шрифтов царит беспорядок, даже полный беспорядок. И символы разные, и коды разные, и масса неиспользуемых кодов – весь этот беспорядок бросается в глаза при рассмотрении таблиц Charmap’а. Но самая главная беда не эта, а та, что часто на экран и, соответственно, на печать выводится совсем не тот символ, какой показывает Charmap. Это грех файлов шрифтов, его источник, видимо, лежит в пиратском происхождении большинства распространяемых у нас шрифтов, в их неаккуратной переработке на разных этапах адаптации к нашей жизни.

Всмотритесь в таблицы Ваших декоративных шрифтов. Наверняка большинство из них имеют крайне бедный набор дополнительных символов, а некоторые лишены их вовсе. Но большой беды в этом нет - вряд ли у кого-нибудь возникнет потребность в текст приглашения на свадьбу, набранного декоративным шрифтом, вносить такой ‰ или такой Ђ дополнительные символы.

Как появляются шрифты в системе

Как правило, пользователям приходится время от времени сталкиваться с проблемами комплектования шрифтами, выбора шрифта для той или иной работы и т.п. Здесь я делюсь некоторым опытом и соображениями в решении подобных вопросов на примере системы Windows98SE.

Имеется несколько способов попадания шрифтов в систему

  • при установке Windows;
  • при установке драйверов некоторых устройств;
  • при установке некоторых программ;
  • путём сознательной и целеустремлённой – свободной установки шрифтов.

А теперь по порядку.

Шрифты Windows

Программа инсталляции Windows одновременно со всеми своими компонентами устанавливает 64 шрифта двух категорий: системные и стандартные.

Системные шрифты используются Windows в собственных целях, конечно же, для вывода информации на экран. Те из них, которые используются в нормальном рабочем режиме, не обладают никакими особыми свойствами кроме прекрасной читаемости в самом широком диапазоне кеглей и любых стилей (Кегль – размер шрифта, определяемый по высоте знаков в пойнтах; 1 пойнт равен 1/72 дюйма или 0,36мм. Стиль бывает нормальный – normal, жирный – bold, курсив – italica, а также некоторые промежуточные и комбинированные формы.) Те же, которые используются в особых режимах (DOS, процесс установки, режим Safe Mode...), должны быть DOS-совместимыми, работающими в режимах VGA; последние легко узнать по ставшему старым и утратившим популярность формату, который характеризуется расширением .fon. Системные шрифты удалять не следует, хотя Windows следит за этим и сам препятствует удалению. (Зато, в режиме DOS выполнить удаление не представляет сложностей, будьте внимательны и осмотрительны!)

Стандартные шрифты – это те, какие тоже устанавливаются автоматически, но предназначены для использования приложениями. Корректировка перечня в процессе установки не предусмотрена, хотя последующему удалению их из уже функционирующей системы нет никаких препятствий или противопоказаний, кроме одного – здравого смысла. Это замечательные и самые применяемые шрифты, такие как Arial, Times, Antiqua и т.п. Без колебаний пользуйтесь ими, хорошая читабельность и привлекательный внешний вид текста гарантированы.

Шрифты устройств

Из всего разнообразия периферийных устройств, пожалуй, только мониторы, плоттеры и принтеры могут нуждаться в своих оригинальных шрифтах. Острота проблемы осталась далеко позади в прошлом веке и была связана с крайней слабостью технических средств на начальном этапе. Суть этой проблемы нас не касается, и не станем на ней останавливаться. Хотя один такой архаизм успешно дожил до наших дней и собирается жить дальше – это шрифты матричных принтеров, где напечатанный на бумаге символ синтезируется посредством матрицы ограниченным количеством игл. Уже давно сложилось, что такой или такие шрифты являются компонентом драйвера принтера или зашиты в память управляющей электроники принтера и в ОС не устанавливаются. Но потребность в установке вполне может возродиться, хотя бы для создания условий демонстрации на мониторе, как будет окончательно выглядеть текст на выходе матричного принтера. (Хотя современные 24-игольчатые матричные принтеры обеспечивают столь достойную прорисовку, что в специальном контроле смысла не много.)

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

Шрифты программ

Некоторые программы при своей установке тянут за собой собственные шрифты. Иногда это не объяснимо, а иногда вполне понятно. Пример, CorelDRAW.

CorelDRAW мощный графический редактор, но упоминаем его не столько из-за известной мощи, сколько потому, что он вдобавок предоставляет возможность исключительно гибкой и разносторонней работы именно со шрифтами. В нём предусмотрены инструменты для управления всеми параметрами шрифтов вплоть до преобразования в графические объекты, и после этого к ним применимы вообще все инструменты программы. Логично, что в инсталляцию редактора включено громадное количество шрифтов (в том числе и русских в русской версии), но при этом предусмотрена возможность полного управления процессом от установки всех шрифтов без исключения до полного отказа от установки любого из них. Тогда в CorelDRAW будут доступны для использования лишь шрифты, установленные в самой ОС Windows.

Свободная установка

Вот мы и подошли к главному средству навязывания системе шрифт-изобилия. Здесь всё предельно просто. Заходим в системную папку Fonts, далее «Файл/Установка шрифтов», открывается окно, откуда можно войти в любую папку любой директории (в том числе на СД), открыть все имеющиеся там файлы шрифтов и, наконец, начать установку, просто кликая мышкой на все приглянувшиеся названия. Впрочем, здесь же можно ознакомиться с внешним видом – двойной клик на названии шрифта открывает окно с его изображением.

Есть и другой способ, ещё более подходящий для массовой установки. Скопировать любую шрифтосодержащую директорию в папку WindowsFonts, и более ничего – всё остальное, что надо, Windows проделает самостоятельно.

Этот способ очень удобен в следующей ситуации. Вы укомплектовали систему шрифтами, подчистили от дубликатов, от неотличимых по начертанию разных шрифтов, от хороших, но не нужных и т.п. (а работа это очень длинная, кропотливая и напряжённая), и считаете нужным её результаты увековечить. (Последнее, кстати, может оказаться бесценным уже при ближайшей переустановке системы.) Процедура совершенно элементарная – нужно просто скопировать содержимое папки в запасник и хорошенько запомнить, где он находится. После переустановки системы достаточно в ещё почти пустую папку WindowsFonts (почти пустую потому, что шрифты Windows уже тут как тут!) скопировать содержимое запасника – и больше ничего. Правда, не всё пойдет гладко потому, что копирование будет спотыкаться на каждом файле, имеющемся в обеих папках. Этого можно избежать, если заранее удалить из запасной директории все дубликаты, а это просто выполнить с помощью любого файлового менеджера, например, Volkov Comander, но можно и в рукопашную с помощью Explorer.

Где брать шрифты?

На СД, в интернете. Главное не где взять, а как отсортировать всё доступное многообразие, не утонуть в полных и частичных аналогах, не перебрать самому и не перегрузить Windows избыточным количеством до полной потери им плавучести.


2008 © Computer repair