четверг, 21 апреля 2022 г.

Ускорение экспорта документов в формат PDF

Luboš Luňák отчитался в своем блоге о проделанной работе по ускорению экспорта файлов из LibreOffice в формат PDF. По его словам ускорение некоторых внутренних операция во время экспорта после его патчей достигает до 62 раз! Это весьма круто. Проверял он на каком-то огромном 400 страничном документе. Ну и кстати, это говорит о том, что исходный код LibreOffice весьма неоптимален в некоторых местах, а также о том, что Luboš крутой перец =)

вторник, 19 апреля 2022 г.

Использование нового линковщика mold вместо стандартного при сборке LibreOffice

Один знаменитый в узких кругах программист взял и написал новый линковщик mold, который (по слухам) здорово ускоряет сборку нашего не маленького проекта LibreOffice.

Илмари пишет, что при использовании mold сборка LibreOffice у него стала занимать 30 минут вместо 50 минут со стадартным lld. Почти в ДВА раза! Учитывая, что у меня старое железо, и сборка вообще занимает два часа, применение mold явно имеет смысл.

Чтобы использовать mold при сборке LibreOffice (о том, как собирать свою сборку я писал ранее вот в этой статье), вам нужен установленный в вашей ОС mold и на шестом шаге "даём команду ./autogen.sh" нужно добавить к команде опцию --enable-ld=mold, либо добавить эту опцию в ваш файл autogen.input.

Вот результат тестов от самого автора mold :

Link speed comparison 

Добавлю после натурного эксперимента: 

mold в Ubuntu 20.04 собирается после прочтения инструкции по ссылке выше. Всё оказалось просто:

Команда sudo apt-get install -y build-essential git clang cmake libstdc++-10-dev libssl-dev libxxhash-dev zlib1g-dev pkg-config установит необходимые зависимости.

Далее команды:

git clone https://github.com/rui314/mold.git
cd mold
git checkout v1.2.0
make -j$(nproc) CXX=clang++
sudo make install

скачают репозиторий mold к вам локально, соберут бинарник версии 1.2.0 и поместят его в системный каталог.

Так как штатный компилятор GCC в Ubuntu 20.04 имеет версию 9.4, а поддержка mold появится только в GCC 12, то собирать LibreOffice, используя mold можно только юзая Clang (это тоже компилятор). Для этого в файл autogen.input в каталоге с исходниками LibreOffice надо добавить следующие строки:

CC=clang
CXX=clang++
--enable-ld=mold

Именно так, две первые строки без двух дефисов, а последняя с ними.

Далее даем команды

make clean

make

И процесс побежит.

понедельник, 11 апреля 2022 г.

Маленькое улучшение при вставке гиперссылки в ячейку талицы Calc

Andreas Heinisch реализовал маленькое улучшение при вставке гиперссылки в ячейку талицы Calc. 

Заключается оно в следующем: если ячейка уже содержит какой-то текст и вы хотите просто к этому тексту добавить гиперссылку (то есть этот текст останется неизменным, но по щелчку по нему откроется заданная гиперссылка), то просто выделите ячейку, щёлкнув по ней один раз мышкой, и используйте соответствующий диалог Гиперссылка (Ctrl+K жмите). В диалоге поле "Текст" сразу будет содержать ваш текст из ячейки, останется только адрес гиперссылки заполнить.

Ранее нужно было для этого дважды щёлкать по ячейке, чтобы перейти в режим редактирования, выделить нужный текст, а только потом открывать диалог Гиперссылка.

Удобство в мелочах!

четверг, 31 марта 2022 г.

Выпуск LibreOffice 7.3.2


The Document Foundation объявил о релизе второго корректирующего обновления LibreOffice 7.3.

Список исправлений относительно предыдущего релиза LibreOffice 7.3.1 ниже:

https://wiki.documentfoundation.org/Releases/7.3.2/RC1

https://wiki.documentfoundation.org/Releases/7.3.2/RC2

Всем, кто использует версию LibreOffice 7.3 крайне рекомендую обновиться.

вторник, 29 марта 2022 г.

Исправили ошибку, когда при сохранении презентации в формат PPTX из файла пропадало видео

Просто для истории: был вот такой баг репорт. И сегодня, наконец, Tünde Tóth из венгерской компании NISZ, исправил эту проблему в LibreOffice. Исправление пока доступно только в будущем LibreOffice 7.4, я не уверен, будет ли бэкпорт в LibreOffice 7.3.

среда, 23 марта 2022 г.

Кто же разрабатывает LibreOffice

Я периодически слышу вопросы, типа "Кто же разрабатывает LibreOffice? Студенты? Компании? А какие?". Ну так вот, ответ на вопрос представлен на диаграмме ниже, это данные за 2021 год:

Данные в процентах, так нагляднее. Общее количество коммитов в проект за 2021 год составляет 14400. 

Итак, компании Collabora и Red Hat вносят каждая по четверти от общего количества коммитов. Причём это патчи, которые добавляют серьезный новый функционал, улучшают производительность, совместимость с MS Office, и прочие достаточно сложные вещи.

Volunteers - это разработчики, которые не связаны с каким-то компаниями. В этой категории и студенты из программы GSoC и индусы, которым нужно в резюме хоть что-то показать, и реально хорошие кодеры, которые что-то там исправили пару раз.

TDF - это коммиты от сотрудников самого фонда The Document Foundation. В основном там патчи с юнит тестами от Xisco Fauli (он QA инженер) и патчи в справку и документацию от Olivier Hallot (он лидер команды документации).

Others - это все остальные компании, вклад которых варьируется от 0,1% до 4 %. Список таких компаний приведён в правой части диаграммы. Не смотря на вроде бы незначительный вклад в процентном отношении, большинство этих коммитов важные и нужные.

понедельник, 21 марта 2022 г.

В LibreOffice Calc добавляют поддержку функции XLOOKUP

Это прямо праздник какой-то. Winfried Donkers написал патч, который, после доработки, добавит в LibreOffice Calc поддержку функции XLOOKUP (в русском Excel это называется ПРОСМОТРХ, надеюсь в LO Calc это переведут более вменяемо). Эта функция может заменить собой несколько аналогичных функций, таких, как LOOKUP (ПРОСМОТР), ВПР (VLOOKUP), ГПР (HLOOKUP), связку MATCH (ПОИСКПОЗ) + INDEX (ИНДЕКС), поскольку имеет больше параметров и больше возможностей.

В MS Excel эта функция появилась в конце 2019 года и была доступна только в облачной версии Office 365, а в десктопную редакцию попала только с выходом MS Office 2021. Про эту функцию есть очень хороший ролик на ютубе.

суббота, 19 марта 2022 г.

GSoC 2022 и LibreOffice

GSoC (Google Summer of Code) - это такое мероприятие от компании Google, когда они платят студентам со всего мира за код, написанный для opensource проектов, во время летних каникул. Платят от 3000 до 6000 долларов США, в зависимости от страны проживания студента (дикриминация, как она есть!).

Проект LibreOffice уже который год участвует в этом, прошлые годы были достаточно успешные, обычно все студенты свои проекты завершают.

В этом году GSoC будет отличаться от предыдущих лет. В этом году:

1. К программе допускаются не только студенты, а вообще кто угодно. Правда, если ты не студент, то ты должен доказать, что ранее к opensource отношения не имел (как они это проверят интересно?).

2. Будет разделение на корокий и длинный кодинг. Сумма вознаграждения от этого не поменяется, я так понял, но за более длинный промежуток времени можно выполнить более сложную задачу или задача может быть выполнена кем-то медленным.

LibreOffice в этом году уже получил одобрение от Google, как организация, которая может привлекать студентов к программе, однако я не видел количество проектов, которое можно заявить, возможно это станет извествно позднее.

Ну и в связи с текущей ситуацией, я не уверен, что российские граждане смогут поучаствовать в мероприятии.

Однако, на всякий случай, вот ссылка - summerofcode.withgoogle.com можно там пошукать, если кому интересно, найти контакты организаторов и задать им вопрос, можно или не можно. Также останется вопрос с оплатой, если таки российским гражданам участвовать можно.

Попробуйте, мало ли, 3000 долларов - это тоже деньги.

Напоминаю, что LibreOffice написан на языке программирования С++. Чтобы заявиться, как участник программы GSoC для LibreOffice, вам надо посмотреть список задач по ссылке , выбрать задачу себе по душе, написать пару легких патчей (по ссылке список), связаться с соответствующим ментором и подать заявку на сам GSoC (по ссылке выше, там есть инструкции).

Удачи =)

вторник, 15 марта 2022 г.

В LibreOffice 7.4 включили поддержку тёмной темы в Windows окружении

Caolán McNamara запилил патч, который добавляет в LibreOffice поддержку тёмной системной темы. Выглядит это как-то вот так:

На мой взгляд, оттенки чёрного в окне LibreOffice не совпадают с системными (сравните цвет панели задач Windows и цвет внутри окна LibreOffice).
Но даже такой вариант лучше, чем никакого. Интересно будет посмотреть на боковую панель, с ней вечно проблемы были, так как она отдельная сущность в UI.