數字圖形
阿拉伯文和許多其他語言都有數位的傳統形狀,這些數位與計算機上最常使用的傳統西方數位不同。 為了避免命名這些圖形時模棱兩可,本檔會使用 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 可用來取得不同地區設定的預設數位替代設定,或目前使用者的桌面設定進行數位替代。
原生數位
原生數位是使用者在控制面板的區域和語言選項部分 Number 屬性表中選擇的數位圖形。 若要尋找使用者慣用的數字簡報,您的應用程式會使用 GetLocaleInfo 或 GetLocaleInfoEx 函式搭配代表地區設定資訊的 LOCALE_SNATIVEDIGITS 常數。
注意
一般而言,運行時間作系統例程中會產生 Unicode 數位碼。 因此,必須升級常見的運行時間作系統,應用程式才能適當地檢查 LOCALE_SNATIVEDIGITS。
數位替代
應用程式可以使用數位替代來告訴作系統如何透過U+0039列印數位U+0030。 LOCALE_IDIGITSUBSTITUTION 常數會控制這項作業。
單一函式的數位成形
ExtTextOut、GetCharacterPlacement和 GCP_RESULTS 函式具有旗標,可控管在函數調用期間取代 Unicode 代碼 U+0030 到 U+0039。 這些旗標會覆寫控制面板中的區域設定,但不會重設設定。 此外,它們不會覆寫 Unicode 代碼 NADS 和 NODS。 下列旗標可供使用。
標誌 | 使用的位數 | 用於 |
---|---|---|
ETO_NUMERICSLATIN | 歐洲數位 | ExtTextOut |
ETO_NUMERICSLOCAL | 適用於地區設定的數位 | ExtTextOut |
GCP_NUMERICSLATIN | 歐洲數位 | GetCharacterPlacement |
GCP_NUMERICSLOCAL | 適用於地區設定的數位 | GetCharacterPlacement |
GCPCLASS_LATINNUMBER | 歐洲數位 | GCP_RESULTS |
GCPCLASS_LOCALNUMBER | 適用於地區設定的數位 | GCP_RESULTS |
相關主題
-
關於國家語言支援 的