网页字体嵌入与合规指南:@font-face、CDN 与子集化
把免费商用字体放上网站,既要懂授权边界(并非所有免费商用都允许网页嵌入),也要懂性能(中文字库动辄几十 MB)。本文覆盖授权判定、Google Fonts 引用、子集化、字体栈兜底与性能优化全链路。
一、授权先行:哪些字体可以放进网站
把字体文件通过 @font-face 提供给浏览器,属于「网络分发」,授权要求比印刷更高。安全区:SIL OFL 与 Apache 字体天然允许嵌入与再分发(思源黑体、霞鹜文楷、Inter、Roboto 等全部站酷免费系列也允许,但要随附授权文本)。谨慎区:企业声明式授权中,阿里普惠体、鸿蒙、MiSans 在各自渠道说明中开放了 Web 用法或可通过平台内嵌,使用前逐条核对当前政策;优设标题黑、庞门正道则明确禁止嵌入式使用——这类「禁止嵌入」条款极易被忽略。绝对禁区:所有仅个人使用的字体上网页。最省心的路径:使用 Google Fonts 官方分发的子集(本站字体详情页的「网页直链」字段即指此类),协议、CDN、子集化、更新全部由 Google 维护。
二、Google Fonts 引用实操
标准写法是 <link rel=preconnect> 两个域名(fonts.googleapis.com 与 fonts.gstatic.com)后接 css2 样式表,参数里带上需要的字重与 display=swap。中文条目注意选对地区变体:Noto Sans SC/TC/JP/KR 字形规范不同;LXGW WenKai 上架的是 TC 版,做简中正文需评估字形预期。国内访问建议实测:Google 域名在部分地区不可达,因此中文网站更稳的做法是自托管子集化 woff2(见下节)或采用「中文系统字体 + 西文 webfont」的混合栈。
三、中文字体自托管:子集化方案
思源黑体全套简体约 90 MB+,直接托管等于自杀。方案 A:按页面文案做固定子集(fonttools/pyftsubset 或线上工具),适合活动页、品牌官网等文案可控的场景,体积可压到 50-300 KB。方案 B:分片加载——按 unicode-range 把全字符集切成几十个 woff2 切片,浏览器按需请求(Google Fonts 正是这样做),适合 UGC 平台。方案 C:放弃自定义中文 webfont,用字体栈调用用户本机字体(本站预览即此思路),零带宽成本。注意:自托管仍受协议约束,OFL 要求随附授权文本;部分企业字体的官方许可只覆盖「安装使用」而不覆盖「网络提供」,以各官方页条款为准。
四、字体栈与性能细节
推荐栈模式:自定义字体(西文)→ 平台中文系统字体 → 通用兜底。例如 font-family: Inter, 'PingFang SC', 'HarmonyOS Sans SC', 'Microsoft YaHei', system-ui, sans-serif——把免费商用且用户大概率安装的 MiSans/HarmonyOS Sans 排进栈里,既省带宽又提高品牌一致性。性能三件套:font-display: swap 保证文字不空白、字体文件 woff2 + 预加载关键子集、可变字体单文件替代多字重。验证工具:浏览器 Network 面板看字体请求瀑布,Lighthouse 查 CLS——swap 下的文字回流会推高 CLS,对尺寸敏感的组件用 size-adjust 或 fallback 匹配度量。
本站仅为公开信息的整理与索引,不提供任何字体文件的下载、镜像或托管,也不对字体授权作出担保。版权方随时可能调整授权范围、拆分免费与付费版本或终止某项许可。正式商用前请务必前往官方页面核对授权原文,并保存带日期的截图作为凭证。涉及商标、出海发行、大规模嵌入式使用等高价值场景,建议咨询专业知识产权律师。