Как 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. Это грех файлов шрифтов, его источник, видимо, лежит в пиратском происхождении большинства распространяемых у нас шрифтов, в их неаккуратной переработке на разных этапах адаптации к нашей жизни.
Всмотритесь в таблицы Ваших декоративных шрифтов. Наверняка большинство из них имеют крайне бедный набор дополнительных символов, а некоторые лишены их вовсе. Но большой беды в этом нет - вряд ли у кого-нибудь возникнет потребность в текст приглашения на свадьбу, набранного декоративным шрифтом, вносить такой ‰ или такой Ђ дополнительные символы.