Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Toto téma obsahuje přehled některých klíčových funkcí technologie písem OpenType ve Windows Presentation Foundation (WPF).
Formát písma OpenType
Formát písma OpenType je rozšířením formátu písma TrueType® a přidává podporu pro data písem Jazyka PostScript. Formát písma OpenType byl vyvinut společně společností Microsoft a Adobe Corporation. Písma OpenType a služby operačního systému, které podporují písma OpenType, poskytují uživatelům jednoduchý způsob instalace a používání písem bez ohledu na to, jestli písma obsahují osnovy TrueType nebo osnovy CFF (PostScript).
Formát písma OpenType řeší následující problémy vývojářů:
Širší podpora pro více platforem
Lepší podpora mezinárodních znakových sad.
Lepší ochrana dat písma
Menší velikosti souborů, aby byla distribuce písem efektivnější.
Širší podpora pokročilého typografického ovládacího prvku
Poznámka:
Sada Windows SDK obsahuje sadu ukázkových písem OpenType, která můžete použít s aplikacemi WPF (Windows Presentation Foundation). Tato písma poskytují většinu funkcí ilustrovaných ve zbytku tohoto tématu. Další informace naleznete v Sample OpenType Font Pack.
Podrobnosti o formátu písma OpenType najdete ve specifikaci OpenType.
Rozšířená typografické rozšíření
Rozšířené typografické tabulky (tabulky OpenType Layout) rozšiřují funkce písem s obrysy TrueType nebo CFF. Písma OpenType Layout obsahují další informace, které rozšiřují možnosti písem, aby podporovala vysoce kvalitní mezinárodní typografii. Většina písem OpenType zveřejňuje pouze podmnožinu dostupných funkcí OpenType. Písma OpenType poskytují následující funkce.
Bohaté mapování mezi znaky a glyfy, které podporují ligatury, poziční formy, alternativy a další náhrady písma.
Podpora dvojrozměrného umístění a připojení glyfů.
Explicitní skript a informace o jazyce obsažené v písmu, takže aplikace pro zpracování textu může odpovídajícím způsobem upravit své chování.
Tabulky Rozložení OpenType jsou podrobněji popsány v části "Tabulky souborů písem" specifikace OpenType.
Zbývající část tohoto přehledu představuje šířku a flexibilitu některých vizuálně zajímavých funkcí OpenType, které jsou vystaveny vlastnostmi objektu Typography . Další informace o tomto objektu naleznete v tématu Typografická třída.
Varianty
Varianty se používají pro vykreslování různých typografických stylů, jako jsou horní indexy a dolní indexy.
Horní a dolní indexy
Tato Variants vlastnost umožňuje nastavit hodnoty horního a dolního indexu pro písmo OpenType.
Následující text zobrazuje horní indexy pro písmo Palatino Linotype.
Následující příklad revize ukazuje, jak definovat horní indexy pro Palatino Linotype písmo pomocí vlastností objektu Typography .
<Paragraph FontFamily="Palatino Linotype">
2<Run Typography.Variants="Superscript">3</Run>
14<Run Typography.Variants="Superscript">th</Run>
</Paragraph>
Následující text zobrazuje spodní indexy pro písmo Palatino Linotype.
Následující příklad značkování ukazuje, jak definovat dolní indexy pro font Palatino Linotype pomocí vlastností objektu Typography.
<Paragraph FontFamily="Palatino Linotype">
H<Run Typography.Variants="Subscript">2</Run>O
Footnote<Run Typography.Variants="Subscript">4</Run>
</Paragraph>
Dekorativní použití horních a dolních číslic
Pomocí horních a dolních indexů můžete také vytvářet dekorativní efekty textu se smíšenými písmeny. Následující text zobrazuje horní a dolní index pro písmo Palatino Linotype. Všimněte si, že velká písmena nejsou ovlivněna.
Následující příklad značkování ukazuje, jak definovat horní a dolní indexy pro font pomocí vlastností objektu Typography.
<Paragraph FontFamily="Palatino Linotype" Typography.Variants="Superscript">
Chapter One
</Paragraph>
<Paragraph FontFamily="Palatino Linotype" Typography.Variants="Subscript">
Chapter One
</Paragraph>
Kapitály
Velká písmena jsou sada typografických forem, které vykreslují text ve stylu velkých písmen. Obvykle, když je text vykreslen jako všechna velká písmena, může se zdát, že mezery mezi písmeny jsou příliš úzké a váha a proporce písmen příliš těžké. OpenType podporuje řadu formátů stylů pro velká písmena, včetně malých velkých písmen, malých velkých písmen, názvu a mezer mezi velkými písmeny. Tyto formáty stylů umožňují řídit vzhled velkých písmen.
Následující text zobrazuje standardní velká písmena pro písmo Pescadero následovaná písmeny ve stylu "SmallCaps" a "AllSmallCaps". V tomto případě se pro všechna tři slova používá stejná velikost písma.
Následující příklad revize ukazuje, jak definovat velká písmena pro písmo Pescadero pomocí vlastností objektu Typography . Při použití formátu SmallCaps se ignoruje počáteční velké písmeno.
<Paragraph FontFamily="Pescadero" FontSize="48">
<Run>CAPITALS</Run>
<Run Typography.Capitals="SmallCaps">Capitals</Run>
<Run Typography.Capitals="AllSmallCaps">Capitals</Run>
</Paragraph>
Velká písmena v názvu
Velká písmena s názvem jsou světlejší v hmotnosti a poměru a jsou navržena tak, aby poskytovala elegantnější vzhled než normální kapitálky. Velká písmena se obvykle používají ve větších velikostech písma pro nadpisy. Následující text zobrazuje pro písmo Pescadero normální a titulková velká písmena. Všimněte si užších šířek textu na druhém řádku.
Následující příklad značkovacího jazyka ukazuje, jak definovat titlová velká písmena pro písmo Pescadero pomocí vlastností objektu Typography.
<Paragraph FontFamily="Pescadero">
<Run Typography.Capitals="Titling">chapter one</Run>
</Paragraph>
Rozestupy mezi velkými písmeny
Velké mezery jsou funkce, která umožňuje poskytnout větší mezery při použití všech velkých písmen v textu. Velká písmena jsou obvykle navržená pro kombinaci s malými písmeny. Mezery, které se zdají atraktivní mezi velkým písmenem a malým písmenem, mohou vypadat příliš těsně, když se použijí všechna velká písmena. Následující text zobrazuje normální a velké mezery pro písmo Pescadero.
Následující příklad značek ukazuje, jak definovat velké mezery pro písmo Pescadero pomocí vlastností objektu Typography .
<Paragraph FontFamily="Pescadero">
<Run Typography.CapitalSpacing="True">CHAPTER ONE</Run>
</Paragraph>
Ligatury
Ligatury jsou dva nebo více glyfů, které jsou vytvořeny do jednoho glyfu, aby bylo možné vytvořit čitelnější nebo atraktivní text. Písma OpenType podporují čtyři typy ligatur:
Standardní ligatury. Navržené tak, aby zlepšily čitelnost. Mezi standardní ligatury patří "fi", "fl" a "ff".
Kontextové ligatury. Navržená tak, aby zlepšila čitelnost tím, že poskytuje lepší spojení mezi znaky, které tvoří ligaturu.
Volitelné ligatury. Navržené tak, aby byly okrasné, a nejsou speciálně navrženy pro čitelnost.
Historické ligatury. Navržené tak, aby byly historické, a ne speciálně navržené pro čitelnost.
Následující text zobrazuje standardní ligatury pro písmo Pericles.
Následující příklad značkování ukazuje, jak definovat standardní ligaturní glyfy pro písmo Pericles pomocí vlastností objektu Typography.
<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>
Následující text zobrazuje volitelné ligatury pro písmo Pericles.
Následující příklad značkování ukazuje, jak definovat volitelné ligaturní glyfy pro písmo Pericles pomocí vlastností objektu Typography.
<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>
Ve výchozím nastavení písma OpenType ve Windows Presentation Foundation (WPF) povolují standardní ligatury. Pokud například použijete písmo Palatino Linotype, standardní ligatury "fi", "ff" a "fl" se zobrazí jako kombinovaný znak glyph. Všimněte si, že dvojice znaků pro každou standardní ligaturu se navzájem dotkne.
Můžete však zakázat standardní funkce ligatur, aby se standardní ligatura, jako například "ff", zobrazovala jako dva samostatné glyfy, místo kombinovaného glyfu.
Následující příklad značkování ukazuje, jak zakázat standardní ligatorové glyfy pro písmo Palatino Linotype pomocí vlastností objektu Typography.
<!-- Set standard ligatures to false in order to disable feature. -->
<Paragraph Typography.StandardLigatures="False" FontFamily="Palatino Linotype" FontSize="72">
fi ff fl
</Paragraph>
Swashes
Swashes jsou dekorativní glyfy, které používají propracované ornamenty často spojené s calligrafií. Následující text zobrazuje standardní a zdobné glyfy pro písmo Pescadero.
Swashes se často používají jako dekorativní prvky v krátkých výrazech, jako jsou oznámení o událostech. Následující text používá k zvýraznění velkých písmen názvu události mezery.
Následující příklad značkování ukazuje, jak pomocí vlastností objektu Typography definovat ozdoby pro písmo.
<Paragraph FontFamily="Pescadero" TextBlock.TextAlignment="Center">
Wishing you a<LineBreak/>
<Run Typography.StandardSwashes="1" FontSize="36">Happy New Year!</Run>
</Paragraph>
Kontextové ozdoby písmen
Některé kombinace ozdobných glyfů mohou způsobit neatraktivní vzhled, například překrývající se dolní části na sousedních písmenech. Použití kontextového swash umožňuje použít náhradní swash glyph, který vytváří lepší vzhled. Následující text zobrazuje stejné slovo před a po aplikaci kontextového ozdobného prvku.
Následující příklad revize ukazuje, jak definovat kontextový swash pro písmo Pescadero pomocí vlastností objektu Typography .
<Paragraph FontFamily="Pescadero" Typography.StandardSwashes="1">
Lyon <Run Typography.ContextualSwashes="1">L</Run>yon
</Paragraph>
Náhradníky
Alternativy jsou glyfy, které lze nahradit standardním glyfem. Písma OpenType, například písmo Pericles použité v následujících příkladech, můžou obsahovat alternativní glyfy, které můžete použít k vytvoření různých vzhledů textu. Následující text zobrazuje standardní glyfy pro písmo Pericles.
Písmo Pericles OpenType obsahuje další glyfy, které poskytují stylistické alternativy ke standardní sadě glyfů. Následující text zobrazuje stylistické alternativní glyfy.
Následující příklad revize ukazuje, jak definovat stylistické alternativní glyfy pro písmo Pericles pomocí vlastností objektu Typography .
<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>
Následující text zobrazuje několik dalších stylistických alternativních glyfů pro písmo Pericles.
Následující příklad značek ukazuje, jak definovat tyto další stylistické alternativní glyfy.
<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>
Náhodné kontextové alternativy
Náhodné kontextové alternativy poskytují více zástupných glyfů pro jeden znak. Při implementaci s písmy typu skript může tato funkce simulovat rukopis pomocí sady náhodně zvolených glyfů s mírnými rozdíly ve vzhledu. Následující text používá náhodné kontextové alternativy pro písmo Lindsey. Všimněte si, že písmeno "a" se mírně liší vzhledem.
Následující příklad revize ukazuje, jak definovat náhodné kontextové alternativy pro písmo Lindsey pomocí vlastností objektu Typography .
<TextBlock FontFamily="Lindsey">
<Run Typography.ContextualAlternates="True">
a banana in a cabana
</Run>
</TextBlock>
Historické formuláře
Historické formy jsou typografické konvence, které byly v minulosti společné. Následující text zobrazuje frázi "Boston, Massachusetts" pomocí historické formy glyfů pro písmo Palatino Linotype.
Následující příklad revize ukazuje, jak definovat historické formuláře pro Palatino Linotype písmo pomocí vlastností objektu Typography .
<Paragraph FontFamily="Palatino Linotype">
<Run Typography.HistoricalForms="True">Boston, Massachusetts</Run>
</Paragraph>
Číselné styly
Písma OpenType podporují velký počet funkcí, které lze použít s číselnými hodnotami v textu.
Zlomky
Písma OpenType podporují styly zlomků, včetně lomítka a skládaného.
Následující text zobrazuje styly zlomku pro písmo Palatino Linotype.
Následující příklad označení ukazuje, jak definovat styly zlomků pro písmo Palatino Linotype pomocí vlastností objektu Typography.
<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>
Staré stylové číslice
Písma OpenType podporují starý formát číslic. Tento formát je užitečný pro zobrazení číslic ve stylech, které už nejsou standardní. Následující text zobrazuje datum 18. století ve standardních a starých formátech číslic pro písmo Palatino Linotype.
Následující text zobrazuje standardní číslice pro písmo Palatino Linotype následované starými číslicemi stylu.
Následující příklad revize ukazuje, jak definovat staré styl číslice pro Palatino Linotype písmo pomocí vlastností objektu Typography .
<Paragraph FontFamily="Palatino Linotype">
<Run Typography.NumeralStyle="Normal">1234567890</Run>
<Run Typography.NumeralStyle="OldStyle">1234567890</Run>
</Paragraph>
Proporcionální a tabulkové obrázky
Písma OpenType podporují proporcionální a tabulkovou funkci obrázku pro řízení zarovnání šířky při použití číslic. Proporcionální číslice zacházejí s každou číslicí jako s různou šířkou — "1" je užší než "5". Tabulkové číslice jsou považovány za číslice se stejnou šířkou, aby se zarovnaly svisle, což zvyšuje čitelnost finančních informací.
Následující text zobrazuje dva proporcionální obrázky v prvním sloupci pomocí písma Miramonte. Všimněte si rozdílu v šířce mezi číslicemi 5 a 1. Druhý sloupec zobrazuje stejné dvě číselné hodnoty s šířkami upravenými pomocí funkce tabulkového obrázku.
Následující příklad revize ukazuje, jak definovat proporcionální a tabulkové obrázky pro písmo Miramonte pomocí vlastností objektu Typography .
<TextBlock FontFamily="Miramonte">
<Run Typography.NumeralAlignment="Proportional">114,131</Run>
</TextBlock>
<TextBlock FontFamily="Miramonte">
<Run Typography.NumeralAlignment="Tabular">114,131</Run>
</TextBlock>
Přeškrtnutá nula
Písma OpenType podporují formát číslice nula s lomítkem, který zdůrazňuje rozdíl mezi písmenem "O" a číslicí "0". Přeškrtnutá nula se často používá pro identifikátory ve finančních a obchodních informacích.
Následující text zobrazí identifikátor vzorového pořadí pomocí písma Miramonte. První řádek používá standardní číslice. Druhý řádek použil číslice s lomítkem nulou pro lepší kontrast s velkým písmenem "O".
Následující příklad označení ukazuje, jak definovat nulové číslice s přeškrtnutím pro písmo Miramonte pomocí vlastností objektu Typography.
<Paragraph FontFamily="Miramonte">
<Run>Order #0048-OTC-390</Run>
<LineBreak/>
<Run Typography.SlashedZero="True">Order #0048-OTC-390</Run>
</Paragraph>
Typografická třída
Objekt Typography zveřejňuje sadu funkcí, které podporuje písmo OpenType. Nastavením vlastností Typography v revizích můžete snadno vytvářet dokumenty, které využívají funkce OpenType.
Následující text zobrazuje standardní velká písmena pro písmo Pescadero následovaná písmeny ve stylu "SmallCaps" a "AllSmallCaps". V tomto případě se pro všechna tři slova používá stejná velikost písma.
Následující příklad revize ukazuje, jak definovat velká písmena pro písmo Pescadero pomocí vlastností objektu Typography . Při použití formátu SmallCaps se ignoruje počáteční velké písmeno.
<Paragraph FontFamily="Pescadero" FontSize="48">
<Run>CAPITALS</Run>
<Run Typography.Capitals="SmallCaps">Capitals</Run>
<Run Typography.Capitals="AllSmallCaps">Capitals</Run>
</Paragraph>
Následující příklad kódu provádí stejnou úlohu jako předchozí příklad revize.
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())
Typografie – vlastnosti třídy
Následující tabulka uvádí vlastnosti, hodnoty a výchozí nastavení objektu Typography .
Viz také
.NET Desktop feedback