Funkce písma OpenType
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 jazyk PostScript dat písma. 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 (jazyk 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 tématu 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í formuláře, alternativy a další náhrady písma.
Podpora dvojrozměrného umístění a přílohy 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í k vykreslení 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 dolní indexy pro písmo Palatino Linotype.
Následující příklad revize ukazuje, jak definovat dolní indexy pro palatino Linotype písmo 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 indexů
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 revize ukazuje, jak definovat horní a dolní indexy pro písmo pomocí vlastností objektu Typography .
<Paragraph FontFamily="Palatino Linotype" Typography.Variants="Superscript">
Chapter One
</Paragraph>
<Paragraph FontFamily="Palatino Linotype" Typography.Variants="Subscript">
Chapter One
</Paragraph>
Hlavních městech
Velká písmena jsou sada typografických formulářů, které vykreslují text v glyfech ve stylu velkých písmen. Když se text vykresluje jako všechna velká písmena, může být mezera mezi písmeny obvykle příliš úzká a váha a poměr stran písmen je 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>
Hlavní písmena 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 pro nadpisy se obvykle používají ve větších velikostech písma jako nadpisy. Následující text zobrazuje pro písmo Pescadero normální velká písmena a velká písmena. Všimněte si užších šířek textu na druhém řádku.
Následující příklad revize ukazuje, jak definovat hlavní písmena pro písmo Pescadero pomocí vlastností objektu Typography .
<Paragraph FontFamily="Pescadero">
<Run Typography.Capitals="Titling">chapter one</Run>
</Paragraph>
Velké mezery
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 zobrazují atraktivní mezi velkým písmenem a velkým písmenem a malým písmenem, můžou být při použití velkých písmen příliš těsné. 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 revize ukazuje, jak definovat standardní ligatury 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 revize ukazuje, jak definovat volitelné ligatury 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í ligatury tak, aby se standardní ligatura, jako je například "ff", zobrazovala jako dvě samostatné glyfy, a ne jako kombinovaný znak glyf.
Následující příklad revize ukazuje, jak zakázat standardní ligatury glyphs pro Palatino Linotype písmo 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 vymyté glyfy pro písmo Pescadero.
Swashes se často používají jako dekorativní prvky v krátkých frázích, jako jsou oznámení událostí. Následující text používá k zvýraznění velkých písmen názvu události mezery.
Následující příklad revize ukazuje, jak definovat swashes pro písmo pomocí vlastností objektu Typography .
<Paragraph FontFamily="Pescadero" TextBlock.TextAlignment="Center">
Wishing you a<LineBreak/>
<Run Typography.StandardSwashes="1" FontSize="36">Happy New Year!</Run>
</Paragraph>
Kontextové smyčky
Některé kombinace vymytých glyfů můžou způsobit neaktuktivní vzhled, například překrývající se sestupy 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 použití kontextového swash.
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.
Frakce
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 revize ukazuje, jak definovat styly zlomku pro Palatino Linotype písmo 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í obrázky považují jednotlivé číslice za jinou šířku – "1" je užší než "5". Tabulkové obrázky se považují za číslice se stejnou šířkou, aby se zarovnaly svisle, což zvyšuje čitelnost informací o finančním typu.
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>
Lomítko nula
Písma OpenType podporují lomítko s nulovým formátem, který zvýrazňuje rozdíl mezi písmenem "O" a číslicí "0". Lomítko nula číslice se často používá pro identifikátory finančních a obchodních informací.
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 lomítko nula číslic k lepšímu kontrastu s velkým písmenem "O".
Následující příklad revize ukazuje, jak definovat lomítko nula číslic 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
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro