Estrutura IFIMETRICS (winddi.h)

A estrutura IFIMETRICS define informações para uma determinada face de tipo que o GDI pode usar.

Sintaxe

typedef struct _IFIMETRICS {
  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;
  PVOID   Align;
} IFIMETRICS, *PIFIMETRICS;

Membros

cjThis

Especifica o tamanho em bytes dessa estrutura. O tamanho especificado inclui todas as cadeias de caracteres Unicode acrescentadas ao final dessa estrutura, além do tamanho em bytes da estrutura IFIEXTRA opcional.

cjIfiExtra

Especifica o tamanho em bytes da estrutura IFIEXTRA que segue essa estrutura IFIMETRICS. Um valor zero indica que nenhuma estrutura IFIEXTRA está presente.

dpwszFamilyName

Especifica o deslocamento em bytes para uma cadeia de caracteres Unicode terminada em nulo que contém o nome da família da fonte (por exemplo, "Times Roman"). Em geral, essa cadeia de caracteres segue imediatamente a estrutura IFIMETRICS. Essa cadeia de caracteres deve ser igual ao nome registrado no membro lfFaceName da estrutura LOGFONT do Win32.

dpwszStyleName

Especifica o deslocamento em bytes para uma cadeia de caracteres Unicode terminada em nulo que descreve o estilo da fonte (por exemplo, "Negrito").

dpwszFaceName

Especifica o deslocamento em bytes para uma cadeia de caracteres Unicode terminada em nulo que representa o nome exclusivo e completo da fonte. O nome contém os nomes de família e subfamímil da fonte (por exemplo, "Times New Roman Bold").

dpwszUniqueName

Especifica o deslocamento em bytes para uma cadeia de caracteres Unicode terminada em nulo que representa o identificador exclusivo da fonte (por exemplo, "Monotype:Times New Roman:1990").

dpFontSim

Especifica o deslocamento em bytes do início dessa estrutura IFIMETRICS para uma estrutura FONTSIM que descreve as simulações às quais a fonte dá suporte. O driver deve definir esse membro como um valor diferente de zero somente se a fonte der suporte a simulações em negrito, itálico ou em negrito em itálico; caso contrário, o driver deve definir isso como zero.

Observe que, se uma fonte for itálica por design, o driver não deverá indicar suporte à fonte para simulação itálica, embora possa indicar suporte à fonte para simulação em itálico em negrito. Da mesma forma, o driver não deve indicar suporte à fonte para simulação em negrito se a fonte estiver em negrito por design, mas pode indicar suporte à fonte para simulação em negrito itálico. Se a fonte estiver em negrito e itálico por design, ela não deverá dar suporte a nenhuma simulação.

Os deslocamentos na estrutura FONTSIM são relativos à base da estrutura FONTSIM.

lEmbedId

Especifica a ID de Inserção da fonte. Esse valor é específico de TrueType e deve ser definido como zero por todos os outros provedores de fontes.

lItalicAngle

Especifica o ângulo itálico da fonte. Esse valor é específico de TrueType e deve ser definido como zero por todos os outros provedores de fontes.

lCharBias

Especifica o desvio de caractere. Esse valor é específico de TrueType e deve ser definido como zero por todos os outros provedores de fontes.

dpCharSets

Especifica o deslocamento do início dessa estrutura IFIMETRICS para uma matriz que contém uma lista de todos os conjuntos de caracteres do Windows compatíveis com essa fonte. A matriz tem 16 bytes de tamanho e sempre é encerrada com DEFAULT_CHARSET. O primeiro valor da matriz deve identificar o conjunto de caracteres do Windows que tem a melhor e mais completa cobertura na fonte; esse valor também deve ser armazenado em jWinCharSet. Por exemplo, se essa for uma fonte japonesa que também dá suporte a conjuntos de caracteres ANSI e Cirílico dos EUA, jWinCharSet deverá ser definido como SHIFTJIS_CHARSET e a matriz identificada por dpCharSets conterá SHIFTJIS_CHARSET, ANSI_CHARSET, RUSSIAN_CHARSET DEFAULT_CHARSET.

Se essa fonte não der suporte a mais de um conjunto de caracteres do Windows, dpCharSets deverá ser definido como zero.

jWinCharSet

Identifica o conjunto de caracteres mais compatível com essa fonte. Se a fonte der suporte a apenas um único conjunto de caracteres do Windows, o driver deverá armazenar o valor correspondente em jWinCharSet. O driver não deve armazenar DEFAULT_CHARSET nesse campo. Esse membro pode ser um dos seguintes valores:

Valor Significado
ANSI_CHARSET Essa fonte dá suporte ao conjunto de caracteres ANSI do Windows.
ARABIC_CHARSET Essa fonte dá suporte ao conjunto de caracteres árabe.
BALTIC_CHARSET Essa fonte dá suporte ao conjunto de caracteres báltico.
CHINESEBIG5_CHARSET Essa fonte dá suporte ao conjunto de caracteres chinês tradicional (Big 5).
EASTEUROPE_CHARSET Essa fonte dá suporte ao conjunto de caracteres do Leste Europeu.
GB2312_CHARSET Essa fonte dá suporte ao conjunto de caracteres em chinês simplificado (PRC).
GREEK_CHARSET Essa fonte dá suporte ao conjunto de caracteres grego.
HANGEUL_CHARSET Essa fonte dá suporte ao conjunto de caracteres coreano (Hangeul).
HEBREW_CHARSET Essa fonte dá suporte ao conjunto de caracteres hebraico.
JOHAB_CHARSET Essa fonte dá suporte ao conjunto de caracteres coreano (Johab).
OEM_CHARSET Essa fonte dá suporte a um conjunto de caracteres específico do OEM. O conjunto de caracteres OEM depende do sistema.
SHIFTJIS_CHARSET Essa fonte dá suporte ao conjunto de caracteres Shift-JIS (Japanese Industry Standard).
SYMBOL_CHARSET Essa fonte dá suporte ao conjunto de caracteres de símbolo do Windows.
RUSSIAN_CHARSET Essa fonte dá suporte ao conjunto de caracteres cirílico.
THAI_CHARSET Essa fonte dá suporte ao conjunto de caracteres tailandês.
TURKISH_CHARSET Essa fonte dá suporte ao conjunto de caracteres turco.
VIETNAMESE_CHARSET Essa fonte dá suporte ao conjunto de caracteres vietnamita.

jWinPitchAndFamily

Especifica a inclinação da fonte. Os dois bits de baixa ordem especificam a inclinação da fonte e podem ser um dos seguintes valores:

Valor Significado
FIXED_PITCH Para fontes de tom fixas
VARIABLE_PITCH Para fontes de tom variável
 

Os bits 4 a 7 deste membro especificam a família de fontes e podem ser um dos seguintes valores:

Valor Significado
FF_DECORATIVE Fontes novas, como inglês antigo.
FF_DONTCARE Não se importe ou desconhecido.
FF_MODERN Fontes com largura de traço constante (tom fixo), com ou sem serifs. Fontes de tom fixo geralmente são modernas, como Pica, Elite e Courier.
FF_ROMAN Fontes com largura de traço variável (proporcionalmente espaçada) e com serifs, como Times Roman, Palatino e Century Schoolbook.
FF_SCRIPT Fontes projetadas para se parecerem com manuscrito, como Script e Cursive.
FF_SWISS Fontes com largura de traço variável (proporcionalmente espaçada) e sem serifs, como Helvetica e Swiss.

usWinWeight

Especifica o peso da fonte no intervalo de 0 a 1000 (por exemplo, 400 é normal e 700 é negrito). Esse valor é fornecido ao aplicativo no membro lfWeight da estrutura WIN32 LOGFONT.

flInfo

Especifica informações adicionais sobre a fonte. Esse campo pode ser uma combinação dos seguintes valores de sinalizador:

FM_INFO_1BPP

Indica que um bitmap de glifo tem uma profundidade de cor de um bit por pixel. Para Windows NT 3.1, a primeira versão do Windows NT, esse sinalizador deve ser definido.

FM_INFO_4BPP

Indica que um bitmap de glifo tem uma profundidade de cor de quatro bits por pixel. O driver deverá definir isso se a fonte der suporte a bitmaps de glifo com 16 níveis de cinza.

FM_INFO_8BPP

Indica que um bitmap de glifo tem uma profundidade de cor de oito bits por pixel. A versão atual do GDI ignorará essa configuração, pois ela não dá suporte a fontes de cor.

FM_INFO_16BPP

Indica que um bitmap de glifo tem uma profundidade de cor de 16 bits por pixel. A versão atual do GDI ignorará essa configuração, pois ela não dá suporte a fontes de cor.

FM_INFO_24BPP

Indica que um bitmap de glifo tem uma profundidade de cor de 24 bits por pixel. A versão atual do GDI ignorará essa configuração, pois ela não dá suporte a fontes de cor.

FM_INFO_32BPP

Indica que um bitmap de glifo tem uma profundidade de cor de 32 bits por pixel. A versão atual do GDI ignorará essa configuração, pois ela não dá suporte a fontes de cor.

FM_INFO_90DEGREE_ROTATIONS

Indica que a fonte pode ser realizada em rotações de 90 graus da forma nocional original. A GDI solicita a rotação de uma fonte incluindo a rotação na transformação nocional para dispositivo passada para o driver ao criar a fonte. Esse membro só tem significado quando o sinalizador FM_INFO_ARB_XFORMS não foi definido.

FM_INFO_ANISOTROPIC_SCALING_ONLY

Indica que a fonte dá suporte apenas ao dimensionamento anisotrópico arbitrário. Ou seja, as transformações são equivalentes a uma matriz diagonal multiplicada por um número real positivo. Se esse sinalizador estiver definido, o FM_INFO_ARB_XFORMS e os sinalizadores de FM_INFO_ISOTROPIC_SCALING_ONLY não poderão ser definidos. Se o sinalizador FM_INFO_90DEGREE_ROTATIONS também estiver definido, a fonte oferecerá suporte a transformações que são uma combinação de um dimensionamento anisotrópico simples seguido de uma rotação por um múltiplo de 90 graus.

FM_INFO_ARB_XFORMS

Indica que uma fonte pode ser realizada em um intervalo contínuo de transformações lineares bidimensionais.

FM_INFO_CONSTANT_WIDTH

Indica que todos os glifos da fonte em todas as realizações têm o mesmo valor de incremento de caractere. Se esse sinalizador estiver definido, o sinalizador FM_INFO_OPTICALLY_FIXED_PITCH também deverá ser definido.

FM_INFO_DBCS_FIXED_PITCH

Indica que os caracteres de byte duplo para essa fonte são fixos. Nada está implícito sobre caracteres de bytes únicos. Esse sinalizador é significativo apenas para fontes que dão suporte a um DBCS (conjunto de caracteres de byte duplo), como o SHIFT JIS. Fontes que não dão suporte a um DBCS não devem definir esse sinalizador.

FM_INFO_DO_NOT_ENUMERATE

Indica que essa fonte não será enumerada pelas rotinas Win32 EnumFontFamiliesEx, EnumFontFamilies ou EnumFonts . Além disso, a cadeia de caracteres retornada a uma chamada de aplicativo Win32 para GetTextFace será recuperada da cadeia de caracteres dpwszUniqueName. Esse sinalizador permite que o provedor de fontes associe mais de uma estrutura IFIMETRICS a uma de suas fontes.

FM_INFO_DSIG

Indica que uma fonte está em conformidade com o padrão Unicode.

FM_INFO_FAMILY_EQUIV

Indica que o deslocamento dpwszFamilyName no IFIMETRICS é, na verdade, o deslocamento para uma lista de nomes de família ou aliases equivalentes. O primeiro nome é o nome base ou real; os nomes subsequentes são equivalentes ou aliases. Cada nome na lista é encerrado em nulo; a lista é encerrada por dois zeros.

<nome>base 0<>alias 1><0>...<<alias n>
<0><0>

Os nomes baseados são usados apenas para mapeamento; eles não são enumerados.

FM_INFO_IGNORE_TC_RA_ABLE

Indica que, para essa fonte, o sinalizador TC_RA_ABLE é ignorado.

FM_INFO_INTEGER_WIDTH

Indica que todos os glifos têm larguras de avanço nãofracionais. Fontes bitmap geralmente definem esse sinalizador.

FM_INFO_INTEGRAL_SCALING

Indica que a fonte pode ser dimensionada por uma quantidade integral nas direções x e y. Se esse sinalizador estiver definido, o driver deverá ser capaz de renderizar glifos no caso em que a transformação nocional para dispositivo é dimensionada por quantidades integrais nas direções x e y. A GDI solicita o dimensionamento integral de uma fonte, incluindo os dimensionamentos axiais na transformação nocional para dispositivo passada para o driver ao criar a fonte. Esse sinalizador só é significativo quando o sinalizador FM_INFO_ARB_XFORMS não foi definido.

FM_INFO_ISOTROPIC_SCALING_ONLY

Indica que a fonte dá suporte apenas ao dimensionamento isotrópico arbitrário. Ou seja, as transformações são equivalentes à matriz de identidade multiplicada por um número real positivo. Se esse sinalizador estiver definido, nem o FM_INFO_ARB_XFORMS nem os sinalizadores de FM_INFO_ANISOTROPIC_SCALING_ONLY poderão ser definidos. Se o sinalizador FM_INFO_90DEGREE_ROTATIONS estiver definido, a fonte oferecerá suporte a transformações equivalentes a um dimensionamento isotrópico seguido de uma rotação por um múltiplo de 90 graus.

FM_INFO_OPTICALLY_FIXED_PITCH

Indica que essa fonte é considerada tipograficamente como um tom fixo. Essa é uma qualidade óptica da fonte e não indica necessariamente que todos os glifos da fonte têm o mesmo incremento de caractere.

FM_INFO_NONNEGATIVE_AC

Indica que todos os glifos dessa fonte têm espaçamento nãonegativo a e c . Ou seja, a caixa preta de glifo nunca se estende fora da região bordada pela origem do caractere e pelo ponto de concatenação do caractere.

FM_INFO_NOT_CONTIGUOUS

Indica que o conjunto de caracteres com suporte não é contíguo.

FM_INFO_RETURNS_BITMAPS

Indica que a fonte contém uma assinatura digital válida.

FM_INFO_RETURNS_OUTLINES

Indica que, para qualquer glifo compatível com o driver, o GDI pode solicitar uma estrutura PATHOBJ que descreva a estrutura de tópicos desse glifo. Se possível, quando a estrutura de tópicos é preenchida usando as convenções de preenchimento de caminho da GDI, o bitmap resultante deve ser idêntico ao bitmap retornado pelo driver. Os sinalizadores FM_INFO_RETURNS_OUTLINES e FM_INFO_RETURNS_STOKES não podem ser definidos simultaneamente.

FM_INFO_RETURNS_STROKES

Indica que, para qualquer glifo compatível com os drivers, o GDI pode solicitar uma estrutura PATHOBJ que descreva o spline do glifo. Esse caminho não pode ser preenchido, mas pode ser traçado para dar uma representação do glifo. Os sinalizadores FM_INFO_RETURNS_OUTLINES e FM_INFO_RETURNS_STOKES não podem ser definidos simultaneamente.

FM_INFO_RIGHT_HANDED

Indica que a direção de ascensão da fonte é 90 graus no sentido anti-horário da direção da linha de base. A direção de ascensão é a direção ao longo da qual a altura é medida e é sempre perpendicular à direção da linha de base.

FM_INFO_TECH_BITMAP

Indica que a fonte é uma fonte bitmap.

FM_INFO_TECH_CFF

Indica que a fonte é uma fonte OpenType Pscript que contém uma tabela CFF (Formato de Fonte Compacta).

FM_INFO_TECH_MM

Indica que essa é uma fonte de Vários Mestres (MM).

FM_INFO_TECH_OUTLINE_NOT_TRUETYPE

Indica que a fonte é baseada em uma tecnologia de fonte escalonável que usa caminhos de estrutura de tópicos, mas não se baseia em TrueType. Esse sinalizador não especifica se os caminhos retornados para essa fonte devem ser preenchidos ou acariciou; o consumidor deve examinar os sinalizadores de FM_INFO_RETURNS_STROKES e FM_INFO_RETURNS_OUTLINES para obter essas informações.

FM_INFO_TECH_STROKE

Indica que a fonte é baseada em uma tecnologia de fonte traçada. Esse sinalizador não especifica se os caminhos retornados para essa fonte devem ser preenchidos ou acariciou; o consumidor deve examinar os sinalizadores de FM_INFO_RETURNS_STROKES e FM_INFO_RETURNS_OUTLINES para obter essas informações.

FM_INFO_TECH_TRUETYPE

Indica que a fonte é uma fonte TrueType.

FM_INFO_TECH_TYPE1

Indica que essa fonte é uma fonte de tela PostScript (Type1 ou OpenType PostScript).

fsSelection

Especifica uma combinação dos seguintes sinalizadores:

Valor Significado
FM_SEL_BOLD Defina se os caracteres da fonte estiverem em negrito.
FM_SEL_ITALIC Defina se os caracteres da fonte são itálico.
FM_SEL_NEGATIVE Defina se os caracteres da fonte tiverem o primeiro plano e o plano de fundo invertidos.
FM_SEL_OUTLINED Defina se os caracteres da fonte forem ocos.
FM_SEL_REGULAR Defina se os caracteres da fonte tiverem peso normal.
FM_SEL_STRIKEOUT Defina se os caracteres da fonte forem atingidos por padrão; caso contrário, strikeouts devem ser simulados.
FM_SEL_UNDERSCORE Defina se todos os caracteres da fonte forem sublinhados por padrão; caso contrário, o sublinhado deve ser simulado.

fsType

Esse é um campo de bits específico de TrueType que indica determinadas propriedades para a fonte, como incorporação de fontes e direitos de licenciamento para a fonte. Fontes inseridas podem ser armazenadas em um documento. Quando um documento com fontes inseridas é aberto em um sistema que não tem a fonte instalada (o sistema remoto), a fonte inserida pode ser carregada para uso temporário (e, em alguns casos, permanente) nesse sistema por um aplicativo com reconhecimento de inserção. Os direitos de licenciamento de inserção são concedidos pelo fornecedor da fonte. Os seguintes sinalizadores podem ser definidos:

Valor Significado
FM_EDITABLE_EMBED Defina se a fonte pode ser inserida e carregada temporariamente em outros sistemas. Documentos que contêm fontes editáveis podem ser abertos para leitura e gravação.
FM_READONLY_EMBED Defina se a inserção de leitura/gravação não for permitida; somente o encapsulamento de "visualização e impressão" é permitido. Quando esse bit é definido, a fonte pode ser inserida e carregada temporariamente no sistema remoto. Os documentos que contêm fontes de "visualização e impressão" devem ser abertos "somente leitura;" nenhuma edição pode ser aplicada ao documento.
FM_TYPE_LICENSED
FM_NO_EMBEDDING
Defina se a fonte for uma fonte licença restrita. Quando somente esse bit é definido, essa fonte não deve ser modificada, inserida ou trocada de forma alguma sem primeiro obter a permissão do proprietário legal. Para que a inserção de Licença Restrita entre em vigor, ela deve ser o único nível de inserção selecionado.
 

Fontes com o conjunto de bits FM_READONLY_EMBED indicam que podem ser inseridas em documentos, mas só devem ser instaladas temporariamente no sistema remoto. Qualquer documento que inclua uma fonte FM_READONLY_EMBED deve ser aberto "somente leitura". Ou seja, o aplicativo pode permitir que o usuário exiba e/ou imprima o documento, mas não o edite.

Fontes com o conjunto de bits FM_EDITABLE_EMBED indicam que podem ser inseridas em documentos, mas só devem ser instaladas temporariamente no sistema remoto. Ao contrário de fontes FM_READONLY_EMBED, documentos que contêm fontes editáveis podem ser abertos "leitura/gravação;" a edição é permitida e as alterações podem ser salvas.

Fontes sem nenhum conjunto de bits fsType indicam que elas podem ser inseridas e instaladas permanentemente no sistema remoto por um aplicativo. O usuário do sistema remoto adquire direitos, obrigações e licenças idênticos para essa fonte como o comprador original da fonte e está sujeito ao mesmo contrato de licença do usuário final, direitos autorais, patente de design e/ou marca registrada que foi o comprador original.

Os aplicativos que implementam suporte para inserção de fontes, seja por meio do uso da DLL de Inserção de Fontes ou por outros meios, não devem inserir fontes que não estão licenciadas para permitir a inserção. Além disso, os aplicativos que carregam fontes inseridas para uso temporário devem excluir as fontes quando o documento que contém a fonte inserida for fechado.

Se vários bits de inserção forem definidos, a licença menos restritiva concedida terá precedência. Por exemplo, se os bits 1 e 3 estiverem definidos, o bit 3 terá precedência sobre o bit 1 e a fonte poderá ser inserida com direitos editáveis. Para fins de compatibilidade, a maioria dos fornecedores que concedem direitos de inserção editáveis também define o bit Visualizar & Print (0x000C). Isso permite que um aplicativo que dê suporte apenas à versão prévia & inserção de impressão para detectar que a inserção de fontes é permitida.

fwdUnitsPerEm

Especifica a altura em da fonte.

fwdLowestPPEm

Especifica o menor tamanho legível da fonte, em pixels. Esse valor é ignorado para fontes de bitmap.

fwdWinAscender

Especifica o valor crescente do Windows para a fonte.

fwdWinDescender

Especifica o valor decrescente do Windows para a fonte.

fwdMacAscender

Especifica o valor crescente do Macintosh para a fonte.

fwdMacDescender

Especifica o valor decrescente do Macintosh para a fonte. Normalmente, esse número é menor que zero. Ele mede o deslocamento assinado da linha base do descendente mais baixo no conjunto de caracteres Macintosh.

fwdMacLineGap

Especifica a lacuna de linha do Macintosh para a fonte. O espaçamento entre linhas do Macintosh sugerido é igual a fwdMacLineGap + fwdMacAscenderfwdMacDescender.

fwdTypoAscender

Especifica o valor crescente tipográfico da fonte.

fwdTypoDescender

Especifica o valor do descendente tipográfico para a fonte. Esse valor especifica o deslocamento assinado do descendente mais baixo da linha de base.

fwdTypoLineGap

Especifica a lacuna de linha tipográfica para a fonte.

fwdAveCharWidth

Especifica a média aritmética da largura de todas as 26 letras minúsculas 'a' até 'z' do alfabeto latino e do caractere espacial. Se alguma das 26 letras minúsculas não estiver presente, esse membro deverá ser definido como igual à média ponderada de todos os glifos na fonte.

fwdMaxCharInc

Especifica o incremento máximo de caracteres de todos os glifos na fonte.

fwdCapHeight

Especifica a altura da linha óptica que descreve a parte superior do 'H' maiúsculo em FUnits (unidades de fonte). Isso pode não ser o mesmo que a altura medida do "H" maiúsculo. Se essas informações não existirem, fwdCapHeight deverá ser definido como zero, o que indica que elas são indefinidas.

fwdXHeight

Especifica a altura da linha óptica que descreve a altura do 'x' minúsculo em unidades de fonte. Isso pode não ser o mesmo que a altura medida do 'x' minúsculo. Um valor zero indica que esse membro é indefinido.

fwdSubscriptXSize

Especifica a largura de caractere sugerida (o tamanho ao longo da direção da linha de base) da fonte subscrita.

fwdSubscriptYSize

Especifica a altura do caractere sugerido (o tamanho ao longo da direção crescente) da fonte subscrita.

fwdSubscriptXOffset

Especifica o deslocamento sugerido na direção da linha de base do caractere subscrito. O deslocamento é em relação à origem do caractere base.

fwdSubscriptYOffset

Especifica o deslocamento sugerido na direção da linha de base do caractere subscrito. O deslocamento é obtido da origem do caractere base.

fwdSuperscriptXSize

Especifica a largura de caractere sugerida (o tamanho ao longo da direção da linha de base) da fonte sobrescrita.

fwdSuperscriptYSize

Especifica a altura do caractere sugerido (o tamanho ao longo da direção crescente) da fonte sobrescrita.

fwdSuperscriptXOffset

Especifica o deslocamento sugerido na direção da linha de base do caractere sobrescrito. O deslocamento é obtido da origem do caractere base.

fwdSuperscriptYOffset

Especifica o deslocamento sugerido na direção da linha de base do caractere sobrescrito. O deslocamento é obtido da origem do caractere base.

fwdUnderscoreSize

Especifica a largura sugerida da barra de sublinhado, em unidades de fonte.

fwdUnderscorePosition

Especifica o deslocamento sugerido, em unidades de fonte, da linha base até o meio da barra de sublinhados.

fwdStrikeoutSize

Especifica a largura sugerida da barra de strike-out, em coordenadas de fonte.

fwdStrikeoutPosition

Especifica o deslocamento sugerido do meio da barra de strikeout da linha de base.

chFirstChar

Especifica o caractere mais baixo com suporte na página de código especificada em jWinCharSet. Esse campo é fornecido para compatibilidade com o Windows 3.1.

chLastChar

Especifica o caractere com maior suporte na página de código especificada em jWinCharSet. Esse campo é fornecido para compatibilidade com o Windows 3.1.

chDefaultChar

Especifica o caractere padrão na página de código especificada em jWinCharSet. Esse campo é fornecido para compatibilidade com o Windows 3.1.

chBreakChar

Especifica o caractere de interrupção na página de código especificada em jWinCharSet. Esse campo é fornecido para compatibilidade com o Windows 3.1.

wcFirstChar

Especifica o caractere com suporte com o menor código de caractere Unicode.

wcLastChar

Especifica o caractere com suporte com o maior código de caractere Unicode.

wcDefaultChar

Especifica o caractere a ser substituído quando um aplicativo solicita um caractere que não é compatível com a fonte.

wcBreakChar

Especifica o ponto de código do caractere de espaço ou seu equivalente.

ptlBaseline

Especifica uma estrutura POINTL que contém a direção de gravação pretendida dessa fonte. Por exemplo, uma fonte latina típica especifica um valor de (1,0).

ptlAspect

Especifica uma estrutura POINTL que contém a taxa de proporção dos centros de pixel para os quais a fonte bitmap foi projetada. Esse valor é usado apenas por fontes bitmap.

ptlCaret

Especifica uma estrutura POINTL que contém a direção da direção crescente da fonte. Por exemplo, o valor de uma fonte latina nãonitalicizada é (0,1), enquanto uma fonte latina itálico pode especificar um valor de (2,5).

rclFontBox

Especifica uma estrutura RECTL que descreve a caixa delimitadora de todos os glifos na fonte no espaço de design.

achVendId[4]

Especifica um identificador de quatro caracteres para o fornecedor da fonte. Os identificadores estão documentados na especificação Microsoft TrueType.

cKerningPairs

Especifica o número de pares de kerning associados a essa fonte.

ulPanoseCulture

Especifica a maneira como interpretar o número panorâmico. Esse número deve ser definido como FM_PANOSE_CULTURE_LATIN para fontes baseadas em latim. Consulte a documentação do SDK do Microsoft Window para obter informações sobre a estrutura PANOSE.

panose

É uma matriz de 10 bytes usada para descrever as características visuais de uma determinada face de tipo. Essas características são então usadas para associar a fonte a outras fontes de aparência semelhante com nomes diferentes. Consulte a documentação do SDK de Janela para obter informações sobre a estrutura PANOSE.

Align

Esse membro será definido somente se a constante _WIN64 for definida. Sua única finalidade é garantir que essa estrutura esteja alinhada corretamente sob a arquitetura do Itanium.

Comentários

Informações adicionais para uma face de tipo podem, opcionalmente, ser especificadas na estrutura IFIEXTRA .

A rotina DrvQueryFont de um driver preenche e retorna uma estrutura IFIMETRICS para GDI.

A estrutura IFIMETRICS define todas as informações de uma face de tipo que o GDI entende. A maioria dos membros são valores FWORD, que são quantidades assinadas de 16 bits no espaço de design. Se a fonte for uma fonte raster, o espaço de design e o espaço do dispositivo serão os mesmos e uma unidade de fonte será equivalente à distância entre pixels.

O sistema de coordenadas no espaço de fonte/noção é tal que a coordenada y aumenta em uma direção ascendente e a coordenada x aumenta para a direita.

O membro Align da estrutura IFIMETRICS faz com que ele seja maior para computadores x64 do que para computadores x32, o que tem ramificações para arquivos de formato de fonte binário formatados de acordo com essa estrutura. A partir do Windows Server 2003 SP1, uma estrutura adicional de tamanho fixo foi adicionada ao Prntfont.h: PRINTIFI32. A estrutura PRINTIFI32 é idêntica à estrutura IFIMETRICS, exceto que não contém um membro Align .

Requisitos

Requisito Valor
Cabeçalho winddi.h (inclua Winddi.h)

Confira também

DrvQueryFont

IFIEXTRA

PATHOBJ