數位圖形
阿拉伯文和許多其他語言都有數位的傳統圖形,與電腦上最常使用的傳統西部數位不同。 為避免為這些圖形命名模棱兩可,本檔使用 Unicode 標準中的下列名稱。
數位的 Unicode 名稱 | 使用的國家/地區 |
---|---|
歐洲數位 | 歐洲、北美洲和許多其他國家/地區 |
Arabic-Indic位數 | 阿拉伯文國家/地區 (,雖然許多都使用歐洲數位) |
其他國家/地區數位:索引數位、泰文數位等 | 各種國家/地區 |
Unicode 會為每個數位圖形提供個別的代碼點。 因此,若要存取特殊語言數位圖形,您的應用程式可以使用上述數位的相關 Unicode 字元碼 U+0030 到 U+0039。 這些程式碼一律會以適當的圖案顯示,並受限於字型可用性。
Unicode 字元代碼 U+0030 到 U+0039 實際上代表歐洲數位 0 到 9,但可以改變其數位圖形。 GDI 和DirectWrite文字 API 提供讓應用程式控制此行為的機制。 (請參閱,例如 ScriptApplyDigitSubstitution 或 IDWriteTextAnalysisSink::SetNumberSubstitution.) 某些殼層控制項和使用者介面架構的行為可能會回應數位替代的使用者地區設定; LOCALE_IDIGITSUBSTITUTION LCTYPE 可用來取得不同地區設定的預設數位替代設定,或目前使用者的桌面設定進行數位替代。
原生數位是使用者在 [數位] 屬性工作表中,主控台的區域和語言選項部分所選擇的數位圖形。 若要尋找使用者慣用的數位簡報,您的應用程式會使用 GetLocaleInfo 或 GetLocaleInfoEx 函式搭配代表地區設定資訊的 LOCALE_SNATIVEDIGITS 常數。
注意
一般而言,Unicode 數位碼會在執行時間作業系統常式中產生。 因此,必須升級常見的執行時間作業系統,應用程式才能適當地檢查 LOCALE_SNATIVEDIGITS 。
應用程式可以使用數位替代來告訴作業系統如何列印 U+0030 到 U+0039 的數位。 LOCALE_IDIGITSUBSTITUTION常數會控制這項作業。
ExtTextOut、GetCharacterPlacement和GCP_RESULTS函式具有旗標,可控管在函式呼叫期間取代 Unicode 代碼 U+0030 到 U+0039 的旗標。 這些旗標會覆寫主控台中的區域設定,但不會重設設定。 此外,它們不會覆寫 Unicode 代碼 NADS 和 NODS。 下列旗標可供使用。
Flags | 使用的位數 | 使用於 |
---|---|---|
ETO_NUMERICSLATIN | 歐洲數位 | ExtTextOut |
ETO_NUMERICSLOCAL | 適用于地區設定的數位 | ExtTextOut |
GCP_NUMERICSLATIN | 歐洲數位 | GetCharacterPlacement |
GCP_NUMERICSLOCAL | 適用于地區設定的數位 | GetCharacterPlacement |
GCPCLASS_LATINNUMBER | 歐洲數位 | GCP_RESULTS |
GCPCLASS_LOCALNUMBER | 適用于地區設定的數位 | GCP_RESULTS |