svg embed font
Initial release
SVG对于独立于设备的分辨率很有用,但是通常会很痛苦,因为必须将字体嵌入文件中以在所有浏览器中正确渲染。 svg-embed-font是一种命令行工具,可轻松确定SVG文件中使用哪些字体并将其编码为基础64资产。
如果您的SVG资产在计算机上看起来很棒,并且会弄乱其他所有人的资产,那是因为字体未正确嵌入文件中。
svg-embed-font input.svg
在默认模式下,该工具将扫描SVG文件中的所有字体家庭声明,然后尝试找到匹配的字体文件(任何字体文件格式)。匹配被定义为字体姓氏的案例不敏感的子字符串匹配,忽略了任何空间。因此,如果您声明:
font-family: 'Permanent Marker'
Matches:
permanentmarker.ttf
PermanentMarker-700.otf
在这种情况下,有两种可能的匹配,当字体具有多个权重时,通常会发生。要指定应该使用的是,请在输入文件之后列出命令行上的字体。必须通过在命令行上列出正确的匹配来解决多个可能的匹配。
svg-embed-font input.svg permanentmarker.ttf
可以在命令行上列出一个或多个首选字体文件,它将使用这些文件而不是它所找到的任何其他匹配项。
如果您没有指定确切的字体文件,它将查看当前目录和所有子目录的匹配项,因此您可以在逻辑层次结构中布置文件,并可以找到它们。如果它耗尽所有可能的文件而不找到与SVG文件中每个字体的匹配,则它将返回错误。
字体文件是基本64编码的,并将其作为样式表资产直接包含在SVG文件中。如果您在文本编辑器中打开文件,在关闭</defs>标签之前,您会看到每个字体的以下内容:
<style type="text/css">
<![CDATA[
@font-face {
font-family: 'Permanent Marker';
src: url('data:application/x-font-ttf;base64,AAEAAAAOAIAAAwBgT1MvMmH1Ke...<lots more>');
}
]]>
</style>
在版本页面上下载适合您的操作系统的版本。
麻省理工学院