Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ez a témakör a WPF fő tipográfiai funkcióit mutatja be. Ezek a funkciók közé tartozik a szövegmegjelenítés minőségének és teljesítményének javítása, az OpenType tipográfia támogatása, a továbbfejlesztett nemzetközi szöveg, a továbbfejlesztett betűtípus-támogatás és az új szövegalkalmazás-programozási felületek (API-k).
Továbbfejlesztett szövegminőség és -teljesítmény
A WPF-ben a szöveg a Microsoft ClearType használatával jelenik meg, amely javítja a szöveg érthetőségét és olvashatóságát. A ClearType a Microsoft által kifejlesztett szoftvertechnológia, amely javítja a szöveg olvashatóságát a meglévő LCD-ken (Liquid Crystal Displays), például laptop képernyőkön, zseb pc-képernyőkön és lapos panel monitorokon. A ClearType al-képpontos megjelenítést használ, amely lehetővé teszi, hogy a szöveg a képpont tört részén lévő karakterek igazításával nagyobb hűséggel jelenjen meg a valódi alakzatához. Az extra felbontás növeli az apró részletek élességét a szövegmegjelenítésben, így sokkal könnyebben olvashatók hosszú ideig. A ClearType egy másik fejlesztése a WPF-ben az y irányú élsimítás, amely simítja a sekély görbék tetejét és alját a szöveges karakterekben. A ClearType-funkciókkal kapcsolatos további információkért lásd ClearType áttekintési.
Szöveg ClearType y-irányú antialiasinggel
A teljes szövegmegjelenítési folyamat hardveresen gyorsítható a WPF-ben, feltéve, hogy a gép megfelel a szükséges minimális hardverszintnek. A hardverrel nem végrehajtható renderelés szoftveres renderelésre kerül vissza. A hardveres gyorsítás a szövegmegjelenítési folyamat minden fázisára hatással van– az egyes karakterjelek tárolásától a glifák glyph-futtatásokig való összeállításától a hatások alkalmazásáig, a ClearType keverési algoritmusnak a végleges megjelenített kimenetre való alkalmazásáig. A hardveres gyorsításról további információt a grafikus renderelési szintekcímű témakörben talál.
Emellett az animált szöveg karakter vagy karakterjel alapján is teljes mértékben kihasználja a WPF által engedélyezett grafikus hardverképességet. Ez sima szöveges animációt eredményez.
Gazdag Tipográfia
Az OpenType betűtípus a TrueType® betűformátum kiterjesztése. Az OpenType betűformátumot a Microsoft és az Adobe közösen fejlesztette ki, és fejlett tipográfiai funkciók gazdag választékát kínálja. A Typography objektum az OpenType betűtípusok számos speciális funkcióját teszi elérhetővé, például a stilisztikai alternatívákat és a swasheseket. A Windows SDK olyan OpenType-minta betűtípusokat biztosít, amelyek olyan gazdag funkciókkal vannak megtervezve, mint a Periklész és a Pescadero betűtípusok. További információ: Minta OpenType betűtípuscsomag.
A Periklész OpenType betűtípus további karakterjeleket tartalmaz, amelyek a szabványos karakterkészlethez stilisztikai alternatívát biztosítanak. Az alábbi szöveg stilisztikai alternatív karakterjeleket jelenít meg.
A díszes írásjelek díszítő elemek, amelyek bonyolult díszítéseket használnak, és gyakran a kalligráfiához kapcsolódnak. Az alábbi szöveg a Pescadero betűtípus szabványos és pásztázható karaktereit jeleníti meg.
Az OpenType-funkciókkal kapcsolatos további információkért lásd OpenType betűtípus-szolgáltatások.
Továbbfejlesztett nemzetközi szövegtámogatás
A WPF a következő funkciókkal nyújt továbbfejlesztett nemzetközi szövegtámogatást:
Automatikus sorköz minden írási rendszerben adaptív méréssel.
A nemzetközi szöveg széles körű támogatása. További információ: A WPFglobalizációja.
Nyelv által irányított vonaltörés, elválasztás és indoklás.
Továbbfejlesztett betűtípus-támogatás
A WPF továbbfejlesztett betűtípus-támogatást nyújt a következő funkciók biztosításával:
Unicode az összes szöveghez. A betűtípus viselkedéséhez és kiválasztásához már nincs szükség karakterkészletre vagy kódlapra.
A betűtípusok viselkedése független a globális beállításoktól, például a rendszer területi beállításától.
Külön FontWeight, FontStretchés FontStyle típusokat a FontFamilydefiniáláshoz . Ez nagyobb rugalmasságot biztosít, mint a Win32-programozásban, ahol a betűcsalád meghatározásához a dőlt és félkövér stílus logikai kombinációit használják.
Az írás iránya (vízszintes és függőleges) a betűtípus nevével függetlenül kezelve.
Betűtípus-csatolás és betűtípus-tartalékolás egy hordozható XML-fájlban összetett betűtípus-technológia használatával. Az összetett betűtípusok lehetővé teszik a teljes tartományú többnyelvű betűtípusok felépítését. Az összetett betűtípusok olyan mechanizmust is biztosítanak, amely megakadályozza a hiányzó karakterjelek megjelenítését. További információt a FontFamily osztály megjegyzéseiben talál.
Összetett betűtípusokból készült nemzetközi betűtípusok egynyelvű betűtípusok egy csoportját használva. Ez az erőforrásköltségeket takarítja meg, ha több nyelvhez fejleszt betűtípusokat.
A dokumentumba beágyazott összetett betűtípusok lehetővé teszik a dokumentum hordozhatóságát. További információt a FontFamily osztály megjegyzéseiben talál.
Új szövegalkalmazás-programozási felületek (API-k)
A WPF számos szöveges API-t biztosít a fejlesztőknek, amikor szöveget is belevesznek az alkalmazásaikba. Ezek az API-k három kategóriába vannak csoportosítva:
Elrendezés és felhasználói felület. A grafikus felhasználói felület (GUI) gyakori szövegvezérlői.
Egyszerűsített szöveges rajz. Lehetővé teszi, hogy közvetlenül az objektumokra rajzoljon szöveget.
Haladó szövegformázás. Lehetővé teszi egyéni szövegmotor implementálását.
Elrendezés és felhasználói felület
A legmagasabb szintű funkcionalitás esetén a szöveges API-k általános felhasználói felületi vezérlőket biztosítanak, például Label, TextBlockés TextBox. Ezek a vezérlők biztosítják az alkalmazások alapvető felhasználói felületi elemeit, és megkönnyítik a szöveg bemutatását és használatát. Az olyan vezérlők, mint a RichTextBox és a PasswordBox, fejlettebb vagy speciálisabb szövegkezelést tesznek lehetővé. Az olyan osztályok, mint a TextRange, a TextSelectionés a TextPointer hasznos szövegkezelést tesznek lehetővé. Ezek a felhasználói felületi vezérlők olyan tulajdonságokat biztosítanak, mint a FontFamily, a FontSizeés a FontStyle, amelyek lehetővé teszik a szöveg megjelenítéséhez használt betűtípus szabályozását.
Bitképeffektusok, átalakítások és szövegeffektusok használata
A WPF lehetővé teszi, hogy vizuálisan érdekes szöveghasználatokat hozzon létre olyan funkciókkal, mint a bitképeffektusok, az átalakítások és a szövegeffektusok. Az alábbi példa a szövegre alkalmazott árnyékeffektus tipikus típusát mutatja be.
Az alábbi példa egy szövegre alkalmazott árnyékeffektust és zajt mutat be.
Az alábbi példa egy szövegre alkalmazott külső ragyogáseffektust mutat be.
Az alábbi példa egy szövegre alkalmazott elmosódott effektust mutat be.
Az alábbi példa bemutatja, hogy a második szövegsor 150% mértékben van skálázva az x tengely mentén, míg a harmadik szövegsor 150% mértékben az y tengely mentén van skálázva.
Az alábbi példa az x tengely mentén elferdített szöveget mutatja be.
A TextEffect objektum egy segédobjektum, amely lehetővé teszi a szöveg egy vagy több karaktercsoportként való kezelését egy szöveges sztringben. Az alábbi példa egy egyéni karakter elforgatását mutatja be. Minden karakter egymástól függetlenül, 1 másodperces időközökkel van elforgatva.
Folyamatdokumentumok használata
A közös felhasználói felületi vezérlők mellett a WPF egy elrendezésvezérlőt is kínál a szövegbemutatáshoz – ez a FlowDocument elem. A FlowDocument elem és a DocumentViewer elem nagy mennyiségű, eltérő elrendezési követelményekkel rendelkező szöveghez biztosít vezérlőt. Az elrendezésvezérlők a Typography objektumon és más felhasználói felületi vezérlők betűtípussal kapcsolatos tulajdonságain keresztül biztosítják a speciális tipográfiai hozzáférést.
Az alábbi példa egy FlowDocumentReaderüzemeltetett szöveges tartalmat mutat be, amely keresési, navigációs, lapozási és tartalomméretezési támogatást nyújt.
A további információkat lásd a Dokumentumok a WPF-ben.
Egyszerűsített szöveges rajz
Közvetlenül a WPF-objektumokhoz rajzolhat szöveget a DrawText objektum DrawingContext metódusával. A metódus használatához létre kell hoznia egy FormattedText objektumot. Ezzel az objektummal többsoros szöveget rajzolhat, amelyben a szöveg minden karaktere külön-külön formázható. A FormattedText objektum funkciói a Windows API DrawText-jelölőinek nagy részét tartalmazzák. Emellett a FormattedText objektum olyan funkciókat is tartalmaz, mint a három pont támogatása, amelyben három pont jelenik meg, ha a szöveg túllépi a határokat. Az alábbi példa olyan szöveget mutat be, amely több formátumot is alkalmaz rá, beleértve a második és a harmadik szó lineáris színátmenetét.
Formázott szöveget Geometry objektumokká alakíthat, így más típusú vizuálisan érdekes szövegeket hozhat létre. Létrehozhat például egy Geometry objektumot egy szöveges sztring körvonala alapján.
Az alábbi példák számos módon szemléltetik, hogyan hozhat létre érdekes vizuális effektusokat a konvertált szöveg körvonalának, kitöltésének és kiemelésének módosításával.
Az FormattedText objektumról további információt Formázott szövegcímű témakörben talál.
Speciális szövegformázás
A szöveges API-k legfejlettebb szintjén a WPF lehetővé teszi egyéni szövegelrendezés létrehozását a TextFormatter objektum és a System.Windows.Media.TextFormatting névtér egyéb típusainak használatával. A TextFormatter és a hozzá tartozó osztályok lehetővé teszik egyéni szövegelrendezés implementálását, amely támogatja a saját karakterformátumok, bekezdésstílusok, sortörési szabályok és a nemzetközi szövegek egyéb elrendezési funkcióinak meghatározását. Nagyon kevés adott esetben kellene felülbírálni a WPF szövegelrendezésének alapértelmezett implementációját. Ha azonban szövegszerkesztési vezérlőt vagy alkalmazást hoz létre, előfordulhat, hogy az alapértelmezett WPF-implementációtól eltérő implementációra van szükség.
A hagyományos szöveges API-kkal ellentétben a TextFormatter visszahívási metódusok segítségével kommunikál egy szövegelrendezési ügyféllel. Megköveteli, hogy az ügyfél ezeket a metódusokat a TextSource osztály implementációjában adja meg. Az alábbi ábra az ügyfélalkalmazás és a TextFormatterközötti szövegelrendezést mutatja be.
diagramja
Az egyéni szövegelrendezés létrehozásáról további információt Speciális szövegformázáscímű témakörben talál.
Lásd még
.NET Desktop feedback