【问题标题】:What are browser-friendly alternatives for the flow* elements generated by Inkscape?Inkscape 生成的 flow* 元素有哪些浏览器友好的替代方案?
【发布时间】:2015-04-10 21:11:01
【问题描述】:

在我正在进行的一个项目中,我有一些使用 Inkscape 生成的地图的视图。但是,我们遇到了一些小问题……具体来说,有些地图根本不渲染文本。

some research 在 StackOverflow 上进入这个问题后,我发现有一些很好的理由:

  1. Inkscape 生成 SVG 1.1 文档,而不是 SVG 1.2 文档,尽管包括 flowRootflowRegionflowPara 元素。我将地图更新为 1.2 版文档,但没有帮助。
  2. 我读到那些flow* 元素,作为SVG 1.2 标准的一部分,实际上并没有在大多数浏览器中实现,因为SVG 1.2 从未被任何人接受。这就解释了为什么没有多少哄骗会导致我们地图上的文字出现。
  3. 如果要在浏览器中查看 SVG,通常建议使用 <text> 而不是 <flowPara>

这揭示了一个更深层次的问题,我无法从 Google 搜索中找到答案:Inkscape 正在用 it 可以呈现的 other 垃圾填充文档(@ 987654328@ 和 flowRegion,但 IE/Chrome 没有实现。

问题:

  1. 什么广泛实施的 SVG 标签可以很好地替代 flowRoot
  2. 什么广泛实施的 SVG 标签可以很好地替代 flowRegion
  3. 如果不存在这样的替代方案,是否有一些简单的方法,甚至是一般的启发式方法,可以最好地修改 SVG 文档以在现代浏览器(IE11 或 Chrome)上完全查看?

【问题讨论】:

    标签: svg compatibility


    【解决方案1】:

    在 Inkscape 中,选择流动的文本对象。转到文本菜单,然后选择“转换为文本”。

    流动的文本元素现在将是纯 <text> 元素,并将在浏览器中正确显示。

    【讨论】:

    • 谢谢!您如何判断文档是否使用流式文本/为什么选择默认的 inkscape?
    • 人们经常/通常想要输入文本块。 Inkscape 通过使用为 SVG 1.2 设计的元素来实现这一点是有道理的。尽管 SVG 1.2 从未起飞,但这是一个明智的想法 IMO。但是,流式文本不是默认设置。您必须专门选择该模式(文本 -> 流入框架)。至于您如何判断,一种方法是查看 XML 视图。我不确定是否有更明显的方法。
    【解决方案2】:

    如果您将文档保存为“优化的 SVG”,Inkscape 会警告您不会在浏览器中呈现的流元素。

    【讨论】:

      猜你喜欢
      • 2020-06-14
      • 2011-06-24
      • 2011-11-09
      • 1970-01-01
      • 2011-08-23
      • 2011-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多