WPF'de Tipografi
Bu konu başlığında WPF'nin başlıca tipografik özellikleri tanıtılmaktadır. Bu özellikler arasında gelişmiş metin işleme kalitesi ve performansı, OpenType tipografi desteği, gelişmiş uluslararası metin, gelişmiş yazı tipi desteği ve yeni metin uygulaması programlama arabirimleri (API' ler) bulunur.
Metnin Kalitesi ve Performansı İyileştirildi
WPF'deki metin, metnin netliğini ve okunabilirliğini geliştiren Microsoft ClearType kullanılarak işlenir. ClearType, Microsoft tarafından geliştirilen ve dizüstü bilgisayar ekranları, Pocket PC ekranları ve düz panel monitörleri gibi mevcut LCD'lerde (Liquid Crystal Monitörler) metnin okunabilirliğini geliştiren bir yazılım teknolojisidir. ClearType, bir pikselin kesirli bir bölümündeki karakterleri hizalayarak metnin gerçek şekline daha uygun bir şekilde görüntülenmesini sağlayan alt piksel işlemeyi kullanır. Ek çözünürlük, metin ekranındaki küçük ayrıntıların netliğini artırarak uzun süreler boyunca okumayı çok daha kolay hale getirir. WPF'de ClearType'ın bir diğer geliştirmesi de metin karakterlerinde sığ eğrilerin üst ve alt kısımlarını düzelten y yönlü kenar yumuşatmadır. ClearType özellikleri hakkında daha fazla ayrıntı için bkz . ClearType'a Genel Bakış.
ClearType y yönlü antialiasing içeren metin
Makinenizin gereken en düşük donanım düzeyini karşılaması koşuluyla metin işleme işlem hattının tamamı WPF'de donanım hızlandırılabilir. Donanım kullanılarak gerçekleştirilemeyen işleme, yazılım işlemeye geri döner. Donanım hızlandırma, tek tek glifleri depolamaktan, glifleri glif çalıştırmalarına birleştirmeye, efektleri uygulamaya, görüntülenen son çıkışa ClearType karıştırma algoritması uygulamaya kadar metin işleme işlem hattının tüm aşamalarını etkiler. Donanım hızlandırma hakkında daha fazla bilgi için bkz . Grafik İşleme Katmanları.
Buna ek olarak, karaktere veya karaktere göre animasyonlu metin, WPF tarafından etkinleştirilen grafik donanım özelliğinden tam olarak yararlanır. Bu, düz metin animasyonuyla sonuç verir.
Zengin Tipografi
OpenType yazı tipi biçimi, TrueType® yazı tipi biçiminin bir uzantısıdır. OpenType yazı tipi biçimi Microsoft ve Adobe tarafından birlikte geliştirilmiştir ve gelişmiş tipografik özelliklerin zengin bir yelpazesini sağlar. Typography nesnesi, stil alternatifleri ve yıkamalar gibi OpenType yazı tiplerinin birçok gelişmiş özelliğini kullanıma sunar. Windows SDK'sı, Pericles ve Pescadero yazı tipleri gibi zengin özelliklerle tasarlanmış bir dizi örnek OpenType yazı tipi sağlar. Daha fazla bilgi için bkz . Örnek OpenType Yazı Tipi Paketi.
Pericles OpenType yazı tipi, standart karakter kümesine stil alternatifleri sağlayan ek glifler içerir. Aşağıdaki metin stilistik alternatif glifleri görüntüler.
Swash'lar genellikle hat sanatıyla ilişkili özenli süslemeler kullanan dekoratif gliflerdir. Aşağıdaki metin, Pescadero yazı tipi için standart ve swash karakterlerini görüntüler.
OpenType özellikleri hakkında daha fazla bilgi için bkz . OpenType Yazı Tipi Özellikleri.
Gelişmiş Uluslararası Metin Desteği
WPF, aşağıdaki özellikleri sağlayarak gelişmiş uluslararası metin desteği sağlar:
Uyarlamalı ölçümü kullanarak tüm yazma sistemlerinde otomatik satır aralığı.
Uluslararası metinler için geniş destek. Daha fazla bilgi için bkz. WPF için Genelleştirme.
Dil destekli satır kesme, heceleme ve yaslama.
Gelişmiş Yazı Tipi Desteği
WPF, aşağıdaki özellikleri sağlayarak gelişmiş yazı tipi desteği sağlar:
Tüm metinler için Unicode. Yazı tipi davranışı ve seçimi artık karakter kümesi veya kod sayfası gerektirmez.
Yazı tipi davranışı, sistem yerel ayarı gibi genel ayarlardan bağımsızdır.
tanımlamak FontFamilyiçin , FontStretchve FontStyle türlerini ayırınFontWeight. Bu, bir yazı tipi ailesi tanımlamak için Boole ve italik ve kalın bileşimlerinin kullanıldığı Win32 programlamasından daha fazla esneklik sağlar.
Yazı tipi adından bağımsız olarak işlenen yazma yönü (yatay ve dikey).
Bileşik yazı tipi teknolojisini kullanarak taşınabilir XML dosyasında yazı tipi bağlama ve yazı tipi geri dönüşü. Bileşik yazı tipleri, tam aralıklı çok dilli yazı tiplerinin oluşturulmasını sağlar. Bileşik yazı tipleri ayrıca eksik gliflerin görüntülenmesini önleyen bir mekanizma sağlar. Daha fazla bilgi için sınıftaki açıklamalara FontFamily bakın.
Tek dilli yazı tipleri grubu kullanılarak bileşik yazı tiplerinden oluşturulmuş uluslararası yazı tipleri. Bu, birden çok dil için yazı tipi geliştirirken kaynak maliyetlerinden tasarruf sağlar.
Belgeye eklenmiş bileşik yazı tipleri, böylece belge taşınabilirliği sağlar. Daha fazla bilgi için sınıftaki açıklamalara FontFamily bakın.
Yeni Metin Uygulaması Programlama Arabirimleri (API'ler)
WPF, geliştiricilerin uygulamalarına metin eklerken kullanması için çeşitli metin API'leri sağlar. Bu API'ler üç kategoride gruplandırılır:
Düzen ve kullanıcı arabirimi. Grafik kullanıcı arabirimi (GUI) için ortak metin denetimleri.
Basit metin çizimi. Doğrudan nesnelere metin çizmenizi sağlar.
Gelişmiş metin biçimlendirmesi. Özel bir metin altyapısı uygulamanıza olanak tanır.
Düzen ve Kullanıcı Arabirimi
En yüksek işlevsellik düzeyinde, metin API'leri , TextBlockve TextBoxgibi Labelyaygın kullanıcı arabirimi denetimleri sağlar. Bu denetimler bir uygulama içindeki temel kullanıcı arabirimi öğelerini sağlar ve metin sunmanın ve metinlerle etkileşim kurmanın kolay bir yolunu sunar. gibi RichTextBox denetimler ve PasswordBox daha gelişmiş veya özelleştirilmiş metin işlemeyi etkinleştirir. Ve , ve gibi TextRangeTextSelectionTextPointer sınıflar yararlı metin işlemeyi etkinleştirir. Bu kullanıcı arabirimi denetimleri, metni işlemek için kullanılan yazı tipini denetlemenizi sağlayan , FontSizeve FontStylegibi FontFamilyözellikler sağlar.
Bit Eşlem Efektlerini, Dönüşümleri ve Metin Efektlerini Kullanma
WPF, bit eşlem efektleri, dönüşümler ve metin efektleri gibi özellikleri kullanarak metnin görsel olarak ilginç kullanımlarını oluşturmanıza olanak tanır. Aşağıdaki örnekte metne uygulanan tipik bir gölge efekti türü gösterilmektedir.
Aşağıdaki örnekte, metne uygulanan bir gölge efekti ve kirlilik gösterilmektedir.
Aşağıdaki örnekte metne uygulanan dış parlama efekti gösterilmektedir.
Aşağıdaki örnekte metne uygulanan bir bulanıklaştırma efekti gösterilmektedir.
Aşağıdaki örnekte, x ekseni boyunca %150 ölçeklendirilmiş ikinci metin satırı ve y ekseni boyunca %150 ölçeklendirilmiş üçüncü metin satırı gösterilmektedir.
Aşağıdaki örnekte x ekseni boyunca eğilmiş metin gösterilmektedir.
TextEffect Nesne, metni bir metin dizesinde bir veya daha fazla karakter grubu olarak ele almanızı sağlayan yardımcı bir nesnedir. Aşağıdaki örnekte, döndürülmekte olan tek bir karakter gösterilmektedir. Her karakter 1 saniyelik aralıklarla bağımsız olarak döndürülür.
Akış Belgelerini Kullanma
WPF, yaygın kullanıcı arabirimi denetimlerine ek olarak, metin sunusu için bir düzen denetimi de sunar.FlowDocument FlowDocument öğesiyle DocumentViewer birlikte, değişen düzen gereksinimlerine sahip büyük miktarda metin için bir denetim sağlar. Düzen denetimleri, diğer kullanıcı arabirimi denetimlerinin Typography nesne ve yazı tipiyle ilgili özellikleri aracılığıyla gelişmiş tipografiye erişim sağlar.
Aşağıdaki örnekte, içinde barındırılan FlowDocumentReaderve arama, gezinti, sayfalandırma ve içerik ölçeklendirme desteği sağlayan metin içeriği gösterilmektedir.
Daha fazla bilgi için bkz . WPF'deki Belgeler.
Basit Metin Çizimi
Nesnenin yöntemini DrawingContext kullanarak wpf nesnelerine DrawText doğrudan metin çizebilirsiniz. Bu yöntemi kullanmak için bir FormattedText nesnesi oluşturursunuz. Bu nesne, metindeki her karakterin ayrı ayrı biçimlendirilebildiği çok satırlı metin çizmenizi sağlar. nesnesinin FormattedText işlevselliği, Windows API'sindeki DrawText bayraklarının işlevlerinin çoğunu içerir. Ayrıca nesne, FormattedText metin sınırlarını aştığında üç noktanın görüntülendiği üç nokta desteği gibi işlevler içerir. Aşağıdaki örnekte, ikinci ve üçüncü sözcüklerde doğrusal gradyan da dahil olmak üzere çeşitli biçimlere sahip metin gösterilmektedir.
Biçimlendirilmiş metni nesnelere Geometry dönüştürerek diğer görsel olarak ilginç metin türlerini oluşturmanıza olanak sağlayabilirsiniz. Örneğin, bir Geometry metin dizesinin ana hattını temel alan bir nesne oluşturabilirsiniz.
Aşağıdaki örneklerde, dönüştürülen metnin vuruşunu, dolgusunu ve vurgularını değiştirerek ilginç görsel efektler oluşturmanın çeşitli yolları gösterilmektedir.
Nesne hakkında FormattedText daha fazla bilgi için bkz . Biçimlendirilmiş Metin Çizme.
Gelişmiş Metin Biçimlendirme
Metin API'lerinin en gelişmiş düzeyinde WPF, nesne ve ad alanında diğer türleri System.Windows.Media.TextFormatting kullanarak TextFormatter özel metin düzeni oluşturma olanağı sunar. TextFormatter ve ilişkili sınıfları, uluslararası metinler için kendi karakter biçimleri, paragraf stilleri, satır kesme kuralları ve diğer düzen özelliklerini destekleyen özel metin düzeni uygulamanıza olanak sağlar. WPF metin düzeni desteğinin varsayılan uygulamasını geçersiz kılmak istediğiniz çok az durum vardır. Ancak, metin düzenleme denetimi veya uygulaması oluşturuyorsanız, varsayılan WPF uygulamasından farklı bir uygulama gerektirebilirsiniz.
Geleneksel bir metin API'sinin TextFormatter aksine, bir dizi geri çağırma yöntemi aracılığıyla bir metin düzeni istemcisiyle etkileşim kurar. İstemcinin sınıfın bir uygulamasında bu yöntemleri sağlamasını TextSource gerektirir. Aşağıdaki diyagramda, istemci uygulaması ile TextFormatterarasındaki metin düzeni etkileşimi gösterilmektedir.
Özel metin düzeni oluşturma hakkında daha fazla ayrıntı için bkz . Gelişmiş Metin Biçimlendirmesi.
Ayrıca bkz.
.NET Desktop feedback