Shapes voor cijfers
Arabisch en vele andere talen hebben klassieke vormen voor getallen die afwijken van de conventionele westerse cijfers die het vaakst worden gebruikt op computers. Om dubbelzinnigheid bij het benoemen van deze shapes te voorkomen, gebruikt dit document de volgende namen van de Unicode-standaard.
Unicode-naam van de cijfers | Land/regio waar gebruikt |
---|---|
Europese cijfers | Europa, Noord- en Zuid-Amerika en vele andere landen/regio's |
Arabic-Indic cijfers | Arabische landen/regio's (hoewel veel europese cijfers gebruiken) |
Andere nationale cijfers: Indic digits, Thai digits, and the like | Verschillende landen/regio's |
Unicode biedt afzonderlijke codepunten voor elke cijfervorm. Om toegang te krijgen tot shapes voor speciale taalnummers, kan uw toepassing dus gebruikmaken van de relevante Unicode-tekencodes voor de bovenstaande cijfers, U+0030 tot en met U+0039. Deze codes worden altijd weergegeven met de juiste vorm, afhankelijk van de beschikbaarheid van lettertypen.
De Unicode-tekencodes U+0030 tot en met U+0039 vertegenwoordigen de Europese cijfers 0 tot en met 9, maar hun cijfervorm kan worden gewijzigd. GDI- en DirectWrite-tekst-API's bieden mechanismen voor toepassingen om dit gedrag te beheren. (Zie bijvoorbeeld ScriptApplyDigitSubstitution of IDWriteTextAnalysisSink::SetNumberSubstitution.) Het gedrag in sommige shell-besturingselementen en frameworks voor gebruikersinterfaces kan reageren op instellingen voor landinstellingen van gebruikers voor het vervangen van cijfers; het LOCALE_IDIGITSUBSTITUTION LCTYPE kan worden gebruikt om standaardinstellingen voor het vervangen van cijfers te verkrijgen voor verschillende landinstellingen of de bureaubladinstellingen van de huidige gebruiker voor het vervangen van cijfers.
Systeemeigen cijfers
Systeemeigen cijfers zijn de door de gebruiker gekozen cijfershapes in het eigenschappenvenster Getal in het gedeelte landinstellingen en taalopties van het Configuratiescherm. Als u de gewenste cijferpresentatie wilt vinden door de gebruiker, gebruikt uw toepassing de GetLocaleInfo- of functie GetLocaleInfoEx met de LOCALE_SNATIVEDIGITS constante die de landinstellingengegevens vertegenwoordigt.
Notitie
Normaal gesproken worden Unicode-cijfercodes gegenereerd in runtime-besturingssysteemroutines. Daarom moeten algemene runtime-besturingssystemen worden bijgewerkt voor de toepassing om LOCALE_SNATIVEDIGITS op de juiste wijze te controleren.
Cijfervervanging
De toepassing kan cijfervervanging gebruiken om het besturingssysteem te laten weten hoe u cijfers U+0030 tot en met U+0039 kunt afdrukken. De LOCALE_IDIGITSUBSTITUTION constante bepaalt deze bewerking.
Digit Shaping voor één functie
De ExtTextOut-, GetCharacterPlacementen GCP_RESULTS functies hebben vlaggen die de vervanging van Unicode-codes U+0030 tot en met U+0039 bepalen voor de duur van de functieoproep. Met deze vlaggen worden landinstellingen in het Configuratiescherm overschreven, maar worden de instellingen niet opnieuw ingesteld. Ze overschrijven ook de Unicode-codes NADS en NODS niet. De volgende vlaggen zijn beschikbaar.
Vlaggen | Gebruikte cijfers | Gebruikt in |
---|---|---|
ETO_NUMERICSLATIN | Europese cijfers | ExtTextOut- |
ETO_NUMERICSLOCAL | Cijfers die geschikt zijn voor de landinstelling | ExtTextOut- |
GCP_NUMERICSLATIN | Europese cijfers | GetCharacterPlacement- |
GCP_NUMERICSLOCAL | Cijfers die geschikt zijn voor de landinstelling | GetCharacterPlacement- |
GCPCLASS_LATINNUMBER | Europese cijfers | GCP_RESULTS |
GCPCLASS_LOCALNUMBER | Cijfers die geschikt zijn voor de landinstelling | GCP_RESULTS |
Verwante onderwerpen