2.3 Особенности TrueType шрифтов

Сейчас мы рассмотрим некоторые особенности применения собственных TrueType шрифтов. Эти особенности связаны с тем, что TrueType шрифт представлен в совершенно иной форме, чем растровые шрифты. Если Вы с помощью какого-либо инструментального средства (например, FontoGrapher) создадите TrueType шрифт, то обнаружите, что он представлен в виде файла с расширением .TTF.

Однако применять .TTF файл непосредственно нельзя. Для того, что бы можно было использовать TrueType шрифт надо построить промежуточный файл, обычно с расширением .FOT, который можно использовать вместо файла .FON для добавления шрифта в таблицу ресурсов. Для построения этого файла Вы должны воспользоваться функцией

BOOL CreateScalableFontResource(

nHidden, lpszResourceFile, lpszFontFile, lpszPath);

Эта функция создает файл с именем lpszResourceFile для доступа к .TTF файлу, заданному параметром lpszFontFile, параметр lpszPath указывает путь до .TTF файла. Последний оставшийся параметр nHidden указывает возможность использования шрифта другими приложениями. Если он 0, то другие приложения имеют доступ к этому шрифту, а если 1, то доступ запрещен и этот шрифт не перечисляется при переборе шрифтов (EnumFonts(), EnumFontFamilies()).

 

2.4 Настройка приложений

Заканчивая разговор о шрифтах, удобно рассмотреть еще один компонент Windows - средства для настройки приложений. Под настройкой (иногда "профилированием") понимается задание характеристик приложения и их сохранение для использования при следующем запуске.

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

Такие файлы (обычно имеющие расширение .INI) являются обычными ASCII–файлами, разделенными на секции, начинающиеся с имени секции, заключенного в квадратные скобки. Далее следует список параметров в виде ‘параметр=значение’, каждый параметр размещается в отдельной строке. В этот файл можно вставлять комментарии - строки начинающиеся с ‘;’.

Пример взят из файла WORKSHOP.INI:

[User Controls]

BorShade=E:\BORLANDC\WORKSHOP\BWCC.DLL

[RWS_Bitmap]

PercentLeft=50

ZoomLeft=1

ZoomRight=1

bVert=0

[RWS_Font]

PercentLeft=50

ZoomLeft=4

ZoomRight=1

bVert=1

Для работы с такими файлами Windows предоставляет набор функций, осуществляющих запись и чтение параметров:

int GetProfileInt(lpszSection, lpszEntry, nDefault);

int GetProfileString(lpszSection, lpszEntry, lpszDefault, lpsBuffer, nMaxBuffer);

BOOL WriteProfileString(lpszSection, lpszEntry, lpszString);

Параметр lpszSection задает имя секции (скобок в имени указывать не надо), lpszEntry - имя параметра. Если мы получаем значение параметра, то можем указать значение по умолчанию, которое возвращается, если данный параметр не найден.

С помощью функции GetProfileString() можно получить список имен всех параметров в секции, указав lpszEntry= NULL. При этом имена параметров секции будут скопированы в буфер последовательно друг за другом, каждое имя будет заканчиваться 0 и после последнего имени будут стоять два 0.

Функция WriteProfileString() позволяет не только записывать параметры, но и удалять, для чего надо указать lpszString=NULL. Можно удалить целиком всю секцию, указав lpszEntry=NULL.

Все три рассмотренных функции используют файл WIN.INI. При этом имя секции часто ассоциируется с именем приложения. (Поэтому в документации имя секции часто называется именем приложения).

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

int GetPrivateProfileInt( lpszSection, lpszEntry, nDefault, lpszIniFile );

int GetPrivateProfileString(

lpszSection, lpszEntry, lpszDefault, lpsBuffer, nMaxBuffer, lpszIniFile);

BOOL WritePrivateProfileString(

lpszSection, lpszEntry, lpszString, lpszIniFile);

Последний параметр этих функций задает имя файла настройки. Если Вы не указываете путь к файлу, то он размещается в каталоге Windows.

 

2.5 Информация стандартных файлов настройки (win.ini и system.ini) о шрифтах и о принтере

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

Сейчас мы рассмотрим информацию, хранимую в этом файле, касающуюся шрифтов. Самая существенная для нас секция - [fonts]. В этой секции перечислены все шрифты, которые помещаются в системную таблицу при запуске Windows. Формат записей:

face name = file.fon

face name - это имя шрифта, а file.fon - имя шрифтового файла, содержащего растровый или векторный шрифт, или file.fot - TrueType шрифт.

Пример:

[fonts]

Academy (TrueType)=ACADEMY.FOT

Academy Bold (TrueType)=ACADEMY0.FOT

Следующая секция, относящаяся к шрифтам, [FontSubstitutes], указывающая, какие шрифты, входящие в Windows 3.1 должны использоваться вместо некоторых шрифтов, входивших в Windows 3.0. Формат записей:

new name= old name

Пример:

[FontSubstitutes]

Helv=MS Sans Serif

Courier=Helv

Если Вы адаптируете приложение Windows 3.0 для работы в Windows 3.1, то Вам надо ссылаться на эту секцию для определения имен шрифтов, которые Вы должны применять.

Дополнительно информация о системных шрифтах содержится в файле SYSTEM.INI, где в секции [boot] указываются системный (ANSI), терминальный (OEM) и системный фиксированной ширины (ANSI) шрифты. Это делается с помощью параметров:

[boot]

fonts.fon=vgasys.fon

fixedfon.fon=vgafix.fon

oemfonts.fon=vgaoem.fon

Эти шрифты используются Windows при загрузке, когда системная таблица шрифтов еще не инициализирована. Кроме того некоторые шрифты, используемые DOS окном в Windows определены в секциях:

[boot.description]

woafont.fon=English (437)

[386Enh]

woafont=dosapp.fon

EGA80WOA.FON=EGA80WOA.FON

EGA40WOA.FON=EGA40WOA.FON

CGA80WOA.FON=CGA80WOA.FON

CGA40WOA.FON=CGA40WOA.FON

Рассмотрение стандартных файлов настройки мы продолжим, перейдя к параметрам принтера. Для этого мы возвращаемся к файлу WIN.INI, секция [devices]. В этой секции перечислены все принтеры, которые были использованы инсталлированы. Каждая запись определяет имя принтера, имя драйвера и имя выходного устройства (последовательный или параллельный порт, файл); формат записей:

printer name= driver, port1 [,port2[,...]]

где printer name - имя принтера, driver - имя драйвера и portN - имя выводного устройства.

Пример:

[devices]

Epson FX-80=EPSON9,FILE:,LPT1:

то есть: принтер 'Epson FX-80' обслуживается драйвером 'EPSON9.DRV' и может направлять вывод в файл или в параллельный порт #1.

Характеристики выводных устройств должны быть указаны еще в двух местах - в секции [ports], где перечислены имена всех разрешенных выводных устройств и заданы характеристики последовательных портов, и в секции [PrinterPorts], где указаны предельные времена ожидания готовности и ошибки.

В секции [ports] записывается примерно такая информация:

[ports]

LPT1:=

LPT2:=

COM1:=9600,n,8,1

COM2:=9600,n,8,1,x

EPT:=

FILE:=

LPT1.DOS=

А в секции [PrinterPorts] записи похожи на секцию [device] с дополнительно указанными временами ожидания готовности и повторения для каждого устройства.

[PrinterPorts]

Epson FX-80=EPSON9,FILE:,15,45,LPT1:,15,45

С помощью всех рассмотренных параметров описываются установленные в данный момент принтеры, однако нас зачастую не интересуют все мыслимые принтеры, а только один - тот, который подключен непосредственно сейчас. Для того, что бы определить этот принтер надо обратить внимание на секцию [windows], в которой есть параметр:

device= printer name, driver, port

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

 



Информация о работе «Семейства шрифтов в Windows»
Раздел: Информатика, программирование
Количество знаков с пробелами: 44636
Количество таблиц: 5
Количество изображений: 0

Похожие работы

Скачать
49635
0
7

и, при ко-  вкручивает лампочку? Он берет ее тором вы получаете возможность в руку и заставляет Вселенную комбинировать изображение, звук вращаться вокруг себя. Windows - и текст). не просто операционная система, 6.Использование масштабируемых  это новая философия работы с шрифтов True Type. В Windows компьютером. (из реферата о Windows)   ...

Скачать
29935
1
0

... для построения информационной системы любого масштаба: от простейшей сети из нескольких персональных компьютеров до сложной гетерогенной системы на сотни тысяч пользователей. Система безопасности Windows NT Server обеспечивает защиту информации и системных служб от несанкционированного доступа и от неквалифицированных действий пользователей. Операционные системы Windows NT Server и Windows NT® ...

Скачать
26182
0
2

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

Скачать
152655
7
3

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

0 комментариев


Наверх