Почему Illustrator управляет именами групп/идентификаторов в сгенерированных файлах SVG?

64
10

Мне нужна поддержка файла svg для примера преобразования xml

enter image description here

ЭТО ИЗОБРАЖЕНИЕ - это файл SVG, созданный с именем группы с автоматическим A/C

СЕЙЧАС xml CODE

<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

спросил(а) 2021-01-25T20:29:19+03:00 4 месяца, 4 недели назад
1
Решение
89

Он преобразует имя, потому что не все символы разрешены в атрибутах id.

Этот список допустимых символов для атрибутов id можно найти в спецификации XML, но в основном он включает:

    ASCII-буквы и цифры :, _, -, и . некоторые другие символы Юникода

Что касается точного алгоритма, который использует Illustrator для фильтрации текстовых строк для создания идентификаторов - я не знаю. Вам придется экспериментировать. Однако похоже, что он преобразует пробелы в подчеркивание ('_'). И он избегает других несовместимых символов, преобразовывая их в шестнадцатеричный. 2F - это значение в шестнадцатеричном коде ASCII для символа косой черты ('/'). Таким образом, похоже, что это ускользает, окружая это с помощью _x и _.

Так, например, знак плюса ('+'), чье шестнадцатеричное значение равно 2B, вероятно, будет экранирован как _x2B_.

ответил(а) 2021-01-25T20:29:19+03:00 4 месяца, 4 недели назад
45

Как уже упоминалось, если вы сохраняете файл в формате SVG, имена объектов и слоев должны соответствовать соглашениям об именах XML. Как иллюстратор преобразует эти имена, которые вы можете увидеть сразу в панели слоев, для этого откройте Edit-> Настройки-> Единицы и установите "Идентифицировать объекты" в "XML-идентификатор".

ответил(а) 2021-01-25T20:29:19+03:00 4 месяца, 4 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема