Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
WinAPI.docx
Скачиваний:
49
Добавлен:
16.12.2018
Размер:
3.43 Mб
Скачать

4.13.4 Типы шрифтов

Windows поддерживает две больших категории шрифтов — " шрифты GDI " и "шрифты устройства" (device fonts).

Шрифты GDI хранятся в файлах на вашем жестком диске. Шрифты устройства соответствуют конкретному устройству вывода. Например, большинство принтеров имеет набор встроенных шрифтов устройства.

Шрифты GDI могут быть одного из трех типов — растровые шрифты, векторные шрифты и шрифты типа True Type.

Растровый шрифт иногда называют шрифтом битовых шаблонов, т. к. в файле растрового шрифта каждый символ хранится в виде битового шаблона. Каждый растровый шрифт разработан для определенного относительного размера пикселя дисплея и размера символа. Windows может создавать символы больших размеров из растровых шрифтов GDI, просто дублируя строки или колонки пикселей. Однако, это может быть сделано только целое количество раз и до определенного предела. По этой причине растровые шрифты GDI называют "немасштабируемыми" (nonscalable) шрифтами. Они не могут быть растянуты или сжаты до произвольного размера. Основными преимуществами растровых шрифтов являются их быстрое отображение на экране и четкость (т. к. они были разработаны вручную, чтобы текст выглядел максимально разборчиво).

В более ранних версиях (до 3.1) Windows поддерживала, кроме шрифтов GDI, еще и векторные шрифты. Векторные шрифты определены как набор соединенных друг с другом отрезков прямых (connect-the-dots). Векторные шрифты легко масштабируются в широких пределах, т. е. один и тот же шрифт может быть использован в графических устройствах вывода с любой разрешающей способностью, и эти шрифты могут быть увеличены или уменьшены до любого размера. Однако, эти шрифты имеют более низкую скорость отображения, плохую четкость при маленьких размерах, а при использовании больших размеров символы выглядят очень бледными, потому что их контуры — тонкие линии. Векторные шрифты сейчас иногда называют "плоттерными" (plotter fonts), поскольку они подходят только для плоттеров.

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

Далее рассмотрим шрифты TrueType, которым посвятим остаток главы.

4.13.5 Шрифты TrueType

С введением шрифтов TrueType в версии Windows 3.1 значительно повысились возможности и гибкость работы с текстами. TrueType — это технология контурных шрифтов, которая была разработана Apple Computer Inc. и Microsoft Corporation; она поддерживается многими производителями шрифтов. Отдельные символы шрифтов TrueType определяются контурами, состоящими из прямых линий и кривых. Таким образом, Windows может масштабировать эти шрифты, изменяя определяющие контур координаты. Шрифты TrueType могут быть использованы как для вывода на экран, так и для вывода на принтер, делая реально возможным режим отображения текста WYSIWYG (what-you-see-is-what-you-get, что видите — то и получаете).

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

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

Windows 95 была оснащена 13 шрифтами TrueType. Они имеют следующие имена в соответствии с их видом:

Courier New

Courier New Bold

Courier New Italic

Courier New Bold Italic

Times New Roman

Times New Roman Bold

Times New Roman Italic

Times New Roman Bold Italic

Arial

Arial Bold

Arial Italic

Arial Bold Italic

Symbol

Шрифт Courier New — это фиксированный шрифт (т. е. все символы имеют одинаковую ширину). Он разработан похожим на выводимые данные такого устаревшего устройства, как пишущая машинка. Группа шрифтов Times New Roman — это производные от шрифта Times, впервые разработанного специально для Times of London, и используемого во многих печатных материалах. Они рассчитаны на то, чтобы обеспечить максимальное удобство чтения. Группа шрифтов Arial — это производные от шрифта Helvetica, являющегося рубленым (sans serif) шрифтом. Это означает, что символы не имеют засечек на концах. Шрифт Symbol содержит ряд часто используемых специальных символов.

Обычно вы задаете шрифт путем указания его типового имени и типового размера. Типовой размер выражается в единицах, называемых пунктами. Пункт — это приблизительно 1/72 дюйма, разница настолько несущественна, что в компьютерной полиграфии пункт часто определяют как 1/72 дюйма без всяких оговорок. Типовой размер иногда определяют как высоту символа от верхней границы букв, имеющих выступающую верхнюю часть, до нижней границы букв, имеющих выступающую нижнюю часть. Это достаточно убедительный способ оценки типового размера, но он не является точным для всех шрифтов. Иногда разработчики шрифтов действуют по-другому.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]