Учебное пособие: Семейства шрифтов в Windows

Конечно нам понадобится файл описания приложения .DEF в несколько специфичном виде:

LIBRARY

DESCRIPTION 'FONTRES DISPLAY : 40-char terminal'

EXETYPE WINDOWS

STUB 'WINSTUB.EXE'

DATA NONE

Надо обратить внимание на использование слова LIBRARY, вместо NAME, для указания того, что это не обычное приложение, а библиотека. Далее мы должны указать, что наша библиотека не имеет данных 'DATA NONE' и составить описание нашего шрифта. Для этого мы должны в DESCRIPTION указать строку специального формата:

DESCRIPTION 'FONTRES aspect,logpixelsx,logpixelsy : comment'

DESCRIPTION 'FONTRES DEVICESPECIFIC device : comment'

DESCRIPTION 'FONTRES DISPLAY : comment'

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

Второй формат задает шрифт, созданный для конкретного устройства. Параметр device задает имя устройства, для которого шрифт спроектирован, например: IBM 8514. Третий формат указывает, что шрифт спроектирован для дисплея.

Далее мы должны построить библиотеку ресурсов. Как уже говорилось, это можно сделать двумя способами - создав приложение не имеющее кода или создав приложение, являющееся разделяемой библиотекой.

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

_TEXT segment byte public 'CODE'

_TEXT ends

end

Этот файл описывает только один сегмент нулевой длины.

После этого мы можем приступить к построению шрифтового файла. Для этого мы сначала компилируем ассемблерный файл:

tasm file.asm

затем мы должны построить нашу библиотеку и включить в нее спроектированные ресурсы:

tlink file.obj,file.exe,nul,,file.def

rc file.rc

rename file.exe file.fon

Теперь мы располагаем собственным шрифтовым ресурсом, который мы можем применять в нашем приложении. Еще раз надо отметить, что обязательно применение 'Borland TLINK' для построения файла, так как другие сборщики могут построить неверный модуль.

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

#include <windows.h>

extern "C" {

int CALLBACK LibMain(

К-во Просмотров: 440
Бесплатно скачать Учебное пособие: Семейства шрифтов в Windows