Fungsi ScriptPositionSingleGlyph (usp10.h)

Memposisikan satu glyph dengan penyesuaian tunggal menggunakan fitur tertentu yang disediakan dalam font untuk pemrosesan OpenType. Paling sering, aplikasi menggunakan fungsi ini untuk menyelaraskan glyph secara optik di awal atau akhir baris.

Sintaks

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
);

Parameter

[in, optional] hdc

Menangani konteks perangkat. Untuk informasi selengkapnya, lihat Penembolokan.

[in, out] psc

Arahkan ke struktur SCRIPT_CACHE yang mengidentifikasi cache skrip.

[in, optional] psa

Penunjuk ke struktur SCRIPT_ANALYSIS yang diperoleh dari panggilan sebelumnya ke ScriptItemizeOpenType. Struktur ini mengidentifikasi mesin pembentukan, sehingga lebar lanjutan dapat diambil.

Atau, aplikasi dapat mengatur parameter ini ke NULL untuk mengambil hasil yang tidak difilter.

[in] tagScript

Struktur OPENTYPE_TAG yang menentukan tag skrip untuk pembentukan.

[in] tagLangSys

Struktur OPENTYPE_TAG yang menentukan tag bahasa untuk pembentukan.

[in] tagFeature

Struktur OPENTYPE_TAG yang mendefinisikan tag fitur yang akan digunakan untuk membentuk glyph alternatif.

[in] lParameter

Bendera yang menentukan apakah penggantian tunggal harus diterapkan ke pengidentifikasi yang ditentukan dalam wGlyphId. Aplikasi menetapkan parameter ini ke 1 untuk menerapkan fitur substitusi tunggal ke pengidentifikasi. Aplikasi mengatur parameter ke 0 jika fungsi tidak boleh menerapkan fitur.

[in] wGlyphId

Pengidentifikasi glyph asli yang dibentuk.

[in] iAdvance

Lebar glyph awal maju.

[in] GOffset

Offset glyph asli. Biasanya, nilai ini adalah output dari ScriptPlaceOpenType atau ScriptPlace.

[out] piOutAdvance

Penunjuk ke lokasi di mana fungsi ini mengambil lebar lanjutan baru yang disesuaikan untuk glyph alternatif.

[out] pOutGoffset

Penunjuk ke lokasi di mana fungsi ini mengambil offset glyph baru yang disesuaikan untuk glyph alternatif.

Nilai kembali

Mengembalikan 0 jika berhasil. Fungsi mengembalikan nilai HRESULT bukan nol jika tidak berhasil. Aplikasi dapat menguji nilai pengembalian dengan makro BERHASIL dan GAGAL .

Keterangan

Fungsi ini memposisikan glyph individu dengan menyesuaikan lebar lanjutan dan/atau offset dari glyph yang diberikan. Fungsi ini mengasumsikan bahwa font hanya memerlukan satu penyesuaian.

Penggunaan umum dari fungsi ini adalah sedikit penyesuaian margin untuk mempertanyakan kesan visual yang dibuat oleh karakter tertentu. Dalam skrip Latin, misalnya, di awal garis adalah umum untuk membuat sedikit penyesuaian di sebelah kiri untuk modal awal (seperti "T" atau "O") yang tidak memiliki garis vertikal di bagian kiri glyph. Meskipun melakukan ini mematahkan margin linier yang ketat, mata melihat margin lebih merata.

Contoh berikut menunjukkan efek ini. Contoh pertama menunjukkan perataan yang ketat; dua contoh berikutnya menunjukkan penyesuaian awal "T" di sebelah kiri. Penyesuaiannya masing-masing berdasarkan satu piksel dan dua piksel. Gambar yang diperbesar ke kanan menunjukkan bagaimana "T" mendorong sedikit lebih jauh ke margin kiri dalam setiap kasus berturut-turut.

Ilustrasi memperlihatkan blok teks yang sama tiga kali, dengan perbesaran masing-masing memperlihatkan perataan yang sedikit berbeda
Penting Dimulai dengan Windows 8: Untuk mempertahankan kemampuan untuk berjalan pada Windows 7, modul yang menggunakan Uniscribe harus menentukan Usp10.lib sebelum gdi32.lib dalam daftar pustakanya.
 

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2008 [hanya aplikasi desktop]
Target Platform Windows
Header usp10.h
Pustaka Usp10.lib
DLL Usp10.dll
Redistribusi Usp10.dll versi 1.600 atau lebih tinggi di Windows XP

Lihat juga

Penembolokan

OPENTYPE_TAG

SCRIPT_ANALYSIS

SCRIPT_CACHE

ScriptItemizeOpenType

Uniscribe

Fungsi Uniscribe