Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Topik ini memberikan gambaran umum tentang beberapa fitur utama teknologi font OpenType di Windows Presentation Foundation (WPF).
OpenType Font Format
Format font OpenType adalah ekstensi dari format font TrueType®, menambahkan dukungan untuk data font PostScript. Format font OpenType dikembangkan bersama oleh Microsoft dan Adobe Corporation. Font OpenType dan layanan sistem operasi yang mendukung font OpenType memberi pengguna cara sederhana untuk menginstal dan menggunakan font, apakah font berisi kerangka TrueType atau kerangka CFF (PostScript).
Format font OpenType mengatasi tantangan pengembang berikut:
Dukungan multi-platform yang lebih luas.
Dukungan yang lebih baik untuk set karakter internasional.
Perlindungan data font yang lebih baik.
Ukuran file yang lebih kecil untuk membuat distribusi font lebih efisien.
Dukungan yang lebih luas untuk kontrol tipografi tingkat lanjut.
Nota
Windows SDK berisi sekumpulan contoh font OpenType yang dapat Anda gunakan dengan aplikasi Windows Presentation Foundation (WPF). Font ini menyediakan sebagian besar fitur yang diilustrasikan dalam topik ini lainnya. Untuk informasi selengkapnya, lihat Sampel Paket Font OpenType.
Untuk detail format font OpenType, lihat spesifikasi OpenType .
Ekstensi Tipografi Tingkat Lanjut
Tabel Tipografi Tingkat Lanjut (tabel Tata Letak OpenType) memperluas fungsionalitas font dengan kerangka TrueType atau CFF. Font Tata Letak OpenType berisi informasi tambahan yang memperluas kemampuan font untuk mendukung tipografi internasional berkualitas tinggi. Sebagian besar font OpenType hanya mengekspos subset dari total fitur OpenType yang tersedia. Font OpenType menyediakan fitur berikut.
Pemetaan kaya antara karakter dan glyph yang mendukung ligatur, bentuk-bentuk posisi, alternatif, dan penggantian font lainnya.
Dukungan untuk penempatan dua dimensi dan lampiran glyph.
Informasi skrip dan bahasa eksplisit yang terkandung dalam font, sehingga aplikasi pemrosesan teks dapat menyesuaikan perilakunya.
Tabel Tata Letak OpenType dijelaskan secara lebih rinci di bagian "Tabel File Font" spesifikasi OpenType.
Sisa gambaran umum ini memperkenalkan luas dan fleksibilitas beberapa fitur OpenType yang menarik secara visual yang diekspos oleh properti objek Typography. Untuk informasi selengkapnya tentang objek ini, lihat Kelas Tipografi.
Variasi
Varian digunakan untuk merender gaya tipografi yang berbeda, seperti superskrip dan subskrip.
Superskrip dan Subskrip
Properti Variants memungkinkan Anda mengatur nilai superskrip dan subskrip untuk font OpenType.
Teks berikut menampilkan superskrip untuk font Palatino Linotype.
Contoh markup berikut menunjukkan cara menentukan superskrip untuk font Palatino Linotype, menggunakan properti objek Typography.
<Paragraph FontFamily="Palatino Linotype">
2<Run Typography.Variants="Superscript">3</Run>
14<Run Typography.Variants="Superscript">th</Run>
</Paragraph>
Teks berikut menampilkan subskrip untuk font Palatino Linotype.
Contoh markup berikut menunjukkan cara menentukan subskrip untuk font Palatino Linotype, menggunakan properti objek Typography.
<Paragraph FontFamily="Palatino Linotype">
H<Run Typography.Variants="Subscript">2</Run>O
Footnote<Run Typography.Variants="Subscript">4</Run>
</Paragraph>
Penggunaan Dekoratif Superskrip dan Subskrip
Anda juga dapat menggunakan superskrip dan subskrip untuk membuat efek dekoratif dari teks aksara campuran. Teks berikut menampilkan teks superskrip dan subskrip untuk font Palatino Linotype. Perhatikan bahwa ibu kota tidak terpengaruh.
Contoh markup berikut menunjukkan cara menentukan superskrip dan subskrip untuk font, menggunakan properti objek Typography.
<Paragraph FontFamily="Palatino Linotype" Typography.Variants="Superscript">
Chapter One
</Paragraph>
<Paragraph FontFamily="Palatino Linotype" Typography.Variants="Subscript">
Chapter One
</Paragraph>
Ibukota
Huruf Kapital adalah sekumpulan bentuk tipografis yang merender teks dalam karakter bergaya kapital. Biasanya, ketika teks dirender sebagai semua huruf besar, penspasian antar huruf dapat tampak terlalu ketat, dan berat dan proporsi huruf terlalu berat. OpenType mendukung sejumlah format gaya untuk kapital, termasuk kapital kecil, kapital mungil, kapital judul, dan jarak huruf kapital. Format gaya ini memungkinkan Anda mengontrol tampilan huruf besar.
Teks berikut menampilkan huruf kapital standar untuk font Pescadero, diikuti dengan huruf yang ditata sebagai "SmallCaps" dan "AllSmallCaps". Dalam hal ini, ukuran font yang sama digunakan untuk ketiga kata tersebut.
Contoh markup berikut menunjukkan cara menentukan kapital untuk font Pescadero, menggunakan properti objek Typography. Ketika format "SmallCaps" digunakan, huruf kapital di depan diabaikan.
<Paragraph FontFamily="Pescadero" FontSize="48">
<Run>CAPITALS</Run>
<Run Typography.Capitals="SmallCaps">Capitals</Run>
<Run Typography.Capitals="AllSmallCaps">Capitals</Run>
</Paragraph>
Kapital Berliku
Huruf kapital judul lebih ringan dalam berat dan proporsi serta dirancang untuk memberikan tampilan yang lebih elegan daripada huruf kapital normal. Huruf kapital judul biasanya digunakan dalam ukuran font yang lebih besar sebagai judul. Teks berikut menampilkan huruf besar normal dan huruf kapital judul untuk font Pescadero. Perhatikan lebar batang teks yang lebih sempit pada baris kedua.
Contoh markup berikut menunjukkan cara menentukan kapital titling untuk font Pescadero, menggunakan properti objek Typography.
<Paragraph FontFamily="Pescadero">
<Run Typography.Capitals="Titling">chapter one</Run>
</Paragraph>
Penspasian Kapital
Fitur spasi huruf kapital memungkinkan Anda memberikan spasi lebih banyak khusus saat menggunakan semua huruf kapital dalam teks. Huruf kapital biasanya dirancang untuk menyatu dengan huruf kecil. Spasi yang tampak menarik antara huruf kapital dan huruf kecil mungkin terlihat terlalu ketat ketika semua huruf kapital digunakan. Teks berikut menampilkan penspasian normal dan kapital untuk font Pescadero.
Contoh markup berikut menunjukkan cara menentukan jarak antar huruf kapital untuk font Pescadero, dengan menggunakan properti dari objek Typography.
<Paragraph FontFamily="Pescadero">
<Run Typography.CapitalSpacing="True">CHAPTER ONE</Run>
</Paragraph>
Ligatur
Ligatur adalah dua atau lebih glyph yang dibentuk menjadi satu glyph untuk membuat teks yang lebih mudah dibaca atau menarik. Font OpenType mendukung empat jenis ligatur:
Ligatur Standar. Dirancang untuk meningkatkan keterbacaan. Ligatur standar termasuk "fi", "fl", dan "ff".
Ligatur kontekstual. Dirancang untuk meningkatkan keterbacaan dengan memberikan perilaku penggabungan yang lebih baik antara karakter yang membentuk ligatur.
Ligatur diskresi. Dirancang untuk menjadi hias, dan tidak dirancang khusus untuk keterbacaan.
Ligatur historis. Dirancang untuk menjadi historis, dan tidak dirancang khusus untuk keterbacaan.
Teks berikut menampilkan glyph ligatur standar untuk font Pericles.
Contoh markup berikut menunjukkan cara menentukan glyph ligatur standar untuk font Pericles, menggunakan properti objek Typography.
<Paragraph FontFamily="Pericles" Typography.StandardLigatures="True">
<Run Typography.StylisticAlternates="1">FI</Run>
<Run Typography.StylisticAlternates="1">FL</Run>
<Run Typography.StylisticAlternates="1">TH</Run>
<Run Typography.StylisticAlternates="1">TT</Run>
<Run Typography.StylisticAlternates="1">TV</Run>
<Run Typography.StylisticAlternates="1">TW</Run>
<Run Typography.StylisticAlternates="1">TY</Run>
<Run Typography.StylisticAlternates="1">VT</Run>
<Run Typography.StylisticAlternates="1">WT</Run>
<Run Typography.StylisticAlternates="1">YT</Run>
</Paragraph>
Teks di bawah ini menampilkan glyph ligatur opsional untuk font Pericles.
Contoh markup berikut menunjukkan cara menentukan glyph ligatur diskresi untuk font Pericles, menggunakan properti objek Typography.
<Paragraph FontFamily="Pericles" Typography.DiscretionaryLigatures="True">
<Run Typography.StylisticAlternates="1">CO</Run>
<Run Typography.StylisticAlternates="1">LA</Run>
<Run Typography.StylisticAlternates="1">LE</Run>
<Run Typography.StylisticAlternates="1">LI</Run>
<Run Typography.StylisticAlternates="1">LL</Run>
<Run Typography.StylisticAlternates="1">LO</Run>
<Run Typography.StylisticAlternates="1">LU</Run>
</Paragraph>
Secara default, font OpenType di Windows Presentation Foundation (WPF) mengaktifkan ligatur standar. Misalnya, jika Anda menggunakan font Palatino Linotype, ligatur standar "fi", "ff", dan "fl" muncul sebagai glyph karakter gabungan. Perhatikan bahwa sepasang karakter untuk setiap ligatur standar saling menyentuh.
Namun, Anda dapat menonaktifkan fitur ligatur standar sehingga ligatur standar seperti "ff" ditampilkan sebagai dua glyph terpisah, bukan sebagai glyph karakter gabungan.
Contoh markup berikut menunjukkan cara menonaktifkan glyph ligatur standar untuk font Palatino Linotype, menggunakan properti objek Typography.
<!-- Set standard ligatures to false in order to disable feature. -->
<Paragraph Typography.StandardLigatures="False" FontFamily="Palatino Linotype" FontSize="72">
fi ff fl
</Paragraph>
Swash
Swashes adalah huruf dekoratif yang menggunakan hiasan yang rumit dan sering dikaitkan dengan kaligrafi. Teks berikut menampilkan glyph standar dan swash untuk font Pescadero.
Swash sering digunakan sebagai elemen dekoratif dalam ungkapan singkat seperti pengumuman acara. Teks berikut menggunakan goresan dekoratif untuk menekankan huruf kapital pada nama acara.
Contoh markup berikut menunjukkan cara menentukan elemen hiasan pada huruf, menggunakan properti dari objek Typography.
<Paragraph FontFamily="Pescadero" TextBlock.TextAlignment="Center">
Wishing you a<LineBreak/>
<Run Typography.StandardSwashes="1" FontSize="36">Happy New Year!</Run>
</Paragraph>
Hiasan Huruf Kontekstual
Kombinasi glyph swash tertentu dapat menyebabkan penampilan yang tidak menarik, seperti descender yang tumpang tindih pada huruf yang berdekatan. Menggunakan swash kontekstual memungkinkan Anda menggunakan himpunan karakter swash pengganti yang memberikan tampilan yang lebih baik. Teks berikut menunjukkan kata yang sama sebelum dan sesudah ornamen kontekstual diterapkan.
Contoh markup berikut menunjukkan cara menentukan swash kontekstual untuk font Pescadero dengan menggunakan properti dari objek Typography.
<Paragraph FontFamily="Pescadero" Typography.StandardSwashes="1">
Lyon <Run Typography.ContextualSwashes="1">L</Run>yon
</Paragraph>
Alternatif
Alternatif adalah glyph yang dapat digantikan dengan glyph standar. Font OpenType, seperti font Pericles yang digunakan dalam contoh berikut, dapat berisi glyph alternatif yang dapat Anda gunakan untuk membuat tampilan yang berbeda untuk teks. Teks berikut menampilkan glyph standar untuk font Pericles.
Font Pericles OpenType berisi glyph tambahan yang menyediakan alternatif gaya ke sekumpulan glyph standar. Teks berikut menampilkan glif alternatif bergaya.
Contoh markup berikut menunjukkan cara menentukan glyph alternatif gaya untuk font Pericles, menggunakan properti objek Typography.
<Paragraph FontFamily="Pericles">
<Run Typography.StylisticAlternates="1">A</Run>NCIENT
GR<Run Typography.StylisticAlternates="1">EE</Run>K
MYTH<Run Typography.StylisticAlternates="1">O</Run>LOGY
</Paragraph>
Teks berikut menampilkan beberapa glyph alternatif gaya lainnya untuk font Pericles.
Contoh markup berikut menunjukkan cara menentukan glyph alternatif gaya lainnya ini.
<Paragraph FontFamily="Pericles">
<Run Typography.StylisticAlternates="1">A</Run>
<Run Typography.StylisticAlternates="2">A</Run>
<Run Typography.StylisticAlternates="3">A</Run>
<Run Typography.StylisticAlternates="1">C</Run>
<Run Typography.StylisticAlternates="1">E</Run>
<Run Typography.StylisticAlternates="1">G</Run>
<Run Typography.StylisticAlternates="1">O</Run>
<Run Typography.StylisticAlternates="1">Q</Run>
<Run Typography.StylisticAlternates="1">R</Run>
<Run Typography.StylisticAlternates="2">R</Run>
<Run Typography.StylisticAlternates="1">S</Run>
<Run Typography.StylisticAlternates="1">Y</Run>
</Paragraph>
Alternatif Acak Kontekstual
Alternatif kontekstual acak menyediakan beberapa glyph pengganti untuk satu karakter. Saat diimplementasikan dengan font jenis skrip, fitur ini dapat mensimulasikan tulisan tangan dengan menggunakan sekumpulan glyph yang dipilih secara acak dengan sedikit perbedaan tampilan. Teks berikut menggunakan alternatif kontekstual acak untuk font Lindsey. Perhatikan bahwa huruf "a" sedikit bervariasi dalam penampilan
Contoh markup berikut menunjukkan cara menentukan alternatif kontekstual acak untuk font Lindsey, menggunakan properti objek Typography.
<TextBlock FontFamily="Lindsey">
<Run Typography.ContextualAlternates="True">
a banana in a cabana
</Run>
</TextBlock>
Bentuk Sejarah
Bentuk historis adalah konvensi tipografis yang umum di masa lalu. Teks berikut menampilkan frasa, "Boston, Massachusetts", menggunakan bentuk historis glyph untuk font Palatino Linotype.
Contoh markup berikut menunjukkan cara menentukan formulir historis untuk font Palatino Linotype, menggunakan properti objek Typography.
<Paragraph FontFamily="Palatino Linotype">
<Run Typography.HistoricalForms="True">Boston, Massachusetts</Run>
</Paragraph>
Gaya Numerik
Font OpenType mendukung sejumlah besar fitur yang dapat digunakan dengan nilai numerik dalam teks.
Pecahan
Font OpenType mendukung gaya untuk pecahan, termasuk dipungut dan ditumpuk.
Teks berikut menampilkan gaya pecahan untuk font Palatino Linotype.
Contoh markup berikut menunjukkan cara menentukan gaya pecahan untuk font Palatino Linotype, menggunakan properti objek Typography.
<Paragraph FontFamily="Palatino Linotype" Typography.Fraction="Slashed">
1/8 1/4 3/8 1/2 5/8 3/4 7/8
</Paragraph>
<Paragraph FontFamily="Palatino Linotype" Typography.Fraction="Stacked">
1/8 1/4 3/8 1/2 5/8 3/4 7/8
</Paragraph>
Angka Gaya Lama
Font OpenType mendukung format angka gaya lama. Format ini berguna untuk menampilkan angka dalam gaya yang tidak lagi standar. Teks berikut menampilkan tanggal abad ke-18 dalam format angka gaya standar dan lama untuk font Palatino Linotype.
Teks berikut menampilkan angka standar untuk font Palatino Linotype, diikuti dengan angka gaya lama.
Contoh markup berikut menunjukkan cara menentukan angka gaya lama untuk font Palatino Linotype, menggunakan properti objek Typography.
<Paragraph FontFamily="Palatino Linotype">
<Run Typography.NumeralStyle="Normal">1234567890</Run>
<Run Typography.NumeralStyle="OldStyle">1234567890</Run>
</Paragraph>
Gambar Proporsional dan Tabular
Font OpenType mendukung fitur gambar proporsional dan tabular untuk mengontrol perataan lebar saat menggunakan angka. Angka proporsional memperlakukan setiap angka sebagai memiliki lebar yang berbeda—"1" lebih sempit dari "5". Angka tabular diperlakukan sebagai angka lebar yang sama sehingga selaras secara vertikal, yang meningkatkan keterbacaan informasi jenis keuangan.
Teks berikut menampilkan dua gambar proporsional di kolom pertama menggunakan font Miramonte. Perhatikan perbedaan lebar antara angka "5" dan "1". Kolom kedua memperlihatkan dua nilai numerik yang sama dengan lebar yang disesuaikan dengan menggunakan fitur gambar tabular.
Contoh markup berikut menunjukkan cara menentukan gambar proporsional dan tabular untuk font Miramonte, menggunakan properti objek Typography.
<TextBlock FontFamily="Miramonte">
<Run Typography.NumeralAlignment="Proportional">114,131</Run>
</TextBlock>
<TextBlock FontFamily="Miramonte">
<Run Typography.NumeralAlignment="Tabular">114,131</Run>
</TextBlock>
Garis Miring Nol
Font OpenType mendukung format angka 0 dengan garis miring untuk menekankan perbedaan antara huruf "O" dan angka "0". Angka nol yang dipungut sering digunakan untuk pengidentifikasi dalam informasi keuangan dan bisnis.
Teks berikut menampilkan contoh pengidentifikasi pesanan menggunakan font Miramonte. Baris pertama menggunakan angka standar. Baris kedua menggunakan angka nol yang digaris miring untuk memberikan kontras yang lebih baik dengan huruf "O" kapital.
Contoh markup berikut menunjukkan cara menentukan angka nol yang dipotong untuk font Miramonte, menggunakan properti objek Typography.
<Paragraph FontFamily="Miramonte">
<Run>Order #0048-OTC-390</Run>
<LineBreak/>
<Run Typography.SlashedZero="True">Order #0048-OTC-390</Run>
</Paragraph>
Kelas Tipografi
Objek Typography mengekspos sekumpulan fitur yang didukung font OpenType. Dengan mengatur properti Typography dalam markup, Anda dapat dengan mudah menulis dokumen yang memanfaatkan fitur OpenType.
Teks berikut menampilkan huruf kapital standar untuk font Pescadero, diikuti dengan huruf yang ditata sebagai "SmallCaps" dan "AllSmallCaps". Dalam hal ini, ukuran font yang sama digunakan untuk ketiga kata tersebut.
Contoh markup berikut menunjukkan cara menentukan kapital untuk font Pescadero, menggunakan properti objek Typography. Ketika format "SmallCaps" digunakan, huruf kapital di depan diabaikan.
<Paragraph FontFamily="Pescadero" FontSize="48">
<Run>CAPITALS</Run>
<Run Typography.Capitals="SmallCaps">Capitals</Run>
<Run Typography.Capitals="AllSmallCaps">Capitals</Run>
</Paragraph>
Contoh kode berikut menyelesaikan tugas yang sama dengan contoh markup sebelumnya.
MyParagraph.FontFamily = new FontFamily("Pescadero");
MyParagraph.FontSize = 48;
Run run_1 = new Run("CAPITALS ");
MyParagraph.Inlines.Add(run_1);
Run run_2 = new Run("Capitals ");
run_2.Typography.Capitals = FontCapitals.SmallCaps;
MyParagraph.Inlines.Add(run_2);
Run run_3 = new Run("Capitals");
run_3.Typography.Capitals = FontCapitals.AllSmallCaps;
MyParagraph.Inlines.Add(run_3);
MyParagraph.Inlines.Add(new LineBreak());
MyParagraph.FontFamily = New FontFamily("Pescadero")
MyParagraph.FontSize = 48
Dim run_1 As New Run("CAPITALS ")
MyParagraph.Inlines.Add(run_1)
Dim run_2 As New Run("Capitals ")
run_2.Typography.Capitals = FontCapitals.SmallCaps
MyParagraph.Inlines.Add(run_2)
Dim run_3 As New Run("Capitals")
run_3.Typography.Capitals = FontCapitals.AllSmallCaps
MyParagraph.Inlines.Add(run_3)
MyParagraph.Inlines.Add(New LineBreak())
Properti Kelas Tipografi
Tabel berikut mencantumkan properti, nilai, dan pengaturan default objek Typography.
Lihat juga
.NET Desktop feedback