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. |
|
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 + fwdMacAscender – fwdMacDescender.
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) |