Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In dit onderwerp worden de belangrijkste typografische functies van WPF geïntroduceerd. Deze functies omvatten verbeterde kwaliteit en prestaties van tekstweergave, Ondersteuning voor OpenType-typografie, verbeterde internationale tekst, verbeterde ondersteuning voor lettertypen en nieuwe api's (Text Application Programming Interfaces).
Verbeterde kwaliteit en prestaties van tekst
Tekst in WPF wordt weergegeven met Microsoft ClearType, wat de duidelijkheid en leesbaarheid van tekst verbetert. ClearType is een softwaretechnologie die door Microsoft is ontwikkeld om de leesbaarheid van tekst op bestaande LCD's (Liquid Crystal Displays), zoals laptopschermen, Pocket PC-schermen en flatpanels, te verbeteren. ClearType maakt gebruik van sub-pixelweergave waarmee tekst met grotere precisie in de ware vorm kan worden weergegeven door tekens op een fractie van een pixel uit te lijnen. De extra resolutie verhoogt de scherpte van de kleine details in de tekstweergave, waardoor het veel gemakkelijker te lezen is over lange duur. Een andere verbetering van ClearType in WPF is anti-aliasing in de y-richting, die de boven- en onderkanten van ondiepe curven in teksttekens vloeiender maakt. Zie ClearType Overview (Overzicht van ClearType) voor meer informatie over ClearType-functies.
Tekst met ClearType y-richting antialiasing
De volledige tekstrenderingspijplijn kan hardwareversneld zijn in WPF, mits uw machine voldoet aan het minimale hardwareniveau dat vereist is. Rendering die niet kan worden uitgevoerd met hardware valt terug op softwarerendering. Hardwareversnelling beïnvloedt alle fasen van de tekstrenderingspijplijn, van het opslaan van afzonderlijke glyphs, het samenstellen van glyphs tot glyph-runs, het toepassen van effecten tot het toepassen van het ClearType-blending-algoritme op de uiteindelijk weergegeven uitvoer. Zie Graphics Rendering-lagen voor meer informatie over hardwareversnelling.
Bovendien maakt tekst met animatie, ongeacht of deze is ingesteld op teken of glyph, optimaal gebruik van de mogelijkheden van grafische hardware die door WPF zijn ingeschakeld. Dit resulteert in vloeiende tekstanimatie.
Rijke typografie
De OpenType-lettertype-indeling is een uitbreiding van de TrueType-lettertype-indeling®. De OpenType-lettertype-indeling is gezamenlijk ontwikkeld door Microsoft en Adobe en biedt een uitgebreid assortiment geavanceerde typografische functies. Het Typography object toont veel van de geavanceerde functies van OpenType-lettertypen, zoals stilistische alternatieven en swashes. De Windows SDK biedt een set OpenType-lettertypen die zijn ontworpen met uitgebreide functies, zoals de Pericles- en Pescadero-lettertypen. Zie OpenType Font Pack-voorbeeldvoor meer informatie.
Het Pericles OpenType-lettertype bevat extra glyphen die stijlistische alternatieven bieden voor de standaardset glyphen. In de volgende tekst worden stilistische alternatieve glyphs weergegeven.
Swashes zijn decoratieve tekens die zijn voorzien van uitgebreide ornamenten en vaak worden geassocieerd met kalligrafie. In de volgende tekst worden standaard- en swash-glyphs weergegeven voor het lettertype Pescadero.
Zie Functies voor OpenType-lettertypen voor meer informatie over OpenType-functies.
Verbeterde ondersteuning voor internationale tekst
WPF biedt verbeterde internationale tekstondersteuning door de volgende functies te bieden:
Automatische regelafstand in alle schrijfsystemen, met behulp van adaptieve meting.
Brede steun voor internationale tekst. Zie Globalization voor WPF voor meer informatie.
Taalgestuurde regelafbreking, afbreekstreepjes en rechtvaardiging.
Verbeterde ondersteuning voor lettertypen
WPF biedt verbeterde lettertypeondersteuning door de volgende functies te bieden:
Unicode voor alle tekst. Gedrag en selectie van lettertypen vereisen geen tekenset of codepagina meer.
Lettertypegedrag onafhankelijk van globale instellingen, zoals landinstellingen van het systeem.
Gescheiden FontWeight, FontStretchen FontStyle typen voor het definiëren van een FontFamily. Dit biedt meer flexibiliteit dan in Win32-programmering, waarin Booleaanse combinaties van cursief en vet worden gebruikt om een lettertypefamilie te definiëren.
De schrijfrichting (horizontaal versus verticaal) wordt onafhankelijk van de naam van het lettertype afgehandeld.
Lettertypekoppeling en lettertypefallback in een draagbaar XML-bestand met behulp van compositelettertype-technologie. Samengestelde lettertypen maken het mogelijk om meertalige lettertypen in volledige reeksen te bouwen. Samengestelde lettertypen bieden ook een mechanisme waarmee ontbrekende glyphs niet worden weergegeven. Zie de opmerkingen in de FontFamily klas voor meer informatie.
Internationale lettertypen die zijn gebouwd op basis van samengestelde lettertypen, met behulp van een groep lettertypen in één taal. Dit bespaart op resourcekosten bij het ontwikkelen van lettertypen voor meerdere talen.
Samengestelde lettertypen die zijn ingesloten in een document, waardoor documentoverdracht mogelijk is. Zie de opmerkingen in de FontFamily klas voor meer informatie.
Nieuwe Teksttoepassingsprogrammeerinterfaces (APIs)
WPF biedt verschillende tekst-API's die ontwikkelaars kunnen gebruiken bij het opnemen van tekst in hun toepassingen. Deze API's zijn gegroepeerd in drie categorieën:
Indeling en gebruikersinterface. De algemene tekstbesturingselementen voor de grafische gebruikersinterface (GUI).
Lichtgewicht teksttekening. Hiermee kunt u tekst rechtstreeks naar objecten tekenen.
Geavanceerde tekstopmaak. Hiermee kunt u een aangepaste tekstengine implementeren.
Indeling en gebruikersinterface
Op het hoogste functionaliteitsniveau bieden de tekst-API's algemene besturingselementen voor de gebruikersinterface, zoals Label, TextBlocken TextBox. Deze besturingselementen bieden de basiselementen van de gebruikersinterface binnen een toepassing en bieden een eenvoudige manier om tekst te presenteren en ermee te communiceren. nl-NL: Besturingselementen zoals RichTextBox en PasswordBox maken geavanceerdere of gespecialiseerde tekstverwerking mogelijk. En klassen zoals TextRange, TextSelectionen TextPointer maken nuttige tekstbewerking mogelijk. Deze besturingselementen voor de gebruikersinterface bieden eigenschappen zoals FontFamily, FontSizeen FontStyle, waarmee u het lettertype kunt beheren dat wordt gebruikt om de tekst weer te geven.
Bitmapeffecten, transformaties en teksteffecten gebruiken
MET WPF kunt u visueel interessant gebruik van tekst maken door gebruik te maken van functies zoals bitmapeffecten, transformaties en teksteffecten. In het volgende voorbeeld ziet u een typisch type slagschaduweffect dat op tekst wordt toegepast.
In het volgende voorbeeld ziet u een slagschaduweffect en ruis die op tekst wordt toegepast.
In het volgende voorbeeld ziet u een buitenste gloedeffect dat is toegepast op tekst.
In het volgende voorbeeld ziet u een vervagend effect dat is toegepast op tekst.
In het volgende voorbeeld ziet u de tweede tekstregel die is geschaald met 150% langs de x-as en de derde regel met tekst die is geschaald met 150% langs de y-as.
In het volgende voorbeeld ziet u tekst die gekanteld is langs de x-as.
Een TextEffect object is een helperobject waarmee u tekst kunt behandelen als een of meer groepen tekens in een tekenreeks. In het volgende voorbeeld ziet u een afzonderlijk teken dat wordt gedraaid. Elk teken wordt onafhankelijk gedraaid met intervallen van 1 seconde.
Stroomdocumenten gebruiken
Naast de algemene besturingselementen voor de gebruikersinterface biedt WPF een indelingsbesturingselement voor tekstpresentaties: het FlowDocument element. Het FlowDocument element, in combinatie met het DocumentViewer element, biedt een besturingselement voor grote hoeveelheden tekst met verschillende indelingsvereisten. Indelingsbesturingselementen bieden toegang tot geavanceerde typografie via de Typography object- en lettertype-gerelateerde eigenschappen van andere ui-besturingselementen.
In het volgende voorbeeld ziet u tekstinhoud die wordt gehost in een FlowDocumentReader, dat ondersteuning biedt voor zoeken, navigatie, paginering en schalen van inhoud.
Zie Documenten in WPF voor meer informatie.
Lichtgewicht teksttekening
U kunt tekst rechtstreeks naar WPF-objecten tekenen met behulp van de DrawText methode van het DrawingContext object. Als u deze methode wilt gebruiken, maakt u een FormattedText object. Met dit object kunt u tekst met meerdere regels tekenen, waarin elk teken in de tekst afzonderlijk kan worden opgemaakt. De functionaliteit van het FormattedText object bevat veel van de functionaliteit van de DrawText-vlaggen in de Windows-API. Daarnaast bevat het FormattedText object functionaliteit zoals beletseltekenondersteuning, waarin een beletselteken wordt weergegeven wanneer tekst de grenzen overschrijdt. In het volgende voorbeeld ziet u tekst waarop verschillende indelingen zijn toegepast, inclusief een lineaire kleurovergang op de tweede en derde woorden.
U kunt opgemaakte tekst converteren naar Geometry objecten, zodat u andere typen visueel interessante tekst kunt maken. U kunt bijvoorbeeld een Geometry object maken op basis van de omtrek van een tekenreeks.
In de volgende voorbeelden ziet u verschillende manieren om interessante visuele effecten te maken door de lijn, opvulling en markering van geconverteerde tekst te wijzigen.
Zie FormattedText voor meer informatie over het object.
Geavanceerde tekstopmaak
Op het meest geavanceerde niveau van de tekst-API's biedt WPF u de mogelijkheid om een aangepaste tekstindeling te maken met behulp van het TextFormatter object en andere typen in de System.Windows.Media.TextFormatting naamruimte. Met de TextFormatter en bijbehorende klassen kunt u aangepaste tekstindelingen implementeren die ondersteuning bieden voor uw eigen definitie van tekenopmaak, alineastijlen, regels voor regeleinden en andere indelingsfuncties voor internationale tekst. Er zijn zeer weinig gevallen waarin u de standaard implementatie van de WPF-tekstindeling wilt overschrijven. Als u echter een besturingselement of toepassing voor tekstbewerking maakt, hebt u mogelijk een andere implementatie nodig dan de standaard WPF-implementatie.
In tegenstelling tot een traditionele tekst-API communiceert de TextFormatter met een tekstindelingsclient via een set callback-methoden. Hiervoor moet de client deze methoden opgeven in een implementatie van de TextSource-klasse. In het volgende diagram ziet u de interactie tussen de tekstindeling tussen de clienttoepassing en TextFormatter.
Zie Geavanceerde tekstopmaak voor meer informatie over het maken van een aangepaste tekstindeling.
Zie ook
.NET Desktop feedback