收集游戏文本
把按钮、菜单、活动标题、关卡提示和多语言文案集中起来,得到真实需要的字符集合。
H5 游戏字体包体优化
把游戏 UI 文本、活动标题、英文按钮和关卡提示粘贴进来,导入项目 TTF 字体后直接预览真实字形,并导出只包含当前字符集的字体子集。
先导入真实项目字体,再用游戏实际文本生成子集。不要在不知道字形需求时,把完整中文字库直接放进移动端首包。
把按钮、菜单、活动标题、关卡提示和多语言文案集中起来,得到真实需要的字符集合。
按 Basic Latin、CJK、标点、数字等范围统计字形,判断是否应该按语言或模块拆分字体。
在浏览器本地裁剪标准 TTF 字体,直接下载只包含当前字符集的字体子集文件。
字体子集适合动态文本和多语言 UI,位图字体更适合固定、高频、强视觉的短文本。两者可以同时使用。
常驻按钮、标签和系统菜单通常只需要少量中文字形,适合从完整字体中裁出首包子集。
减少首包活动页、关卡名和赛季标题可以单独规划文本范围,避免复用一套过大的全量字体。
按模块加载不同语言的字形差异很大,可以按语言生成不同子集,再用 CSS unicode-range 控制加载。
按需下载字体优化的目标是让玩家更快进入首个可玩时刻,同时保持 UI 文本稳定清晰。
完整中文字体往往包含数千到数万字形,即使游戏首屏只用几十个字,也可能让字体文件变成主要下载压力。
unicode-range 可以让浏览器只在页面使用到指定范围字符时加载对应字体文件,适合按语言或字符范围拆分。
动态长文本适合字体子集,固定短文本适合位图字体。游戏 UI 可以用字体子集兜底,用位图字体强化数字和标题。
标准 TTF 可以在浏览器本地解析字形表并重写子集。WOFF2 和部分 CFF OTF 需要额外压缩或字体重写能力,更适合后续作为增强能力加入。