Partilhar via


Enumeração e seleção internacional de fontes

Em cada versão principal do Windows, há fontes adicionadas para suportar scripts e idiomas internacionais. Consulte Suporte a Scripts e Fontes no Windows para obter as fontes que foram adicionadas em cada versão do Windows desde o Windows 2000, bem como seus scripts, regiões e idiomas suportados.

EnumFontFamíliasEx

Para enumerar fontes internacionais em seu aplicativo, você pode usar a funçãoEnumFontFamiliesEx. EnumFontFamiliesEx permite enumerar fontes com base no nome do tipo de letra e no conjunto de caracteres passando um ponteiro para uma estruturaLOGFONTque contém o nome do tipo de letra e as informações do conjunto de caracteres. Para ligar para EnumFontFamiliesEx, você pode especificar um nome de tipo de letra ou um charset, ou você pode pedir o que estiver disponível. Definir o nome do tipo de letra do LOGFONT como NULL enumera todos os nomes de tipo de letra. Definir o campo charset como DEFAULT_CHARSET enumera todos os conjuntos de caracteres.

Observe que charsets são uma noção herdada correspondente a conjuntos de caracteres pré-Unicode. No momento, não há nenhum mecanismo para enumerar fontes que suportam scripts arbitrários ou intervalos de caracteres em Unicode. A estruturaNEWTEXTMETRICEX passada por EnumFontFamExProc inclui a estrutura FONTSIGNATURE, que inclui declarações mais detalhadas fornecidas pelo desenvolvedor da fonte sobre quais páginas de código e quais intervalos Unicode a fonte suporta. Para determinar com mais precisão quais intervalos de caracteres uma determinada fonte suporta, selecione a fonte em um contexto de dispositivo e chame GetFontUnicodeRanges. Observe que essa API não suporta planos suplementares Unicode.

EscolherFonte

Você pode usar a função ChooseFont para exibir uma caixa de diálogo comum que permite ao usuário selecionar fontes internacionais com base no charset. Você pode especificar um dos três sinalizadores para determinar, com base no charset, quais fontes são exibidas na caixa de diálogo ChooseFont: CF_SCRIPTSONLY, CF_SELECTSCRIPTou CF_NOSCRIPTSEL.

O sinalizador CF_SCRIPTSONLY informa à API para listar fontes para todos os conjuntos de caracteres que não são Symbol ou OEM.

Se você quiser exibir apenas fontes que cobrem um conjunto de caracteres específico, precisará especificar o sinalizador CF_SELECTSCRIPT. Antes de chamar ChooseFont, inicialize o campo lfCharSet da estruturaLOGFONT do. Se você estiver interessado em especificar apenas o charset, defina os outros campos da estrutura LOGFONT como NULL. Para que ChooseFont examine estrutura LOGFONT, você também precisa especificar o sinalizador CF_INITTOLOGFONTSTRUCT.

Finalmente, como com qualquer outro campo na caixa de diálogo Fonte, você pode optar por exibir uma caixa de listagem de script em branco. Esse recurso é útil se o usuário tiver destacado várias fontes diferentes abrangendo vários conjuntos de caracteres. Nesse caso, você chamaria ChooseFont com o sinalizador CF_NOSCRIPTSEL.

A partir do Windows 7, ChooseFont implementa suporte para ocultar fontes de listas de seleção de fontes. ChooseFont listará apenas as fontes mostradas e filtrará as fontes ocultas enquanto exibe fontes na caixa de listagem. O sinalizador adicional (CF_INACTIVEFONTS) no membro de sinalizadores da estruturaChooseFont é adicionado para permitir que você exiba todas as fontes instaladas na lista de fontes, o mesmo que ChooseFont se comportava antes do Windows 7. Para obter detalhes sobre as diferenças de comportamento no Windows 7 para a função ChooseFont, consulte de diálogo comum do Win32 ChooseFont() no Windows 7 Application Quality Cookbook. Consulte função ChooseFont e estrutura CHOOSEFONT para as diferenças de experiência do usuário final no Windows 7.

Observe que charsets são uma noção herdada correspondente a conjuntos de caracteres pré-Unicode. No momento, não há nenhum mecanismo para filtrar fontes com base em scripts Unicode ou intervalos de caracteres.

Controles de fonte na faixa de opções cênica do Windows

O Windows 7 apresenta a Faixa de Opções Cênica do Windows, que vem com um conjunto de controles direcionados à seleção de fontes. Esses controles de fonte suportam o novo comportamento de ocultação de fonte do Windows 7. Você pode usar esses controles de fonte para listar apenas fontes mostradas e permitir que o usuário selecione a fonte.

Observação

O suporte para ocultar fontes não está disponível quando a Faixa de Opções Cênica do Windows está sendo executada em qualquer plataforma anterior ao Windows 7.

 

EnumFontFamiliesEx

ChooseFont

estrutura CHOOSEFONT

controles de fonte no Windows Scenic Ribbon

ChooseFont() Win32 Common Dialog