2

我注意到浏览器在显示强制从右到左的文本和使用 text-anchor="end" 方面存在差异。

<?xml version="1.0" standalone="no"?>
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" > 

    <text x="10" y="50" font-size="30" font-family="sans-serif" writing-mode="rl" direction="rtl" unicode-bidi="bidi-override" text-anchor="end" stroke="green" fill="green">
        Force RTL
    </text>
</svg>

在 Chrome(v 27.0.1453.93 m) 和 IE(v 9.0.8112.16421) 中,文本按我的预期显示,字形从文本的终点开始向左移动。在上面的例子中,它显示在浏览器的左上角。

在 Firefox (v 20.0.1) 中,带有 text-anchor="end" 的字形描边是从文本的起点开始的,并且显示在页面之外。如果我删除 text-anchor 属性,Firefox 会显示为 Chrome,而 IE 会使用text-anchor。

我的问题是

  1. 有谁明白这里发生了什么?或者这是一个FF错误?
  2. 如果没有解决方法,我如何在 SVG 中的用户代理之间切换,所以对于 Firefox,我可以避免使用文本锚?

非常感谢

4

1 回答 1

0

这是 Firefox 中的一个错误。幸运的是,由于我们正在修改/重写 SVG 中的文本支持,它将很快得到修复(不确定具体时间)。如果你想看到它正常工作,下载一个Firefox 每晚在 URL 栏中输入 about:config 并将 svg.text.css-frames.enabled 设置为 true。所以要小心用户代理测试,因为这很快就会得到解决。

于 2013-05-22T16:27:15.580 回答