为什么 Illustrator 会破坏生成的 SVG 文件中的 group/id 个名称?
Why does Illustrator mangle group/id names in generated SVG files?
我需要您支持将 svg 文件转换为 xml
示例
此图像是使用组名自动创建的 SVG 文件 A/C
现在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"> 对于特殊字符,例如“/”更改为 x2F,“”字符更改为“_”,为什么
谁能帮我解决这个问题。
也可以为我提供 xml 代码的所有特殊字符转换。
谢谢,
Yogesh.v
正在转换名称,因为并非所有字符都允许出现在 id
属性中。
id
属性can be found in the XML specification的有效字符列表,但基本上包括:
- ASCII 字母和数字
:
、_
、-
和 .
- 其他一些 unicode 字符
至于 Illustrator 使用什么算法来过滤文本字符串以制作 ID - 我不知道。你将不得不尝试。但是看起来它将空格转换为下划线('_')。并且它通过将其他不兼容的字符转换为十六进制来转义它们。 2F 是斜线字符('/')的 ASCII 码的十六进制值。所以看起来它通过用 _x
和 _
.
包围它来逃避
因此,例如,十六进制值为 2B 的加号 ('+') 可能会被转义为 _x2B_
。
如前所述,如果以 SVG 格式保存文件,对象和图层名称必须符合 XML 命名约定。 illustrator 如何转换这些名称,您可以在图层面板中立即看到,为此打开 Edit->Preferences->Units 并设置 'Identify Objects' 至 'XML ID'.
我需要您支持将 svg 文件转换为 xml 示例
此图像是使用组名自动创建的 SVG 文件 A/C
现在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"> 对于特殊字符,例如“/”更改为 x2F,“”字符更改为“_”,为什么 谁能帮我解决这个问题。
也可以为我提供 xml 代码的所有特殊字符转换。
谢谢, Yogesh.v
正在转换名称,因为并非所有字符都允许出现在 id
属性中。
id
属性can be found in the XML specification的有效字符列表,但基本上包括:
- ASCII 字母和数字
:
、_
、-
和.
- 其他一些 unicode 字符
至于 Illustrator 使用什么算法来过滤文本字符串以制作 ID - 我不知道。你将不得不尝试。但是看起来它将空格转换为下划线('_')。并且它通过将其他不兼容的字符转换为十六进制来转义它们。 2F 是斜线字符('/')的 ASCII 码的十六进制值。所以看起来它通过用 _x
和 _
.
因此,例如,十六进制值为 2B 的加号 ('+') 可能会被转义为 _x2B_
。
如前所述,如果以 SVG 格式保存文件,对象和图层名称必须符合 XML 命名约定。 illustrator 如何转换这些名称,您可以在图层面板中立即看到,为此打开 Edit->Preferences->Units 并设置 'Identify Objects' 至 'XML ID'.