在Inkscape中嵌入字体


20

是否有人知道将字体嵌入到可被inkscape读取的svg文件中的当前状态?我发现缺少嵌入式字体会严重阻碍svg文件的可移植性,尤其是如果将文件发送给没有计算机管理员权限并且无法安装字体的人。

我试图按照此链接上给出的说明进行操作:

HOWTO:在Linux Inkscape SVG文档中嵌入字体

但由于无法正常工作,此链接还表明有可能:

https://answers.launchpad.net/inkscape/+question/83618

公平地说,我正在尝试使其在Windows而不是linux上运行(我现在无法访问linux机器)。是否有人知道或可以访问此功能正常运行的实际svg文件?


可能与这个问题有关?
Paolo Gibellini 2014年

嗨,谢谢你。是的,我在此处发布之前尝试过它,但无法使其正常工作,但是我也找不到有效的示例,只是提出了可能可行的建议。
Douglas Kastle 2014年

在示例中,字体被嵌入以供通过互联网浏览器使用(例如,网页中的图形)。您的目标有所不同,目前我还没有找到相关的可行示例。
Paolo Gibellini 2014年

1
请注意,尽管stackeschange非常适合解决有关软件现有功能的问题,但对于Inkscape之类的开源项目而言,当询问有关路线图和此类功能的问题时,可以与开发人员建立直接渠道。对于inkscape,我建议在FreeNode IRC网络的“ #inkscape”通道上提出您的问题。
jsbueno 2014年

为此,我在InkscapeForum上提出了一个问题,但是答复的使用量少于这里,我将研究您建议的路线。
Douglas Kastle 2014年

Answers:


5

在当前版本的Inkscape中,似乎尚无法嵌入SVG字体(另请参见此处的小示例)。

0.48版本说明中

存在一个已知的限制,即对话框中的字形列表尚未以所选字体呈现,但仍以系统字体呈现

0.47发行说明中,有关于限制的更详细的说明:

作为SoC 2008项目,JucaBlues实现了SVG字体的初始解析和渲染。您可以在Inkscape中设计字体,但尚不支持使用它们在画布上呈现文本。我们正在等待libpango实现对用户字体功能的适当支持。

Firefox或Internet Explorer不支持SVG字体的呈现,Inkscape Wiki告诉我们:

SVG2.0可以用WOFF替换SVG字体

(让我们等着看)


目前,按照本教程,我能够在SVG中嵌入WOFF字体:

<svg xmlns="http://www.w3.org/2000/svg"
     xmlns:xlink="http://www.w3.org/1999/xlink"
     width="100%" height="100%" viewBox="30 40 340 135">

  <title>WebFont Template for SVG</title>

  <style type="text/css"><![CDATA[
    @font-face {
        font-family: "indie_flower";
        src: url("indie_flower.woff") format("woff");
        font-weight: normal;
        font-style: normal;
    }

    text { 
        font-family: "indie_flower", serif;
        font-size: 40px;
        fill: silver;
        stroke: gray;
        stroke-width: 0.5px;
        text-anchor: middle;
    }

    textPath { 
        font-size: 35px;
        text-anchor: start;
        fill: silver;
        stroke: none;       
    }

  ]]></style>

  <text x="200" y="80">http://schepers.cc/svg-webfonts</text>  

  <path id="curve" d="M75,170 C150,140 200,140 250,160" fill="none"/>
  <text><textPath xlink:href="#curve">Google Indie Flower</textPath></text>

</svg>

字体是在此URL之后从本地复制的(从此处获取)并获得下载链接(方便地重命名为“ indie_flower.woff”)。

SVG文件使用本地字体并且呈现良好(在Windows 8.1下使用Firefox 34,Chrome 39和Internet Explorer 11进行了测试)。使用本地字体,我无法链接SVG文件,您必须准备截图:

Chrome屏幕截图

不幸的是(请参见上文),Inkscape 目前无法渲染它并使用默认字体。

目前 ...让我们拭目以待。


11

您可以通过将文本转换为矢量路径来制作可移植的SVG文件。

选择文本对象,然后进入菜单路径对象到路径。(您也可以使用“笔触到路径”,具体取决于您要执行的操作)。

当然,作为矢量,该文本将不再可以作为文本进行编辑,但是这对您而言并不重要,因为可以在另一端看到SVG。


2
这并不能真正回答这个问题,该问题是将字体嵌入SVG文件中,从而使其可编辑
Luciano

4
这可能不是对这个问题的正确答案,但它确实可以像魅力一样工作而无需做很多事情。如果您问我,这是一个非常好的答案!
亚历克西斯·威尔克

1
我同意,这是一个非常有用的答案。通常,有几种方法可以做事情。如果您不鼓励所有不完全使用提问者所要求的答案的方法,就不要将StackExchange变成一个非常有用且学习友好的地方,恕我直言。
Sybille Peters
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.