приспособить drawcyr для Writer

Автор ape, 4 января 2013, 08:53

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

ape

Yakov! Есть ли возможность приспособить расширение DrawCyr для работы с OLE, выделенными для редактирования, в FODT-файле?
Поясняю вопрос.
1. ОС - Windows. Установлены: LibreOffice_3.6.4 и Microsoft Office с Редактором формул.
2. Работаем в LibO.
3. Открываем DOCX-файл, содержащий формулы старого, МСО-2003\ХР, формата.
4. Сохраняем файл как Flat_XML.
5. Щёлкаем формулу - запускается Редактор формул МСО, который добросовестно вставляет формулу вместо бинарника в выделенный OLE-объект.
В итоге получаем формулу в "кракозябрах". Хотелось бы, чтобы щелчком на значке расширения эти "кракозябры" стали UTF-8.
--
P.S. Прилагаю файл для проверки - FlatXML, уже полученный из OOXML


[вложение удалено Администратором]

ape

Дополнительно посмотрите, какой вид имеет файл, обработанный Редактором формул МСО:
Открыв его видите "кракозябры". Если открыть эти OLE в Линукс или WinOS+MSO(без Редактора формул), то Math_LibO_3.6.4 восстановит правильный первоначальный вид формул.

[вложение удалено Администратором]

frob

Цитата: ape от  4 января 2013, 09:35
Дополнительно посмотрите, какой вид имеет файл, обработанный Редактором формул МСО:
Открыв его видите "кракозябры". Если открыть эти OLE в Линукс или WinOS+MSO(без Редактора формул), то Math_LibO_3.6.4 восстановит правильный первоначальный вид формул.

Вижу внутри base64-encoded OLE-объект в формате MTEF (MathType Equation).
MTEF для символов использует двухбайтную кодировку.
В выдёрнутом наугад куске обнаружилась строчка "Кинд".

ape

#3
Цитата: frob от  5 января 2013, 00:44
Вижу внутри base64-encoded OLE-объект в формате MTEF (MathType Equation).
MTEF для символов использует двухбайтную кодировку.
В выдёрнутом наугад куске обнаружилась строчка "Кинд".
Спасибо, так оно и есть. При OOXML>ODF или ODF>OOXML объекты в теле файла не преобразуются, сохраняя исходный формат. Отсюда растут и проблема с автозапуском и "Обходные манёвры" - есть только объект, тип файла отсутствует. Получается, что для решения проблемы автозапуска - Открыто слишком много окон - надо Math_LibO понижать в ранге с "Приложение" до "Компонент Writer". Но такой компонент уже есть. Правда, обрабатывать (экспортировать) MTEF, в отличие от Math_LibO, он не умеет.

frob

Цитата: ape от  5 января 2013, 05:09При OOXML>ODF или ODF>OOXML объекты в теле файла не преобразуются, сохраняя исходный формат.

В свою очередь в файле прицепленном к первому сообщению встроены VCL-и (StarView Metafile или как там его).
И за такое конечно стоило бы как-то неприятно наказывать.

ape

#5
Цитата: frob от  5 января 2013, 07:231. В свою очередь в файле прицепленном к первому сообщению встроены VCL-и (StarView Metafile или как там его).
2. И за такое конечно стоило бы как-то неприятно наказывать.
1. Это результат конвертации формулы формата OOXML, содержавшейся в первоисточнике - DOCX-файле.
2. Меня или автора DOCX, поленившегося привести все формулы к OOXML-стандарту? Оба типа формул в DOCX оставил намеренно - есть ещё АОО, который изредка смотрю, т.к. с этим вопросом у Индейца совсем как-то грустно.
--
P.S. Может быть, из-за этой грусти Регина Хеншель стала чаще "светиться" в баг-треккере, а не в ISSUE.

frob

Цитата: ape от  5 января 2013, 07:47Меня или автора DOCX

Того кто догадался использовать SVM вместо SVG. Я так понимаю это делает ОО/LO, т.ч. им и рвать ноздри.

Yakov

Цитата: ape от  4 января 2013, 07:53Есть ли возможность приспособить расширение DrawCyr для работы с OLE, выделенными для редактирования,
DrawCyr работает с объектами LO/OOo. Для того, чтоб его использовать для конвертации текста в объектах, объекты должны быть объектами LO/OOo, а не OLE.

ape

#8
За обсуждением темы наткнулся на нерешённую проблему UI Редактора формул Writer:
Формула выводится на диплей и печать одной строкой даже в том случае, когда её ширина превышает ширину области, отводимой ей на показ\печать разметкой ODF документа. "Конкурент" - МСО-2007\2010 - это умеет и делает. Часть формулы, перенесённая во 2-ю и последующие строки, автоматически выравнивается только "по середине" области расположения\печати формулы. Высота объекта, естественно, удваивается (утраивается и т.д.)

[вложение удалено Администратором]