做第二个品牌项目时,字体文件夹里已经躺着四十多个文件:思源黑体 Medium.ttf、思源黑体Medium(1).ttf、SourceHanSansCN-Medium.ttf,还有几个只剩 字体.ttf 这种名字。要给客户证明某款字是免费商用,得凭记忆一个个打开看,最后还是翻回三个月前的聊天记录。
文件名是字体在硬盘上的身份。命名乱,代价落在后面:找错字重、发错版本、把仅限个人使用的文件和免费商用的文件混在一个包里交给客户。花半小时建一套命名规则,比每次翻记录省事。
一、命名要承载四类信息
它是谁。 字体全名,含系列与地区版本。GB 版和简繁版不是一份文件。
它有多粗。 字重档位。同一家族五六个文件,靠 Regular、Medium、Bold 区分,靠肉眼分辨不可靠。
它能不能商用。 授权类型是文件属性里最容易被忽略、也最容易出事的一项。
它从哪来、什么时候拿的。 来源站点与获取日期,用于回溯页面上的许可声明。
还有一类可选信息:属于哪个项目。 同一款字在不同项目里可能有不同用途,项目前缀能让交付包自解释。
二、命名结构:字体名_字重_授权类型_来源_版本
推荐的字段顺序。字体名_字重_授权类型_来源_版本.扩展名,例如 荆南麦圆体_Regular_OFL_maoken_1.0.ttf。字段固定、顺序固定,排序时同系列的文件会挨在一起。
授权类型用固定缩写。 自己定一张对照表贴在文件夹里,别每次即兴发挥:
OFL:SIL Open Font LicenseMIT、GPL:其他开源协议,写具体名AUT:作者声明免费商用FRB:随包附带的免费商用声明RES:带保留字体名称条款PAID:已购商用授权,括号里补订单号或授权编号
分隔符只用下划线。 空格、中文括号、&、#、+ 在命令行、网址、部分印刷流程里会出问题。需要标注项目时用 -PRJ 这类前缀,不要用空格堆叠。
版本号取内部版本。 打开字体属性看版本字段,别用下载日期代替。同一款字隔半年可能更新过一次,版本号是区分新旧的主要依据。
示例几条。
猫啃什锦黑_Bold_OFL_maoken_1.1.ttf
耀圆体_Regular_OFL_maoken_1.0.ttf
汇文港黑_Regular_AUT_maoken_2.0.ttf
对应到具体字体。 上面三条分别指向 猫啃什锦黑、耀圆体、汇文港黑。前两款属于 OFL,第三款是作者声明免费商用,所以命名里写 AUT 而不是 OFL;协议不同,文件夹也要分开放。圆体里还有一款 荆南麦圆体,同属 OFL,字重档位少,命名时不必预留太宽的档位位宽。
统一命名之后再做归档。 按授权类型分文件夹(01_OFL、02_AUT、03_PAID),每个文件夹里放一份说明,写清协议要点和获取日期。
取文件时不必每次都装进系统,命名整理完直接归档:
- 字由客户端:下载安装后,在客户端里激活想用的字体,PS / AI / Sketch 自动识别,免去装系统的麻烦。猫啃网提供官方下载入口。
三、Windows 与 macOS 的批量做法
Windows 资源管理器的批量重命名有坑。 全选后按 F2 改名,系统会生成 新名字 (1).ttf、新名字 (2).ttf 这种序列。它只能统一改一个主名,无法按字段拼装,也不支持读取字重。适合一次性清掉乱码文件名,不适合建规范。
PowerToys 的 PowerRename。 装完右键菜单里多一项,支持正则替换、大小写转换、添加前后缀。批量清掉 (1)、(2) 这类后缀,或者把 Medium 统一替换成 _Medium_,用它省事。
命令行适合有规律的情况。 Windows 的 ren 只能改单层,配合 for 循环可批量加前缀;PowerShell 的 Rename-Item 支持管道与正则,能按列表改名。macOS 用 mv 加循环,或者 zmv。
脚本读内部名生成新名,准确度更高。 用 fonttools 读每个文件的 name 表,取出字体族名、子族名(对应字重)、版本号,拼成规范文件名,再执行重命名。这一步多花二十分钟,换来的是不会把 Bold 标成 Regular。
macOS 访达的批量重命名。 选中多个文件右键,可选“替换文本”“添加文本”“格式”。格式模式能生成 名称-1、名称-2,但同样读不到字重信息。
批量改名前先做一次试运行。 复制十个文件到临时目录,跑一遍规则,确认没有重名覆盖、没有丢扩展名,再对全量执行。改名不可撤销,源文件先备份一份。
四、改名会不会破坏字体
不会。文件名和字体内部名是两套东西。 系统安装字体时读的是文件里的 name 表,不是文件名。把 SourceHanSansCN-Medium.ttf 改成 思源黑体_Medium_OFL_maoken.ttf,装进系统后字体列表里显示的名字一点不变,排版软件的字体菜单也不变。
会被影响的只有三处。 一是你自己的检索习惯;二是网页 @font-face 里的 src 路径,改名后要同步改 CSS;三是安装包或脚本里写死的文件名。
装了字体再改文件名也没事。 已安装的副本在系统字体目录里,与桌面上的原件是两份。改原件不影响使用,重装时用新名字即可。
有一件事容易混淆。 OFL 的“保留字体名称”要求,约束的是对外分发时的字体内部名,不是文件名。做子集化或改字形之后对外发布,需要改的是 name 表里的名称,光改文件名不算履行条款。
改完清理一次缓存。 Windows 里旧名字可能残留在字体列表,重启或清字体缓存后恢复;macOS 在字体册里移除再添加即可。
五、授权说明
命名里那一段授权类型,是要能被验证的,不能凭印象写。核验按三步走。
第一步,确认字体全名。 内部 name 表里的族名与子族名,加上版本号。转发来的文件常被改过名,打开属性看原文才准。
第二步,查协议类型。 常见几类:开源协议(SIL OFL、MIT、GPL)、作者声明免费商用、随包附带的免费商用声明、带保留字体名称条款的授权。命名里写 OFL 之前,确认文件里确实带 OFL 文本;写 AUT 之前,确认声明页还在。
第三步,核使用场景。 印刷、网页、视频通常允许;Logo 商标注册、App 或电子书内嵌、二次分发要单独确认。命名里可以再补一位场景标记,比如 -LOGO、-WEB,方便同事取用。
留凭证。 在字体文件夹里放一个 授权记录.md,逐条写字体全名、版本、获取日期、许可页面链接、截图文件名。文件名是索引,这份记录才是依据。
六、FAQ
问:改文件名之后,软件里显示的字体名会不会跟着变?
不会。软件的字体列表读的是文件内 name 表。想让显示名变化,得改内部字段,那是另一件事,且受协议约束。
问:批量改名会不会把字体改坏?
只改文件名不会。真正有风险的是批量替换时覆盖同名文件,或者把扩展名一起改掉。执行前备份、先小批量试跑,两条都做到就基本不会出问题。
问:Windows 自带的功能够用吗?
清乱码够用,建规范不够。它只能统一主名加序号,读不到字重和版本。要按字段拼装,用 PowerToys 或脚本。
问:同一款字有多个版本,旧版要不要删?
看项目是否还在用旧版排版。已定稿的印刷文件建议保留对应版本,标注 legacy;新项目统一用新版,避免同一稿子里出现两种字形。
小结
命名结构就一条:字体名、字重、授权类型、来源、版本,用下划线连起来,顺序固定。授权类型用固定缩写并配一张对照表,文件夹按协议分层。Windows 自带功能只能清乱码,要按字段拼装得靠 PowerToys 或脚本,脚本读内部名准确度更高。改名不影响字体内部身份,影响的只是路径引用与检索习惯;OFL 的保留名称条款约束的是内部名,与文件名无关。
猫啃网

