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>
在版本頁面上下載適合您的操作系統的版本。
麻省理工學院