Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Det här avsnittet innehåller en översikt över några av de viktigaste funktionerna i OpenType-teckensnittstekniken i Windows Presentation Foundation (WPF).
OpenType-teckensnittsformat
OpenType-teckensnittsformatet är ett tillägg av TrueType-teckensnittsformatet®, vilket lägger till stöd för PostScript-teckensnittsdata. OpenType-teckensnittsformatet utvecklades gemensamt av Microsoft och Adobe Corporation. OpenType-teckensnitt och operativsystemtjänster som stöder OpenType-teckensnitt ger användarna ett enkelt sätt att installera och använda teckensnitt, oavsett om teckensnitten innehåller TrueType-dispositioner eller CFF-dispositioner (PostScript).
OpenType-teckensnittsformatet hanterar följande utvecklarutmaningar:
Bredare stöd för flera plattformar.
Bättre stöd för internationella teckenuppsättningar.
Bättre skydd för teckensnittsdata.
Mindre filstorlekar för att göra teckensnittsfördelningen mer effektiv.
Bredare stöd för avancerad typografisk kontroll.
Anmärkning
Windows SDK innehåller en uppsättning OpenType-exempelteckensnitt som du kan använda med WPF-program (Windows Presentation Foundation). Dessa teckensnitt innehåller de flesta av de funktioner som illustreras i resten av det här avsnittet. Mer information finns i Exempel på OpenType-teckensnittspaket.
Mer information om OpenType-teckensnittsformatet finns i OpenType-specifikationen.
Avancerade typografiska tillägg
Avancerade typografiska tabeller (OpenType Layout-tabeller) utökar funktionerna för teckensnitt med antingen TrueType- eller CFF-dispositioner. OpenType Layout-teckensnitt innehåller ytterligare information som utökar funktionerna i teckensnitten för att stödja högkvalitativ internationell typografi. De flesta OpenType-teckensnitt exponerar endast en delmängd av de totala tillgängliga OpenType-funktionerna. OpenType-teckensnitt innehåller följande funktioner.
Omfattande mappning mellan tecken och glyfer som stöder ligaturer, positionsformer, alternativ och andra teckensnittsersättningar.
Stöd för tvådimensionell positionering och glyffästning.
Explicit skript- och språkinformation som finns i teckensnitt, så att ett textbearbetningsprogram kan justera sitt beteende i enlighet med detta.
OpenType-layouttabellerna beskrivs mer detaljerat i avsnittet "Teckensnittsfiltabeller" i OpenType-specifikationen.
Resten av den här översikten beskriver bredden och flexibiliteten hos några av de visuellt intressanta OpenType-funktionerna som exponeras av egenskaperna för Typography-objektet. Mer information om det här objektet finns i Typography Class.
Varianter
Varianter används för att återge olika typografiska stilar, till exempel upphöjda tecken och nedsänkta tecken.
Upphöjda tecken och nedsänkta tecken
Med egenskapen Variants kan du ange upphöjda och nedsänkta värden för ett OpenType-teckensnitt.
Följande text visar upphöjda tecken för teckensnittet Palatino Linotype.
              
              
            
Följande markeringsexempel visar hur du definierar upphöjda objekt för teckensnittet Palatino Linotype med hjälp av egenskaperna för objektet Typography.
<Paragraph FontFamily="Palatino Linotype">
  2<Run Typography.Variants="Superscript">3</Run>
  14<Run Typography.Variants="Superscript">th</Run>
</Paragraph>
Följande text visar nedsänkta tecken för teckensnittet Palatino Linotype.
              
              
            
Följande markeringsexempel visar hur du definierar nedsänkta tecken för teckensnittet Palatino Linotype genom att använda egenskaperna hos objektet Typography.
<Paragraph FontFamily="Palatino Linotype">
  H<Run Typography.Variants="Subscript">2</Run>O
  Footnote<Run Typography.Variants="Subscript">4</Run>
</Paragraph>
Dekorativa användningsområden för upphöjda och nedsänkta tecken
Du kan också använda upphöjd text och nedsänkt text för att skapa dekorativa effekter av blandad versal och gemen text. Följande text visar upphöjd och nedsänkt text för teckensnittet Palatino Linotype. Notera att versalerna inte påverkas.
              
              
            
Följande markeringsexempel visar hur du definierar upphöjda och nedsänkta tecken för ett teckensnitt med hjälp av egenskaperna för Typography-objektet.
<Paragraph FontFamily="Palatino Linotype" Typography.Variants="Superscript">
  Chapter One
</Paragraph>
<Paragraph FontFamily="Palatino Linotype" Typography.Variants="Subscript">
  Chapter One
</Paragraph>
Huvudstäder
Versaler är en uppsättning typografiska former som renderar text i versalstil. När text återges som alla versaler kan avståndet mellan bokstäverna vanligtvis verka för snävt och bokstävernas vikt och andel är för stora. OpenType stöder ett antal format för versaler, inklusive små versaler, petita versaler, rubrikversaler och versalavstånd. Med de här formaten kan du styra utseendet på stora bokstäver.
I följande text visas standardbokstäver för Pescadero-teckensnittet, följt av bokstäverna "SmallCaps" och "AllSmallCaps". I det här fallet används samma teckenstorlek för alla tre orden.
              
              
            
Följande markeringsexempel visar hur du definierar versaler för Pescadero-teckensnittet med hjälp av egenskaperna för Typography-objektet. När formatet "SmallCaps" används ignoreras alla inledande versaler.
<Paragraph FontFamily="Pescadero" FontSize="48">
  <Run>CAPITALS</Run>
  <Run Typography.Capitals="SmallCaps">Capitals</Run>
  <Run Typography.Capitals="AllSmallCaps">Capitals</Run>
</Paragraph>
Versaler i titlar
Versaler i rubrikform är lättare i fråga om vikt och proportioner och utformade för att ge ett mer elegant utseende än vanliga versaler. Titelskapitäl används vanligtvis i större teckenstorlekar som rubriker. Följande text visar normala och titlerande versaler för Pescadero-teckensnittet. Lägg märke till textens smalare skaftbredd på den andra raden.
              
              
            
Följande markup-exempel visar hur du definierar versaler för titlar för Pescadero-teckensnittet, med hjälp av egenskaperna för Typography-objektet.
<Paragraph FontFamily="Pescadero">
  <Run Typography.Capitals="Titling">chapter one</Run>
</Paragraph>
Bokstavsavstånd för versaler
Versalt avstånd är en funktion som gör att du kan ge mer avstånd när du använder alla versaler i text. Versaler är oftast designade för att harmoniera med gemener. Avstånd som verkar attraktivt mellan en versal bokstav och en gemen bokstav kan se för snävt ut när endast versaler används. Följande text visar normal- och versalt avstånd för Pescadero-teckensnittet.
              
              
            
Följande markeringsexempel visar hur du definierar versalt avstånd för Pescadero-teckensnittet med hjälp av egenskaperna för Typography-objektet.
<Paragraph FontFamily="Pescadero">
  <Run Typography.CapitalSpacing="True">CHAPTER ONE</Run>
</Paragraph>
Ligaturer
Ligaturer är två eller flera glyfer som bildas till en enda glyph för att skapa mer läsbar eller attraktiv text. OpenType-teckensnitt stöder fyra typer av ligaturer:
Standard ligaturer. Utformad för att förbättra läsbarheten. Standardligaturer inkluderar "fi", "fl" och "ff".
Kontextuella ligaturer. Utformad för att förbättra läsbarheten genom att ge bättre sammanfogningsbeteende mellan de tecken som utgör ligaturen.
Diskretionära ligaturer. Designad för att vara dekorativ, och inte specifikt utformad för läsbarhet.
Historiska ligaturer. Utformad för att vara historisk och inte särskilt utformad för läsbarhet.
Följande text visar standardligaturer för Pericles-teckensnittet.
              
              
            
Följande markeringsexempel visar hur du definierar standardligatur-glyfer för perikles-teckensnittet med hjälp av egenskaperna för Typography-objektet.
<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>
Följande text visar diskretionära ligaturtecken för teckensnittet Pericles.
              
              
            
Följande markeringsexempel visar hur du definierar diskretionära ligatur-glyfer för perikles-teckensnittet med hjälp av egenskaperna för Typography-objektet.
<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>
Som standard aktiverar OpenType-teckensnitt i Windows Presentation Foundation (WPF) standardligaturer. Om du till exempel använder teckensnittet Palatino Linotype visas standardligaturerna "fi", "ff" och "fl" som en kombinerad teckenglyf. Observera att de två tecknen för varje standardligatur berör varandra.
              
              
            
Du kan dock inaktivera standardligaturer så att en standardligatur som "ff" visas som två separata teckenglyfer i stället för som en kombinerad teckenglyf.
              
              
            
Följande markeringsexempel visar hur du inaktiverar standardligatur-glyfer för teckensnittet Palatino Linotype med hjälp av egenskaperna för Typography-objektet.
<!-- Set standard ligatures to false in order to disable feature. -->
<Paragraph Typography.StandardLigatures="False" FontFamily="Palatino Linotype" FontSize="72">
  fi ff fl
</Paragraph>
Snirklar
Swashes är dekorativa glyfer som använder utarbetad utsmyckning som ofta förknippas med kalligrafi. Följande text visar standard- och snirkliga glyfer för Pescadero-teckensnittet.
              
              
            
Swashes används ofta som dekorativa element i korta fraser, som till exempel evenemangsannonser. Följande text använder dekorativa svängar för att betona versalerna i namnet på evenemanget.
              
              
            
Följande markeringsexempel visar hur du definierar swashes för ett teckensnitt med hjälp av egenskaperna för Typography-objektet.
<Paragraph FontFamily="Pescadero" TextBlock.TextAlignment="Center">
  Wishing you a<LineBreak/>
  <Run Typography.StandardSwashes="1" FontSize="36">Happy New Year!</Run>
</Paragraph>
Kontextuella svep
Vissa kombinationer av swash-glyfer kan leda till en oattraktiv effekt, till exempel överlappande nedstaplar på intilliggande bokstäver. Med en kontextbaserad svass kan du använda en ersättningssvass-glyf som ger ett bättre utseende. Följande text visar samma ord före och efter att en kontextuell swash har tillämpats.
              
              
            
Följande markeringsexempel visar hur du definierar en kontextbaserad swash för Pescadero-teckensnittet med hjälp av egenskaperna för Typography-objektet.
<Paragraph FontFamily="Pescadero" Typography.StandardSwashes="1">
  Lyon <Run Typography.ContextualSwashes="1">L</Run>yon
</Paragraph>
Suppleanter
Alternativ är glyfer som kan ersättas med en standard-glyf. OpenType-teckensnitt, till exempel det Perikles-teckensnitt som används i följande exempel, kan innehålla alternativa tecken som du kan använda för att skapa olika utseenden för text. Följande text visar standardteckensnitt för Perikles-teckensnittet.
              
              
            
Teckensnittet Pericles OpenType innehåller ytterligare glyfer som ger stilistiska alternativ till standarduppsättningen med glyfer. Följande text visar stilistiska alternativa tecken.
              
              
            
Följande markeringsexempel visar hur du definierar stilistiska alternativa glyfer för Perikles-teckensnittet med hjälp av egenskaperna för Typography-objektet.
<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>
Följande text visar flera andra stilistiska alternativa tecken för perikles-teckensnittet.
              
              
            
Följande markeringsexempel visar hur du definierar dessa andra stilistiska alternativa glyfer.
<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>
Slumpmässiga kontextuella varianter
Slumpmässiga kontextuella alternativ ger flera ersättningstecken för ett enda tecken. När den implementeras med teckensnitt av skripttyp kan den här funktionen simulera handskrift med hjälp av en uppsättning slumpmässigt valda glyfer med små skillnader i utseende. Följande text använder slumpmässiga sammanhangsberoende alternativ för Lindsey-teckensnittet. Observera att bokstaven "a" varierar något i utseende
              
              
            
Följande markeringsexempel visar hur du definierar slumpmässiga kontextuella alternativ för Lindsey-teckensnittet med hjälp av egenskaperna för objektet Typography.
<TextBlock FontFamily="Lindsey">
  <Run Typography.ContextualAlternates="True">
    a banana in a cabana
  </Run>
</TextBlock>
Historiska formulär
Historiska former är typografiska konventioner som tidigare var vanliga. Följande text visar frasen "Boston, Massachusetts", med hjälp av en historisk form av glyfer för Teckensnittet Palatino Linotype.
              
              
            
Följande markeringsexempel visar hur du definierar historiska formulär för teckensnittet Palatino Linotype med hjälp av egenskaperna för objektet Typography.
<Paragraph FontFamily="Palatino Linotype">
  <Run Typography.HistoricalForms="True">Boston, Massachusetts</Run>
</Paragraph>
Numeriska formatmallar
OpenType-teckensnitt stöder ett stort antal funktioner som kan användas med numeriska värden i text.
Fraktioner
OpenType-teckensnitt stöder formatmallar för bråk, inklusive snedstreck och staplade.
Följande text visar bråkstilar för teckensnittet Palatino Linotype.
              
              
            
Följande markeringsexempel visar hur du definierar bråkformat för teckensnittet Palatino Linotype med hjälp av egenskaperna för Typography-objektet.
<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>
Siffror i gammalt format
OpenType-teckensnitt har stöd för ett gammalt format med siffror. Det här formatet är användbart för att visa siffror i format som inte längre är standard. I följande text visas ett datum från 1700-talet i standard- och gammaldags sifferformat för Palatino Linotype.
              
              
            
Följande text visar standardtal för Teckensnittet Palatino Linotype följt av gamla siffror.
              
              
            
Följande markeringsexempel visar hur du definierar gamla stiltal för teckensnittet Palatino Linotype med hjälp av egenskaperna för objektet Typography.
<Paragraph FontFamily="Palatino Linotype">
  <Run Typography.NumeralStyle="Normal">1234567890</Run>
  <Run Typography.NumeralStyle="OldStyle">1234567890</Run>
</Paragraph>
Proportionella och tabellfigurer
OpenType-teckensnitt har stöd för en proportionell och tabellfigursfunktion för att styra justeringen av bredder när du använder siffror. Proportionella siffror behandlar varje siffra med en annan bredd– "1" är smalare än "5". Tabellfigurer behandlas som lika breda siffror så att de justeras lodrätt, vilket ökar läsbarheten för information av finansiell typ.
Följande text visar två proportionella siffror i den första kolumnen med hjälp av miramonte-teckensnittet. Observera skillnaden i bredd mellan siffrorna "5" och "1". Den andra kolumnen visar samma två numeriska värden med bredderna justerade med hjälp av funktionen tabellfigur.
              
              
            
Följande markeringsexempel visar hur du definierar proportionella och tabellfigurer för Miramonte-teckensnittet med hjälp av egenskaperna för Typography-objektet.
<TextBlock FontFamily="Miramonte">
  <Run Typography.NumeralAlignment="Proportional">114,131</Run>
</TextBlock>
<TextBlock FontFamily="Miramonte">
  <Run Typography.NumeralAlignment="Tabular">114,131</Run>
</TextBlock>
Nolla med snedstreck
OpenType-teckensnitt har stöd för ett snedstreckat nolltalsformat för att betona skillnaden mellan bokstaven "O" och siffran "0". Det snedstreckade noll-talet används ofta för identifierare i finansiell information och affärsinformation.
Följande text visar ett exempel på orderidentifierare med hjälp av teckensnittet Miramonte. Den första raden använder standardtal. Den andra raden använde snedstreckade nollor för att ge bättre kontrast till versala "O":t.
              
              
            
Följande markeringsexempel visar hur du definierar snedstreckade nolltal för Miramonte-teckensnittet med hjälp av egenskaperna för objektet Typography.
<Paragraph FontFamily="Miramonte">
  <Run>Order #0048-OTC-390</Run>
  <LineBreak/>
  <Run Typography.SlashedZero="True">Order #0048-OTC-390</Run>
</Paragraph>
Typografiklass
Det Typography objektet exponerar den uppsättning funktioner som ett OpenType-teckensnitt stöder. Genom att ange egenskaperna för Typography i markering kan du enkelt skapa dokument som använder OpenType-funktioner.
I följande text visas standardbokstäver för Pescadero-teckensnittet, följt av bokstäverna "SmallCaps" och "AllSmallCaps". I det här fallet används samma teckenstorlek för alla tre orden.
              
              
            
Följande markeringsexempel visar hur du definierar versaler för Pescadero-teckensnittet med hjälp av egenskaperna för Typography-objektet. När formatet "SmallCaps" används ignoreras alla inledande versaler.
<Paragraph FontFamily="Pescadero" FontSize="48">
  <Run>CAPITALS</Run>
  <Run Typography.Capitals="SmallCaps">Capitals</Run>
  <Run Typography.Capitals="AllSmallCaps">Capitals</Run>
</Paragraph>
Följande kodexempel utför samma uppgift som föregående markeringsexempel.
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())
Egenskaper för typografiklass
I följande tabell visas egenskaperna, värdena och standardinställningarna för Typography-objektet.
Se även
.NET Desktop feedback