Поделиться через


структура 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)

См. также раздел

IFIMETRICS