Formas de dígitos
O árabe e muitas outras línguas têm formas clássicas para números que são diferentes dos dígitos ocidentais convencionais mais usados em computadores. Para evitar ambiguidade na nomeação dessas formas, este documento usa os seguintes nomes do padrão Unicode.
Nome Unicode dos dígitos | País/região onde usado |
---|---|
Algarismos europeus | Europa, Américas e muitos outros países/regiões |
Arabic-Indic dígitos | Países/regiões árabes (embora muitos usem dígitos europeus) |
Outros algarismos nacionais: algarismos índicos, algarismos tailandeses e similares | Vários países/regiões |
O Unicode fornece pontos de código separados para cada forma de dígito. Assim, para acessar formas de dígitos de idiomas especiais, seu aplicativo pode usar os códigos de caracteres Unicode relevantes para os dígitos acima, U+0030 a U+0039. Estes códigos são sempre exibidos com a forma apropriada, sujeito à disponibilidade de fontes.
Os códigos de caracteres Unicode U+0030 a U+0039 representam nominalmente os dígitos europeus de 0 a 9, mas sua forma de dígito pode ser alterada. As APIs de texto GDI e DirectWrite fornecem mecanismos para que os aplicativos controlem esse comportamento. (Ver, por exemplo, ScriptApplyDigitSubstitution ou IDWriteTextAnalysisSink::SetNumberSubstitution.) O comportamento em alguns controles de shell e estruturas de interface do usuário pode responder às configurações de localidade do usuário para substituição de dígitos; o LOCALE_IDIGITSUBSTITUTION LCTYPE pode ser usado para obter configurações padrão de substituição de dígitos para diferentes localidades ou as configurações da área de trabalho do usuário atual para substituição de dígitos.
Dígitos nativos
Os dígitos nativos são as formas de dígitos escolhidas pelo usuário na folha de propriedades Número na parte de opções regionais e de idioma do Painel de Controle. Para encontrar a apresentação de dígitos preferida pelo usuário, seu aplicativo usa a GetLocaleInfo ou função GetLocaleInfoEx com a constante LOCALE_SNATIVEDIGITS que representa as informações de localidade.
Observação
Normalmente, os códigos de dígitos Unicode são gerados em rotinas do sistema operacional em tempo de execução. Portanto, os sistemas operacionais comuns de tempo de execução devem ser atualizados para que o aplicativo inspecione LOCALE_SNATIVEDIGITS adequadamente.
Substituição de dígitos
O aplicativo pode usar a substituição de dígitos para dizer ao sistema operacional como imprimir dígitos U+0030 a U+0039. O LOCALE_IDIGITSUBSTITUTION constante controla esta operação.
Modelagem de dígitos para uma única função
As funções ExtTextOut, GetCharacterPlacemente GCP_RESULTS têm sinalizadores que regem a substituição dos códigos Unicode U+0030 a U+0039 durante a chamada de função. Esses sinalizadores substituem as configurações regionais no Painel de Controle, mas não redefinem as configurações. Além disso, eles não substituem os códigos Unicode NADS e NODS. Os seguintes sinalizadores estão disponíveis.
Bandeiras | Algarismos utilizados | Utilizado em |
---|---|---|
ETO_NUMERICSLATIN | Algarismos europeus | ExtTextOut |
ETO_NUMERICSLOCAL | Dígitos apropriados para a localidade | ExtTextOut |
GCP_NUMERICSLATIN | Algarismos europeus | GetCharacterPlacement |
GCP_NUMERICSLOCAL | Dígitos apropriados para a localidade | GetCharacterPlacement |
GCPCLASS_LATINNUMBER | Algarismos europeus | GCP_RESULTS |
GCPCLASS_LOCALNUMBER | Dígitos apropriados para a localidade | GCP_RESULTS |
Tópicos relacionados
-
Sobre a de Suporte Nacional de Idiomas