为什么Illustrator会在生成的SVG文件中破坏组/ id名称?

时间:2017-07-18 07:09:47

标签: xml svg adobe-illustrator

我需要你对svg文件到xml转换的支持 示例

enter image description here

此图像是使用自动A / C

的组名创建的SVG文件

现在xml代码

<g id="With_auto_A_x2F_C">
        <text transform="matrix(0.9965 0 0 1 447.8486 12.79)" fill="#13110C" font-family="'Helvetica'" font-size="5.9999">With auto A/C</text>
    </g>
</g> 

为什么组名g id正在创建类似“With_auto_A_x2F_C”&gt;对于特殊字符,如“/”更改为x2F和“”字符更改为“_”为什么 任何人都可以帮我解决这个问题。

你也可以为我提供xml代码的所有特殊字符转换。

谢谢, Yogesh.v

2 个答案:

答案 0 :(得分:3)

它正在转换名称,因为id属性中不允许所有字符。

id属性can be found in the XML specification的有效字符列表,但基本上包括:

  • ASCII字母和数字
  • :_-.
  • 其他一些unicode字符

至于Illustrator用于过滤文本字符串以生成id的确切算法 - 我不知道。你必须要做实验。但是看起来它将空格转换为下划线('_')。它通过将其转换为十六进制来逃避其他不兼容的字符。 2F是斜杠字符('/')的ASCII码的十六进制值。所以看起来好像是通过_x_来围绕它。

例如,加号('+')的十六进制值为2B,可能会被转义为_x2B_

答案 1 :(得分:2)

如前所述,如果以SVG格式保存文件,则对象和图层名称必须符合XML命名约定。插图画家如何在图层面板中立即转换此名称,对于此打开的编辑 - &gt;偏好设置 - &gt;单位并将'识别对象'设置为 'XML ID'