教程 垂直行距
No.21 Vertical Metrics

字體度量 - 垂直行距

OpenType 字體中有數項設置都與垂直方向的行距相關。本教程解釋如何設置兼容的垂直度量。

教程式號: 21
官方原文: high-logic.com
內容狀態: ✅ 基於完整內容創建

在設計字體的某個階段(最好在早期),您可能會遇到字符上方和下方空間有限的問題。例如,添加對越南語的支援可能具有挑戰性,因為它有許多帶有兩個變音符號的大寫字母。使用特殊的堆疊組合標記會有所幫助,但仍然重要的是在字體中設置正確的間距度量。

文字處理器、頁面佈局軟件、電子閲讀器、遊戲引擎、網絡瀏覽器、PDF 生成器和打印機驅動程式不使用相同的機制來確定行距。本教程提供資訊和示例,展示哪些字體度量最適合您的字體。我們還討論了使用 FontCreator 定義這些值是多麼容易,但本教程中的建議也適用於其他字體編輯器。

帶有變音符號的越南語字符

過時和不正確的資訊

多年來,OpenType 規範和與這些度量相關的建議都發生了變化,因此互聯網上關於此主題有很多過時和不正確的資訊。

間距度量

在 OpenType 出現之前,有僅用於 Windows 的 TrueType 字體和用於 Macintosh 的 Postscript 字體。OpenType 被髮明為通用(跨平台)基於矢量的字體格式,但它帶有具有平台特定行為的兼容性/遺留度量。這就是為什麼在 OpenType 字體資源中有三組間距度量:排版、Windows 和 Macintosh。

字體度量概述

使用 Typo 度量進行行距

為了克服這些兼容性問題,OpenType 規範中引入了一個新標誌。如果字體啓用了"使用 typo 度量進行行距",我們強烈建議這樣做,所有應用程式都應該使用這些跨平台值來確定預設行距。

如果字體設置了此標誌"使用 typo 度量進行行距",則 Microsoft Word 使用排版值。否則,它使用 WinAscent 和 WinDescent 以及 LineGap 作為預設行距。

在 Windows 上,文本將在這些使用的上升器和下降器值上方被剪裁,因此確保所有字形輪廓都在視覺(非剪裁)區域內。

越來越多的應用程式使用排版間距度量值,但主要是遺留軟件仍然使用 Windows 或 Macintosh 特定度量。為了獲得一致的行距而不剪裁,我們建議採用以下方法。

排版(OS/2 → Typo Ascender、Typo Descender 和 Typo Line Gap)

Typo Ascender 和 Typo Descender 應該至少總和為"每 em 單位"(upem)。從覆蓋字體支援的主要語言的所有字形中獲取最大和最小垂直輪廓位置。通常擴展拉丁字符集,例如 Unicode 塊基本拉丁語以及拉丁語-1 補充,就可以了。然後按比例增加值,使它們總計 upem。

將 Typo Line Gap 值設置為 upem 的 7% 到 25% 之間,以便所有三個排版值的總和構成良好的預設行距。

Windows(OS/2 → Win Ascent 和 Win Descent)

WinAscent 和 WinDescent 應該容納所有字形的最大和最小垂直輪廓位置。按比例增加值,使 WinAscent - WinDecent 至少等於 TypoAscender - TypoDescender + TypoLineGap。

Macintosh(hhea → Ascender、Descender 和 Line Gap)

這些值代表字體創建者的設計意圖,而不是任何計算值,單個字形可能會超過它們代表的限制。某些應用程式(主要是基於 Mac 的)使用或曾經使用這些度量。

只需將這些設置為匹配相應的排版間距度量值。

如何計算值?

既然您更好地瞭解瞭如何設置垂直間距值,手動計算所有這些值仍然不容易。幸運的是,FontCreator 有一個按鈕可以為您完成所有魔法:

FontCreator 度量計算

根據您的喜好調整行距值,並確保您同意計算值。在 Windows、Macintosh、網絡瀏覽器以及 Microsoft Word 和 Adobe InDesign 等應用程式上測試字體。

字體族

為樣式連結的字體(例如常規、斜體、粗體和粗斜體字體)使用相同的值,以便在更改字體樣式時文件佈局不會重新流動。

剩餘問題和思考

某些字體(用於複雜腳本)可能包含基礎字符和組合標記,當一起使用時可能會超過計算的限制。在這種情況下,您應該考慮增加間距度量。

其他要求適用於打算用於垂直佈局的 CJK(中文、日文和韓文)字體。

您可能會發現不可能在不同應用程式之間獲得一致佈局和美觀間距之間的良好平衡。如果輪廓太小或太大,您應該考慮增加或減少字形輪廓的大小。如果 CapHeight 小於 ½ upem,我們認為輪廓太小,如果超過 ¾ upem,則太大。

反饋

歡迎您提供反饋、改進建議以及與本教程和其他教程相關的問題;請將它們發佈到 High-Logic 字體論壇

2022 年 12 月 3 日更新 - 更新了文本和屏幕截圖以反映 FontCreator 當前版本的更改