Пропадает форматирование. Связь по DDE.

Автор ivan68, 5 октября 2022, 10:44

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

ivan68

OS windows 10. Libreoffice были разных версий. Создана таблица в calc, в ячейках значения вида м3/ч, кг/м3 и т.п. (шрифт Calibri и используются не верхние и нижние индексы, а через - вставить специальный символ). Копирую таблицу - вставляю в writer - связь по DDE - и вместо м3/ч, кг/м3 получаю м?/ч, кг/м?. В линуксе такого не было. Кто-нибудь знает в чем может быть дело?

kompilainenn

#1
Версия офиса?

Попробовал в 7.5 - вставляется без вопросов, но форматирование в виде верхнего индекса теряется
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

mikekaganski

#2
Цитата: kompilainenn от  5 октября 2022, 10:45но форматирование в виде верхнего индекса теряется

Цитата: ivan68 от  5 октября 2022, 10:44используются не верхние и нижние индексы, а через - вставить специальный символ

Но сам заголовок темы - "Пропадает форматирование" - располагает к такой интерпретации...

Сам пока попробовать не могу, но 100% связано с тем, что в большинстве случаев (но не всегда) на линуксах системная кодировка UTF-8 (т.е. набор символов - Unicode), тогда как на Windows - почти никогда (если только не используется экспериментальный режим UTF-8, при котором куча программ глючит).

Ну и естественно напрашивается исправление в виде отказа от использования системной кодировки при DDE в коде.
С уважением,
Михаил Каганский

economist

В отформатированных таблицах Writer (DDE с Calc) под Windows всегда cохранялось только некоторое, "базовое" форматирование, типа выравнивания и текст/число (м.б. зависит от параметров вида "распознавать числа в таблице" или следствие применения Writer-ом стилей "поверх" - не проверял). И это, на мой взгляд, правильное поведение, т.к. в DDE передавался или обновлялся только текст и числа, и это быстро работает.

На DDE-таблицах из Calc в бизнесе часто организовывают "приложения", спеки внутри  ODT-договоров. Они удобны тем что поддерживают сквозные строки заголовков/шапок, легко переносятся на следующие страницы, могут быть вставлены как Разделы с использованием Условного/Скрытого раздела/текста итд.

Если нужно форматирование 1:1 как в Calc - тут OLE (местами глючное и ограниченное одной страницей) или вставка картинки (скриншота или экспорта листа/диапазона как картинки).
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

mikekaganski

Пожалуйста, читайте текст вопроса, а не только заголовок. Заголовок неправильный, пропадает не форматирование, а данные (часть текста, определённые символы).
С уважением,
Михаил Каганский

economist

Думаю не для одного меня и ТС превращение 3 в ? - это "пропадание форматирования". Ну да ладно, это тонкости формулировки. Предложенные мною OLE и вставка картинки - решают задачу, верхний индекс там не пропадет.

Если разработчкам удастся перевести DDE-обмен на Unicode/utf-8 в LO для Windows - будет здорово, потому что это уберет "вопросики и квадратики" из кучи многоязычных документов, а их видов из-за известных событий сейчас в разы прибавилось.

Я больше писал в #3 про практическую ценность имеющегося механизма DDE и "связей с файлами", чтобы их, улучшая, не сломали. DDE - вещь массово востребованная и работает она как раз так, как ожидается - "коцает" форматы до ANSI/plain-text, но обновляется мгновенно и документ переверстывается без тормозов.

Замены DDE нет, разве что вставка Разделов из TXT-файлов со Связью (возможно это тоже DDE, т.к. поведение схоже).

Для "табличного" вида - приходится использовать моноширинный шрифты с гарнитурами вида Courier итп и иногда рисовать "рамки" из свмоволов | и - Костыльно, винтажно. Но главное - это тоже работает прекрасно, и тоже серийно применяется в бизнесе у десятков наблюдаемых контрагентов. Благодаря стилям - такие "инъекции" таблиц в ODT выглядят хоть и инородно, но приемлемо. И это здорово упрощают создание сложных много-частных документов.
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

mikekaganski

С уважением,
Михаил Каганский