ScriptPositionSingleGlyph 函式 (usp10.h)
使用在 OpenType 處理字型中提供的指定功能,放置具有單一調整的單一圖像。 通常,應用程式會使用此函式,在線條的開頭或結尾以光學方式對齊圖像。
語法
HRESULT ScriptPositionSingleGlyph(
[in, optional] HDC hdc,
[in, out] SCRIPT_CACHE *psc,
[in, optional] SCRIPT_ANALYSIS *psa,
[in] OPENTYPE_TAG tagScript,
[in] OPENTYPE_TAG tagLangSys,
[in] OPENTYPE_TAG tagFeature,
[in] LONG lParameter,
[in] WORD wGlyphId,
[in] int iAdvance,
[in] GOFFSET GOffset,
[out] int *piOutAdvance,
[out] GOFFSET *pOutGoffset
);
參數
[in, optional] hdc
裝置內容的句柄。 如需詳細資訊,請參閱 快取。
[in, out] psc
識別腳本快取 之SCRIPT_CACHE 結構的指標。
[in, optional] psa
從先前呼叫 ScriptItemizeOpenType 取得之SCRIPT_ANALYSIS結構的指標。 此結構會識別成形引擎,以便擷取進階寬度。
或者,應用程式可以將此參數設定為 NULL ,以擷取未篩選的結果。
[in] tagScript
定義用於成形之腳本標籤 的OPENTYPE_TAG 結構。
[in] tagLangSys
定義用於成形之語言標籤 的OPENTYPE_TAG 結構。
[in] tagFeature
OPENTYPE_TAG結構,定義用於成形替代字元的功能標記。
[in] lParameter
旗標,指定是否應該將單一替代套用至 wGlyphId 中指定的標識碼。 應用程式會將此參數設定為 1,以將單一替代功能套用至標識碼。 如果函式不應該套用此功能,應用程式會將 參數設定為 0。
[in] wGlyphId
正在成形之原始圖像的識別碼。
[in] iAdvance
原始圖像進階寬度。
[in] GOffset
原始圖像位移。 一般而言,此值是 ScriptPlaceOpenType 或 ScriptPlace 的輸出。
[out] piOutAdvance
此函式擷取針對替代圖像調整之新進階寬度的位置指標。
[out] pOutGoffset
此函式擷取針對替代圖像調整之新圖像位移的位置指標。
傳回值
若成功,即傳回 0。 如果函式不成功,函式會傳回非零 HRESULT 值。 應用程式可以使用 SUCCEEDED 和 FAILED 宏來測試傳回值。
備註
此函式會藉由調整指定圖像的進階寬度和/或位移來定位個別圖像。 函式假設字型只需要一個調整。
此函式的一般用法是稍微調整邊界,以考慮特定字元所做的視覺印象。 例如,在拉丁文腳本中,在行開頭,通常會稍微調整左邊的初始大寫 (,例如 “T” 或 “O”) 在圖像左半部沒有垂直線。 雖然這樣做會中斷嚴格的線性邊界,但眼球會認為邊界更偶數。
下列範例示範此效果。 第一個範例顯示嚴格的對齊方式;接下來的兩個範例顯示左側初始 「T」 的調整。 這些調整分別是一個像素和兩個圖元。 右邊的放大影像顯示「T」 在每個後續案例中,將稍微遠一點推入左邊界的方式。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | usp10.h |
程式庫 | Usp10.lib |
Dll | Usp10.dll |
可轉散發套件 | 在 Windows XP 上 Usp10.dll 1.600 版或更新版本 |