На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

Font Creation and Selection



Previous versions of Windows required that the application developer provide source code and a dialog box template to support an interface that displayed the available fonts from which the user could choose. The new Font common dialog box simplifies the creation and selection process. By initializing the CHOOSEFONT structure and calling the ChooseFont function, an application can support the same font-selection interface that previously required many lines of code. (For more information about the Font common dialog box, see Common Dialog Box Library.)

Selection by the User

Most font creation and selection operations involve the user. For example, word processing applications let the user select unique fonts for headings, footnotes, and body text. After the user selects a font by using the Font dialog box and presses the OK button, the ChooseFont function initializes the members of a LOGFONT structure with the attributes of the requested font. To use this font for text-output operations, an application must first create a logical font and then select that font into its device context. A logical font is an application-supplied description of an ideal font. A developer can create a logical font by calling the CreateFont or the CreateFontIndirect functions. In this case, the application would call CreateFontIndirect and supply a pointer to the LOGFONT structure initialized by ChooseFont. In general, it is more efficient to call CreateFontIndirect because CreateFont requires several parameters while CreateFontIndirect requires only one ѕ a pointer to LOGFONT.

Before an application can actually begin drawing text with a logical font, it must find the closest match from the fonts stored internally on the device and the fonts whose resources have been loaded into the operating system. The fonts stored on the device or in the operating system are called physical fonts. The process of finding the physical font that most closely matches a specified logical font is called font mapping. This process occurs when an application calls the SelectObject function and supplies a handle identifying a logical font. Font mapping is performed by using an internal algorithm that compares the attributes of the requested logical font against the attributes of available physical fonts. When the font mapper algorithm completes its search and determines the closest possible match, the SelectObject function returns and the application can begin drawing text with the new font.

The SetMapperFlags function specifies whether or not the font mapper algorithm searches only for physical fonts with aspect ratios that match the physical device. The aspect ratio for a device is the ratio formed by the width and the height of a pixel on that device.


Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

Шрифтовое Создание и Выбор



Предшествующие версии Окна требовали, чтобы прикладной разработчик обеспечивал исходный код и диалоговый шаблон ящика, чтобы поддерживать интерфейс, который отображал доступные шрифты из которых потребитель мог бы выбраться. Новый Шрифтовой общий диалоговый ящик упрощает процесс создания и выбора. Инициализируя структуру CHOOSEFONT и вызывая функцию ChooseFont, приложение может поддержать тот же шрифтовой выбор интерфейса этих прежде необходимых много линий кода. (Более подробно о Шрифтовом общем диалоговом ящике, смотри Общую Диалоговую Библиотеку Ящика.)

Выбор Потребителем

Шрифтовое создание и действия выбора включают потребителя. Например, текстовая обработка приложений позволяет выбору потребителя уникальных шрифтов для заголовков, сносок и воплощать текст. После того, как потребитель выберется шрифт используя диалог Шрифта боксировать и нажимает кнопку OK, функция ChooseFont инициализирует участников структуры LOGFONT с атрибутами попрошенного шрифта. Чтобы использовать этот шрифт для текстовых-выходных действий, приложение должно сначала создавать логический шрифт затем выбираться этот шрифт в свой контекст устройства. Логический шрифт является поставленным прикладным описанием идеального шрифта. Разработчик может создать логический шрифт вызывая CreateFont или функции CreateFontIndirect. В этом случае, приложение должно называть CreateFontIndirect и поставлять указатель в структуру LOGFONT инициализированную ChooseFont. В общих чертах, это более эффективное, чтобы называть CreateFontIndirect поскольку CreateFont требует несколько параметров тогда как CreateFontIndirect требует только один U указатель на LOGFONT.

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

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


Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz