Ошибка растеризации градиента вставленного SVG фaйла

Автор ape, 31 мая 2017, 10:36

0 Пользователи и 1 гость просматривают эту тему.

ape

Это старый баг.
Баг появился в ЛО-4.0 после внесения в ЛО М.Миксом куска кода из АОО. Его несколько раз патчили. Однако результата нет - вычленить внесённые изменения, которые "потащили" ещё ряд ошибок (с фейковым SVM, ...), не получилось по сегодняшний мастер-релиз. Баг мне пришлось открывать заново.
На рисунке - как это выглядит. 2-е вложение - проблемный для последних ЛО файл.

mikekaganski

А ссылки на коммит Микса и последующие попытки фикса можно? Лучше в баг. Или ссылку на предыдущий баг, где это описано...
С уважением,
Михаил Каганский

ape

#2
Мой ответ несколько затянулся - искал материалы по ТС.
-------
С 17 декабря 2013 года пишу в  Document Foundation Mail Archive › LibreOffice › QA; до этого - в Document Foundation Mail Archive › LibreOffice › Dev.
Поискал в "Dev" свои посты с 296-й страницы от 18 декабря 2013 года и НИЧЕГО не нашёл, хотя в этом ресурсе сохранены даже посты на русском языке других авторов.
Мне кажется, что была проведена работа по удалению запрещённой темы - о внесении Миксом патча из АОО, перевернувшим всё с ног на голову.
Но всё-таки повезло нашёл первое обсуждение ошибки в Багзилле. В необходимости его отмены меня тогда поддержал форумчанин frob (Valek Filippov). Однако Микс очень хотел, чтобы помирающий Апач мог работать с файлами ЛибО, содержащими вставленные как изображения SVG-файлы. Его точка зрения (нежелание откатить это действие к ЛибО-3.6) победила. Поэтому уже 4 года мы имеем проблемы с растеризацией SVG и фейковым SVM, который на поверку оказывается обычным PNG.

kompilainenn

Цитата: ape от 31 мая 2017, 12:09Мне кажется, что была проведена работа по удалению запрещённой темы - о внесении Миксом патча из АОО, перевернувшим всё с ног на голову.
это очень интересная и плодотворная тема для обсуждения
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

ape

Многие считают формат устаревшим, специфичным StarOffice. Так ли это?
На самом деле SVM - это SVG+PNG в одном файле. К чему в LibreOffice-4 привела замена одного SVM на PNG и SVM писал выше.
Если есть интерес - посмотрите прилагаемый файл, созданный LibreOffice-3.6, в котором расширение *.svm заменено на *.txt.

ape

Пример, иллюстрирующий растеризацию SVM файла LibreOffice-3.6 и Мастер-релизом(5.4).

frob

Цитата: ape от  1 июня 2017, 08:17
На самом деле SVM - это SVG+PNG в одном файле.
Это кто Вам такое сказал?

frob

Цитата: ape от 31 мая 2017, 14:09
Однако Микс очень хотел, чтобы помирающий Апач мог работать с файлами ЛибО, содержащими вставленные как изображения SVG-файлы.
Цитата: ape от 31 мая 2017, 14:09
В необходимости его отмены меня тогда поддержал форумчанин frob (Valek Filippov).

Даже не знаю с какого места за эту статистику взяться...

Майкл перенёс в ЛО Арминовские патчи относящиеся к SVG. Как водится эти патчи что-то чинили и что-то ещё ломали.
Желающие могут поизучать оказалось ли починено больше чем сломано.
Растрирование в PNG -- отдельная песня и суть проблемы в том, что улучшения в LO 4.x были устроены таким образом, что вставка в рабочий процесс LO 3.6 (или более ранних) приводила к потере SVG, а значит к потере информации из файла (оставался только PNG).
Само по себе изменение в LO 4.x связанное с растрированием не является недостатком. Но оно создаёт специфическую проблему с обратной совместимостью с более старыми версиями LO.
Я не вижу тут никакой связи с возможностью для АОО работать с файлами LO.
Откуда ape известно чего очень хотел Микс я могу только предполагать.

О моей поддержке отмены патчей. Что-то я не помню, чтобы я что-то такое предлагал и/или поддерживал...
Моя позиция по вопросу поддержки дополнительных форматов проста как апельсин.
Я считаю, что вместо фиксов по результатам случайным образом появляющихся багов, надо провести проактивную проверку с использованием имеющихся тестовых наборов файлов (W3C SVG), а в случае отсутствия таких наборов -- методично создавать их пользуясь доступной документацией (WMF/EMF(+), RTF).
Конкретно для SVG можно было бы устроить баг-хантинг "хоть сейчас", тем более что тестовый набор имеется и для выполнения тестирования не нужны специальные знания и/или навыки. Нужны только внимательность, усидчивость и время, чтобы пооткрывать файлы, сравнить то что получается с тем что должно быть и выписать номера тестов, на которых что-то не работает как должно.

ape

#8
Цитата: frob от  1 июня 2017, 15:56
Конкретно для SVG можно было бы устроить баг-хантинг "хоть сейчас", тем более что тестовый набор имеется и для выполнения тестирования не нужны специальные знания и/или навыки. Нужны только внимательность, усидчивость и время, чтобы пооткрывать файлы, сравнить то что получается с тем что должно быть и выписать номера тестов, на которых что-то не работает как должно.
Валек!
1. Извините, если что-то не так понял\помню.
2. Сейчас конкретно остался один тестовый файл с плывущим градиентом, выложенный в этой теме. С остальными тестами, включая LibreOffice_Initial_Icons-pre_final.svg, всё в порядке.

frob

Цитата: ape от  2 июня 2017, 02:25. Сейчас конкретно остался один тестовый файл с плывущим градиентом, выложенный в этой теме. С остальными тестами, включая LibreOffice_Initial_Icons-pre_final.svg, всё в порядке.

ВОТ! ВОТ!! ИМЕННО ПРОТИВ ЭТОГО Я И ВЫСТУПАЮ!!! =)

Идём вот сюда: https://www.w3.org/Graphics/SVG/Test/20061213/
Берём архив с тестами.
Открываем один за другим в LO (раньше в зависимости от того открывался ли файл на прямую или вставлялся картинкой использовались разные куски кода, как сейчас -- не знаю, возможно надо проверять оба варианта).
Сравниваем с тем что должно быть (насколько я помню в тестах лежат картинки как оно должно выглядеть и описания критических элементов, которые должны соответствовать).
На выходе делаем что-то вроде вот такого https://www.w3.org/Graphics/SVG/Test/20110816/status/implementation_matrix.html, но применительно к LО.
Всякое разное относящееся к поддержке JavaScript и прочей анимации в LO видимо работать не будет, так что такие группы тестов можно смело пропускать, а сосредоточиться на всяких текст/контуры/заливка/обводка/стили и так далее.

С результатом идти в IRC или в рассылку и спрашивать как засабмитить в багзилу -- "целым писиком или послайсить" (с)
Как по мне, так имело бы смысл держать какой-то метабаг собирающий в кучку баги относящиеся к SVG. Заводить отдельный баг на каждый подтест было бы уже слишком, а вот по багу на какие-то связанные вещи -- вполне.
Если желающих поучаствовать больше одного, то достаточно договориться кто какие тесты прогонит и свести результаты.


mikekaganski

Послайсить однозначно. Плюс метабаг, это сейчас активно используется, для группировки отдельных багов. Вероятно, даже такой метабаг уже присутствует. В каждом отдельном баге указывать, что он относится к тестам W3C SVG compliance.

Насчёт подтестов - это Вам виднее.
С уважением,
Михаил Каганский

ape

Цитата: frob от  2 июня 2017, 05:20
1. Открываем один за другим в LO (раньше в зависимости от того открывался ли файл на прямую или вставлялся картинкой использовались разные куски кода, как сейчас -- не знаю, возможно надо проверять оба варианта).
2. Сравниваем с тем что должно быть (насколько я помню в тестах лежат картинки как оно должно выглядеть и описания критических элементов, которые должны соответствовать).
На выходе делаем что-то вроде вот такого https://www.w3.org/Graphics/SVG/Test/20110816/status/implementation_matrix.html, но применительно к LО.
Всякое разное относящееся к поддержке JavaScript и прочей анимации в LO видимо работать не будет, так что такие группы тестов можно смело пропускать, а сосредоточиться на всяких текст/контуры/заливка/обводка/стили и так далее.
1. Напрямую пытается открыть Draw, но делает это коряво, на уровне расширения для ООо-2.4, внесённого в код ООо-3 (см. Draw-5.4 has opened 3 SVG files.png).
Поэтому используется вставка изображения, которая, как Вы заметили, использует другой кусок кода (см. DevLO-5.4 has inserted 3 SVG files.png).
2. Попробую, но результат будет очень не скоро. Других заинтересованных лиц, по-моему, нет.

ape

Последние "5 копеек" в базу знаний.
Если в настройках формата сохранения выбрать формат ODF "1.2", не "расширенный" или "рекомендованный", то вставляемые SVG преобразуются в фейковые SVM, что для меня стало неприятной новостью.

frob


ape

Цитата: frob от  2 июня 2017, 16:41
Что имеется в виду под "фейковыми" SVM?
Bug 72966, но в описании ошибки говорится только о файлах сохранённых в ODF ver.1.0/1.1.
Пример фейкового SVM - в прилагаемом zip-архиве. На поверку - это точно такой же PNG, как и тот, который находится в папке "..\Pictures\.." ODF-файла.