BOOL CreateFont ( int nHeight, int nWidth, int nEscapement, int nOrientation, int nWeight, BYTE bItalic, BYTE bUnderline, BYTE cStrikeOut, BYTE nCharSet, BYTE nOutPrecision, BYTE nClipPrecision, BYTE nQuality, BYTE nPitchAndFamily, LPCTSTR lpszFacename );
Valore restituito
Diverso da zero in caso di successo; in caso contrario 0.
Parametri
nHeight
Specifica l'altezza desiderata (in unità logico) del tipo di carattere. L'altezza del tipo di carattere può essere specificato nei seguenti modi:
Il valore assoluto del nHeight non deve superare 16.384 unità periferica dopo che si è convertito. Per tutti i confronti di altezza, Guarda il mapper del tipo di carattere per il tipo di carattere più grande che non superi le dimensioni richieste o il tipo di carattere più piccolo se tutti i font superano le dimensioni richieste.
nWidth
Specifica la larghezza media (in unità logiche) di caratteri nel tipo di carattere. Se nWidth è 0, il rapporto di aspetto del dispositivo sarà abbinato contro il rapporto di aspetto di digitalizzazione dei font disponibili per trovare la corrispondenza più vicina, che è determinata dal valore assoluto della differenza.
nEscapement
Specifica l'angolo (in unità di 0,1 gradi) tra il vettore di scappamento e l'asse x della superficie di visualizzazione. Il vettore di scappamento è la linea attraverso le origini dei primi e gli ultimi personaggi su una linea. L'angolo è misurato in senso antiorario dall'asse x.
nOrientation
Specifica l'angolo (in unità di 0,1 gradi) tra la linea di base di un personaggio e l'asse x. L'angolo è misurato in senso antiorario dall'asse x per sistemi di coordinate in cui direzione y è verso il basso e in senso orario dall'asse x per sistemi di coordinate in cui direzione y è fino.
nWeight
Specifica il tipo di carattere (in pixel inchiostrati per mille). Anche se nWeight può essere qualsiasi valore intero da 0 a 1000, costanti e i valori comuni sono i seguenti:
| Costante | Valore |
| FW_DONTCARE | 0 |
| FW_THIN | 100 |
| FW_EXTRALIGHT | 200 |
| FW_ULTRALIGHT | 200 |
| FW_LIGHT | 300 |
| FW_NORMAL | 400 |
| FW_REGULAR | 400 |
| FW_MEDIUM | 500 |
| FW_SEMIBOLD | 600 |
| FW_DEMIBOLD | 600 |
| FW_BOLD | 700 |
| FW_EXTRABOLD | 800 |
| FW_ULTRABOLD | 800 |
| FW_BLACK | 900 |
| FW_HEAVY | 900 |
Questi valori sono approssimativi; l'aspetto effettivo dipende il carattere tipografico. Alcuni font hanno pesi solo FW_NORMAL, FW_REGULARe FW_BOLD . Se FW_DONTCARE viene specificato, viene utilizzato un peso predefinito.
bItalic
Specifica se il tipo di carattere corsivo.
bUnderline
Specifica se il tipo di carattere è sottolineata.
cStrikeOut
Specifica se sono depennati caratteri nel tipo di carattere. Specifica un tipo di carattere barrato se impostato su un valore diverso da zero.
nCharSet
Specifica il set di caratteri del tipo di carattere. Le seguenti costanti e i valori sono predefiniti:
| Costante | Valore |
| ANSI_CHARSET | 0 |
| DEFAULT_CHARSET | 1 |
| SYMBOL_CHARSET | 2 |
| SHIFTJIS_CHARSET | 128 |
| OEM_CHARSET | 255 |
Il set di caratteri OEM è dipendente dal sistema.
I caratteri con altri set di caratteri possono esistere nel sistema. Un'applicazione che utilizza un tipo di carattere con un set di caratteri sconosciuti non deve tentare di tradurre o interpretare le stringhe che sono di essere resi con quel tipo di carattere. Invece, le stringhe devono essere passate direttamente al driver di dispositivo di uscita.
Il mapper del tipo di carattere non utilizza il valore DEFAULT_CHARSET . Un'applicazione può utilizzare questo valore per consentire il nome e la dimensione di un carattere completamente descrivere il tipo di carattere logico. Se un tipo di carattere con il nome specificato non esiste, un tipo di carattere da qualsiasi set di caratteri può essere sostituito per il tipo di carattere specificato. Per evitare risultati imprevisti, le applicazioni devono utilizzare il valore DEFAULT_CHARSET con parsimonia.
nOutPrecision
Specifica la precisione dell'output desiderato. La precisione dell'output definisce la misura l'output deve rispettare il tipo di carattere richiesto altezza, larghezza, orientamento, scappamento e pece. Può essere uno qualsiasi dei seguenti valori:
| OUT_CHARACTER_PRECIS | OUT_STRING_PRECIS |
| OUT_DEFAULT_PRECIS | OUT_STROKE_PRECIS |
| OUT_DEVICE_PRECIS | OUT_TT_PRECIS |
| OUT_RASTER_PRECIS |
Applicazioni possono utilizzare i valori OUT_DEVICE_PRECIS, OUT_RASTER_PRECISe OUT_TT_PRECIS per controllare come il mapper carattere sceglie un font quando il sistema contiene più di un tipo di carattere con un dato nome. Ad esempio, se un sistema contiene un tipo di carattere denominato simbolo in forma TrueType e raster, specificando OUT_TT_PRECIS forze il mapper di carattere per scegliere la versione TrueType. (Specificando OUT_TT_PRECIS forze il mapper di carattere per scegliere un font TrueType ogni volta che il nome del tipo di carattere specificato corrisponde a un dispositivo o carattere raster, anche quando non non c'è nessun font TrueType lo stesso nome).
nClipPrecision
Specifica la precisione desiderata ritaglio. La precisione di ritaglio definisce come ritagliare i caratteri che sono parzialmente all'esterno dell'area di ritaglio. Può essere uno qualsiasi dei seguenti valori:
| CLIP_CHARACTER_PRECIS | CLIP_MASK |
| CLIP_DEFAULT_PRECIS | CLIP_STROKE_PRECIS |
| CLIP_ENCAPSULATE | CLIP_TT_ALWAYS |
| CLIP_LH_ANGLES |
Per utilizzare un font incorporato di sola lettura, un'applicazione deve specificare CLIP_ENCAPSULATE.
Per ottenere la rotazione coerente del dispositivo, TrueType e tipi di carattere vettoriali, un'applicazione può utilizzare l'operatore OR per combinare il valore CLIP_LH_ANGLES con uno qualsiasi degli altri valori nClipPrecision . Se è impostato il bit CLIP_LH_ANGLES , la rotazione per tutti i font dipende se l'orientamento del sistema di coordinate è mancino o destri. (Per ulteriori informazioni sull'orientamento dei sistemi di coordinate, vedere la descrizione del parametro nOrientation ). Se CLIP_LH_ANGLES non è impostato, i caratteri dispositivo sempre ruotano in senso antiorario, ma la rotazione di altri tipi di carattere dipende dall'orientamento del sistema di coordinate.
nQuality
Specifica la qualità di uscita del font che definisce quanta cura GDI deve tentare di abbinare gli attributi del tipo di carattere logico a quelli di un tipo di carattere fisico reale. Può essere uno dei seguenti valori:
nPitchAndFamily
Specifica il passo e la famiglia del tipo di carattere. I due bit specificano l'intonazione del tipo di carattere e possono essere uno dei seguenti valori:
| DEFAULT_PITCH | VARIABLE_PITCH | FIXED_PITCH |
Le applicazioni possono aggiungere TMPF_TRUETYPE al parametro nPitchAndFamily di scegliere un font TrueType. I quattro bit più significativi del parametro specificare la famiglia di caratteri e può essere uno dei seguenti valori:
Un'applicazione può specificare un valore per nPitchAndFamily tramite l'operatore booleano o di aderire a una costante di pece con una costante di famiglia.
Famiglie di font descrivono l'aspetto di un tipo di carattere in modo generale. Essi sono destinati per specificare i tipi di carattere, quando il carattere tipografico esatto desiderato non è disponibile.
lpszFacename
Un CString o un puntatore a una stringa con terminazione null che specifica il nome del carattere tipografico del tipo di carattere. La lunghezza della stringa non deve superare i 30 caratteri. La funzione Windows EnumFontFamilies può essere utilizzata per enumerare tutti i font attualmente disponibili. Se lpszFacename è NULL, GDI utilizza un carattere tipografico indipendente dal dispositivo.
Osservazioni
Inizializza un oggetto CFont con le caratteristiche specificate. Il tipo di carattere successivamente può essere selezionato come tipo di carattere per ogni contesto di periferica.
La funzione CreateFont non crea un nuovo font Windows GDI. Semplicemente sceglie la corrispondenza più vicina fra i font disponibili nella piscina di GDI di tipi di carattere fisici.
Le applicazioni possono utilizzare le impostazioni predefinite per la maggior parte di questi parametri quando si crea un tipo di carattere logico. I parametri che dovrebbero essere sempre dato valori specifici sono nHeight e lpszFacename. Se nHeight e lpszFacename non sono impostati dall'applicazione, il tipo di carattere logico che si crea è dipendente dalla periferica.
Quando hai finito con l'oggetto CFont creato dalla funzione CreateFont , prima selezionare il tipo di carattere di contesto di periferica, quindi eliminare l'oggetto CFont.
CFont panoramica |nbsp; Membri della classe | Gerarchia Chart
Vedere anchenbsp;CFont::CreateFontIndirect, CFont, :: CreateFont, :: EnumFontFamilies, :: EnumFonts