TechMoon 科技月球
WordPress、SEO 與 AI 工具實測指南
TechMoon 科技月球
WordPress、SEO 與 AI 工具實測指南

Noto Sans TC網頁字型教學:比較400、700與可變字重請求,說明WordPress載入方式、fallback、swap與optional,以及OFL授權條件。附相同文字的Chromium載入觀測與驗證步驟。
用 AI 摘要這篇文章:
Noto Sans TC 是可透過 Google Fonts 載入的繁體中文無襯線字型,適合想替網站設定中文字型的使用者。先確認正文、標題需要的字重,再加入樣式表與 font-family;完成後要檢查實際渲染字型,並保留載入失敗時仍可閱讀的系統字型。
Noto Sans TC 的 TC 代表 Traditional Chinese。Google Fonts 的字型中繼資料將它列為無襯線字型,來源指向 Noto CJK 專案。比較思源黑體、Noto Sans CJK 或其他語言版本時,要核對實際檔案與地區字形,不能只因名稱相關就當成完全相同的字型包。
2026年9月9日核對 Google Fonts 倉庫,Noto Sans TC 的 wght 軸範圍為100至900,檔名為 NotoSansTC[wght].ttf。這可確認可變字重範圍,不能據此推定特定版本號、Unicode版本或所有罕用字都已收錄。有人名、地名或異體字需求,請用實際文字逐字測試。
缺字時出現的方框常被稱為 tofu。選用中文字型後仍可能遇到缺字;瀏覽器也可能改用另一套字型顯示個別字元。因此「沒有方框」不等於整段文字都由 Noto Sans TC 繪製。
不同作業系統的預設中文字型可能不同。嵌入 Noto Sans TC 可讓成功載入這套字型的頁面使用一致的字型選擇,但不能保證所有訪客看到完全相同的呈現。字型載入失敗、字元缺漏或顯示策略都可能使用備援字型;應先確認文字可讀,再檢查載入與切換結果。
[email protected] 是 Google Fonts CSS2 API 網址中的軸範圍語法,不是直接寫在一般 CSS 規則中的屬性。頁面樣式使用 font-weight: 400、font-weight: 700 等宣告;請讓要求的字重範圍涵蓋實際使用值。
字型是否易讀,要連同字級、行高、字距、背景對比及使用裝置一起檢查。請用網站實際的正文、標題、數字與標點預覽,不因字型名稱就假設12至14px在所有螢幕都適合閱讀。
先依版面使用的字重決定請求,再量測載入結果:
先檢查WordPress佈景主題或既有外掛是否已載入同一字型。若已經有對應設定,優先使用現有入口,避免再加入重複樣式表;不同字型搭配則先以實際段落檢查閱讀效果。
可從 Google Fonts Noto Sans TC 頁面預覽字型。以下提供可檢查的CSS2請求範例,不依賴字型選取介面的按鈕位置。
若可以管理HTML的 <head>,可加入以下樣式表連結,要求400與700並指定 display=swap。WordPress請只選後文的一種載入入口,不要將多個方法一起貼上。
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@400;700&display=swap" rel="stylesheet">
wght@400;700 要求400與700;[email protected] 要求連續範圍。API會依請求與瀏覽器提供CSS,字型則可能按unicode-range分成多個檔案。不能單看字重數量推算下載份數,實際比較見後文。
想知道目前網站的載入速度表現,可以參考我們的網站速度測試分析文章。
以下是網站載入外部字型樣式的三種做法,不代表Google Fonts介面一定提供這三個選項。
link 樣式表:放在head可讓瀏覽器從HTML較早發現外部CSS;之後仍需解析CSS,依頁面所需字元與字型規則載入字型檔。不是在解析CSS前就已下載全部字型。preconnect是額外的連線提示,效益需量測。
@import:適用於只能編輯CSS的入口,須放在一般樣式規則前。瀏覽器要先發現這條匯入規則才能要求外部樣式表,可能增加依賴等待;是否明顯變慢應看Network時間線。
JavaScript動態載入:適用於有明確條件或互動才需要字型的情況,需另處理腳本失敗與載入狀態。一般靜態頁面不必只為字型增加一套JavaScript載入流程。
| 方式 | 發現時機 | 要檢查的事 |
|---|---|---|
| link | 解析HTML時發現CSS | CSS解析後仍需字型請求;避免重複載入 |
| @import | 解析到匯入規則後要求CSS | 放在一般規則前;觀察依賴等待 |
| JavaScript | 腳本執行到載入邏輯時 | 處理腳本失敗與條件,保留備援 |
能管理head時,可先用link或平台既有的樣式載入機制;只能編輯CSS時再考慮@import。preconnect是文件層級提示,不因使用@import就不能搭配。
先確認目前使用傳統佈景主題或區塊佈景主題,以及是否已有字型管理功能。以下方法擇一,修改前保存原設定,先在測試環境預覽;不要重複匯入同一份字型。
若後台提供自訂器與額外CSS,可使用以下方式;區塊佈景主題的入口可能不同,請以目前可用的樣式設定為準。
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@400;700&display=swap');
body {
font-family: 'Noto Sans TC', sans-serif;
}
h1, h2, h3, h4, h5, h6 {
font-family: 'Noto Sans TC', sans-serif;
font-weight: 700;
}
額外CSS不需要直接修改主題檔案,但設定的保留與顯示仍與使用中的主題及管理方式有關。更換主題前備份;若出現問題,移除本次加入的@import與規則,回復原設定後再確認前台。
若既有、受管理的外掛提供head插入功能,可透過該入口加入以下link。先確認其作用範圍與是否已載入同一字型,不必只為貼上這段程式碼立刻再安裝一個外掛。
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@400;700&display=swap" rel="stylesheet">
再在目前佈景主題可用的自訂CSS入口加入font-family規則。儲存後檢查前台樣式表與字型請求;若要回復,同時移除本次head連結與CSS規則。
由開發者維護的主題或外掛,可依 WordPress官方資源載入文件使用 wp_enqueue_style() 註冊並載入樣式表,再管理依賴與自訂CSS。不要假設所有主題都有可修改的header.php;先在測試環境確認,保留版本與回復方式。
不管用哪種方式載入,都需要在 CSS 裡宣告 font-family:
body {
font-family: 'Noto Sans TC', 'PingFang TC', 'Microsoft JhengHei', sans-serif;
}
font-family的備援不只在下載失敗時生效:前面的字型沒有某個字元時,瀏覽器也會嘗試後面的字型。PingFang TC與Microsoft JhengHei是否可用,取決於裝置;最後保留通用的sans-serif。標題與正文可再指定不同字重:
body {
font-family: 'Noto Sans TC', sans-serif;
font-weight: 400;
}
h1, h2, h3, h4, h5, h6, .entry-title {
font-family: 'Noto Sans TC', sans-serif;
font-weight: 700;
}
確認載入的字重符合 CSS 使用範圍,並檢查瀏覽器實際使用的字型。font-display 決定下載期間的文字顯示策略,因此也要測試慢速或載入失敗時的備援文字。字型設定應改善可讀性與呈現穩定度,不能保證停留時間增加或提升 SEO 外掛的成效。
中文字型可能涵蓋大量字元,但頁面實際下載量會受字元子集、回應格式與快取影響,不一定下載整套。除了容量,也要觀察下載期間文字是否可讀,以及切換字型後是否造成版面位移。
當瀏覽器遇到 Web Font 的 CSS 宣告時,有兩個常見的惱人現象:
依 MDN的font-display定義,swap具有極短的block期與無限swap期,之後可從備援切換為下載完成的字型;不是保證零等待。font-display是@font-face描述符。本篇CSS2連結明確加入display=swap,請確認實際網址與回應,不假設所有嵌入碼都自動帶有這個設定。
先記錄現有字型請求與文字顯示,再一次調整一項設定。以下做法的效果取決於頁面與網路,不能保證速度或搜尋排名提升。
2026年9月9日以Chromium的兩個新瀏覽器情境載入相同文字「繁體中文網站,測試字重400與700。」,正文400、粗體700,比較CSS2的400;700與100..900請求。兩者各收到6個字型回應,網址集合相同,回應body合計皆為351060 bytes。因此本次並沒有每多要求字重就增加一整套檔案。這是單一瀏覽器、文字與回應的觀測,不是所有頁面的速度基準;此數字也不是含協定開銷的網路傳輸量。請在自己的頁面以Network篩選Font,分開比較CSS大小、字型下載量與載入時間。
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
preconnect讓瀏覽器有機會提早建立指定來源的連線,可能省下之後的DNS、連線或TLS等待。它是提示,不保證固定省下多少毫秒;Google Fonts由訪客瀏覽器請求,也不能僅憑網站使用Cloudflare就推定效果更大。只對確實會使用的重要來源加入提示。
快取能否重用,取決於回應標頭、網址、瀏覽器與快取狀態,不能保證之後零下載。font-display: optional有極短block期且沒有swap期:若字型未在這段時間內可用,本次顯示可維持備援字型。它不是「只有已快取才會使用字型」,也不等於禁止下載;選用前應接受部分造訪可能看不到指定字型的結果。
| 比較項目 | Noto Sans TC檢查方式 | 換另一套字型時 |
|---|---|---|
| 字形與覆蓋 | 預覽實際繁中、數字與罕用字 | 用同一段文字比對地區字形及缺字 |
| 字重 | 目前倉庫wght範圍100至900 | 核對實際檔案提供的軸或靜態字重 |
| 授權 | OFL 1.1,保留聲明及相關條件 | 分清使用、嵌入、修改與再分發權利 |
| 載入與閱讀 | 測試實際請求、字級及備援切換 | 保持相同文字與環境,不以風格推定速度或可讀性 |
比較其他黑體、宋體或手寫字型時,請用相同文章和裝置預覽。中性或手寫風格是設計選擇,不足以證明哪套字型的長文可讀性一定較好;也不要把系統預裝字型的使用權當成可自行上傳託管的授權。
需要自行託管字型時,另外核對取得來源、授權檔、檔案大小、跨來源設定及更新責任。使用Google Fonts託管則要考慮訪客能否連線;兩種做法都應保留可閱讀的備援字型。
適合考慮Noto Sans TC的情況:繁體中文網站需要一套無襯線網頁字型,願意管理載入與備援,且確認字形符合內容需求。成功載入可統一字型選擇,但不同裝置、缺字與顯示策略仍可能造成差異。
如果系統字型已符合閱讀與品牌需求,可以不增加外部中文字型。若不希望下載完成後再切換,可評估optional並接受維持備援字型的結果;是否值得增加網頁字型,應以讀者可讀性與實際載入測試決定。
設定過程中難免遇到問題。以下整理最常見的狀況和解決方法。
字型看起來不正確:先檢查font-family拼寫、CSS優先順序及字重。Computed中的font-family是生效宣告,還要看Chrome的Rendered Fonts確認實際繪製字型。找出覆蓋來源再修改對應規則,不預設加!important;若確有舊CSS快取,再只更新相關快取。
只有部分字不同:選取有問題的字,核對Rendered Fonts與字型是否包含該字元。Google Fonts回應中的unicode-range可讓瀏覽器依需要請求子集,但不能補出字型原本沒有的字。Network的Font請求成功也不等於文字已由該字型顯示。
載入慢或切換明顯:先檢查重複樣式表、實際字型請求與備援字型造成的換行,再比較preconnect或display設定。若調整後更差,回復上一版連結與CSS,重新測試相同文字和網路條件;不要一次改動主機、快取和字型而無法分辨原因。
如果你決定要用了,跟著這三步做就行:
驗證時包含正文、粗體、數字、罕用字與手機版;也要模擬慢速或字型請求失敗,確認備援文字可讀。出現異常時移除這次新增的載入與規則,回復已保存的設定,再檢查前台。
Noto Sans TC的SIL Open Font License 1.1允許商用、嵌入、修改與再分發,但有條件:不能單獨販售字型;分發時保留版權聲明與授權;修改版使用保留名稱須取得書面許可,這份檔案列的Reserved Font Name為Source;字型仍須依OFL分發,不能未經允許用作者名稱替修改版背書。使用字型製作的文件不因這一條件而必須採用OFL。
TC代表繁體中文,但不能因此保證涵蓋所有人名、地名或異體字。請用實際文字確認字形與缺字;若內容包含日文、韓文或其他地區字形需求,應另外核對相應字型版本。
優先使用目前主題或既有工具的字型設定。若有額外CSS入口,可用@import;若能管理head,可加入link;由開發者維護時可使用wp_enqueue_style()。只選一個載入方式,再設定font-family與備援,依前文步驟驗證和回復。
font-display是@font-face描述符。swap具有極短block期,之後先用備援,並允許字型完成後切換。Google Fonts CSS2可用display=swap指定,本篇範例已加入;仍應核對實際回應與文字顯示。
外部字型增加CSS與字型載入工作,實際影響依字元、瀏覽器、快取及網路而定。本篇400;700與100..900的合成文字測試收到相同字型檔,不能推論所有頁面相同;請量測自己的請求、文字顯示與版面位移再調整。
謝謝你文章. 他解決了我如何有效率地 include NotoSans TC 入網站, 打開網頁的速度快了幾秒. 實在太好了.
Hi Leo,
很高興幫助到你!