SVG转PNG后字体变了？font-family只是选字体，交付前这样核对

在SVG里写上字体名称，并不等于把字体文件放进图片。接收方没有该字体，或图像导出环境无法取得它时，文字可能使用后备字形。先用固定文字与画布的对照定位字体依赖，再决定交付可编辑文本、经批准的路径稿，还是已经验收的PNG。

先保留可编辑原稿，核对授权字体与接收环境；用同尺寸对照检查字形、行宽和完整文字。当前SVG转PNG入口会解码SVG并画到画布，不会替你嵌入字体或把文字转成路径。需要固定外观时，在合适的编辑器中准备路径副本或交付已批准的栅格结果，同时另存原始文字。

字体名称是查找顺序，不是字体附件

[SVG的font-family说明](https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Attribute/font-family)把它定义为按优先级排列的字体名称或通用字体族。文件中出现一个名字，只能说明请求使用它，不能证明导出设备具备它。

[CSS字体选择说明](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/font-family)还区分了后备字体和逐字形查找：某种字体能显示英文字母，不代表也包含每个汉字、货币符号或数学符号。因此，“整行换样”和“只有几个字符像方框”需要分别排查。

如果文字形状没变而图片里的照片消失，应转到[SVG外部图片依赖对照](/blog/svg-export-missing-external-image-data-url)。本篇只改变字体选择，不重复那份外链图片案例。

三份小样只改变一个字体列表

练习包是本站自编材料，不含客户标识或外部字体。三份SVG都为480×120，文字同为MWMW 2026，字号48、位置(20,82)、白底黑字。KitNelo NeverInstalled 73591是故意编造的不可用字体名，不是推荐安装的产品。

下面是missing-mono.svg的完整内容。第二份mono.svg只把font-family改成monospace；第三份missing-serif.svg把列表末尾改成serif。不要同时改字号、字距或输出尺寸，否则就无法把差异归因到这次控制变量。

先验收真实PNG，再讨论换电脑的差异

本站当前实现把SVG作为图像解码后绘入PNG。按[MDN的SVG图像环境限制](https://developer.mozilla.org/en-US/docs/Web/SVG/Guides/SVG_as_an_image)，图像上下文和独立文档的资源加载条件不同。不要因为网页编辑器能加载某个网络字体，就承诺本地PNG转换会沿用该资源。

打开[SVG转PNG](/tools/svg-to-png)，依次粘贴三份源码，每次点击“开始转换”。保留原文件名与对应下载名，避免三次converted.png互相覆盖。

每次点击“下载结果”，重新打开PNG，检查实际480×120像素、完整MWMW 2026、基线与右侧留白。不要用网页缩略图的显示宽度作为文件尺寸。

在同一导出环境比较missing-mono与mono，再比较missing-serif。若前两份一致而第三份不同，说明本组差异符合后备字体变化；它不能证明原设计字体已经嵌入。

要保留可编辑性，还是固定批准后的外观？

[Inkscape文字说明](https://inkscape-manuals.readthedocs.io/en/latest/text.html)介绍了文字转为路径后的形状编辑。这是可选路线的官方说明，不是本文运行过Inkscape的记录；转路径之前仍须确认字体使用和交付许可。

路径或PNG可以减少接收环境的字体依赖，却会牺牲文本编辑、查找或辅助阅读能力。对需要无障碍文本的发布，把正文另外作为可访问文字提供，不把一张图当作全部信息。

出现问题时，按症状回到原稿

画布或坐标问题可继续阅读[SVG像素与viewBox检查](/blog/svg-to-png-export-pixels-viewbox)。提高PNG宽度不能把缺失字体变成原字体，反复改变格式也不能纠正原文拼写。交付记录至少保留原稿、批准参照、导出环境与最终文件；接收方变更环境后应再验收。