Format data yang diambil fungsi. Parameter ini bisa menjadi salah satu nilai berikut.
Nilai
Arti
GGO_BEZIER
Fungsi ini mengambil data kurva sebagai spline Bézier kubik (bukan dalam format spline kuadrat).
GGO_BITMAP
Fungsi ini mengambil bitmap glyph. Untuk informasi tentang alokasi memori, lihat bagian Keterangan berikut ini.
GGO_GLYPH_INDEX
Menunjukkan bahwa parameter uChar adalah Indeks TrueType Glyph daripada kode karakter. Lihat fungsiExtTextOut untuk komentar tambahan tentang Pengindeksan Glyph.
GGO_GRAY2_BITMAP
Fungsi ini mengambil bitmap glyph yang berisi lima tingkat abu-abu.
GGO_GRAY4_BITMAP
Fungsi ini mengambil bitmap glyph yang berisi 17 tingkat abu-abu.
GGO_GRAY8_BITMAP
Fungsi ini mengambil bitmap glyph yang berisi 65 tingkat abu-abu.
GGO_METRICS
Fungsi ini hanya mengambil struktur GLYPHMETRICS yang ditentukan oleh lpgm.
lpvBuffer diabaikan. Nilai ini memengaruhi arti nilai pengembalian fungsi setelah kegagalan; lihat bagian Mengembalikan Nilai.
GGO_NATIVE
Fungsi ini mengambil titik data kurva dalam format asli rasterizer dan menggunakan unit desain font.
GGO_UNHINTED
Fungsi hanya mengembalikan kerangka yang tidak ditautkan. Bendera ini hanya berfungsi bersama dengan GGO_BEZIER dan GGO_NATIVE.
Perhatikan bahwa, untuk nilai GGO_GRAYn_BITMAP, fungsi mengambil bitmap glyph yang berisi n^2+1 (n kuadrat ditambah satu) tingkat abu-abu.
[out] lpgm
Penunjuk ke struktur GLYPHMETRICS yang menjelaskan penempatan glyph di sel karakter.
[in] cjBuffer
Ukuran, dalam byte, buffer (*lpvBuffer) di mana fungsinya adalah menyalin informasi tentang karakter kerangka. Jika nilai ini nol, fungsi mengembalikan ukuran buffer yang diperlukan.
[out] pvBuffer
Penunjuk ke buffer yang menerima informasi tentang karakter kerangka. Jika nilai ini null, fungsi mengembalikan ukuran buffer yang diperlukan.
[in] lpmat2
Penunjuk ke struktur MAT2 yang menentukan matriks transformasi untuk karakter.
Mengembalikan nilai
Jika GGO_BITMAP, GGO_GRAY2_BITMAP, GGO_GRAY4_BITMAP, GGO_GRAY8_BITMAP, atau GGO_NATIVE ditentukan dan fungsi berhasil, nilai pengembalian lebih besar dari nol; jika tidak, nilai yang dikembalikan adalah GDI_ERROR. Jika salah satu bendera ini ditentukan dan ukuran atau alamat buffer adalah nol, nilai pengembalian menentukan ukuran buffer yang diperlukan, dalam byte.
Jika GGO_METRICS ditentukan dan fungsi gagal, nilai yang dikembalikan adalah GDI_ERROR.
Komentar
Kerangka glyph yang dikembalikan oleh fungsi GetGlyphOutline adalah untuk glyph yang pas dengan kisi. (Glyph yang dipasang kisi adalah glyph yang telah dimodifikasi sehingga gambar bitmapped-nya sesuai sedekat mungkin dengan desain asli glyph.) Jika aplikasi memerlukan kerangka glyph yang tidak dimodifikasi, aplikasi dapat meminta kerangka glyph untuk karakter dalam font yang ukurannya sama dengan unit em font. Nilai untuk unit em font disimpan dalam otmEMSquare anggota struktur OUTLINETEXTMETRIC .
Bitmap glyph yang dikembalikan oleh GetGlyphOutline ketika GGO_BITMAP ditentukan adalah bitmap monokrom yang selaras dengan DWORD, berorientasi baris. Ketika GGO_GRAY2_BITMAP ditentukan, bitmap yang dikembalikan adalah array byte berorientasi baris yang diratakan DWORD yang nilainya berkisar dari 0 hingga 4. Ketika GGO_GRAY4_BITMAP ditentukan, bitmap yang dikembalikan adalah array byte berorientasi baris DWORD yang berkisar dari 0 hingga 16. Ketika GGO_GRAY8_BITMAP ditentukan, bitmap yang dikembalikan adalah array byte berorientasi baris yang diratakan DWORD yang nilainya berkisar antara 0 hingga 64.
Buffer asli yang dikembalikan oleh GetGlyphOutline saat GGO_NATIVE ditentukan adalah kerangka glyph. Kerangka glyph dikembalikan sebagai serangkaian satu atau beberapa kontur yang ditentukan oleh strukturTTPOLYGONHEADER diikuti oleh satu atau beberapa kurva. Setiap kurva dalam kontur didefinisikan oleh strukturTTPOLYCURVE diikuti oleh sejumlah titik data POINTFX .
titik POINTFX adalah posisi absolut, bukan gerakan relatif. Titik awal kontur diberikan oleh pfxStart anggota strukturTTPOLYGONHEADER. Titik awal setiap kurva adalah titik terakhir dari kurva sebelumnya atau titik awal kontur. Jumlah titik data dalam kurva disimpan dalam cpfx anggota struktur TTPOLYCURVE. Ukuran setiap kontur dalam buffer, dalam byte, disimpan dalam cb anggota struktur TTPOLYGONHEADER. Definisi kurva tambahan dikemas ke dalam buffer setelah kurva sebelumnya dan kontur tambahan dikemas ke dalam buffer setelah kontur sebelumnya. Buffer berisi kontur sebanyak yang pas dalam buffer yang dikembalikan oleh GetGlyphOutline.
Struktur GLYPHMETRICS menentukan lebar sel karakter dan lokasi glyph dalam sel karakter. Asal sel karakter terletak di sisi kiri sel di garis besar font. Lokasi asal glyph relatif terhadap asal sel karakter. Tinggi sel karakter, garis besar, dan metrik lain secara global ke font diberikan oleh struktur OUTLINETEXTMETRIC .
Aplikasi dapat mengubah karakter yang diambil dalam bitmap atau format asli dengan menentukan matriks transformasi 2-by-2 dalam parameter lpMatrix. Misalnya glyph dapat dimodifikasi dengan geser, rotasi, penskalaan, atau kombinasi ketiganya menggunakan perkalian matriks.
Informasi tambahan tentang kerangka glyph terletak di TrueType dan spesifikasi teknis OpenType.
Catatan
Header wingdi.h mendefinisikan GetGlyphOutline sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta preprosektor UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.
Persyaratan
Syarat
Nilai
klien minimum yang didukung
Windows 2000 Professional [hanya aplikasi desktop]