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 );
Valor de retorno
Diferente de zero se bem-sucedida; caso contrário 0.
Parâmetros
nHeight
Especifica a altura desejada (em unidades lógicas) da fonte. A altura da fonte pode ser especificada da seguinte maneira:
O valor absoluto de nHeight não deve exceder 16.384 unidades do dispositivo depois que ele for convertido. Para todas as comparações altura, o mapeador de fonte procura a maior fonte que não exceda o tamanho solicitado ou o tipo de letra mais pequeno se todas as fontes excederem o tamanho solicitado.
nWidth
Especifica o médio largura (nas unidades lógicas) de caracteres na fonte. Se nWidth for 0, a taxa de proporção do dispositivo haverá correspondência contra a proporção digitization da disponível fontes para localizar a correspondência mais próxima, que é determinada pelo valor absoluto da diferença.
nEscapement
Especifica o ângulo (em unidades de 0,1 grau) entre o vetor escapement e do eixo x de superfície de Exibir. O vetor de escapement é a linha até as origens do primeiro e último caracteres em uma linha. O ângulo é medido no sentido anti-horário do eixo x.
nOrientation
Especifica o ângulo (em unidades de 0,1 grau) entre a linha de base de um caractere e o eixo x. O ângulo é medido no sentido anti-horário do eixo x para sistemas de coordenada em que direção y é para baixo e no sentido horário do eixo x para sistemas de coordenada em que direção y é até.
nWeight
Especifica a espessura da fonte (em pixels inked por 1000). Embora nWeight pode ser qualquer valor inteiro de 0 a 1000, as constantes e os valores comuns são os seguintes:
Constante | Valor |
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 |
Esses valores são aproximados; a aparência real depende do tipo de letra. Algumas fontes têm somente FW_NORMAL, FW_REGULARe FW_BOLD pesos. Se FW_DONTCARE for especificado, é utilizado um peso padrão.
bItalic
Especifica se a fonte está em itálico.
bUnderline
Especifica se a fonte é sublinhada.
cStrikeOut
Especifica se os caracteres na fonte são inutilizadas. Especifica uma fonte riscado se definida como um valor diferente de zero.
nCharSet
Especifica o conjunto de caracteres da fonte. As seguintes constantes e valores são predefinidos:
Constante | Valor |
ANSI_CHARSET | 0 |
DEFAULT_CHARSET | 1 |
SYMBOL_CHARSET | 2 |
SHIFTJIS_CHARSET | 128 |
OEM_CHARSET | 255 |
O conjunto de caracteres OEM é dependente do sistema.
Fontes com outros conjuntos de caracteres podem existir no sistema. Um aplicativo que usa uma fonte com um conjunto de caracteres desconhecido não deve tentar converter ou interpretar seqüências de caracteres que devem ser processados com essa fonte. Em vez disso, as seqüências de caracteres devem ser passadas diretamente para o driver de dispositivo de saída.
O mapeador da fonte não usa o valor DEFAULT_CHARSET . Um aplicativo pode usar esse valor para permitir que o nome e o tamanho de uma fonte para descrever totalmente a fonte lógico. Se uma fonte com o nome especificado não existir, uma fonte de qualquer conjunto de caracteres pode ser substituída para a fonte especificada. Para evitar resultados inesperados, aplicativos devem usar o valor DEFAULT_CHARSET com moderação.
nOutPrecision
Especifica a precisão de saída desejada. A precisão saída define como estreitamente a saída deve corresponder a fonte solicitada altura, largura, orientação de caractere, escapement e densidade. Pode ser qualquer um dos seguintes valores:
OUT_CHARACTER_PRECIS | OUT_STRING_PRECIS |
OUT_DEFAULT_PRECIS | OUT_STROKE_PRECIS |
OUT_DEVICE_PRECIS | OUT_TT_PRECIS |
OUT_RASTER_PRECIS |
Aplicativos podem usar os valores OUT_DEVICE_PRECIS, OUT_RASTER_PRECISe OUT_TT_PRECIS para controlar como o mapeador de fonte escolhe um tipo de letra quando o sistema contém mais de uma fonte com um determinado nome. Por exemplo, se um sistema contiver um tipo de letra chamado símbolo em raster e TrueType formulário, especificar OUT_TT_PRECIS força o mapeador de fonte para escolher a versão TrueType. (Especificação OUT_TT_PRECIS força o mapeador de fonte para escolher um tipo de letra TrueType sempre que o nome da fonte especificada corresponde a um dispositivo ou a fonte de varredura, mesmo quando não há nenhuma fonte TrueType de mesmo nome.)
nClipPrecision
Especifica a precisão recorte desejado. A precisão recorte define como clip caracteres que estão parcialmente fora da região de recorte. Pode ser qualquer um dos seguintes valores:
CLIP_CHARACTER_PRECIS | CLIP_MASK |
CLIP_DEFAULT_PRECIS | CLIP_STROKE_PRECIS |
CLIP_ENCAPSULATE | CLIP_TT_ALWAYS |
CLIP_LH_ANGLES |
Para usar uma fonte incorporada somente leitura, um aplicativo deve especificar CLIP_ENCAPSULATE.
Para obter rotação consistente de dispositivo, TrueType e fontes vetoriais, um aplicativo pode usar o operador OR para combinar o valor CLIP_LH_ANGLES com qualquer um dos outros valores de nClipPrecision . Se o bit CLIP_LH_ANGLES é definido, a rotação de todas as fontes depende se a orientação do sistema de coordenadas é canhota ou destro. (Para obter mais informações sobre a orientação dos sistemas de coordenadas, consulte a descrição do parâmetro nOrientation ). Se CLIP_LH_ANGLES não estiver definido, fontes dispositivo sempre giram no sentido anti-horário, mas a rotação de outras fontes é dependente da orientação do sistema de coordenadas.
nQuality
Especifica a qualidade de saída da fonte, que define como cuidadosamente a GDI deve tentar coincidir com os atributos lógicos fonte dos de uma fonte física real. Ele pode ser uma dos seguinte valores:
nPitchAndFamily
Especifica a densidade e família da fonte. Os dois bits de ordem inferior especifica a densidade da fonte e podem ser qualquer um dos seguintes valores:
DEFAULT_PITCH | VARIABLE_PITCH | FIXED_PITCH |
Aplicativos podem adicionar TMPF_TRUETYPE para o parâmetro nPitchAndFamily para escolher uma fonte TrueType. Os quatro bits de ordem alta do parâmetro especificar a família de fontes e podem ser qualquer um dos seguintes valores:
Um aplicativo pode especificar um valor para nPitchAndFamily usando o Boolean operador OR para juntar-se uma constante de arremesso com uma constante de família.
Famílias de fontes descrevem a aparência de uma fonte de uma maneira geral. Eles são destinados especificar fontes quando o tipo de letra exato desejado não estiver disponível.
lpszFacename
Um CString ou um ponteiro para uma seqüência de caracteres null-terminated que especifica o nome face de tipos da fonte. O comprimento deste seqüência de caracteres não deve exceder 30 caracteres. O Windows EnumFontFamilies função pode ser usado para enumerar todas as fontes disponíveis atualmente. Se lpszFacename é NULL, o GDI usa um tipo de letra de dispositivo independente.
Observações
Inicializa um objeto CFont com as características especificadas. A fonte subseqüentemente pode ser selecionada como a fonte para qualquer contexto de dispositivo.
A função CreateFont não criar uma nova fonte de GDI do Windows. Ele simplesmente seleciona a correspondência mais próxima das fontes disponíveis no pool do GDI de fontes físicas.
Aplicativos podem usar as configurações padrão para a maioria destes parâmetros ao criar uma fonte lógico. Os parâmetros que devem sempre receber valores específicos são nHeight e lpszFacename. Se nHeight e lpszFacename não são definidas pelo aplicativo, a fonte lógico que é criada é dependente do dispositivo.
Quando você concluir com o objeto de CFont criado pela função CreateFont , primeiro selecionar a fonte fora do contexto do dispositivo e excluir o objeto CFont.
Visão geral de CFont |nbsp; Membros de classe | Gráfico de hierarquia
Consulte tambémnbsp;CFont::CreateFontIndirect, CFont:: CreatePointFont, :: CreateFont, :: EnumFontFamilies, :: EnumFonts