![]() |
|
сделать стартовой | добавить в избранное |
![]() |
Семейства шрифтов в Windows |
По трем из рассмотренных признаков (ширина штриха, ширина символов и наличию засечек) в Wi dows принято выделять так называемые семейства шрифтов. Для того, что бы пояснить разницу между принятыми семействами, приведем небольшую табличку, содержащую сводку характеристик разных семейств шрифтов в Wi dows: Семейство Ширина штриха Ширина символов Наличие засечек примеры MODER постоянная постоянная — Courier ew ROMA переменная переменная есть imes ew Roma , A iqua, Garamo d, Pala i o, Bodo i SWISS переменная переменная нет Arial, Helve ica, Fu ura, Ava garde, Op ima, Swiss SCRIP — — — Scrip , Odessa Scrip FWF, Decor, Jikharev, Parsek DECORA IVE — — — Wi di gs, MusicalSymbols, Symbol DO CARE — Обычно к семейству MODER относят все шрифты фиксированной ширины. Название MODER указывает на сравнительно недавнюю историю этих шрифтов - они получили распространение с развитием печатающей техники и компьютеров, тогда как другие виды шрифтов возникали с XV века, когда заканчивалась эпоха готического шрифта. В те времена начинал формироваться шрифт, похожий по своему начертанию на один из древнейших шрифтов - римский капитальный. Это был пропорциональный шрифт с засечками и нормальной контрастностью, позже он получил очень широкое распространение в типографском деле и дожил до наших дней. За свою долгую историю он многократно видоизменялся и стал родоначальником большого числа поколений шрифтов. В Wi dows такие шрифты относятся к семейству ROMA . Реально этому семейству соответствует очень большое число разных шрифтов, выделяемых в других классификационных системах. В частности, можно выделить так называемые брусковые шрифты, обычно со слабо выраженным контрастом и засечками, перпендикулярными штрихам и имеющими примерно такую же ширину (пример - Courier); В XX веке возникли шрифты, получившие очень широкое распространение. Наиболее распространенное название для этих шрифтов - рубленые. Эти шрифты не имеют контраста и засечек (sa s serif), в Wi dows им соответствует семейство SWISS. Семейство DO CARE реально не соответствует никакой группе шрифтов. Оно используется только при указании, из какого семейства надо выбирать шрифт - при этом оно обозначает “любое семейство”. 1.1 Стандартные шрифты Wi dows В стандартной поставке Wi dows присутствует небольшой набор шрифтов, представляющий все (определенные в Wi dows) семейства шрифтов. Этот набор включает в себя растровые, векторные и rue ype шрифты, информация о которых сведена в небольшую таблицу: Имя шрифта семейство кодовая таблица файл(ы) растровые шрифты Sys em SWISS A SI xxxSYS.FO FixedSys DO CARE A SI xxxFIX.FO ermi al MODER OEM xxxOEM.FO Courier MODER A SI COURy.FO MS Sa s Serif SWISS A SI SSERIFy.FO MS Serif ROMA A SI SERIFy.FO Small Fo s ROMA A SI SMALLy.FO Symbol DECORA IVE SYMBOL SYMBOLy.FO векторные шрифты Moder MODER OEM MODER .FO Roma ROMA OEM ROMA .FO Scrip SCRIP OEM SCRIP .FO rue ype Arial SWISS A SI ARIALzz. F(.FO ) Courier ew MODER A SI COURzz. F(.FO ) imes ew Roma ROMA A SI MSRM . F(.FO ) Wi di gs DO CARE A SI WI DI GS. F(.FO ) В этой таблице следует внимательно рассмотреть имена файлов.
В этих именах маленькими буквами (xxx,y,zz) обозначены изменяющиеся части. Так xxx обозначает устройство, для которого был спроектирован шрифт. Вместо этой последовательности реально написано CGA, EGA, VGA или 8514. Символ y обозначает категорию устройств, к которой относится данный шрифт. Возможные значения можно найти в таблице: Буква Соотношение сторон Разрешающая способность X/Y (пиксел/дюйм) Устройство A 200 96/48 CGA B 133 96/72 EGA C 83 60/72 Okida a pri ers D 167 120/72 IBM, Epso pri ers E 100 96/96 VGA F 100 120/120 IBM 8514 Последовательность zz указывает, какого типа шрифт описан в этом файле: нормальный (пустая последовательность), жирный BD, наклонный I или жирный наклонный BI. 1.2Получение хендла шрифта Для того, что бы Вы могли применять шрифт в Вашей программе, Вы должны сначала получить хендл соответствующего шрифта. Шрифт является объектом GDI, поэтому работа с ним похожа на работу с другими объектами GDI. Как правило вы должны выполнить следующие действия: получить хендл либо стандартного шрифта, либо создав &quo ;новый&quo ; шрифт При создании &quo ;нового&quo ; шрифта создается соответствующий объект GDI, а не новый файл описания шрифта. выбрать шрифт в контекст устройства осуществить вывод, используя текущий шрифт если шрифт был создан, то его надо уничтожить. Создание шрифтов занимает некоторое время (особенно для отображения rue ype шрифтов - Wi dows автоматически генерирует промежуточный растровый шрифт, который и используется при выводе). Если надо создавать шрифты, то это удобно делать при создании окна или даже при запуске приложения, а уничтожать - при закрытии окна или при завершении приложения (как и все объекты GDI, созданный шрифт уничтожается с помощью функции Dele eObjec ). Если Вам надо получить хендл стандартного шрифта, то Вы можете воспользоваться функцией: HFO Ge S ockObjec ( I dex ); Параметр I dex может быть: A SI FIXED FO соответствует шрифту Courier A SI VAR FO соответствует шрифту MS Sa s Serif OEM FIXED FO соответствует шрифту ermi al SYS EM FO соответствует шрифту Sys em; этот шрифт используется по умолчанию SYS EM FIXED FO соответствует шрифту FixedSys; До версии Wi dows 3.0 системный шрифт был фиксированной ширины, он включен в Wi dows 3.1 для совместимости. DEVICE DEFAUL FO соответствует шрифту, загруженному в устройство; для дисплея не определен Если Вам надо создавать собственный шрифт, то Вы можете воспользоваться одной из двух функций: HFO Crea eFo ( Heigh , Wid h, Escapeme , Orie a io , Weigh , bI alic, bU derli e, bS rikeOu , bCharSe , bOu pu Precisio , bClipPrecisio , bQuali y, bPi chA dFamily, lpszFace ame); или HFO Crea eFo I direc ( lpLogFo ); Чаще применяется функция Crea eFo I direc (), получающая в качестве параметра указатель на структуру LOGFO . Поля этой структуры совпадают с аргументами функции Crea eFo (). ypedef s ruc agLOGFO { i lfHeigh ; i lfWid h; i lfEscapeme ; i lfOrie a io ; i lfWeigh ; BY E lfI alic; BY E lfU derli e; BY E lfS rikeOu ; BY E lfCharSe ; BY E lfOu Precisio ; BY E lfClipPrecisio ; BY E lfQuali y; BY E lfPi chA dFamily; BY E lfFace ame; } LOGFO ; Рассмотрим назначение полей этой структуры: lfHeigh задает требуемый размер шрифта в точках (пунктах).
Если значение положительно, то в высоту включается межстрочный промежуток, а если отрицательно, то модуль указывает высоту символа шрифта. Значение 0 указывает, что используется значение высоты по умолчанию. lfWid h задает среднюю ширину символов в пунктах. Значение 0 соответствует ширине по умолчанию. lfEscapeme задает наклон базовой линии строки в десятых долях градуса. Для растровых шрифтов игнорируется. lfOrie a io задает ориентацию символа относительно базовой линии в десятых долях градуса. Игнорируется для растровых и rue ype шрифтов, для векторных используются значения: 0, 900, 1800 и 2700 lfWeigh задает вес символа (жирность). Соответствует количеству закрашенных пиксел из 1000. Предусмотрены условные обозначения для определения веса, начинающиеся на FW . Например, нормальный текст (400) соответствует FW ORMAL (FW REGULAR), жирный (700) FW BOLD. lfI alic ненулевое значение задает наклон символов (начертание sla ed). Значение 0 соответствует обычному тексту. lfU derli e ненулевое значение задает подчеркивание строки текста линией. Значение 0 соответствует обычному тексту. lfS rikeOu ненулевое значение задает перечеркивание строки текста линией. Значение 0 соответствует обычному тексту. lfCharSe задает кодовую таблицу, которую должен поддерживать данный шрифт. Используются следующие условные обозначения: A SI CHARSE кодовая таблица A SI OEM CHARSE кодовая таблица OEM SYMBOL CHARSE символы SHIF JIS CHARSE японская азбука DEFAUL CHARSE любая кодовая таблица. lfOu Precisio указывает, насколько точно должен соответствовать подбираемый шрифт указанному размеру. (Реально Вы можете заказать растровый шрифт несуществующего размера). См. условные обозначения вида OU ? PRECIS в wi dows.h. lpClipPrecisio указывает, как должен отображаться частично невидимый символ. См. условные обозначения вида CLIP ? PRECIS в wi dows.h. lfQuali y указывает качество получаемого шрифта. Обычно используется значение PROOF QUALI Y (или DEFAUL QUALI Y). Если размер растрового шрифта меньше, чем требуется, то Wi dows может масштабировать шрифт. Однако при этом резко ухудшается качество, поэтому масштабирование можно запретить, используя значение PROOF QUALI Y. lfPi chA dFamily два младших бита задают тип шрифта - DEFAUL PI CH (любой тип), VARIABLE PI CH (пропорциональный) или FIXED PI CH (моноширинный); старший байт указывает семейство, которое задается одним из следующих символов: FF DECORA IVE, FF DO CARE, FF MODER , FF ROMA , FF SCRIP , FF SWISS. lfFace ame массив из LF FACESIZE символов, содержащий заканчивающееся 0 имя шрифта. Пустое имя соответствует шрифту устройства. 1.3 Основы подбора шрифтов в Wi dows Когда Вы вызываете функцию, создающую шрифт, Wi dows перебирает все имеющиеся шрифты, определяя шрифт, точнее всего соответствующий желаемому. При подборе шрифта используется система “пенальти”: для каждого из шрифтов он вычисляет “пенальти”, соответствующие отличию данного шрифта от желаемого. Шрифт с минимальным пенальти считается наиболее точно соответствующим желаемому. Пенальти вычисляются следующим образом: для существенных параметров вводятся бальные оценки.
Но просмотр списка шрифтов, выдаваемого командой xlsfonts, мало информативен в том смысле, что при этом вы не видите изображений символов, которые будет давать на экране данный шрифт. В этом плане гораздо удобнее воспользоваться программой xfontsel, которая работает в графическом режиме и выводит в своем окошке изображения некоторых символов данного шрифта, позволяющих представить себе, как будет выглядеть выводимый текст. Эти две команды могут оказаться полезными, как для определения того, какие шрифты уже имеются в системе, так и для проверки того, что новые шрифты успешно установились. Я не буду здесь подробно описывать, как пользоваться этими командами. Воспользуйтесь соответствующими man-страницами или системой info. На мой взгляд, пользователь обычно руководствуется в выборе шрифта только следующими признаками из перечисленных выше: семейство шрифтов (fmly), вариант шрифта - жирный шрифт или обычный (wght), наклон (slant), ширина шрифта (sWdth), размер шрифта в пикселах (pxlsz), стандарт (rgstry) и язык (encdng)
1. Шпаргалка по философии (Основные понятия. 4 страницы формата А4)
3. Разнообразие строения цветков и плодов у семейства Розоцветные
5. Анализ повадок отряда ДЯТЛООБРАЗНЫЕ - Piciformes семейства ДЯТЛОВЫЕ – Picidae
9. Семейство операционных систем W2k. Обзор версий. Процессы и очереди
10. Однокристальные контроллеры семейства МК51
11. Всё о витаминах (где находятся, как и против чего применяются)
12. Шрифт. Этапы развития и изменения формы
14. Растения семейства Сложноцветные
18. Шрифты
20. Власть народу - относительные размеры шрифтов
21. Обзор семейства протоколов TCP/IP
25. Выведение из состояния покоя семян семейства Rosaceae
26. Программная модель процессоров семейства X86
29. Семейства решений с постоянной четной частью
30. Насекомые семейства оводы, комары, паукообразные, перепончатокрылые
31. Фитопланктон как начальная стадия в рационе питания гидробионтов
32. Как устроен глаз
33. Опасности- как общая часть и землетрясения- как индивидуальное задание
34. Португалия, как новый сегмент туристического бизнеса в России
37. Природные ресурсы как экономический фактор
42. Авторский договор как основание правомерного использования произведения
43. Виндикационный иск как способ защиты вещных прав
44. Залог - как способ обеспечения исполнения обязательств
45. Наследственная масса как объект правоотношений
46. Ценные бумаги как объект гражданского права
47. Как не стать жертвой преступления
48. Ликвидация как способ прекращения юридического лица
49. Ценные бумаги как объекты гражданских прав
53. Витте как государственный деятель
57. Арбитражный суд как гарантия реализации экономических интересов субъектов в Российской Федерации
58. Конституция, как Основной Закон РФ
59. Особенности системы разделения властей в РФ как смешанной республике.
60. Местное самоуправление как основа конституционного строя РФ
61. Местное самоуправление как форма местной публичной власти
63. Налоговое право как основной институт финансового права
64. Программные средства как объект авторского права
65. Право - как общечеловеческая ценность
66. Таможенные режимы как административно-правовой регулятор внешнеэкономической деятельности
67. Теория государства и права как наука и учебная дисциплина
68. Свобода экономической инициативы как гарантия правового государства
69. Республика как форма правления
74. Животный мир как объект правовой охраны
76. How "DNA" testing works Анализ "ДНК" как проверяющие работы)
77. Учебное сотрудничество как средство оптимизации обучения иностранному языку
78. Сюрреализм как направление в искусстве и литературе
79. Монтаж как выразительное средство. Внутрикадровый монтаж. Монтаж как способ режиссёрского мышления
80. Формирование социально-психологического климата, как творческой атмосферы в театральном коллективе
81. Монастыри - как центры русской культуры
82. Как рукодельничать и любое дело делать благословясь
83. Кино как новый элемент художественной культры
84. Культура как социальная реальность
85. Мифология как исторический тип мировоззрения
89. Культура Эпохи Высокого Возрождения и ее представители как светочи мировой культуры
90. Культура как фактор общения
92. Мистика как культурная традиция
94. Текст как явление культуры
95. Как соотносятся в романе М. Булгакова "Мастер и Маргарита" милосердие, справедливость и всепрощение?
96. Н. Островский "Как закалялась сталь"
97. Владимир Высоцкий "Я к микрофону встал, как к образам"
98. Роман "Пути небесные" как итог духовных исканий Ивана Сергеевича Шмелева
99. Каким видит Лермонтов героя своего времени в романе "Герой нашего времени"