LINUX.ORG.RU
ФорумTalks

Укуренный SVG

 how to not design like a faggot,


1

1

Ковыряю сий чудесный формат и диву даюсь. Какой укурок это придумал?

Мало того, что xml, но с этим ладно. Пытаюсь разобрать path для одной своей поделки.

Первое, что бросается в глаза — разделителя координат может не быть, если они негативные.

Т.е. «100,200,300,400» — если они позитивные, и «100-200-300,400» — если некоторые из них негативные. Это конечно «очень упрощает» парзание этой ахинеи!

Далее, параметры bezier зависят от предыдущей комманды. Statefull format, WTF!!?

По хорошему там должно было быть 4 координаты. Имеем же сначала «move»: «Mx1,y1» и сразу за ней вторая комманда с тремя оставшимися параметрами «cx2,y2,x3,y3,x4,y4»

При этом circle и ellispe описаны отдельными атрибутами. У path же только один с выше указанной ахинеей.

Повырывать бы им всем все конечности и гениталии, что бы не размножались! Как оно вообще попало в upstream?

Выдохнул.

★★★★★

Последнее исправление: beastie (всего исправлений: 3)
Ответ на: комментарий от ncrmnt

отправили pdf'ку с документацией по формату.

Это да, но к сожалению в тех доках только половина команд. Вторую половину пришлось наснифать и выковырять из фирмваре.

beastie ★★★★★
() автор топика
Ответ на: комментарий от ncrmnt

Да, эту ссыклу я нашёл первой. ;)

Тем не менне, там ещё целая серия недокументированных Fx команд (от FA и до FY) и ещё набор команд TBx (тоже не документированных).

Вот, что пока накопал: http://www.dim13.org/cgi-bin/cgit.cgi/robo.git/tree/cutter.go (правда код этот ещё совсем не причёсанный, т.ч. даже показывать ещё стыдно.) ;)

beastie ★★★★★
() автор топика

Велосипедисты должны страдать от анальных болей, другие смотрят библиотеки для работы с svg.

vtVitus ★★★★★
()
Ответ на: комментарий от beastie

Для svg большое кол-во библиотек, если они не удовлетворяют нуждам, то может нужды скорректировать? Работать напрямую с svg можно только в простых (примитивных) случаях.

vtVitus ★★★★★
()
14 февраля 2017 г.
Ответ на: комментарий от ilammy

сэкономить байтики

XML

You're doing it wrong.

Не надо смеяться над чужим горем. Я ещё в начале работы над DoubleContact ковырялся в формате UDX (адресная книга Philips Xenium). Да, это XML. При этом в одном из тегов зашит... размер самого файла! В XML, Карл! Чтобы зашивание размера файла не меняло сам этот размер, инженеры Филипса отводят под него 10 символов, пишут в первые символы десятичное представление размера, а оставшиеся знакоместа заполняют пробелами. Впрочем, подозреваю, что это было сделано не для экономии байтиков, а для упрощения парсинга XMLя прошивкой телефона.

После этого меня уже совсем не удивило, что в тег <N> они запихивают «сырое» содержимое одноимённого тега из vCard, сохраняя разделение частей имени точками с запятой. Хотя есть элегантный xCard (RFC 6351), в котором как раз описана проекция vCard на XML, и разумеется, у <N> там структурированное представление.

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.