Apa yang baru di DirectWrite

Topik ini menjelaskan apa yang baru dalam DirectWrite untuk berbagai rilis Windows 10.

SDK Aplikasi Windows

SDK Aplikasi Windows memperkenalkan versi baru DirectWrite, yang disebut DWriteCore. Untuk detail selengkapnya, lihat Gambaran umum DWriteCore.

Pembaruan Windows 10 Mei 2019

Tidak ada fitur atau API yang ditambahkan atau diperbarui untuk Windows 10, versi 1903 (10.0; Build 18362)—juga dikenal sebagai Pembaruan Windows 10 Mei 2019.

Pembaruan Windows 10 Oktober 2018

Fitur dan API berikut ditambahkan atau diperbarui untuk Windows 10, versi 1809 (10.0; Build 17763)—juga dikenal sebagai Pembaruan Windows 10 Oktober 2018.

Baru

Pembaruan Windows 10 April 2018

Fitur dan API berikut ditambahkan atau diperbarui untuk Windows 10, versi 1803 (10.0; Build 17134)—juga dikenal sebagai Pembaruan Windows 10 April 2018.

Baru

Windows 10 Fall Creators Update

Fitur dan API berikut ditambahkan atau diperbarui untuk Windows 10, versi 1709 (10.0; Build 16299)—juga dikenal sebagai Windows 10 Fall Creators Update.

Baru

Pindah

Enumerasi DWRITE_GLYPH_IMAGE_FORMATS dipindahkan dari dwrite_3.h ke dcommon.h.

Pembaruan Windows 10 Creators

Fitur dan API berikut ditambahkan atau diperbarui untuk Windows 10, versi 1703 (10.0; Build 15063)—juga dikenal sebagai Pembaruan Pembuat Windows 10.

Dukungan API yang diperluas untuk font cloud dan kumpulan font kustom

API yang disertakan Windows 10 yang memungkinkan aplikasi mengakses font dengan mudah dari layanan font Windows. Dalam Pembaruan Pembuat Windows 10, API untuk font jarak jauh diperluas untuk memungkinkan akses mudah ke font dari sumber lain di Web yang dapat diakses menggunakan HTTP atau HTTPS. 

API font jarak jauh baru dapat digunakan dengan layanan Web publik atau privat. Selain itu, file tersebut dapat digunakan untuk mengakses file font Mentah OpenType (.ttf, .otf., .ttc, .otc), atau font yang dikemas dalam format kontainer WOFF atau WOFF2 . API baru digunakan bersama dengan API yang ada untuk mengantre permintaan untuk mengunduh data font jarak jauh dan untuk menangani proses pengunduhan aktual.

API baru lainnya memudahkan aplikasi untuk bekerja dengan font kustom yang disimpan dalam sistem file lokal atau yang dimuat ke dalam buffer memori.

Untuk informasi selengkapnya tentang API baru untuk bekerja dengan font jarak jauh, set font kustom, atau format kontainer WOFF/WOFF2, lihat topik berikut:

Set Font Kustom

Lihat juga tautan ke topik referensi API yang disediakan dalam topik tersebut.  Penggunaan API baru dan yang sudah ada untuk bekerja dengan font kustom juga diilustrasikan dalam sampel Set Font Kustom DirectWrite. Sampel ini menggambarkan implementasi kode untuk beberapa skenario berbeda, termasuk font lokal pada disk, font jarak jauh di Web, data font dalam memori, dan font dalam format WOFF atau WOFF2 yang dikemas.

Dukungan awal untuk Variasi Font OpenType

Spesifikasi format font OpenType versi 1.8 memperkenalkan ekstensi baru yang menarik ke format yang dikenal sebagai Variasi Font OpenType. DirectWrite telah diperbarui di Pembaruan Pembuat Windows 10 untuk mendukung instans font variabel bernama. Untuk informasi lebih lanjut, lihat topik berikut:

Font Variabel OpenType

Pembaruan Windows 10 Anniversary

Fitur dan API berikut ditambahkan atau diperbarui untuk Windows 10, versi 1607 (10.0; Build 14393)—juga dikenal sebagai Windows 10 Anniversary Update.

Dukungan yang disempurnakan untuk font warna

Mulai pembaruan Windows 10 Anniversary, DirectWrite menyediakan dukungan bawaan untuk berbagai format font warna yang lebih luas, memungkinkan pengembang untuk menggunakan lebih banyak jenis font di aplikasi yang didukung DirectWrite mereka daripada sebelumnya. Ini meliputi dukungan untuk:

  • Tabel OpenType 'COLR', yang memungkinkan konten vektor ringkas dalam font. (Didukung sejak Windows 8.1.)
  • Tabel 'SVG ' OpenType, yang memungkinkan konten SVG dalam font.
  • Tabel OpenType 'CBDT', yang memungkinkan konten bitmap warna dalam font.
  • Tabel OpenType 'sbix', yang memungkinkan konten bitmap warna dalam font.

Direct2D, yang menggunakan DirectWrite untuk penyajian teks, mendukung format font warna ini secara otomatis saat bendera D2D1_DRAW_TEXT_OPTIONS_ENABLE_COLOR_FONT diaktifkan. Untuk mengetahui informasi selengkapnya, lihat topik berikut:

Dukungan untuk Adobe Typekit dan klien layanan font lainnya

Beberapa layanan font, seperti Adobe Typekit, memiliki utilitas sisi klien yang memungkinkan pengguna memuat font dari layanan dan menggunakannya dalam aplikasi yang berbeda di komputer Windows mereka. Utilitas ini biasanya berfungsi dengan melakukan panggilan run-time ke GDI untuk memuat font tambahan, daripada menginstal font secara permanen pada sistem. Karena desain itu, pada versi Windows sebelumnya, font akan dapat digunakan dalam aplikasi berbasis GDI, tetapi tidak dalam aplikasi DirectWrite. Mulai dari Windows 10 Anniversary Update, font yang dimuat oleh utilitas tersebut juga akan tersedia di DirectWrite serta di GDI.

Font yang dimuat oleh utilitas layanan font terlihat dalam koleksi font sistem yang diperoleh dengan memanggil metode IDWriteFactory::GetSystemFontCollection. Karena layanan font biasanya mengikuti model lisensi per pengguna, font yang dimuat oleh utilitas ini dikelola berdasarkan per pengguna. Akibatnya, aplikasi DirectWrite yang ada dapat menggunakan font yang telah diperoleh pengguna akhir menggunakan layanan tersebut, tanpa perubahan kode apa pun yang diperlukan dalam aplikasi, memberikan pengalaman yang lebih mulus bagi pengguna.

Dukungan untuk koleksi OpenType menggunakan kerangka CFF

Format font OpenType dan TrueType telah lama mendukung kemampuan bagi beberapa font untuk dikemas bersama-sama dalam satu file font, yang dikenal sebagai "koleksi font". Spesifikasi OpenType selalu mengizinkan font untuk menggunakan format TrueType atau CFF untuk data kerangka glyph. Namun, sampai saat ini, spesifikasi hanya diizinkan untuk koleksi di mana kerangka glyph menggunakan format TrueType. OpenType versi 1.7 sekarang memungkinkan koleksi menggunakan format TrueType atau CFF untuk data kerangka glyph. Mulai pembaruan Windows 10 Anniversary, DirectWrite akan mendukung koleksi OpenType menggunakan data kerangka CFF.

Windows 10

Integrasi layanan font Windows

Mulai dari Windows 10, font yang disertakan dengan Windows tersedia dalam layanan online dan dapat diakses melalui DirectWrite pada perangkat Windows 10 apa pun. Ini berlaku untuk semua edisi Windows 10. Ini memungkinkan aplikasi untuk menampilkan konten menggunakan font Windows apa pun meskipun font saat ini tidak diinstal pada perangkat.

Dukungan untuk mekanisme layanan font DirectWrite telah diterapkan dalam kerangka kerja XAML, yang berarti bahwa aplikasi apa pun yang menggunakan XAML tidak memerlukan perubahan kode untuk memanfaatkan layanan font. Sampel kode Font yang dapat diunduh (XAML) menunjukkan ini. Aplikasi yang memanggil API DirectWrite secara langsung perlu menggunakan API baru untuk menggunakan mekanisme layanan font. Untuk mengetahui informasi selengkapnya, lihat topik berikut:

Sampel kode Font yang dapat diunduh (DirectWrite) mengilustrasikan penggunaan beberapa API baru.

API set font

Antarmuka pengumpulan font DirectWrite memberikan tampilan ke kumpulan font yang diatur oleh keluarga font, menggunakan berat, peregangan, dan gaya sebagai atribut subkeluarga. Secara internal, DirectWrite mengimplementasikan antarmuka pengumpulan font menggunakan daftar font datar dengan berbagai atribut. Pendekatan ini lebih fleksibel yang dalam dapat mendukung enumerasi berat/peregangan/gaya keluarga, tetapi juga dapat mendukung kueri dan pemfilteran menggunakan atribut font lainnya juga.

Di Windows 10, mekanisme penanganan font yang lebih fleksibel ini tersedia untuk aplikasi melalui IDWriteFontSet dan API terkait. API kumpulan font dapat digunakan, misalnya, untuk membuat antarmuka pengguna pemilih font yang dikustomisasi yang memanfaatkan properti font yang disesuaikan aplikasi dalam kumpulan font kustom.

Untuk mengetahui informasi selengkapnya, lihat topik berikut:

Mode penspasian baris tata letak teks baru

Format teks DirectWrite dan antarmuka tata letak teks mendukung mode penspasian baris baru. Dalam versi sebelumnya, implementasi tata letak teks DirectWrite diizinkan untuk penspasian baris di mana tinggi setiap baris diatur secara otomatis berdasarkan item tertinggi dalam baris (mode "default"), atau penspasian baris dengan semua baris diatur ke tinggi seragam yang ditentukan oleh aplikasi (mode "seragam"). Di Windows 10, mode penspasian baris "proporsional" tambahan didukung yang memberi aplikasi lebih banyak opsi untuk perilaku penspasian baris. Untuk mengetahui informasi selengkapnya, lihat topik berikut:

Sampel kode Penspasian baris (DirectWrite) menggambarkan penggunaan beberapa API baru, dan juga menyediakan visualisasi semua mode penspasian baris yang berbeda yang membuatnya jauh lebih mudah untuk memahami berbagai opsi penspasian baris yang tersedia.

Interop GDI

Sejak diperkenalkan di Windows 7, DirectWrite telah menyediakan jalur migrasi untuk aplikasi yang awalnya diimplementasikan menggunakan model font, tata letak teks, dan penyajian GDI. Ini disediakan melalui antarmuka [[IDWriteGdiInterop]]]. Di Windows 10, API tambahan menyediakan kemampuan interop GDI tambahan. Untuk informasi tambahan, lihat topik berikut:

Windows 8.1

Merender font warna

Mulai Windows Windows 8.1, DirectWrite menyediakan dukungan untuk font warna. Direct2D, yang menggunakan DirectWrite untuk penyajian teks, telah menambahkan nilai enum D2D1_DRAW_TEXT_OPTIONS_ENABLE_COLOR_FONT untuk mengaktifkan fitur ini saat menggambar teks. Untuk mengetahui informasi selengkapnya, lihat topik berikut:

Windows 8

Antarmuka pabrik baru, IDWriteFactory1, untuk membuat antarmuka tambahan yang tersedia.

Properti font tambahan, seperti: super/subskrip, kemiringan tanda titik, PANOSE, dan rentang Unicode.

Peningkatan penspasian, seperti: penspasian karakter kontrol, pasangan kerning warisan, dan pembenaran. Lihat topik Justifikasi, Kerning, dan Spasi untuk informasi selengkapnya.

Target dan parameter render yang disempurnakan.

Peningkatan analisis kompleksitas teks.

Properti skrip baru, dukungan skrip baru (Unicode 6), penambahan fallback font, tanda kurung berpasangan, dan augmentasi bidi.

Penyempurnaan performa cache font. Dimulai dengan Windows 8, cache font bersifat global dan dimulai ketika komputer Anda boot.

Mode penyajian baru.

Dimulai dengan Windows 8, DirectWrite mendukung sejumlah fitur yang membantu Anda membuat aplikasi untuk pasar dunia.

Berikut adalah beberapa area yang membantu Anda menerapkan aplikasi teks kaya yang dapat disesuaikan dengan pelanggan di seluruh dunia.

Ekstensi Cina, Jepang, dan Korea C & D

Setiap beberapa tahun, Unicode Consortium merilis daftar standar tambahan untuk blok Ideograph Terpadu Cina, Jepang, dan Korea. Dengan revisi Unicode 6.0, mereka telah merilis blok ekstensi C dan D. Blok ideograf ini dapat ditemukan di situs web Unicode Ekstensi C dan Ekstensi D.

Dimulai dengan Windows 8, DirectWrite mendukung titik kode Unicode untuk blok baru Ideograf CJK standar ini, sehingga Anda dapat menggunakannya di aplikasi DirectWrite.

Simbol rupee India

Pada bulan Maret 2005, pemerintah India mengumumkan kompetisi untuk memilih simbol mata uang rupee India. Setelah banyak kompetisi, pada tanggal 15 Juli 2010, pemerintah India memilih desain yang dibuat oleh D. Udaya Kumar, dan DirectWrite mencakup dukungan untuk codepoint Unicode yang terkait dengan simbol. Jadi, aplikasi DirectWrite sekarang mendukung simbol mata uang ini.

Emoji

DirectWrite sekarang mendukung penggunaan emoji di aplikasi. Versi DirectWrite sebelumnya, disajikan dengan kotak glyph yang hilang jika Anda mencoba merender ideograf emoji. Dimulai dengan Windows 8, DirectWrite mendukung blokir kode Unicode yang terkait dengan emoji, jadi jika aplikasi Anda menggunakan titik kode standar Unicode untuk emoji, kode sandi tersebut menampilkan glyph yang sesuai.

Bahasa Myanmar, Tiffinagh, dan Hangul Lama

Mulai Windows 8, DirectWrite mendukung blok titik kode Unicode yang sesuai dengan glyph dalam bahasa Myanmar, Tiffinagh, dan Old Hangul, sehingga Anda dapat membuat aplikasi yang menyertakan teks dari ketiga bahasa ini. Selain mendukung karakter-karakter ini, DirectWrite mendukung cara unik bahwa Old Hangul menangani pemecahan garis.

Skrip baru

Mulai Windows 8, metode GetScriptProperties mengembalikan info untuk sejumlah skrip baru. Berikut adalah daftar skrip yang didukung DirectWrite di Windows 8 dan setelahnya.

  • Avestan
  • Bamum
  • Batak
  • Brahmi
  • Hieroglif Mesir
  • Aram Kekaisaran
  • Pahlavi Prasasti
  • Parthian Prasasti
  • Jawa
  • Kaithi
  • Lisu (Fraser)
  • Mandaic
  • Meetei Mayek
  • Arab Selatan Tua
  • Turki Lama (Orkhon)
  • Samaria
  • Tai Tham (Lanna)
  • Tai Viet