什么是浏览器友好的替代方案,由Inkscape生成的flow*元素?

And*_*ray 5 compatibility svg

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

在StackOverflow上对此问题进行了一些研究后,我发现有一些很好的理由:

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

这揭示了一个更深层次的问题,我无法从Google搜索中找到答案:Inkscape正在填充文档,其中包含可以渲染的其他垃圾(以及分别),但IE/Chrome没有实现.flowRootflowRegion

问题:

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

Pau*_*eau 7

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

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

  • 人们经常/通常想要输入文本块.通过使用为SVG 1.2设计的元素,Inkscape实现了这一点.即使SVG 1.2从未起飞,IMO也是一个明智的想法.但是,流动的文本不是默认值.您必须专门选择该模式(文本 - >流入框架).至于你怎么说,一种方法是查看XML视图.我不确定是否有更明显的方法. (2认同)