Bagikan melalui


Struktur TEXTMETRICW (wingdi.h)

Struktur TEXTMETRIC berisi informasi dasar tentang font fisik. Semua ukuran ditentukan dalam unit logis; artinya, mereka bergantung pada mode pemetaan saat ini dari konteks tampilan.

Sintaks

typedef struct tagTEXTMETRICW {
  LONG  tmHeight;
  LONG  tmAscent;
  LONG  tmDescent;
  LONG  tmInternalLeading;
  LONG  tmExternalLeading;
  LONG  tmAveCharWidth;
  LONG  tmMaxCharWidth;
  LONG  tmWeight;
  LONG  tmOverhang;
  LONG  tmDigitizedAspectX;
  LONG  tmDigitizedAspectY;
  WCHAR tmFirstChar;
  WCHAR tmLastChar;
  WCHAR tmDefaultChar;
  WCHAR tmBreakChar;
  BYTE  tmItalic;
  BYTE  tmUnderlined;
  BYTE  tmStruckOut;
  BYTE  tmPitchAndFamily;
  BYTE  tmCharSet;
} TEXTMETRICW, *PTEXTMETRICW, *NPTEXTMETRICW, *LPTEXTMETRICW;

Anggota

tmHeight

Tinggi (naik + turun) karakter.

tmAscent

Ascent (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 leading tambahan (spasi) yang ditambahkan aplikasi di antara baris. Karena area ini berada di luar font, area ini 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

Bobot 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 mencukur string. Dalam kedua kasus, ada overhang melewati string dasar. Untuk string tebal, overhang adalah jarak di mana overstrike diimbangi. Untuk string miring, overhang adalah jumlah bagian atas font yang dicukur melewati bagian bawah font.

Anggota tmOverhang memungkinkan aplikasi menentukan berapa banyak lebar karakter yang dikembalikan oleh panggilan fungsi GetTextExtentPoint32 pada satu karakter adalah lebar karakter aktual dan berapa lebar ekstra per string. Lebar aktual adalah sejauh dikurangi overhang.

tmDigitizedAspectX

Aspek horizontal perangkat tempat font dirancang.

tmDigitizedAspectY

Aspek vertikal perangkat tempat font dirancang. Rasio anggota tmDigitizedAspectX dan tmDigitizedAspectY 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 strikeout jika bukan nol.

tmPitchAndFamily

Menentukan informasi tentang pitch, 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.

Terus-menerus Makna
TMPF_FIXED_PITCH Jika bit ini diatur font adalah font pitch variabel. Jika bit ini kosong, font adalah font pitch tetap. Perhatikan dengan sangat hati-hati bahwa makna-makna tersebut berlawanan dengan 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, font 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 mereka sendiri yang diatur, 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 tmPitchAndFamily berurutan tinggi menunjuk keluarga font. Aplikasi dapat menggunakan nilai 0xF0 dan operator AND bitwise untuk menutupi empat bit tmPitchAndFamily berurutan rendah, sehingga mendapatkan nilai yang dapat langsung dibandingkan dengan nama keluarga font untuk menemukan kecocokan yang identik. Untuk informasi tentang keluarga font, lihat deskripsi struktur LOGFONT .

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
Windows edisi bahasa Korea:
  • JOHAB_CHARSET
Windows edisi bahasa Timur Tengah:
  • ARABIC_CHARSET
  • HEBREW_CHARSET
Windows edisi bahasa Thailand:
  • THAI_CHARSET

Keterangan

Catatan

Header wingdi.h mendefinisikan TEXTMETRIC sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta pra-prosesor 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

Persyaratan Nilai
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Header wingdi.h (sertakan Windows.h)

Lihat juga

Struktur Font dan Teks

Gambaran Umum Font dan Teks

GetTextExtentPoint32

GetTextMetrics

LOGFONT