структура PRINTIFI32 (prntfont.h)
Структура PRINTIFI32 является версией структуры IFIMETRICS фиксированного размера и определяет сведения для данного шрифта, который может использовать GDI.
Синтаксис
typedef struct _PRINTIFI32 {
ULONG cjThis;
ULONG cjIfiExtra;
PTRDIFF dpwszFamilyName;
PTRDIFF dpwszStyleName;
PTRDIFF dpwszFaceName;
PTRDIFF dpwszUniqueName;
PTRDIFF dpFontSim;
LONG lEmbedId;
LONG lItalicAngle;
LONG lCharBias;
PTRDIFF dpCharSets;
BYTE jWinCharSet;
BYTE jWinPitchAndFamily;
USHORT usWinWeight;
ULONG flInfo;
USHORT fsSelection;
USHORT fsType;
FWORD fwdUnitsPerEm;
FWORD fwdLowestPPEm;
FWORD fwdWinAscender;
FWORD fwdWinDescender;
FWORD fwdMacAscender;
FWORD fwdMacDescender;
FWORD fwdMacLineGap;
FWORD fwdTypoAscender;
FWORD fwdTypoDescender;
FWORD fwdTypoLineGap;
FWORD fwdAveCharWidth;
FWORD fwdMaxCharInc;
FWORD fwdCapHeight;
FWORD fwdXHeight;
FWORD fwdSubscriptXSize;
FWORD fwdSubscriptYSize;
FWORD fwdSubscriptXOffset;
FWORD fwdSubscriptYOffset;
FWORD fwdSuperscriptXSize;
FWORD fwdSuperscriptYSize;
FWORD fwdSuperscriptXOffset;
FWORD fwdSuperscriptYOffset;
FWORD fwdUnderscoreSize;
FWORD fwdUnderscorePosition;
FWORD fwdStrikeoutSize;
FWORD fwdStrikeoutPosition;
BYTE chFirstChar;
BYTE chLastChar;
BYTE chDefaultChar;
BYTE chBreakChar;
WCHAR wcFirstChar;
WCHAR wcLastChar;
WCHAR wcDefaultChar;
WCHAR wcBreakChar;
POINTL ptlBaseline;
POINTL ptlAspect;
POINTL ptlCaret;
RECTL rclFontBox;
BYTE achVendId[4];
ULONG cKerningPairs;
ULONG ulPanoseCulture;
PANOSE panose;
} PRINTIFI32, *PPRINTIFI32;
Члены
cjThis
Задает размер этой структуры в байтах. Указанный размер включает все строки Юникода, добавленные в конец этой структуры, а также размер в байтах необязательной структуры IFIEXTRA .
cjIfiExtra
Указывает размер в байтах структуры IFIEXTRA, следующей за этой структурой. Значение, равное нулю, указывает, что структура IFIEXTRA отсутствует.
dpwszFamilyName
Указывает смещение в байтах к строке Юникода, завершаемой null, содержащей имя семейства шрифта (например, Times Roman). Как правило, эта строка сразу же следует за этой структурой. Эта строка должна совпадать с именем, записанным в элементе lfFaceName структуры Win32 LOGFONT.
dpwszStyleName
Указывает смещение в байтах до строки Юникода, завершаемой null, описывающей стиль шрифта (например, "Полужирный").
dpwszFaceName
Задает смещение в байтах к строке Юникода, завершаемой null, представляющей уникальное и полное имя шрифта. Имя содержит имена семейства и подсемейства шрифта (например, "Times New Roman Bold").
dpwszUniqueName
Указывает смещение в байтах к строке Юникода, завершаемой null, представляющей уникальный идентификатор шрифта (например, "Monotype:Times New Roman:1990").
dpFontSim
Указывает смещение в байтах от начала этой структуры до структуры FONTSIM , описывающей имитации, поддерживаемые шрифтом. Драйвер должен задать для этого элемента ненулевое значение, только если шрифт поддерживает полужирное, курсивное или полужирное курсивное моделирование; В противном случае драйвер должен задать для этого параметра значение 0.
Обратите внимание, что если шрифт выделен курсивом, драйвер не должен указывать поддержку шрифта для моделирования курсивом, хотя он может указывать на поддержку шрифта для симуляции курсивом полужирным шрифтом. Аналогичным образом драйвер не должен указывать поддержку шрифта для имитации полужирным шрифтом, если шрифт выделен полужирным шрифтом, но может указывать на поддержку шрифта для симуляции курсивом полужирным шрифтом. Если шрифт выделен полужирным шрифтом и курсивом, он не должен поддерживать имитацию.
Смещения в структуре FONTSIM связаны с основанием структуры FONTSIM.
lEmbedId
Указывает идентификатор внедрения шрифта. Это значение относится к TrueType и должно быть равно нулю всеми другими поставщиками шрифтов.
lItalicAngle
Задает курсивный угол шрифта. Это значение относится к TrueType и должно быть равно нулю всеми другими поставщиками шрифтов.
lCharBias
Задает смещение символов. Это значение относится к TrueType и должно быть равно нулю всеми другими поставщиками шрифтов.
dpCharSets
Задает смещение от начала этой структуры до массива, содержащего список всех наборов символов Windows, поддерживаемых этим шрифтом. Размер массива составляет 16 байт и всегда заканчивается DEFAULT_CHARSET. Первое значение массива должно идентифицировать кодировку Windows, которая имеет наиболее полное покрытие шрифта; Это значение также должно храниться в jWinCharSet. Например, если это японский шрифт, который также поддерживает кодировку ANSI и кириллицу в США, то для jWinCharSet следует задать значение SHIFTJIS_CHARSET а массив, определяемый dpCharSets , будет содержать SHIFTJIS_CHARSET, ANSI_CHARSET, RUSSIAN_CHARSET DEFAULT_CHARSET.
Если этот шрифт не поддерживает более одной кодировки Windows, то для dpCharSets должно быть задано значение 0.
jWinCharSet
Определяет набор символов, который лучше всего поддерживается этим шрифтом. Если шрифт поддерживает только одну кодировку Windows, драйвер должен хранить соответствующее значение в jWinCharSet. Драйвер не должен хранить DEFAULT_CHARSET в этом поле. Этот элемент может иметь одно из следующих значений:
Значение | Описание |
---|---|
ANSI_CHARSET | Этот шрифт поддерживает кодировку Windows ANSI. |
ARABIC_CHARSET | Этот шрифт поддерживает набор арабских символов. |
BALTIC_CHARSET | Этот шрифт поддерживает набор символов Baltic. |
CHINESEBIG5_CHARSET | Этот шрифт поддерживает традиционную китайскую (big 5) кодировку. |
EASTEUROPE_CHARSET | Этот шрифт поддерживает набор символов в Восточной Европе. |
GB2312_CHARSET | Этот шрифт поддерживает упрощенный (PRC) набор китайских символов. |
GREEK_CHARSET | Этот шрифт поддерживает набор греческих символов. |
HANGEUL_CHARSET | Этот шрифт поддерживает корейский (хангеульский) набор символов. |
HEBREW_CHARSET | Этот шрифт поддерживает набор символов на иврите. |
JOHAB_CHARSET | Этот шрифт поддерживает набор символов корейского языка (johab). |
OEM_CHARSET | Этот шрифт поддерживает набор символов изготовителя оборудования. Набор символов OEM зависит от системы. |
SHIFTJIS_CHARSET | Этот шрифт поддерживает набор символов Shift-JIS (японский отраслевой стандарт). |
SYMBOL_CHARSET | Этот шрифт поддерживает набор символов Windows. |
RUSSIAN_CHARSET | Этот шрифт поддерживает кодировку кириллицы. |
THAI_CHARSET | Этот шрифт поддерживает тайский набор символов. |
TURKISH_CHARSET | Этот шрифт поддерживает турецкую кодировку. |
VIETNAMESE_CHARSET | Этот шрифт поддерживает вьетнамскую кодировку. |
jWinPitchAndFamily
Задает тон шрифта. Два бита нижнего порядка задают тон шрифта и могут иметь одно из следующих значений:
Значение | Описание |
---|---|
FIXED_PITCH | Для шрифтов с фиксированным тоном |
VARIABLE_PITCH | Для шрифтов с переменным тоном |
Биты 4–7 этого элемента указывают семейство шрифтов и могут иметь одно из следующих значений:
Значение | Описание |
---|---|
FF_DECORATIVE | Новизна шрифтов, таких как старый английский. |
FF_DONTCARE | Не волнуйся или неизвестно. |
FF_MODERN | Шрифты с постоянной шириной штриха (с фиксированным шагом), с засечками или без нее. Шрифты с фиксированным шагом обычно являются современными, такими как Pica, Elite и Courier. |
FF_ROMAN | Шрифты с переменной шириной штриха (с пропорциональным интервалом) и с засечками, такими как Times Roman, Palatino и Century Schoolbook. |
FF_SCRIPT | Шрифты, предназначенные для рукописного ввода, такие как Script и Cursive. |
FF_SWISS | Шрифты с переменной шириной штриха (пропорционально разделены) и без засечек, например Helvetica и Swiss. |
usWinWeight
Задает вес шрифта в диапазоне от 0 до 1000 (например, 400 — обычный, а 700 — полужирный). Это значение предоставляется приложению в элементе lfWeight структуры Win32 LOGFONT.
flInfo
Указывает дополнительные сведения о шрифте. Это поле может быть сочетанием следующих значений флагов:
Значение
Значение
FM_INFO_1BPP
Указывает, что растровое изображение глифа имеет глубину цвета в один бит на пиксель. Для Windows NT 3.1, первой версии Windows NT, необходимо установить этот флаг.
FM_INFO_4BPP
Указывает, что растровое изображение глифа имеет глубину цвета в четыре бита на пиксель. Драйвер должен задать это значение, если шрифт поддерживает точечные изображения глифа с сглаживания с 16 уровнями серого.
FM_INFO_8BPP
Указывает, что растровое изображение глифа имеет глубину цвета восемь бит на пиксель. Текущая версия GDI игнорирует этот параметр, так как не поддерживает цветовые шрифты.
FM_INFO_16BPP
Указывает, что растровое изображение глифа имеет глубину цвета 16 бит на пиксель. Текущая версия GDI игнорирует этот параметр, так как не поддерживает цветовые шрифты.
FM_INFO_24BPP
Указывает, что растровое изображение глифа имеет глубину цвета 24 бита на пиксель. Текущая версия GDI игнорирует этот параметр, так как не поддерживает цветовые шрифты.
FM_INFO_32BPP
Указывает, что растровое изображение глифа имеет глубину цвета 32 бита на пиксель. Текущая версия GDI игнорирует этот параметр, так как не поддерживает цветовые шрифты.
FM_INFO_90DEGREE_ROTATIONS
Указывает, что шрифт может быть реализован в поворотах на 90 градусов исходной условной фигуры. GDI запрашивает вращение шрифта, включив поворот в преобразование от условного к устройству, передаваемое драйверу при создании шрифта. Этот элемент имеет значение только в том случае, если флаг FM_INFO_ARB_XFORMS не установлен.
FM_INFO_ANISOTROPIC_SCALING_ONLY
Указывает, что шрифт поддерживает только произвольное анизотропное масштабирование. То есть преобразования эквивалентны диагональной матрице, умноженной на положительное вещественное число. Если этот флаг установлен, то флаги FM_INFO_ARB_XFORMS и FM_INFO_ISOTROPIC_SCALING_ONLY установить нельзя. Если также установлен флаг FM_INFO_90DEGREE_ROTATIONS, шрифт поддерживает преобразования, которые представляют собой сочетание простого анизотропного масштабирования с последующим поворотом на кратный 90 градусов.
FM_INFO_ARB_XFORMS
Указывает, что шрифт может быть реализован в непрерывном диапазоне двумерных линейных преобразований.
FM_INFO_CONSTANT_WIDTH
Указывает, что все глифы шрифта во всех реализациях имеют одинаковое значение приращения символов. Если этот флаг установлен, необходимо также установить флаг FM_INFO_OPTICALLY_FIXED_PITCH.
FM_INFO_DBCS_FIXED_PITCH
Указывает, что двухбайтовые символы для этого шрифта имеют фиксированный шаг. Однобайтовые символы не подразумевают ничего. Этот флаг имеет смысл только для шрифтов, поддерживающих двухбайтовую кодировку (DBCS), например shift JIS. Шрифты, которые не поддерживают DBCS, не должны устанавливать этот флаг.
FM_INFO_DO_NOT_ENUMERATE
Указывает, что этот шрифт не будет перечисляться подпрограммами Win32 EnumFontFamiliesEx, EnumFontFamilies или EnumFonts . Кроме того, строка, возвращаемая вызову приложения Win32 в GetTextFace , будет извлечена из строки dpwszUniqueName. Этот флаг позволяет поставщику шрифтов связать несколько PRINTIFI32 структуру с одним из своих шрифтов.
FM_INFO_DSIG
Указывает, что шрифт соответствует стандарту Юникода.
FM_INFO_FAMILY_EQUIV
Указывает, что смещение dpwszFamilyName в PRINTIFI32 фактически является смещением списка эквивалентных имен семейств или псевдонимов. Первое имя — это базовое или реальное имя; последующие имена являются эквивалентами или псевдонимами. Каждое имя в списке заканчивается null; список завершается двумя нулями.
<base name> <alias 0> <alias 1> ... <alias n>
Основанные имена используются только для сопоставления; они не перечисляются.
FM_INFO_IGNORE_TC_RA_ABLE
Указывает, что для этого шрифта флаг TC_RA_ABLE игнорируется.
FM_INFO_INTEGER_WIDTH
Указывает, что все глифы имеют непрекрепляющую ширину вперед. Этот флаг обычно задают точечные шрифты.
FM_INFO_INTEGRAL_SCALING
Указывает, что шрифт можно масштабировать на целочисленную величину в направлениях x и y. Если этот флаг установлен, драйвер должен иметь возможность отрисовки глифов в случае, когда преобразование от даты к устройству масштабируется на целые суммы в направлениях x и y. GDI запрашивает целочисленное масштабирование шрифта, включив оси масштабирования в преобразование от отсюдаемого к устройству, передаваемого драйверу при создании шрифта. Этот флаг имеет смысл только в том случае, если флаг FM_INFO_ARB_XFORMS не установлен.
FM_INFO_ISOTROPIC_SCALING_ONLY
Указывает, что шрифт поддерживает только произвольное изотропное масштабирование. То есть преобразования эквивалентны матрице идентификации, умноженной на положительное реальное число. Если этот флаг установлен, то установить флаги FM_INFO_ARB_XFORMS и FM_INFO_ANISOTROPIC_SCALING_ONLY нельзя. Если установлен флаг FM_INFO_90DEGREE_ROTATIONS, шрифт поддерживает преобразования, эквивалентные изотропическому масштабированию с последующим поворотом на кратные 90 градусов.
FM_INFO_OPTICALLY_FIXED_PITCH
Указывает, что этот шрифт считается типографикой как фиксированный шаг. Это оптическое качество шрифта и не обязательно указывает на то, что все глифы шрифта имеют одинаковый приращение символов.
FM_INFO_NONNEGATIVE_AC
Указывает, что все глифы этого шрифта не имеют интервалов a и c . То есть черный ящик глифа никогда не выходит за пределы области, окаймленной источником символа и точкой объединения символов.
FM_INFO_NOT_CONTIGUOUS
Указывает, что поддерживаемая кодировка не является непрерывной.
FM_INFO_RETURNS_BITMAPS
Указывает, что шрифт содержит допустимую цифровую подпись.
FM_INFO_RETURNS_OUTLINES
Указывает, что для любого глифа, поддерживаемого драйвером, GDI может запросить структуру PATHOBJ , которая описывает структуру этого глифа. Если это возможно, при заполнении структуры с использованием соглашений о заполнении пути GDI результирующее растровое изображение должно быть идентично растровой диаграмме, возвращенной драйвером. Флаги FM_INFO_RETURNS_OUTLINES и FM_INFO_RETURNS_STOKES нельзя задать одновременно.
FM_INFO_RETURNS_STROKES
Указывает, что для любого глифа, поддерживаемого драйверами, GDI может запросить структуру PATHOBJ, которая описывает сплайн глифа. Этот путь не может быть заполнен, но его можно обвести, чтобы получить представление глифа. Флаги FM_INFO_RETURNS_OUTLINES и FM_INFO_RETURNS_STOKES нельзя задать одновременно.
FM_INFO_RIGHT_HANDED
Указывает, что направление подъема шрифта составляет 90 градусов против часовой стрелки от базового направления. Направление подъема — это направление, вдоль которого измеряется высота и всегда перпендикулярно базовому направлению.
FM_INFO_TECH_BITMAP
Указывает, что шрифт является точечным.
FM_INFO_TECH_CFF
Указывает, что шрифт является шрифтом Pscript OpenType, который содержит таблицу CFF.
FM_INFO_TECH_MM
Указывает, что это шрифт с несколькими образцами (ММ).
FM_INFO_TECH_OUTLINE_NOT_TRUETYPE
Указывает, что шрифт основан на технологии масштабируемого шрифта, которая использует контуры, но не на основе TrueType. Этот флаг не указывает, следует ли заполнять или обводить пути, возвращаемые для этого шрифта; Потребитель должен проверить флаги FM_INFO_RETURNS_STROKES и FM_INFO_RETURNS_OUTLINES для этих сведений.
FM_INFO_TECH_STROKE
Указывает, что шрифт основан на технологии штриховки. Этот флаг не указывает, следует ли заполнять или обводить пути, возвращаемые для этого шрифта; Потребитель должен проверить флаги FM_INFO_RETURNS_STROKES и FM_INFO_RETURNS_OUTLINES для получения этих сведений.
FM_INFO_TECH_TRUETYPE
Указывает, что шрифт является шрифтом TrueType.
FM_INFO_TECH_TYPE1
Указывает, что этот шрифт является шрифтом экрана PostScript (Type1 или OpenType PostScript).
fsSelection
Задает сочетание следующих флагов:
Значение | Описание |
---|---|
FM_SEL_BOLD | Задайте значение, если символы шрифта выделены полужирным шрифтом. |
FM_SEL_ITALIC | Задает значение , если символы шрифта являются курсивом. |
FM_SEL_NEGATIVE | Установите значение , если символы шрифта имеют обратный передний план и фон. |
FM_SEL_OUTLINED | Установите значение , если символы шрифта пустые. |
FM_SEL_REGULAR | Задает значение , если символы шрифта имеют нормальный вес. |
FM_SEL_STRIKEOUT | Установите значение , если символы шрифта вычеркнуты по умолчанию; В противном случае необходимо смоделировать зачеркивающие. |
FM_SEL_UNDERSCORE | Установите значение , если все символы шрифта по умолчанию подчеркнуты; в противном случае необходимо смоделировать подчеркивание. |
fsType
Это битовое поле trueType, указывающее определенные свойства шрифта, такие как внедрение шрифта и права на лицензирование шрифта. Встраиваемые шрифты могут храниться в документе. При открытии документа с внедренными шрифтами в системе, где не установлен шрифт (удаленная система), внедренный шрифт может быть загружен для временного (а в некоторых случаях и постоянного) использования в этой системе приложением, поддерживающим внедрение. Права на лицензирование внедрения предоставляются поставщиком шрифтов. Можно задать следующие флаги:
Значение | Описание |
---|---|
FM_EDITABLE_EMBED | Задайте значение , если шрифт можно внедрить и временно загрузить в другие системы. Документы, содержащие редактируемые шрифты, можно открывать для чтения и записи. |
FM_READONLY_EMBED | Установите значение , если встраивание для чтения и записи запрещено; Допускается только инкапсуляция предварительного просмотра и печати. Если этот бит задан, шрифт можно внедрить и временно загрузить в удаленную систему. Документы, содержащие шрифты предварительного просмотра и печати, должны быть открыты только для чтения; никакие изменения к документу не могут быть применены. |
FM_TYPE_LICENSED, FM_NO_EMBEDDING | Установите значение , если шрифт является шрифтом ограниченной лицензии. Если задан только этот бит, этот шрифт не должен быть изменен, внедрен или заменен каким-либо образом без предварительного получения разрешения законного владельца. Чтобы внедрение с ограниченной лицензией войло в силу, это должен быть единственный выбранный уровень внедрения. |
Шрифты с набором битов FM_READONLY_EMBED указывают, что они могут быть внедрены в документы, но должны быть установлены только временно в удаленной системе. Любой документ, содержащий шрифт FM_READONLY_EMBED, должен быть открыт только для чтения. То есть приложение может позволить пользователю просматривать и(или) печатать документ, но не редактировать его.
Шрифты с набором битов FM_EDITABLE_EMBED указывают, что они могут быть внедрены в документы, но должны быть установлены только временно в удаленной системе. В отличие от FM_READONLY_EMBED шрифтов, документы, содержащие редактируемые шрифты, можно открывать "для чтения и записи"; редактирование разрешено, и изменения могут быть сохранены.
Шрифты без набора битов fsType указывают на то, что они могут быть внедрены и окончательно установлены в удаленной системе приложением. Пользователь удаленной системы получает те же права, обязанности и лицензии на этот шрифт, что и первоначальный покупатель шрифта, и на это распространяется то же лицензионное соглашение конечного пользователя, авторское право, патент на разработку и/или товарный знак, что и первоначальный покупатель.
Приложения, реализующие поддержку внедрения шрифтов с помощью библиотеки DLL внедрения шрифтов или другими средствами, не должны внедрять шрифты, которые не лицензированы для внедрения. Кроме того, приложения, загружающие внедренные шрифты для временного использования , должны удалять шрифты при закрытии документа, содержащего внедренный шрифт.
Если задано несколько битов внедрения, приоритет имеет наименее ограниченная лицензия. Например, если заданы биты 1 и 3, бит 3 имеет приоритет над битом 1, и шрифт можно внедрить с редактируемыми правами. Для обеспечения совместимости большинство поставщиков, предоставляющих права на внедрение с помощью прав editable, также устанавливают бит предварительной версии & печати (0x000C). Это позволяет приложению, поддерживающему только предварительное внедрение & печать, обнаруживать, что внедрение шрифта разрешено.
fwdUnitsPerEm
Задает em-высоту шрифта.
fwdLowestPPEm
Указывает наименьший доступный для чтения размер шрифта в пикселях. Это значение игнорируется для точечных шрифтов.
fwdWinAscender
Задает значение возрастания Windows для шрифта.
fwdWinDescender
Задает значение убывателя Windows для шрифта.
fwdMacAscender
Задает значение возрастания Macintosh для шрифта.
fwdMacDescender
Задает значение нисходящего значения Macintosh для шрифта. Обычно это число меньше нуля. Он измеряет смещение знака от базовой линии нижнего нисходящего элемента в кодировке Macintosh.
fwdMacLineGap
Указывает разрыв в строках Macintosh для шрифта. Предлагаемый межстрочный интервал Macintosh равен fwdMacLineGap + fwdMacAscender âˆ' fwdMacDescender.
fwdTypoAscender
Задает типографическое значение возрастания для шрифта.
fwdTypoDescender
Задает типографическое значение для шрифта. Это значение указывает смещение со знаком наименьшего нисходящего элемента от базового плана.
fwdTypoLineGap
Указывает типографический разрыв строки для шрифта.
fwdAveCharWidth
Задает среднее арифметическое значение ширины всех 26 строчные буквы от "a" до "z" латинского алфавита и символа пробела. Если какая-либо из 26 строчных букв отсутствует, этот элемент должен быть равен среднему взвешенный для всех глифов в шрифте.
fwdMaxCharInc
Указывает максимальное приращение символов для всех глифов в шрифте.
fwdCapHeight
Указывает высоту оптической линии, описывающей верхнюю часть верхнего регистра "H" в единицах шрифта (FUnits). Это может не совпадать с измеренной высотой верхнего регистра "H". Если эти сведения не существуют, для параметра fwdCapHeight должно быть задано значение 0, что означает, что она не определена.
fwdXHeight
Указывает высоту оптической строки, описывающей высоту нижнего регистра "x" в единицах шрифта. Это может не совпадать с измеренной высотой нижнего регистра "x". Значение, равное нулю, указывает, что этот элемент не определен.
fwdSubscriptXSize
Задает предлагаемую ширину символов (размер вдоль базового направления) подстрочного шрифта.
fwdSubscriptYSize
Указывает предполагаемую высоту символа (размер по возрастанию) подстрочного шрифта.
fwdSubscriptXOffset
Задает предлагаемое смещение в базовом направлении подстрочного символа. Смещение по отношению к источнику базового символа.
fwdSubscriptYOffset
Задает предлагаемое смещение в базовом направлении подстрочного символа. Смещение берется из источника символа базового символа.
fwdSuperscriptXSize
Задает предлагаемую ширину символа (размер вдоль базового направления) надстрочного шрифта.
fwdSuperscriptYSize
Задает предлагаемую высоту символа (размер по направлению по возрастанию) надстрочного шрифта.
fwdSuperscriptXOffset
Указывает предлагаемое смещение в базовом направлении надстрочного символа. Смещение берется из источника символа базового символа.
fwdSuperscriptYOffset
Указывает предлагаемое смещение в базовом направлении надстрочного символа. Смещение берется из источника символа базового символа.
fwdUnderscoreSize
Задает предлагаемую ширину строки подчеркивания в единицах шрифта.
fwdUnderscorePosition
Задает предлагаемое смещение в единицах шрифта от базовой строки до середины строки подчеркивания.
fwdStrikeoutSize
Указывает предлагаемую ширину зачеркивной полосы в координатах шрифта.
fwdStrikeoutPosition
Указывает предлагаемое смещение середины полосы зачеркиния от базового плана.
chFirstChar
Задает самый низкий поддерживаемый символ в кодовой странице, указанной в jWinCharSet. Это поле предоставляется для совместимости Windows 3.1.
chLastChar
Указывает самый высокий поддерживаемый символ на кодовой странице, указанной в jWinCharSet. Это поле предоставляется для совместимости Windows 3.1.
chDefaultChar
Задает символ по умолчанию на кодовой странице, указанной в jWinCharSet. Это поле предоставляется для совместимости Windows 3.1.
chBreakChar
Указывает символ разрыва на кодовой странице, указанной в jWinCharSet. Это поле предоставляется для совместимости с Windows 3.1.
wcFirstChar
Указывает поддерживаемый символ с наименьшим кодом юникода.
wcLastChar
Указывает поддерживаемый символ с наибольшим кодом символов Юникода.
wcDefaultChar
Указывает символ, который следует заменить, когда приложение запрашивает символ, который не поддерживается шрифтом.
wcBreakChar
Указывает кодовую точку символа пробела или его эквивалента.
ptlBaseline
Задает структуру POINTL , содержащую предполагаемое направление записи этого шрифта. Например, типичный латинский шрифт задает значение (1,0).
ptlAspect
Задает структуру POINTL, содержащую пропорции центров пикселей, для которых был разработан шрифт растрового рисунка. Это значение используется только шрифтами точечных рисунков.
ptlCaret
Задает структуру POINTL, содержащую направление по возрастанию шрифта. Например, для неитализированного латинского шрифта используется значение (0,1), в то время как курсивный латинский шрифт может указывать значение (2,5).
rclFontBox
Задает структуру RECTL , описывающую ограничивающий прямоугольник всех глифов в шрифте в пространстве конструктора.
achVendId[4]
Задает идентификатор из четырех символов для поставщика шрифтов. Идентификаторы описаны в спецификации Microsoft TrueType.
cKerningPairs
Указывает количество пар кернинга, связанных с этим шрифтом.
ulPanoseCulture
Указывает способ интерпретации номера panose. Для этого числа должно быть задано значение FM_PANOSE_CULTURE_LATIN для латинских шрифтов. Сведения о структуре PANOSE см. в документации по пакету SDK Microsoft Window.
panose
Массив из 10 байт, используемый для описания визуальных характеристик данного шрифта. Затем эти характеристики используются для связывания шрифта с другими шрифтами аналогичного вида с разными именами. Сведения о структуре PANOSE см. в документации по пакету SDK для Windows.
Комментарии
Структура PRINTIFI32 доступна в Windows Server 2003 с пакетом обновления 1 (SP1) и более поздних версиях. Так как эта структура имеет фиксированный размер и гарантированно не будет изменяться в разных архитектурах или версиях операционной системы, ее можно использовать для макетов двоичных файлов. Файлы UFM Unidrv представлены в формате, описанном в этой структуре, для всех платформ. Файлы NTF Pscript5 используют версию этой структуры для конкретной платформы.
Дополнительные сведения для шрифта можно дополнительно указать в структуре IFIEXTRA .
Подпрограмма DrvQueryFont драйвера заполняет и возвращает структуру IFIMETRICS в GDI.
Структура PRINTIFI32 определяет все сведения для шрифта, который понимает GDI. Большинство членов представляют собой значения FWORD, которые представляют собой 16-разрядные значения со знаком в пространстве разработки. Если шрифт является растровой, пространство конструктора и пространство устройства совпадают, а единица шрифта эквивалентна расстоянию между пикселями.
Система координат в пространстве шрифта/нотации такова, что координата Y увеличивается в направлении вверх, а координата X — вправо.
Требования
Требование | Значение |
---|---|
Заголовок | prntfont.h (включая Prntfont.h) |