Roboto 字体 10 分钟上手:从选文件到源码构建的完整做法
【免费下载链接】robotoThe Roboto family of fonts项目地址: https://gitcode.com/gh_mirrors/ro/roboto
Roboto 字体是 Google 出品的开源无衬线字体家族,Android 和 Chrome OS 的系统默认字体,也是 Material Design 推荐使用的字体。它提供 18 种样式,覆盖拉丁、西里尔和希腊文字,一套字体就能同时应付网页、移动端和桌面文档的排版需求。
Roboto 覆盖哪些样式和字符
先确认字重和字符够不够用,再决定要不要继续往下看。
Roboto 共有 6 个字重:Thin(100)、Light(300)、Regular(400)、Medium(500)、Bold(700)、Black(900)。每个字重都有正体和斜体,共 12 款。另外还有 Roboto Condensed 窄体系列,只保留 Light、Regular、Bold 三个字重(含斜体),共 6 款。加起来正好是 18 种样式。
字符覆盖范围
项目 README 写明:支持 Unicode 7.0 的全部拉丁、西里尔、希腊字符,外加格鲁吉亚拉里(lari)货币符号(计划收录于 Unicode 8.0)。完整字符表在res/roboto1_coverage.txt,从控制字符 U+000D 一直列到 U+FFFD REPLACEMENT CHARACTER,每个字符都标注了码位和名称。
查看当前版本
版本信息写在res/roboto.cfg里,当前是2.138。这份配置还定义了字形拆分列表、字形顺序等构建规则,动手改字体前建议先读一遍。
怎么选合适的 Roboto 字体文件
先想清楚用在哪里,再决定拿哪几个文件。
- 网页项目:两到三个字重够用。正文用 Regular,标题用 Bold,大字标题想拉开层次再加 Light。
- 桌面或文档排版:整套安装,让应用按字重自动挑选。
- 空间紧张的界面:窄体文件的字面更窄,
RobotoCondensed-Regular.ttf这类文件适合紧凑布局。
字体文件从哪里拿
src/hinted/目录里放好了 18 个编译好的 TrueType 字体,命名规则是"家族名 + 字重",例如Roboto-Regular.ttf、Roboto-ThinItalic.ttf、RobotoCondensed-Bold.ttf。
如果只需要其中几个文件,挑出来直接用就行。想一次拿全或者打算改源码,可以克隆整个仓库:git clone https://gitcode.com/gh_mirrors/ro/roboto。
如何安装 Roboto 字体
字体文件到本地后,装进系统字体目录,任何应用都能调用。
Windows 和 macOS
Windows 上右键 .ttf 文件,选"为所有用户安装";macOS 上双击文件点"安装字体"。多个样式可以一次全选批量安装。
Linux
把字体复制到用户字体目录,然后刷新字体缓存:
cp src/hinted/Roboto-*.ttf ~/.local/share/fonts/ fc-cache -f -v验证很简单:打开任意文本编辑器,在字体列表里找 "Roboto",各字重都能选中并正常显示,说明安装成功。
网页中如何声明 Roboto 字体
自托管字体时,一份 @font-face 声明就够:
@font-face { font-family: 'Roboto'; src: url('Roboto-Regular.woff2') format('woff2'); font-display: swap; }三点注意:
font-display: swap可以让文字先显示再等字体加载完,避免页面空白。- 只上传并加载真正用到的字重。18 款全加载纯属浪费带宽。
- 字体就绪后,在样式表里写
font-family: 'Roboto', sans-serif;即可。
不想自己管字体文件的话,README 提到 Google Fonts 上提供了子集化后的 webfont,可以直接取用。
如何从源码构建 Roboto 字体
想改字形或验证构建链路时,才需要从源码构建。这个项目工具链齐全:src/v2/目录存着 Thin、Regular、Bold 三个 UFO 母版,中间字重由构建系统插值生成;构建逻辑在scripts/lib/fontbuild/。
准备环境并构建
构建脚本目前要求 Python 2 而非 Python 3。装好依赖后直接运行:
pip install -r requirements.txt makeMakefile 默认目标是v2,会执行scripts/build-v2.py,按res/roboto.cfg的配置生成字体,输出到out/目录。
其他常用 Makefile 目标
make web:把src/hinted/里的字体处理成 web 版本make android:经过调整、子集化后生成 Android 字体make test:运行 Android、字符覆盖和通用行为三套测试
如何验证构建结果
最后一步是确认字体真的能正确渲染。
跑make test做自动化检查。想肉眼过一遍,用scripts/render.sh可以调 harfbuzz 的hb-view把 18 种样式按 200 号字号渲染成 PNG,再用 eog 打开查看。特殊字符有专门的测试样本,比如samples/f-ligatures.txt里放着 ff、fi、fl、ffi、ffl 五个连字。
下一步建议:从src/hinted/Roboto-Regular.ttf和src/hinted/Roboto-Bold.ttf两个文件开始,先把页面跑通,再按需扩充字重和字符集。
【免费下载链接】robotoThe Roboto family of fonts项目地址: https://gitcode.com/gh_mirrors/ro/roboto
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考