共用方式為


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

原始圖像位移。 一般而言,此值是 ScriptPlaceOpenTypeScriptPlace 的輸出。

[out] piOutAdvance

此函式擷取針對替代圖像調整之新進階寬度的位置指標。

[out] pOutGoffset

此函式擷取針對替代圖像調整之新圖像位移的位置指標。

傳回值

若成功,即傳回 0。 如果函式不成功,函式會傳回非零 HRESULT 值。 應用程式可以使用 SUCCEEDEDFAILED 宏來測試傳回值。

備註

此函式會藉由調整指定圖像的進階寬度和/或位移來定位個別圖像。 函式假設字型只需要一個調整。

此函式的一般用法是稍微調整邊界,以考慮特定字元所做的視覺印象。 例如,在拉丁文腳本中,在行開頭,通常會稍微調整左邊的初始大寫 (,例如 “T” 或 “O”) 在圖像左半部沒有垂直線。 雖然這樣做會中斷嚴格的線性邊界,但眼球會認為邊界更偶數。

下列範例示範此效果。 第一個範例顯示嚴格的對齊方式;接下來的兩個範例顯示左側初始 「T」 的調整。 這些調整分別是一個像素和兩個圖元。 右邊的放大影像顯示「T」 在每個後續案例中,將稍微遠一點推入左邊界的方式。

顯示相同文字區塊三次的圖例,每個區塊的放大顯示稍微不同的對齊方式
重要從 Windows 8 開始:若要維持在 Windows 7 上執行的能力,使用 Uniscribe 的模組必須在其連結庫清單中指定 gdi32.lib 之前指定 Usp10.lib。
 

規格需求

需求
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 [僅限傳統型應用程式]
目標平台 Windows
標頭 usp10.h
程式庫 Usp10.lib
Dll Usp10.dll
可轉散發套件 在 Windows XP 上 Usp10.dll 1.600 版或更新版本

另請參閱

Caching

OPENTYPE_TAG

SCRIPT_ANALYSIS

SCRIPT_CACHE

ScriptItemizeOpenType

Uniscribe

Uniscribe 函式