文字設計

「漢字標準格式」內建專屬的文字設計模組,在元素樣式標準化的基礎上,強化各作業系統及瀏覽器的字體回退機制、提供區分萬國碼區段的各式字體集(如標點修正集等),為不同元素及相應情境指定了符合需求及既成慣例的字體樣式。

文字設計原文作「typography」,意指集合了字體設計與排版的各種技術。「漢字標準格式」中,文字設計特指在不同元素情境下設定的不同字體、字體集及基型。

提示:文字設計模組不依賴JavaScript腳本。

字體回退機制

文字設計模組以其完善的字體回退機制處理所有元素與情境的字體樣式。依據元素或網頁指定的語言、文字變體或地區等元信息,按下方的回退順序提供相應的字體。

  1. 漢字標點字體集(例:Biaodian Pro Sans)
  2. 數字字體集(需要時調用,例:Numeral LF Sans)
  3. 西文字體(例:Helvetica Neue、Arial)
  4. 注音符號字體集(需要時調用,例:Zhuyin Heiti)
  5. 漢字字體集(例:Han Heiti)
  6. 字體基型(例:sans-serif)

這個回退順序,有助在最大程度上,避開各字體或字體集同時使用時可能重疊的區段衝突,以字元為單元調用相應的字體。

注意:截至2014年十月,Mozilla Firefox仍不支援回退機制中部分依萬國碼區段定義的字體集。而當前版本的Safari、Chrome、Opera及IE皆已完整支援。

又因Firefox 36起更改了 @font-face選用策略,在部分情況下無法處理回退字體。為正確顯示「西文等寬字體」,漢字標準格式自v3.2.1起暫時去除計算機相關元素(如代碼code)下的漢字標點字體。

示例及相關代碼

簡體中文網頁的根元素(html預設字體樣式如下,

html:lang(zh-Hans),
html:lang(zh-CN) {
  font-family: 
    'Biaodian Pro Sans GB',             /* 1 */
    'Helvetica Neue', Helvetica, Arial, /* 3 */
    'Han Heiti GB',                     /* 5 */
    sans-serif                          /* 6 */
  ;
}

繁體中文網頁,文章內區塊引用元素的預設字體樣式如下,

article blockquote:lang(zh-Hant) {
    font-family: 
      'Biaodian Pro Serif',             /* 1 */
      'Numeral LF Serif',               /* 2 */
      Georgia, 'Times New Roman',       /* 3 */
      'Zhuyin Kaiti',                   /* 4 */
      'Han Kaiti',                      /* 5 */
      cursive, serif                    /* 6 */
    ;
}

日文網頁,計算機相關文本元素(如代碼code元素等)的預設字體樣式如下,

code:lang(ja) {
  font-family: 
    'Yakumono Sans',                    /* 1 */
    Menlo, Courier,                     /* 3 */
    monospace, monospace, sans-serif    /* 6 */
  ;
}

中文或日文網頁下,非漢字文本的元素字體樣式,

*:lang(zh-Latn), 
*:lang(ja-Latn),
*:not(:lang(zh)):not(:lang(ja)) {
  font-family: 
    'Helvetica Neue', Helvetica, Arial, /* 3 */
    'Han Heiti',                        /* 5 */
    sans-serif                          /* 6 */
  ;
}

提示:為清楚表述字體回退機制與概念,以上本節節錄的CSS代碼皆經簡化、合併。

文字設計模組內建了四個字體回退基型——無襯線(黑體)、襯線(宋體)、手寫體(楷體)、等寬(黑體),使用相應的Sass @extend即可在選擇器上套用,並能避免冗餘繁雜的字體宣告,請見使用手冊「Sass API·字體基型 @extend」。

標點樣式修正

目前,部分漢字標點符號未單獨收錄於萬國碼中,多與西文標點共同。由於二種文字形態迥異,一般的字體設定無法滿足雙方的排版需求。

部分繁體中文字體將單點全形句號顯示於字元中間(),與間隔號樣式相似,可能導致讀者誤會;而西文字體中,間隔號多顯示為「半格漢字字寬」(·)、破折號兩相鄰時斷開(——)和省略號沉底(……)皆與慣例的漢字排版規範不符。

文字設計模組預設為中文網頁套用進階標點符號樣式修正(可依需求選用簡易版),日文網頁則預設修正破折號、省略號等二種符號,並根據相應的元素或情境,套用「無襯線」或「襯線」修正集。

二種語言皆可經Sass變數設定關閉標點樣式修正。

注意:截至2014年十月,Mozilla Firefox仍無法完整支援標點樣式修正,然搭配Han.js腳本的進階排版功能預設開啓「間隔號、破折號、省略號」三個符號的修正(在Firefox下)。

中文標點列表

變體 無襯線 襯線
推薦
適用繁、簡中文
Biaodian Pro Sans Biaodian Pro Serif
台灣教育部式
繁體中文預設
Biaodian Pro Sans CNS Biaodian Pro Serif CNS
中國國標式
簡體中文預設
Biaodian Pro Sans GB Biaodian Pro Serif GB
簡易修正 Biaodian Sans Biaodian Serif

修正標點列表

標點 Unicode 推薦 台灣教育部式 中國國標式
句號 3002 注字後下 居中 注字後下
單點全形句號 FF0E 注字後下
逗號 FF0C 注字後下 居中 注字後下
頓號 3001 注字後下 居中 注字後下
分號 FF1B 居中 注字後下
冒號 FF1A 居中 注字後下
問號 FF1F 居中 注字後下
驚嘆號 FF01 居中 注字後下
間隔號 00B7 佔一漢字寬度,居中
莫那·魯道
引號 300C
300D
300E
300F
佔一漢字寬度,緊靠其內容
「內『內容』容」
彎引號 201C
201D
2018
2019
不修正
‘內“內容”容’
佔一漢字寬度,
緊靠其內容
“內‘內容’容”
書名號 300A
300B
3008
3009
佔一漢字寬度,緊靠其內容
《書名》〈篇名〉
括號 FF08
FF09
3014
3015
佔一漢字寬度,緊靠其內容
(內〔內容〕容)
破折號 2014 兩相連時無間隔——
單獨存在時兩側不連字
刪節號 2026 兩相連時居中……
單獨存在時沉底
連接號 FF0D 佔一漢字寬度,居中
二〇〇六年-二〇三六年
斜線 FF0F
FF3C
佔一漢字寬度,居中
/\

簡易修正標點列表

標點 Unicode 示例
單點全形句號 FF0E 注字後下
間隔號 00B7 佔一漢字寬度,居中
莫那·魯道
破折號 2014 兩相連時無間隔——
單獨存在時兩側不連字
刪節號 2026 兩相連時居中……
單獨存在時沉底

示例

修正前

《源氏物語》(成書在長保三年至寬弘五年〔西元1001年至1008年〕間)在日本開啟了「物哀」的時代——「物哀」即見物而生悲哀之情——此後日本的小說中明顯帶有一種淡淡的悲傷!而「物哀」也成為日本一種全國性的民族意識,隨着一代又一代的詩人、散文家、物語作者流傳了下來……

推薦標點(適用繁、簡中文)

《源氏物語》(成書在長保三年至寬弘五年〔西元1001年至1008年〕間)在日本開啟了「物哀」的時代——「物哀」即見物而生悲哀之情——此後日本的小說中明顯帶有一種淡淡的悲傷!而「物哀」也成為日本一種全國性的民族意識,隨着一代又一代的詩人、散文家、物語作者流傳了下來……

《源氏物语》(成书在长保三年至宽弘五年〔西元1001年至1008年〕间)在日本开启了「物哀」的时代——「物哀」即见物而生悲哀之情——此后日本的小说中明显带有一种淡淡的悲伤!而「物哀」也成为日本一种全国性的民族意识,随着一代又一代的诗人、散文家、物语作者流传了下来……


台灣教育部式

《源氏物語》(成書在長保三年至寬弘五年〔西元1001年至1008年〕間)在日本開啟了「物哀」的時代——「物哀」即見物而生悲哀之情——此後日本的小說中明顯帶有一種淡淡的悲傷!而「物哀」也成為日本一種全國性的民族意識,隨着一代又一代的詩人、散文家、物語作者流傳了下來……


中國國標式

《源氏物语》(成书在长保三年至宽弘五年〔西元1001年至1008年〕间)在日本开启了“物哀”的时代——“物哀”即见物而生悲哀之情——此后日本的小说中明显带有一种淡淡的悲伤!而“物哀”也成为日本一种全国性的民族意识,随着一代又一代的诗人、散文家、物语作者流传了下来……

日文標點列表

無襯線 襯線
字體名稱 Yakumono Sans Yakumono Serif

修正標點列表

標點 Unicode 示例
破折號 2014 兩相連時無間隔——
單獨存在時兩側不連字
刪節號 2026 兩相連時居中……
單獨存在時沉底

示例

修正前

『西遊記』は、中国で16世紀の明の時代に大成した伝奇小説で——唐僧・三蔵法師が白馬・玉龍に乗って三神仙(神通力を持った仙人)、孫悟空、猪八戒、沙悟浄を供に従え、幾多の苦難を乗り越え天竺へ取経を目指す物語⋯⋯


修正後

『西遊記』は、中国で16世紀の明の時代に大成した伝奇小説で——唐僧・三蔵法師が白馬・玉龍に乗って三神仙(神通力を持った仙人)、孫悟空、猪八戒、沙悟浄を供に従え、幾多の苦難を乗り越え天竺へ取経を目指す物語⋯⋯

更詳盡的範例及測試,請見程式測試頁·標點符號

預設西文字體

預設西文字體分為無襯線、襯線、等寬三種,字體選用的原則以主流作業系統相應的預設字體或「網頁安全字體」為主。

基型 字體名稱及展示
無襯線 Helvetica NeueHelveticaArial
襯線 GeorgiaTimes New Roman
等寬 MenloCourier

等高與文本數字

部分西文字體使用文本數字樣式的阿拉伯數字,然文本數字並不適合嚴格等寬的漢字排版。文字設計模組提供「等高數字」與「文本數字」二種數字字體集,其下再區分無襯線及襯線二個基型分類。

基型 等高數字(多數情況適用) 文本數字
無襯線 Numeral LF Sans
1234567890
Numeral TF Sans
1234567890
襯線 Numeral LF Serif
1234567890
Numeral TF Serif
1234567890

注意:尚不支援Firefox。

意大利體

西文意大利體對應漢字的手寫體,例如楷體或仿宋。在「漢字標準格式」中,應用於如變音文字i與變數var等元素。

基型 西文 等高數字 文本數字
無襯線 Latin Italic Sans Numeral LF Italic Sans
1234567890
尚無
襯線 Latin Italic Serif Numeral LF Italic Serif
1234567890
Numeral TF Italic Serif
1234567890

注意:數字意大利體尚不支援Firefox。

陽入韻羅馬拼音

適用於含有陽入韻的漢語羅馬拼音(如臺灣閩南語羅馬字拼音方案)行間注ruby元素。提供無襯線基型「Romanization Sans」,使用web font技術,此字體僅包含五個陽入韻元音「a̍e̍i̍o̍u̍」字符。

中文漢字字體集

文字設計模組按四大漢字字體基型「黑」「宋」「楷」「仿宋」編制,其下再區分「繁體推薦字體」「繁體適用字體」「中國國標新字形字體」三種變體,足以適應各種需求。

基型 繁體推薦字體 繁體適用字體 中國國標新字形
Han Heiti
Han Heiti CNS
Han Heiti GB
Han Songti
Han Songti CNS
Han Songti GB
Han Kaiti
Han Kaiti CNS
Han Kaiti GB
仿宋 Han Fangsong
Han Fangsong CNS
Han Fangsong GB

提示:由於主流作業系統皆僅預裝「中國國標新字形」的仿宋體,基型仿宋雖同其餘三者提供三種變體,惟目前皆指向同一字體。俟未來各系統提供相應字體後,漢字標準格式將隨之更新。

注音符號

文字設計模組提供二種注音符號字體——「注音黑體」及「注音楷體」。

字體名稱 Zhuyin Heiti
Zhuyin Kaiti

元素字體的指定

在「漢字標準格式」中,不同的元素依據其功能、語意及「語言、文字變體、地區」等元信息,套用相應合適的字體樣式。

全域字體樣式

全域字體樣式使用漢字無襯線標點、西文無襯線字體及漢字(注音)黑體。

計算機相關文本

代碼code、輸入鍵kbd、計算機輸出示例samp及格式預處理pre等計算機相關文本元素,使用漢字無襯線標點、西文等寬字體及漢字(注音)黑體。

輸入鍵

請使用caps lock鍵來切換大小寫。

變音文字與變數元素

變音文字i與變數var元素使用漢字襯線標點、襯線等高數字、西文襯線意大利體及漢字(注音)楷體。

變數

設總增加人數為x,報名後棄賽人數為y……


變音文字

夢境中,他發現自己身着印有數字1926的上衣,左側手臂隱約傳來陣陣抽痛。

相關情境

見本文「文章下的區塊引用元素·變音文字與變數元素」一節。

行間注元素

行間注ruby元素下的注音符號注文(國語注音符號及方言音符號)依據父元素的字體樣式,使用注音黑體或注音楷體,然「調號」因定位之由,強制使用注音楷體。

<ruby><rtc>標記上套用類別.romanization者視為羅馬拼音注文,預設使用羅馬拼音陽入韻連字字體(Romanization Sans,僅包含a̍e̍i̍o̍u̍五個符號)及西文無襯線字體。

說明:如上方範例所示,在文章內區塊引用元素下的行間注,注音符號注文使用了配合其父元素的注音楷體;而羅馬拼音注文則使用Romanization Sans及西文無襯線字體。

不同情境下的字體

文章下的重點情境

文章下的重點情境article strong,使用漢字無襯線標點、西文無襯線字體及漢字(注音)黑體,並以粗於父文本的字重突顯其重要性。

BRT的中文作巴士捷運系統,是一種將公車路線系統化的大眾運輸工具,下面是節錄自《維基百科》相關條目的說明,

一個巴士捷運系統具有專門的設計、服務和基礎設施,以提高系統的品質與屏除可能造成誤點的因素。巴士捷運系統的目的是結合輕軌與捷運的容量、速度與公車系統的低成本、靈活性和簡單性,並能提供類似鐵路的服務水平,被喻為「地面上的地鐵」。

文章下的區塊引用情境

文章下的區塊引用情境article blockquote使用漢字襯線標點、襯線等高數字、西文襯線體及漢字(注音)楷體。

《周髀算經》中記述,公元前一千多年周公與商高論數的對話中,商高就以「三四五」三個特定數為例詳細解釋了勾股定理要素,

既方其外,半之一矩,環而共盤,得成三四五。兩矩共長二十有五,是謂積矩。

變音文字與變數

在文章下的區塊引用情境中,變音文字i與變數var元素改用漢字無襯線標點、西文無襯線意大利體及漢字(注音)黑體,以突顯其用途與差異。

曾經,甘道夫如此描述哈比人,

……我們知道的並不多。我們只知道在很遠的地方,越過許多山脈和河流,有一群矮小的生物居住在洞穴或是沙丘中。但沒有任何關於他們的傳說,因為據說他們游手好閒,躲避人類的目光,可以在一瞬間消失,而且他們還可以將嗓音偽裝成飛鳥的啁啾聲。不過,看來並不是這樣。

——J·R·R·托爾金《魔戒之王·雙城奇謀》

和新朋友們相處了一會兒,他便改觀了。

圖表下的區塊引用情境

圖表下的區塊引用情境figure blockquote使用漢字襯線標點、襯線等高數字、西文襯線體及漢字宋體(注音楷體)。

唯有知識才能解決問題。

面對記者的採訪,吳寶春如是說,話語更顯其從容自若的氣質。