Compartilhar via


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

Em cada versão principal do Windows, há fontes adicionadas para dar suporte a idiomas e scripts internacionais. Faça referência ao Suporte a Scripts e Fontes no Windows para as fontes que foram adicionadas em cada versão do Windows desde o Windows 2000, bem como seus scripts, regiões e idiomas com suporte.

Enumfontfamiliesex

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

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

Choosefont

Você pode usar a função ChooseFont para exibir uma caixa de diálogo comum que permite que o usuário selecione fontes internacionais com base no conjunto de caracteres. Você pode especificar um dos três sinalizadores para determinar, com base no conjunto de caracteres, quais fontes são exibidas na caixa de diálogo EscolherFont: CF_SCRIPTSONLY, CF_SELECTSCRIPT ou 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 abrangem um conjunto de caracteres específico, será necessário especificar o sinalizador CF_SELECTSCRIPT. Antes de chamar ChooseFont, inicialize o campo lfCharSet da estrutura LOGFONT . Se você estiver interessado em especificar apenas o conjunto de caracteres, defina os outros campos da estrutura LOGFONT como NULL. Para que ChooseFont examine a estrutura LOGFONT , você também precisa especificar o sinalizador CF_INITTOLOGFONTSTRUCT .

Por fim, como acontece com qualquer outro campo na caixa de diálogo Fonte, você pode optar por exibir uma caixa de listagem de script em branco. Essa funcionalidade será útil se o usuário tiver realçado 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 ao exibir fontes na caixa de listagem. O sinalizador adicional (CF_INACTIVEFONTS) no membro flags da estrutura ChooseFont é adicionado para permitir que você exiba todas as fontes instaladas na lista de fontes, da mesma forma que ChooseFont se comportou antes do Windows 7. Para obter os detalhes das diferenças de comportamento no Windows 7 para a função ChooseFont , consulte Caixa de diálogo Comum ChooseFont() Win32 no Livro de Receitas de Qualidade do Aplicativo Windows 7. Consulte a função ChooseFont e a estrutura CHOOSEFONT para as diferenças de experiência do usuário final no Windows 7.

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

Controles de fonte na Faixa de Opções Cênicas 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 dão suporte ao 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á em execução em qualquer plataforma antes do Windows 7.

 

Enumfontfamiliesex

Choosefont

Estrutura CHOOSEFONT

Controles de fonte na Faixa de Opções Cênicas do Windows

Caixa de diálogo Comum ChooseFont() Win32