Condividi tramite


struttura PRINTIFI32 (prntfont.h)

La struttura PRINTIFI32 è una versione a dimensione fissa della struttura IFIMETRICS e definisce le informazioni per un carattere tipografico specifico che può essere usato da GDI.

Sintassi

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;

Membri

cjThis

Specifica le dimensioni in byte di questa struttura. Le dimensioni specificate includono tutte le stringhe Unicode aggiunte alla fine di questa struttura, oltre alle dimensioni in byte della struttura facoltativa IFIEXTRA.

cjIfiExtra

Specifica le dimensioni in byte della struttura IFIEXTRA che segue questa struttura. Il valore zero indica che non è presente alcuna struttura IFIEXTRA.

dpwszFamilyName

Specifica l'offset in byte in una stringa Unicode con terminazione Null contenente il nome della famiglia del tipo di carattere, ad esempio "Times Roman". In genere, questa stringa segue immediatamente questa struttura. Questa stringa deve corrispondere al nome registrato nel lfFaceName membro della struttura LOGFONT Win32.

dpwszStyleName

Specifica l'offset in byte in una stringa Unicode con terminazione Null che descrive lo stile del tipo di carattere , ad esempio "Grassetto".

dpwszFaceName

Specifica l'offset in byte di una stringa Unicode con terminazione Null che rappresenta il nome univoco e completo del tipo di carattere. Il nome contiene i nomi della famiglia e della sottofamiglia del tipo di carattere (ad esempio, "Times New Roman Bold").

dpwszUniqueName

Specifica l'offset in byte di una stringa Unicode con terminazione Null che rappresenta l'identificatore univoco del tipo di carattere, ad esempio "Monotype:Times New Roman:1990".

dpFontSim

Specifica l'offset in byte dall'inizio di questa struttura a una struttura FONTSIM che descrive le simulazioni supportate dal tipo di carattere. Il driver deve impostare questo membro su un valore diverso da zero solo se il tipo di carattere supporta simulazioni grassetto, corsivo o grassetto; in caso contrario, il driver deve impostare questo valore su zero.

Si noti che se un tipo di carattere è in corsivo per progettazione, il driver non deve indicare il supporto del tipo di carattere per la simulazione corsiva, anche se può indicare il supporto del tipo di carattere per la simulazione in corsivo grassetto. Analogamente, il driver non deve indicare il supporto del carattere per la simulazione in grassetto se il tipo di carattere è in grassetto per progettazione, ma può indicare il supporto del carattere per la simulazione in corsivo grassetto. Se il carattere è sia grassetto che corsivo per progettazione, non deve supportare alcuna simulazione.

Gli offset nella struttura FONTSIM sono relativi alla base della struttura FONTSIM.

lEmbedId

Specifica l'ID incorporamento del tipo di carattere. Questo valore è specifico di TrueType e deve essere impostato su zero da tutti gli altri provider di tipi di carattere.

lItalicAngle

Specifica l'angolo corsivo del tipo di carattere. Questo valore è specifico di TrueType e deve essere impostato su zero da tutti gli altri provider di tipi di carattere.

lCharBias

Specifica la distorsione del carattere. Questo valore è specifico di TrueType e deve essere impostato su zero da tutti gli altri provider di tipi di carattere.

dpCharSets

Specifica l'offset dall'inizio di questa struttura a una matrice contenente un elenco di tutti i set di caratteri di Windows supportati da questo tipo di carattere. La matrice è di 16 byte e viene sempre terminata con DEFAULT_CHARSET. Il primo valore della matrice deve identificare il set di caratteri di Windows con la copertura migliore e più completa nel tipo di carattere; questo valore deve essere archiviato anche in jWinCharSet. Ad esempio, se si tratta di un tipo di carattere giapponese che supporta anche set di caratteri ANSI e cirillico degli Stati Uniti, jWinCharSet deve essere impostato su SHIFTJIS_CHARSET e la matrice identificata da dpCharSets conterrà SHIFTJIS_CHARSET, ANSI_CHARSET, RUSSIAN_CHARSET DEFAULT_CHARSET.

Se questo tipo di carattere non supporta più set di caratteri di Windows, dpCharSets deve essere impostato su zero.

jWinCharSet

Identifica il set di caratteri più supportato da questo tipo di carattere. Se il tipo di carattere supporta solo un singolo set di caratteri di Windows, il driver deve archiviare il valore corrispondente in jWinCharSet. Il driver non deve archiviare DEFAULT_CHARSET in questo campo. Questo membro può essere uno dei valori seguenti:

Valore Descrizione
ANSI_CHARSET Questo tipo di carattere supporta il set di caratteri ANSI di Windows.
ARABIC_CHARSET Questo tipo di carattere supporta il set di caratteri arabo.
BALTIC_CHARSET Questo tipo di carattere supporta il set di caratteri baltici.
CHINESEBIG5_CHARSET Questo tipo di carattere supporta il set di caratteri cinese tradizionale (Big 5).
EASTEUROPE_CHARSET Questo tipo di carattere supporta il set di caratteri europa orientale.
GB2312_CHARSET Questo tipo di carattere supporta il set di caratteri cinese semplificato (PRC).
GREEK_CHARSET Questo tipo di carattere supporta il set di caratteri greco.
HANGEUL_CHARSET Questo tipo di carattere supporta il set di caratteri coreano (Hangul).
HEBREW_CHARSET Questo tipo di carattere supporta il set di caratteri ebraico.
JOHAB_CHARSET Questo tipo di carattere supporta il set di caratteri coreano (Johab).
OEM_CHARSET Questo tipo di carattere supporta un set di caratteri specifico dell'OEM. Il set di caratteri OEM dipende dal sistema.
SHIFTJIS_CHARSET Questo tipo di carattere supporta il set di caratteri Shift-JIS (Japanese Industry Standard).
SYMBOL_CHARSET Questo tipo di carattere supporta il set di caratteri dei simboli di Windows.
RUSSIAN_CHARSET Questo tipo di carattere supporta il set di caratteri cirillico.
THAI_CHARSET Questo tipo di carattere supporta il set di caratteri thai.
TURKISH_CHARSET Questo tipo di carattere supporta il set di caratteri turco.
VIETNAMESE_CHARSET Questo tipo di carattere supporta il set di caratteri vietnamita.

jWinPitchAndFamily

Specifica il passo del tipo di carattere. I due bit di ordine basso specificano l'inclinazione del tipo di carattere e possono essere uno dei valori seguenti:

Valore Descrizione
FIXED_PITCH Per i tipi di carattere a passo fisso
VARIABLE_PITCH Per i tipi di carattere a passo variabile

I bit da 4 a 7 di questo membro specificano la famiglia di caratteri e possono essere uno dei valori seguenti:

Valore Descrizione
FF_DECORATIVE Tipi di carattere novità, ad esempio Old English.
FF_DONTCARE Non importare o sconosciuto.
FF_MODERN Tipi di carattere con larghezza costante del tratto (a passo fisso), con o senza serif. I tipi di carattere a passo fisso sono in genere moderni, ad esempio Pica, Elite e Courier.
FF_ROMAN Tipi di carattere con larghezza del tratto variabile (proporzionalmente distanziati) e con serif, ad esempio Times Roman, Palatino e Century Schoolbook.
FF_SCRIPT Tipi di carattere progettati per essere simili alla grafia, ad esempio Script e Cursive.
FF_SWISS Tipi di carattere con larghezza a tratti variabile (proporzionalmente distanziati) e senza serif, ad esempio Helvetica e Swiss.

usWinWeight

Specifica lo spessore del tipo di carattere compreso nell'intervallo compreso tra 0 e 1000 (ad esempio, 400 è normale e 700 è grassetto). Questo valore viene fornito all'applicazione nel membro lfWeight della struttura LOGFONT Win32.

flInfo

Specifica informazioni aggiuntive sul tipo di carattere. Questo campo può essere una combinazione dei valori flag seguenti:

Valore

Significato

FM_INFO_1BPP

Indica che una bitmap del glifo ha una profondità di colore di un bit per pixel. Per Windows NT 3.1, è necessario impostare questo flag per la prima versione di Windows NT.

FM_INFO_4BPP

Indica che una bitmap del glifo ha una profondità di colore di quattro bit per pixel. Il driver deve impostare questa impostazione se il tipo di carattere supporta bitmap glifi antialiased con 16 livelli di grigio.

FM_INFO_8BPP

Indica che una bitmap del glifo ha una profondità di colore di otto bit per pixel. La versione corrente di GDI ignorerà questa impostazione perché non supporta i tipi di carattere a colori.

FM_INFO_16BPP

Indica che una bitmap del glifo ha una profondità di colore di 16 bit per pixel. La versione corrente di GDI ignorerà questa impostazione perché non supporta i tipi di carattere a colori.

FM_INFO_24BPP

Indica che una bitmap del glifo ha una profondità di colore di 24 bit per pixel. La versione corrente di GDI ignorerà questa impostazione perché non supporta i tipi di carattere a colori.

FM_INFO_32BPP

Indica che una bitmap del glifo ha una profondità di colore di 32 bit per pixel. La versione corrente di GDI ignorerà questa impostazione perché non supporta i tipi di carattere a colori.

FM_INFO_90DEGREE_ROTATIONS

Indica che il tipo di carattere può essere realizzato in rotazioni di 90 gradi della forma notzionale originale. GDI richiede la rotazione di un tipo di carattere includendo la rotazione nella trasformazione notzionale del dispositivo passata al driver durante la creazione del tipo di carattere. Questo membro ha un significato solo quando il flag di FM_INFO_ARB_XFORMS non è stato impostato.

FM_INFO_ANISOTROPIC_SCALING_ONLY

Indica che il tipo di carattere supporta solo la scalabilità anisotropica arbitraria. Ovvero, le trasformazioni sono equivalenti a una matrice diagonale moltiplicata per un numero reale positivo. Se questo flag è impostato, non è possibile impostare il FM_INFO_ARB_XFORMS e i flag FM_INFO_ISOTROPIC_SCALING_ONLY. Se viene impostato anche il flag FM_INFO_90DEGREE_ROTATIONS, il tipo di carattere supporta trasformazioni che sono una combinazione di una semplice scala anisotropica seguita da una rotazione di più di 90 gradi.

FM_INFO_ARB_XFORMS

Indica che un tipo di carattere può essere realizzato in un intervallo continuo di trasformazioni lineari bidimensionali.

FM_INFO_CONSTANT_WIDTH

Indica che tutti i glifi del tipo di carattere in tutte le realizzazioni hanno lo stesso valore di incremento di caratteri. Se questo flag è impostato, è necessario impostare anche il flag FM_INFO_OPTICALLY_FIXED_PITCH.

FM_INFO_DBCS_FIXED_PITCH

Indica che i caratteri a byte doppio per questo tipo di carattere sono a passo fisso. Nulla è implicito sui caratteri a byte singolo. Questo flag è significativo solo per i tipi di carattere che supportano un set di caratteri a byte doppio ( DBCS), ad esempio SHIFT JIS. I tipi di carattere che non supportano un DBCS non devono impostare questo flag.

FM_INFO_DO_NOT_ENUMERATE

Indica che questo tipo di carattere non verrà enumerato dalle routine di EnumFontFamiliesEx, EnumFontFamilies o EnumFonts. Inoltre, la stringa restituita a una chiamata dell'applicazione Win32 a GetTextFace verrà recuperata dalla stringa dpwszUniqueName. Questo flag consente al provider di tipi di carattere di associare più di un PRINTIFI32 struttura a uno dei relativi tipi di carattere.

FM_INFO_DSIG

Indica che un tipo di carattere è conforme allo standard Unicode.

FM_INFO_FAMILY_EQUIV

Indica che l'offset dpwszFamilyName in PRINTIFI32 è effettivamente l'offset a un elenco di nomi o alias di famiglia equivalenti. Il nome è la base o il nome reale; i nomi successivi sono equivalenti o alias. Ogni nome nell'elenco è con terminazione null; l'elenco viene terminato da due zeri.

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

I nomi basati vengono usati solo per il mapping; non sono enumerati.

FM_INFO_IGNORE_TC_RA_ABLE

Indica che, per questo tipo di carattere, il flag TC_RA_ABLE viene ignorato.

FM_INFO_INTEGER_WIDTH

Indica che tutti i glifi hanno larghezze di avanzamento nonfrazionali. I tipi di carattere bitmap in genere impostano questo flag.

FM_INFO_INTEGRAL_SCALING

Indica che il tipo di carattere può essere ridimensionato in base a una quantità integrale nelle direzioni x e y. Se questo flag è impostato, il driver deve essere in grado di eseguire il rendering dei glifi nel caso in cui la trasformazione notzionale del dispositivo venga ridimensionata in base agli importi integrali nelle direzioni x e y. GDI richiede il ridimensionamento integrale di un tipo di carattere includendo le proporzioni assiali nella trasformazione notzionale del dispositivo passato al driver durante la creazione del tipo di carattere. Questo flag è significativo solo quando il flag FM_INFO_ARB_XFORMS non è stato impostato.

FM_INFO_ISOTROPIC_SCALING_ONLY

Indica che il tipo di carattere supporta solo la scalabilità isotropica arbitraria. Ovvero, le trasformazioni sono equivalenti alla matrice di identità moltiplicata per un numero reale positivo. Se questo flag è impostato, non è possibile impostare né il FM_INFO_ARB_XFORMS né i flag FM_INFO_ANISOTROPIC_SCALING_ONLY. Se il flag FM_INFO_90DEGREE_ROTATIONS è impostato, il tipo di carattere supporta trasformazioni equivalenti a un ridimensionamento isotropico seguito da una rotazione di più di 90 gradi.

FM_INFO_OPTICALLY_FIXED_PITCH

Indica che questo tipo di carattere viene considerato tipografico come passo fisso. Si tratta di una qualità ottica del tipo di carattere e non indica necessariamente che tutti i glifi del tipo di carattere hanno lo stesso incremento di carattere.

FM_INFO_NONNEGATIVE_AC

Indica che tutti i glifi di questo tipo di carattere hanno una spaziatura e c. Ovvero, la casella nera del glifo non si estende mai all'esterno dell'area delimitata dall'origine del carattere e dal punto di concatenazione dei caratteri.

FM_INFO_NOT_CONTIGUOUS

Indica che il set di caratteri supportato non è contiguo.

FM_INFO_RETURNS_BITMAPS

Indica che il tipo di carattere contiene una firma digitale valida.

FM_INFO_RETURNS_OUTLINES

Indica che per qualsiasi glifo supportato dal driver, GDI può richiedere una struttura PATHOBJ che descrive il contorno di tale glifo. Se possibile, quando la struttura viene riempita usando le convenzioni di riempimento del percorso di GDI, la bitmap risultante deve essere identica alla bitmap restituita dal driver. I flag FM_INFO_RETURNS_OUTLINES e FM_INFO_RETURNS_STOKES non possono essere impostati contemporaneamente.

FM_INFO_RETURNS_STROKES

Indica che per qualsiasi glifo supportato dai driver, GDI può richiedere una struttura PATHOBJ che descrive la spline del glifo. Questo percorso non può essere riempito ma può essere tracciato per dare una rappresentazione del glifo. I flag FM_INFO_RETURNS_OUTLINES e FM_INFO_RETURNS_STOKES non possono essere impostati contemporaneamente.

FM_INFO_RIGHT_HANDED

Indica che la direzione di salita del tipo di carattere è di 90 gradi in senso antiorario dalla direzione di base. La direzione di salita è la direzione lungo la quale viene misurata l'altezza ed è sempre perpendicolare alla direzione di base.

FM_INFO_TECH_BITMAP

Indica che il tipo di carattere è un tipo di carattere bitmap.

FM_INFO_TECH_CFF

Indica che il tipo di carattere è un tipo di carattere Pscript OpenType che contiene una tabella CFF (Compact Font Format).

FM_INFO_TECH_MM

Indica che si tratta di un tipo di carattere Mm (Multiple Master).

FM_INFO_TECH_OUTLINE_NOT_TRUETYPE

Indica che il tipo di carattere è basato su una tecnologia dei tipi di carattere scalabile che utilizza i percorsi di struttura, ma non è basata su TrueType. Questo flag non specifica se i percorsi restituiti per questo tipo di carattere devono essere riempiti o tracciati; Il consumer deve esaminare i flag FM_INFO_RETURNS_STROKES e FM_INFO_RETURNS_OUTLINES per queste informazioni.

FM_INFO_TECH_STROKE

Indica che il tipo di carattere è basato su una tecnologia del tipo di carattere con tratti. Questo flag non specifica se i percorsi restituiti per questo tipo di carattere devono essere riempiti o tracciati; Il consumer deve esaminare i flag FM_INFO_RETURNS_STROKES e FM_INFO_RETURNS_OUTLINES per queste informazioni.

FM_INFO_TECH_TRUETYPE

Indica che il tipo di carattere è un tipo di carattere TrueType.

FM_INFO_TECH_TYPE1

Indica che questo tipo di carattere è un tipo di carattere della schermata PostScript (Type1 o OpenType PostScript).

fsSelection

Specifica una combinazione dei flag seguenti:

Valore Descrizione
FM_SEL_BOLD Impostare se i caratteri del tipo di carattere sono in grassetto.
FM_SEL_ITALIC Impostare se i caratteri del tipo di carattere sono in corsivo.
FM_SEL_NEGATIVE Impostare se i caratteri del tipo di carattere hanno il primo piano e lo sfondo invertito.
FM_SEL_OUTLINED Impostare se i caratteri del tipo di carattere sono vuoti.
FM_SEL_REGULAR Impostare se i caratteri del tipo di carattere sono normali.
FM_SEL_STRIKEOUT Impostare se i caratteri del tipo di carattere vengono evidenziati per impostazione predefinita; in caso contrario, gli scioperi devono essere simulati.
FM_SEL_UNDERSCORE Imposta se tutti i caratteri del tipo di carattere sono sottolineati per impostazione predefinita; in caso contrario, è necessario simulare la sottolineatura.

fsType

Si tratta di un campo di bit specifico di TrueType che indica determinate proprietà per il tipo di carattere, ad esempio l'incorporamento del tipo di carattere e i diritti di licenza per il tipo di carattere. I tipi di carattere incorporabili possono essere archiviati in un documento. Quando un documento con tipi di carattere incorporati viene aperto in un sistema in cui non è installato il tipo di carattere (sistema remoto), il tipo di carattere incorporato può essere caricato per l'uso temporaneo (e in alcuni casi permanente) su tale sistema da parte di un'applicazione in grado di incorporare. I diritti di licenza di incorporamento vengono concessi dal fornitore del tipo di carattere. È possibile impostare i flag seguenti:

Valore Descrizione
FM_EDITABLE_EMBED Impostare se il tipo di carattere può essere incorporato e caricato temporaneamente in altri sistemi. I documenti contenenti tipi di carattere modificabili possono essere aperti per la lettura e la scrittura.
FM_READONLY_EMBED Impostare se l'incorporamento di lettura/scrittura non è consentito; è consentita solo l'incapsulamento "anteprima e stampa". Quando questo bit è impostato, il tipo di carattere può essere incorporato e caricato temporaneamente nel sistema remoto. I documenti contenenti tipi di carattere "anteprima e stampa" devono essere aperti "di sola lettura;" non è possibile applicare modifiche al documento.
FM_TYPE_LICENSED, FM_NO_EMBEDDING Impostare se il tipo di carattere è un tipo di carattere Licenza con restrizioni. Quando viene impostato solo questo bit, questo tipo di carattere non deve essere modificato, incorporato o scambiato in alcun modo senza prima ottenere l'autorizzazione del proprietario legale. Per rendere effettivo l'incorporamento delle licenze con restrizioni, deve essere l'unico livello di incorporamento selezionato.

I tipi di carattere con il set di bit FM_READONLY_EMBED indicano che possono essere incorporati all'interno dei documenti, ma devono essere installati solo temporaneamente nel sistema remoto. Qualsiasi documento che include un tipo di carattere FM_READONLY_EMBED deve essere aperto "di sola lettura". Ovvero, l'applicazione può consentire all'utente di visualizzare e/o stampare il documento, ma non modificarlo.

I tipi di carattere con il set di bit FM_EDITABLE_EMBED indicano che possono essere incorporati nei documenti, ma devono essere installati solo temporaneamente nel sistema remoto. A differenza di FM_READONLY_EMBED tipi di carattere, è possibile aprire i documenti contenenti tipi di carattere modificabili "lettura/scrittura;" ed è possibile salvare le modifiche.

I tipi di carattere senza fsType bit impostati indicano che possono essere incorporati e installati in modo permanente nel sistema remoto da un'applicazione. L'utente del sistema remoto acquisisce gli stessi diritti, obblighi e licenze per tale tipo di carattere come acquirente originale del tipo di carattere ed è soggetto allo stesso contratto di licenza dell'utente finale, copyright, brevetto di progettazione e/o marchio come l'acquirente originale.

Le applicazioni che implementano il supporto per l'incorporamento dei tipi di carattere, tramite l'uso della DLL di incorporamento dei tipi di carattere o tramite altri mezzi, non devono incorporare tipi di carattere non concessi in licenza per consentire l'incorporamento. Inoltre, le applicazioni che caricano tipi di carattere incorporati per l'uso temporaneo devono eliminare i tipi di carattere quando il documento contenente il tipo di carattere incorporato viene chiuso.

Se vengono impostati più bit di incorporamento, la licenza meno restrittiva concessa ha la precedenza. Ad esempio, se vengono impostati bit 1 e 3, bit 3 ha la precedenza su bit 1 e il tipo di carattere può essere incorporato con diritti modificabili. Ai fini della compatibilità, la maggior parte dei fornitori che concedono diritti di incorporamento modificabili imposta anche l'anteprima & bit di stampa (0x000C). Ciò consente a un'applicazione che supporta solo l'incorporamento anteprima & stampa per rilevare che l'incorporamento dei tipi di carattere è consentito.

fwdUnitsPerEm

Specifica l'altezza em del tipo di carattere.

fwdLowestPPEm

Specifica le dimensioni più piccole leggibili del tipo di carattere, in pixel. Questo valore viene ignorato per i tipi di carattere bitmap.

fwdWinAscender

Specifica il valore crescente di Windows per il tipo di carattere.

fwdWinDescender

Specifica il valore discendente di Windows per il tipo di carattere.

fwdMacAscender

Specifica il valore crescente macintosh per il tipo di carattere.

fwdMacDescender

Specifica il valore del discendente Macintosh per il tipo di carattere. Questo numero è in genere minore di zero. Misura lo spostamento con segno dalla linea di base del discendente più basso nel set di caratteri Macintosh.

fwdMacLineGap

Specifica lo spazio di riga Macintosh per il tipo di carattere. La spaziatura interlinea macintosh suggerita è uguale a fwdMacLineGap + fwdMacAscender âˆ' fwdMacDescender.

fwdTypoAscender

Specifica il valore ascendente tipografico per il tipo di carattere.

fwdTypoDescender

Specifica il valore del discendente tipografico per il tipo di carattere. Questo valore specifica lo spostamento con segno del discendente più basso dalla linea di base.

fwdTypoLineGap

Specifica lo spazio di linea tipografico per il tipo di carattere.

fwdAveCharWidth

Specifica la media aritmetica della larghezza di tutte le 26 lettere minuscole 'a' e 'z' dell'alfabeto latino e del carattere spazio. Se una qualsiasi delle 26 lettere minuscole non è presente, questo membro deve essere impostato uguale alla media ponderata di tutti i glifi nel tipo di carattere.

fwdMaxCharInc

Specifica l'incremento massimo di caratteri di tutti i glifi nel tipo di carattere.

fwdCapHeight

Specifica l'altezza della linea ottica che descrive la parte superiore della "H" maiuscola in unità di carattere (FUnits). Questo potrebbe non corrispondere all'altezza misurata della 'H'. Se queste informazioni non esistono, fwdCapHeight deve essere impostata su zero, che indica che non è definita.

fwdXHeight

Specifica l'altezza della linea ottica che descrive l'altezza della "x" minuscola in unità di carattere. Questo potrebbe non corrispondere all'altezza misurata della "x". Un valore pari a zero indica che questo membro non è definito.

fwdSubscriptXSize

Specifica la larghezza del carattere suggerita (la dimensione lungo la direzione di base) del tipo di carattere pedice.

fwdSubscriptYSize

Specifica l'altezza del carattere suggerita (la dimensione lungo la direzione crescente) del tipo di carattere pedice.

fwdSubscriptXOffset

Specifica l'offset suggerito nella direzione di base del carattere pedice. L'offset è relativo all'origine del carattere del carattere di base.

fwdSubscriptYOffset

Specifica l'offset suggerito nella direzione di base del carattere pedice. L'offset viene ricavato dall'origine del carattere del carattere di base.

fwdSuperscriptXSize

Specifica la larghezza del carattere suggerita (la dimensione lungo la direzione di base) del tipo di carattere apice.

fwdSuperscriptYSize

Specifica l'altezza del carattere suggerita (la dimensione lungo la direzione crescente) del tipo di carattere apice.

fwdSuperscriptXOffset

Specifica l'offset suggerito nella direzione di base del carattere apice. L'offset viene ricavato dall'origine del carattere del carattere di base.

fwdSuperscriptYOffset

Specifica l'offset suggerito nella direzione di base del carattere apice. L'offset viene ricavato dall'origine del carattere del carattere di base.

fwdUnderscoreSize

Specifica la larghezza suggerita della barra di sottolineatura, in unità di carattere.

fwdUnderscorePosition

Specifica lo spostamento suggerito, in unità di carattere, dalla linea di base al centro della barra di sottolineatura.

fwdStrikeoutSize

Specifica la larghezza suggerita della barra barrata, nelle coordinate del tipo di carattere.

fwdStrikeoutPosition

Specifica lo spostamento suggerito del centro della barra di barra di attacco dalla linea di base.

chFirstChar

Specifica il carattere supportato più basso nella tabella codici specificata in jWinCharSet. Questo campo è disponibile per la compatibilità di Windows 3.1.

chLastChar

Specifica il carattere supportato più alto nella tabella codici specificata in jWinCharSet. Questo campo è disponibile per la compatibilità di Windows 3.1.

chDefaultChar

Specifica il carattere predefinito nella tabella codici specificata in jWinCharSet. Questo campo è disponibile per la compatibilità di Windows 3.1.

chBreakChar

Specifica il carattere di interruzione nella tabella codici specificata in jWinCharSet. Questo campo è disponibile per la compatibilità di Windows 3.1.

wcFirstChar

Specifica il carattere supportato con il codice carattere Unicode più piccolo.

wcLastChar

Specifica il carattere supportato con il codice carattere Unicode più grande.

wcDefaultChar

Specifica il carattere da sostituire quando un'applicazione richiede un carattere non supportato dal tipo di carattere.

wcBreakChar

Specifica il punto di codice del carattere spazio o il relativo equivalente.

ptlBaseline

Specifica una struttura POINTL che contiene la direzione di scrittura prevista del tipo di carattere. Ad esempio, un tipo di carattere latino tipico specifica il valore (1,0).

ptlAspect

Specifica una struttura POINTL che contiene le proporzioni dei centri pixel per cui è stato progettato il tipo di carattere bitmap. Questo valore viene utilizzato solo dai tipi di carattere bitmap.

ptlCaret

Specifica una struttura POINTL che contiene la direzione crescente del tipo di carattere. Ad esempio, il valore di un tipo di carattere latino nonitalico è (0,1) mentre un tipo di carattere latino in corsivo potrebbe specificare il valore (2,5).

rclFontBox

Specifica una struttura RECTL che descrive il rettangolo di selezione di tutti i glifi nello spazio di progettazione.

achVendId[4]

Specifica un identificatore di quattro caratteri per il fornitore del tipo di carattere. Gli identificatori sono documentati nella specifica Microsoft TrueType.

cKerningPairs

Specifica il numero di coppie di crenatura associate al tipo di carattere.

ulPanoseCulture

Specifica il modo in cui interpretare il numero panose. Questo numero deve essere impostato su FM_PANOSE_CULTURE_LATIN per i tipi di carattere basati su alfabeto latino. Per informazioni sulla struttura PANOSE, vedere la documentazione di Microsoft Window SDK.

panose

Matrice di 10 byte utilizzata per descrivere le caratteristiche visive di un carattere tipografico specificato. Queste caratteristiche vengono quindi utilizzate per associare il tipo di carattere ad altri tipi di carattere di aspetto simile con nomi diversi. Per informazioni sulla struttura PANOSE, vedere la documentazione di Window SDK.

Osservazioni

La struttura PRINTIFI32 è disponibile in Windows Server 2003 SP1 e versioni successive. Poiché questa struttura è di dimensioni fisse e non è garantita la modifica tra architetture o versioni del sistema operativo, può essere usata per i layout di file binari. I file UFM unidrv sono disposti nel formato descritto in questa struttura, per tutte le piattaforme. I file NTF Pscript5 usano la versione specifica della piattaforma di questa struttura.

È possibile specificare informazioni aggiuntive per un carattere tipografico nella struttura IFIEXTRA.

Un driver DrvQueryFont routine compila e restituisce una struttura IFIMETRICS a GDI.

La struttura PRINTIFI32 definisce tutte le informazioni relative a un carattere tipografico compreso da GDI. La maggior parte dei membri sono valori FWORD, che sono quantità a 16 bit con segno nello spazio di progettazione. Se il tipo di carattere è un tipo di carattere raster, lo spazio di progettazione e lo spazio del dispositivo sono uguali e un'unità di carattere equivale alla distanza tra pixel.

Il sistema di coordinate nello spazio carattere/notionale è tale che la coordinata y aumenta in direzione verso l'alto e la coordinata x aumenta a destra.

Fabbisogno

Requisito Valore
intestazione prntfont.h (include Prntfont.h)

Vedere anche

IFIMETRICS