Struktur TEXTMETRICA (wingdi.h)
Struktur
Sintaksis
typedef struct tagTEXTMETRICA {
LONG tmHeight;
LONG tmAscent;
LONG tmDescent;
LONG tmInternalLeading;
LONG tmExternalLeading;
LONG tmAveCharWidth;
LONG tmMaxCharWidth;
LONG tmWeight;
LONG tmOverhang;
LONG tmDigitizedAspectX;
LONG tmDigitizedAspectY;
BYTE tmFirstChar;
BYTE tmLastChar;
BYTE tmDefaultChar;
BYTE tmBreakChar;
BYTE tmItalic;
BYTE tmUnderlined;
BYTE tmStruckOut;
BYTE tmPitchAndFamily;
BYTE tmCharSet;
} TEXTMETRICA, *PTEXTMETRICA, *NPTEXTMETRICA, *LPTEXTMETRICA;
Anggota
tmHeight
Tinggi (naik + turun) karakter.
tmAscent
Pendataan (unit di atas garis dasar) karakter.
tmDescent
Turunan (unit di bawah garis dasar) karakter.
tmInternalLeading
Jumlah leading (spasi) di dalam batas yang ditetapkan oleh anggota tmHeight. Tanda aksen dan karakter diakritik lainnya mungkin terjadi di area ini. Perancang dapat mengatur anggota ini ke nol.
tmExternalLeading
Jumlah tambahan leading (spasi) yang ditambahkan aplikasi di antara baris. Karena area ini berada di luar font, tidak berisi tanda dan tidak diubah oleh panggilan output teks dalam mode OPAQUE atau TRANSPARAN. Perancang dapat mengatur anggota ini ke nol.
tmAveCharWidth
Lebar rata-rata karakter dalam font (umumnya didefinisikan sebagai lebar huruf x ). Nilai ini tidak termasuk overhang yang diperlukan untuk karakter tebal atau miring.
tmMaxCharWidth
Lebar karakter terluas dalam font.
tmWeight
Berat font.
tmOverhang
Lebar ekstra per string yang dapat ditambahkan ke beberapa font yang disintesis. Saat mensintesis beberapa atribut, seperti tebal atau miring, antarmuka perangkat grafis (GDI) atau perangkat mungkin harus menambahkan lebar ke string berdasarkan per karakter dan per string. Misalnya, GDI membuat string tebal dengan memperluas penspasian setiap karakter dan mengambil alih oleh nilai offset; italicizes font dengan menggeser string. Dalam kedua kasus, ada overhang melewati string dasar. Untuk string tebal, overhang adalah jarak di mana pengambilan berlebihan diimbangi. Untuk string miring, overhang adalah jumlah bagian atas font dicukur melewati bagian bawah font.
Anggota
tmDigitizedAspectX
Aspek horizontal perangkat tempat font dirancang.
tmDigitizedAspectY
Aspek vertikal perangkat tempat font dirancang. Rasio tmDigitizedAspectX dan tmDigitizedAspectY anggota adalah rasio aspek perangkat tempat font dirancang.
tmFirstChar
Nilai karakter pertama yang ditentukan dalam font.
tmLastChar
Nilai karakter terakhir yang ditentukan dalam font.
tmDefaultChar
Nilai karakter yang akan digantikan untuk karakter yang tidak ada dalam font.
tmBreakChar
Nilai karakter yang akan digunakan untuk menentukan pemisah kata untuk pembenaran teks.
tmItalic
Menentukan font miring jika bukan nol.
tmUnderlined
Menentukan font bergaris bawah jika bukan nol.
tmStruckOut
Font coretan jika bukan nol.
tmPitchAndFamily
Menentukan informasi tentang nada, teknologi, dan keluarga font fisik.
Empat bit berurutan rendah dari anggota ini menentukan informasi tentang nada dan teknologi font. Konstanta didefinisikan untuk masing-masing dari empat bit.
Konstan | Arti |
---|---|
TMPF_FIXED_PITCH | Jika bit ini diatur, font adalah font pitch variabel. Jika bit ini bersih, font adalah font pitch tetap. Perhatikan dengan sangat hati-hati bahwa arti tersebut adalah kebalikan dari apa yang namanya konstanta. |
TMPF_VECTOR | Jika bit ini diatur, font adalah font vektor. |
TMPF_TRUETYPE | Jika bit ini diatur, font adalah font TrueType. |
TMPF_DEVICE | Jika bit ini diatur, fonta adalah font perangkat. |
Aplikasi harus dengan hati-hati menguji kualitas yang dikodekan dalam bit berurutan rendah ini, tidak membuat asumsi arbitrer. Misalnya, selain memiliki bit sendiri yang ditetapkan, font TrueType dan PostScript mengatur bit TMPF_VECTOR. Font bitmap monospace memiliki semua bit berurutan rendah ini jelas; font bitmap proporsional mengatur bit TMPF_FIXED_PITCH. Font perangkat printer Postscript mengatur bit TMPF_DEVICE, TMPF_VECTOR, dan TMPF_FIXED_PITCH.
Empat bit berurutan tinggi tmPitchAndFamily menunjuk keluarga font. Aplikasi dapat menggunakan nilai 0xF0 dan operator BITWISE AND untuk menutupi empat bit berurutan rendah tmPitchAndFamily, sehingga mendapatkan nilai yang dapat langsung dibandingkan dengan nama keluarga font untuk menemukan kecocokan yang identik. Untuk informasi tentang keluarga font, lihat deskripsi struktur
tmCharSet
Kumpulan karakter font. Kumpulan karakter bisa menjadi salah satu nilai berikut.
- ANSI_CHARSET
- BALTIC_CHARSET
- CHINESEBIG5_CHARSET
- DEFAULT_CHARSET
- EASTEUROPE_CHARSET
- GB2312_CHARSET
- GREEK_CHARSET
- HANGUL_CHARSET
- MAC_CHARSET
- OEM_CHARSET
- RUSSIAN_CHARSET
- SHIFTJIS_CHARSET
- SYMBOL_CHARSET
- TURKISH_CHARSET
- VIETNAMESE_CHARSET
- JOHAB_CHARSET
- ARABIC_CHARSET
- HEBREW_CHARSET
- THAI_CHARSET
Komentar
Nota
Header wingdi.h mendefinisikan TEXTMETRIC 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] |
server minimum yang didukung |
Windows 2000 Server [hanya aplikasi desktop] |
Header |
wingdi.h (termasuk Windows.h) |
Lihat juga
Font dan Teks
GetTextMetrics
LOGFONT