SVG中的阿拉伯语和希伯来语文本

时间:2014-04-02 20:59:58

标签: html svg adobe-illustrator

我在线设置了一些用户可以在输入字段中输入文本的内容,然后显示该文本并保存为SVG文件。

它将文本放在<text><tspan>节点中。

文本需要以某种方式,所以我将text-anchor属性集附加到tspan节点,其值为“middle”,并将tspan节点的x属性设置为正好一半父母的宽度。

这与拉丁字符完全一样,文本居中并按照应有的方式对齐,无论是在浏览器中还是在Adobe Illustrator中加载SVG之后。

问题出现在希伯来文,阿拉伯文和亚洲文本中。它们都符合我在Chrome,Safari和&amp; Firefox浏览器。但是在Internet Explorer中,一旦将文件加载到Adobe Illustrator中,文本就会在文件周围随机对齐。字体显示正确,但定位错误。使用坐标和text-anchor属性会改变文本但我无法获得一致的正确结果。

亚洲文本似乎只是稍微向右移动,希伯来语和阿拉伯语几乎会在整个地方对齐。

我缺少什么/不理解?

编辑:这是一些最终的SVG输出

<?xml version="1.0"?>
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" id="&#x645;&#x631;&#x62D;&#x628;&#x627;" xmlns:xlink="http://www.w3.org/1999/xlink" x="0" y="0" width="50px" height="32px" enable-background="new 0 0 50 32" xml:space="preserve">
    <path d="M49.327,24.938c0,6.396-6.604,6.397-6.604,6.397L6.859,31.344c0,0-6.859-0.281-6.859-6.594c0-5.796,0-13.918,0-18.062&#10;&#9;C0-0.187,6.89,0,6.89,0h35.789c0,0,6.648,0.062,6.648,6.562S49.327,18.542,49.327,24.938z"/>
    <path d="M47.171,23.826&#10;&#9;c0,6.259-6.027,5.513-6.027,5.513L8.418,29.346c0,0-6.259,0.904-6.259-5.682c0-4.994,0-11.994,0-15.565&#10;&#9;c0-6.724,6.288-5.763,6.288-5.763h32.659c0,0,6.328-0.522,6.064,5.655C46.933,13.587,47.169,18.315,47.171,23.826z" fill="none" stroke="#000" stoke-width="0.25" stroke-linejoin="round" stroke-linecap="round"/>
    <text>
        <tspan x="25" y="14" fill="#fff" stroke="#fff" stroke-width="0.14" stroke-miterlimit="10" font-family="Arial" font-size="8px" text-anchor="middle" letter-spacing="0.035em">&#x645;&#x631;&#x62D;&#x628;&#x627;</tspan>
        <tspan x="25" y="23" fill="#fff" stroke="#fff" stroke-width="0.14" stroke-miterlimit="10" font-family="Arial" font-size="8px" text-anchor="middle" letter-spacing="0.035em">&#x642;&#x637;</tspan>
    </text>
</svg>

0 个答案:

没有答案