添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
重情义的小马驹  ·  Microsoft Office ...·  1 年前    · 
刚分手的卤蛋  ·  react 引用json ...·  1 年前    · 

OpenType 字型格式

OpenType 字型格式是 TrueType® 字型格式的延伸模組,新增對 PostScript 字型資料的支援。 OpenType 字型格式是由 Microsoft 和 Adobe Corporation 共同開發。 OpenType 字型和支援 OpenType 字型的作業系統服務提供使用者簡單的方式來安裝和使用字型,不論字型是否包含 TrueType 外框或 CFF (PostScript) 外框。

OpenType 字型格式可解決下列開發人員挑戰:

  • 更廣泛的多平台支援。

  • 更好的國際字元集支援。

  • 更好的字型資料保護。

  • 較小的檔案大小,讓字型發佈更有效率。

  • 進階印刷樣式控制項的廣泛支援。

    Windows SDK 包含一組範例 OpenType 字型,您可以搭配Windows Presentation Foundation (WPF) 應用程式使用。 本主題後文會說明這些字型提供的大部分功能。 如需詳細資訊,請參閱 範例 OpenType 字型套件

    如需 OpenType 字型格式的詳細資訊,請參閱 OpenType 規格

    進階的印刷樣式延伸模組

    [進階印刷樣式] 表格 (OpenType 版面配置表格) 使用 TrueType 或 CFF 外框來擴充字型的功能。 OpenType 版面配置字型包含可擴充字型功能以支援高品質國際印刷樣式的其他資訊。 大部分的 OpenType 字型只會公開可用的 OpenType 功能總計子集。 OpenType 字型提供下列功能。

  • 字元與字符之間的豐富對應,支援連音符號、位置形式、替代項目,以及其他字型替代項目。

  • 支援二維定位與字符附件。

  • 字型中包含明確的指令碼和語言資訊,因此文字處理應用程式可據以調整其行為。

    The OpenType Layout tables are described in more detail in the "Font File Tables" section of the OpenType specification.

    本概觀的其餘部分介紹物件屬性 Typography 所公開之一些視覺有趣 OpenType 功能的廣度和彈性。 如需此物件的詳細資訊,請參閱 印刷樣式類別

    用來轉譯不同印刷樣式的變數,例如上標和下標。

    上標和下標

    屬性 Variants 可讓您設定 OpenType 字型的上標和下標值。

    下列文字顯示上標 Palatino Linotype 字型。

    下列標記範例示範如何使用 物件的屬性,定義 Pala要 Linotype 字型的 Typography 上標。

    <Paragraph FontFamily="Palatino Linotype">
      2<Run Typography.Variants="Superscript">3</Run>
      14<Run Typography.Variants="Superscript">th</Run>
    </Paragraph>
    

    下列文字顯示下標 Palatino Linotype 字型。

    下列標記範例示範如何使用 物件的屬性,定義 Pala要 Linotype 字型的 Typography 下標。

    <Paragraph FontFamily="Palatino Linotype">
      H<Run Typography.Variants="Subscript">2</Run>O
      Footnote<Run Typography.Variants="Subscript">4</Run>
    </Paragraph>
    

    上標和下標的裝飾性用途

    您也可以使用上標和下標建立混合大小寫文字的裝飾效果。 下列文字顯示 Palatino Linotype 字型的上下標文字。 請注意,大寫字不受影響。

    下列標記範例示範如何使用 物件的屬性,定義字型的 Typography 上標和下標。

    <Paragraph FontFamily="Palatino Linotype" Typography.Variants="Superscript">
      Chapter One
    </Paragraph>
    <Paragraph FontFamily="Palatino Linotype" Typography.Variants="Subscript">
      Chapter One
    </Paragraph>
    

    大寫字是一組以大寫樣式字符轉譯文字的印刷格式。 一般而言,當文字全部轉譯為大寫時,字母之間的間距可能太近,字母的加權和比例會過重。 OpenType 支援數種大寫樣式格式,包括小寫字、小寫字大寫、Titling 和大寫間距。 這些樣式格式可讓您控制大寫字的外觀。

    下列文字顯示 Pescadero 字型的標準大寫字母,後面接著樣式設定為 "SmallCaps" 和 "AllSmallCaps" 的字母。 在此情況下,三個單字全都使用相同的字型大小。

    下列標記範例示範如何使用 物件的屬性,定義 Pescadero 字型的 Typography 大寫。 使用 "SmallCaps" 格式時會略過任何開頭的大寫字母。

    <Paragraph FontFamily="Pescadero" FontSize="48">
      <Run>CAPITALS</Run>
      <Run Typography.Capitals="SmallCaps">Capitals</Run>
      <Run Typography.Capitals="AllSmallCaps">Capitals</Run>
    </Paragraph>
    

    標題大寫字

    標題大寫字的加權和比例較輕,設計目的是為了比正常大寫字母看起來更雅緻。 標題大寫字通常用於較大的字型大小作為標題。 下列文字顯示 Pescadero 字型的正常和標題大寫字。 請注意第二行文字較窄的主體寬度。

    下列標記範例示範如何使用 物件的屬性,定義 Pescadero 字型的 Typography Titling 大寫字母。

    <Paragraph FontFamily="Pescadero">
      <Run Typography.Capitals="Titling">chapter one</Run>
    </Paragraph>
    

    大寫字母間距

    大寫字母間距功能可讓您在全部使用大寫字的文字中,提供更多的間距。 大寫字母通常會設計為與小寫字母混合在一起。 大寫字母和小寫字母間看起來很不錯的間距,在全部使用大寫字母時會看起來很擠。 下列文字顯示 Pescadero 字型的正常和大寫字間距。

    下列標記範例示範如何使用 物件的屬性,定義 Pescadero 字型的 Typography 大寫間距。

    <Paragraph FontFamily="Pescadero">
      <Run Typography.CapitalSpacing="True">CHAPTER ONE</Run>
    </Paragraph>
    

    連音符號是兩個或以上的字符,形成單一字符以建立更清晰或更美觀的文字。 OpenType 字型支援四種類型的連字:

  • 標準連音符號。 設計目的旨在增進可讀性。 標準連音符號包括 "fi"、"fl" 和 "ff"。

  • 內容連音符號。 設計目的旨在提供組成連音符號的字元間更好的聯結行為,以提升可讀性。

  • Discretionary 連音符號。 設計成裝飾之用,並不是特別針對可讀性設計。

  • 過往連音符號。 設計成記錄之用,並不是特別針對可讀性所設計。

    下列文字顯示 Pericles 字型的標準連音符號字符。

    下列標記範例示範如何使用 物件的屬性 Typography ,定義 Pericles 字型的標準連音字元。

    <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>
    

    下列文字顯示 Pericles 字型 Discretionary 連音符號。

    下列標記範例示範如何使用 物件的屬性,定義 Pericles 字型的 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>
    

    根據預設,Windows Presentation Foundation (WPF 中的 OpenType 字型) 啟用標準連字。 例如,如果您使用 Palatino Linotype 字型,標準連音符號 "fi"、"ff" 和 "fl" 會顯示為合併的字元字符。 請注意,每個標準連音符號的成對字元都彼此相鄰。

    使用 OpenType 標準連字與 Pala以 Linotype 文字搭配撰寫的文字

    不過,您可以停用標準連音符號功能,讓 "ff" 等標準連音符號顯示為兩個分開的字符,而不是合併的字元字符。

    下列標記範例示範如何使用 物件的屬性 Typography ,停用 Pala以 Linotype 字型的標準連音字元。

    <!-- Set standard ligatures to false in order to disable feature. -->
    <Paragraph Typography.StandardLigatures="False" FontFamily="Palatino Linotype" FontSize="72">
      fi ff fl
    </Paragraph>
    

    花飾字是裝飾性字符,會使用精心設計且通常與書寫體相關聯的裝飾。 下列文字顯示 Pescadero 字型的標準和花飾字字符。

    花飾字通常用為簡短片語中的裝飾項目,例如事件宣告。 下列文字使用花飾字強調大寫字母的事件名稱。

    下列標記範例示範如何使用 物件的屬性來定義字型的 Typography 斜體。

    <Paragraph FontFamily="Pescadero" TextBlock.TextAlignment="Center">
      Wishing you a<LineBreak/>
      <Run Typography.StandardSwashes="1" FontSize="36">Happy New Year!</Run>
    </Paragraph>
    

    內容花飾字

    某些花飾字字符的組合會導致不討喜的外觀,例如相鄰字母的伸尾部分重疊。 使用內容花飾字可讓您使用會產生更佳外觀的替代花飾字字符。 下列文字顯示套用內容花飾字之前和之後的相同字組。

    下列標記範例示範如何使用 物件的屬性 Typography ,為 Pescadero 字型定義內容 Swash。

    <Paragraph FontFamily="Pescadero" Typography.StandardSwashes="1">
      Lyon <Run Typography.ContextualSwashes="1">L</Run>yon
    </Paragraph>
    

    替代項目是可以取代標準字符的字符。 OpenType 字型,例如下列範例中使用的 Pericles 字型,可以包含可用來建立文字不同外觀的替代字元。 下列文字顯示 Pericles 字型的標準字符。

    Pericles OpenType 字型包含額外的圖像,可為標準字元集提供文法替代專案。 下列文字顯示文體替代字符。

    下列標記範例示範如何使用 物件的屬性,定義 Pericles 字型的 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>
    

    下列文字顯示數個 Pericles 字型的其他文體替代字符。

    下列標記範例示範如何定義這些其他文體替代字符。

    <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>
    

    隨機內容替代項目

    隨機內容替代項目提供單一字元的多個替代字符。 以書寫體字型實作時,這項功能可以使用一組隨機選擇的字符,在外觀上略加變動來模擬手寫。 下列文字使用 Lindsey 字型的隨機內容替代項目。 請注意,字母 "a" 的外觀略有不同。

    下列標記範例示範如何使用 物件的屬性 Typography ,為 Lindsey 字型定義隨機內容替代專案。

    <TextBlock FontFamily="Lindsey">
      <Run Typography.ContextualAlternates="True">
        a banana in a cabana
    </TextBlock>
    

    古體形式是過去常用的印刷樣式慣例。 下列文字使用 Palatino Linotype 字型的古體形式字符顯示 "Boston, Massachusetts" 片語。

    下列標記範例示範如何使用 物件的屬性 Typography ,定義 Pala注音 Linotype 字型的歷史表單。

    <Paragraph FontFamily="Palatino Linotype">
      <Run Typography.HistoricalForms="True">Boston, Massachusetts</Run>
    </Paragraph>
    

    數字的樣式

    OpenType 字型支援大量可搭配文字中數值使用的功能。

    OpenType 字型支援分數的樣式,包括斜線和堆疊。

    下列文字顯示 Palatino Linotype 字型的分數樣式。

    下列標記範例示範如何使用 物件的屬性來定義 Pala注 Linotype 字型的 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>
    

    舊樣式數字

    OpenType 字型支援舊樣式數位格式。 此格式適用於顯示樣式不再標準的數字。 下列文字使用 Palatino Linotype 字型的標準和舊樣式數字格式顯示 18 世紀的日期。

    下列文字顯示 Palatino Linotype 字型的標準數字,後面接著舊樣式數字的數字。

    下列標記範例示範如何使用 物件的屬性 Typography ,為 Pala可 Linotype 字型定義舊樣式數位。

    <Paragraph FontFamily="Palatino Linotype">
      <Run Typography.NumeralStyle="Normal">1234567890</Run>
      <Run Typography.NumeralStyle="OldStyle">1234567890</Run>
    </Paragraph>
    

    調和間距與表格式數字

    OpenType 字型支援比例和表格式圖表功能,以在使用數位時控制寬度的對齊方式。 調和間距數字會將每一個數字視為具有不同的寬度,"1" 比 "5" 窄。 表格式數字則視為等寬數字,以便垂直對齊,可提高財務類資訊的可讀性。

    下列文字在第一個資料行中顯示使用 Miramonte 字型的兩個調和間距數字。 請注意數字 "5" 和 "1" 之間的寬度差異。 第二個資料行顯示相同的兩個數值,使用表格式數字功能調整其寬度。

    下列標記範例示範如何使用 物件的屬性 Typography ,為 Miramonte 字型定義比例和表格式圖。

    <TextBlock FontFamily="Miramonte">
      <Run Typography.NumeralAlignment="Proportional">114,131</Run>
    </TextBlock>
    <TextBlock FontFamily="Miramonte">
      <Run Typography.NumeralAlignment="Tabular">114,131</Run>
    </TextBlock>
    

    加斜線的零

    OpenType 字型支援斜線零數位格式,強調字母 「O」 與數位 「0」 之間的差異。 加斜線的零數字通常用於財務和商務資訊中的識別碼。

    下列文字顯示使用 Miramonte 字型的範例訂單識別碼。 第一行使用標準的數字。 第二行使用加斜線的零數字,以突顯與大寫字母 "O" 的對比。

    下列標記範例示範如何使用 物件的屬性,定義 Miramonte 字型的 Typography 斜線零數位。

    <Paragraph FontFamily="Miramonte">
      <Run>Order #0048-OTC-390</Run>
      <LineBreak/>
      <Run Typography.SlashedZero="True">Order #0048-OTC-390</Run>
    </Paragraph>
    

    印刷樣式類別

    物件 Typography 會公開 OpenType 字型支援的一組功能。 藉由在標記中設定 的屬性 Typography ,您可以輕鬆地撰寫利用 OpenType 功能的檔。

    下列文字顯示 Pescadero 字型的標準大寫字母,後面接著樣式設定為 "SmallCaps" 和 "AllSmallCaps" 的字母。 在此情況下,三個單字全都使用相同的字型大小。

    下列標記範例示範如何使用 物件的屬性,定義 Pescadero 字型的 Typography 大寫。 使用 "SmallCaps" 格式時會略過任何開頭的大寫字母。

    <Paragraph FontFamily="Pescadero" FontSize="48">
      <Run>CAPITALS</Run>
      <Run Typography.Capitals="SmallCaps">Capitals</Run>
      <Run Typography.Capitals="AllSmallCaps">Capitals</Run>
    </Paragraph>
    

    下列程式碼範例可以完成與先前標記範例相同的工作。

    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())
    

    印刷樣式類別屬性

    下表列出 物件的屬性、值和預設設定 Typography

    Capitals AllPetiteCaps | AllSmallCaps | Normal | PetiteCaps | SmallCaps | Titling | Unicase FontCapitals.Normal CapitalSpacing Boolean false CaseSensitiveForms Boolean false ContextualAlternates Boolean ContextualLigatures Boolean ContextualSwashes 數值 - 位元組 DiscretionaryLigatures Boolean false EastAsianExpertForms Boolean false EastAsianLanguage HojoKanji | Jis04 | Jis78 | Jis83 | Jis90 | NlcKanji | Normal | Simplified | Traditional | TraditionalNames FontEastAsianLanguage.Normal EastAsianWidths Full | Half | Normal | Proportional | Quarter | Third FontEastAsianWidths.Normal Fraction Normal | Slashed | Stacked FontFraction.Normal HistoricalForms Boolean false HistoricalLigatures Boolean false Kerning Boolean MathematicalGreek Boolean false NumeralAlignment Normal | Proportional | Tabular FontNumeralAlignment.Normal NumeralStyle Boolean FontNumeralStyle.Normal SlashedZero Boolean false StandardLigatures Boolean StandardSwashes 數值 - 位元組 StylisticAlternates 數值 - 位元組 StylisticSet1 Boolean false StylisticSet2 Boolean false StylisticSet3 Boolean false StylisticSet4 Boolean false StylisticSet5 Boolean false StylisticSet6 Boolean false StylisticSet7 Boolean false StylisticSet8 Boolean false StylisticSet9 Boolean false StylisticSet10 Boolean false StylisticSet11 Boolean false StylisticSet12 Boolean false StylisticSet13 Boolean false StylisticSet14 Boolean false StylisticSet15 Boolean false StylisticSet16 Boolean false StylisticSet17 Boolean false StylisticSet18 Boolean false StylisticSet19 Boolean false StylisticSet20 Boolean false Variants Inferior | Normal | Ordinal | Ruby | Subscript | Superscript FontVariants.Normal
  • Typography
  • OpenType 規格
  • WPF 中的印刷樣式
  • 範例 OpenType 字型套件
  • 將字型與應用程式一起封裝
  •