Tender to optimize text layout performance for print and PDF export (#202112-01)

The Document Foundation (TDF) is the charitable entity behind the world’s leading free/libre open source (FLOSS) office suite LibreOffice.

We are looking for an individual or company to optimize text layout performance for print and PDF export.

The text layout performance as currently implemented in LibreOffice has lots of issues. All over the codebase text shaping is done over and over again, although it consumes quite some compute cycles. Text shaping is done each time for measuring the text, measuring parts of text, finding line breaks, drawing text on screen. Especially for more involved scripts than Latin, this is problematic. The above issues are especially problematic for printing or PDF export. The time to export a PDF or print a Latin text has doubled since the Harfbuzz implementation.

It’s up to the bidder how to solve the problem. Some possible solutions could be:

  • retaining shaping results much longer
  • improving the wasteful OutputDevice API
  • implement caching

The scope of this tender is to fix at least the following issues:

Further reference can be found at:

All technology standards of relevance, as well as their targeted versions for this tender should be declared or defined in the offer’s description of implementation.

A key item of the deliverables for this tender, and therefore also a decision criteria – besides qualification, references, price, and completness of fullfilment – is extensive documentation about the approach chosen to implement the above items, covering more than just the pure implementation. We expect bidders to provide documentation on both the code and the non-code parts of this tender, e.g. methodology, structure and technical aspects.

The Document Foundation will publish this under a free and open source license and make it available to the general public.

Required skills

  • Extensive knowledge of C++
  • Experience working on the LibreOffice source code

Other skills

  • English (conversationally fluent in order to coordinate and plan with members of TDF)

We use free, libre and open source (FLOSS) software for development wherever possible, and the resulting work must be licensed under the Mozilla Public License v2.0.

TDF welcomes applications from all suitably qualified persons regardless of their race, sex, disability, religion/belief, sexual orientation or age.

Bidders will get a preference for including a partner or independent developer who has not been involved in a successful tender before. For such developers, who have not yet been part of a successful tender bid, we aim on a best-effort basis, but without any guarantees whatsoever, to provide some mentoring in understanding the code base and the process in contributing to the code. We expect that time and efforts on the bidder’s side should not be part of the paid work for this tender. Please mention such need of LibreOffice development mentoring in your offer.

As always, TDF will give some preference to individuals who have previously shown a commitment to TDF, including but not limited to certified developers and/or members of TDF. Not being a member, or never having contributed before, does not exclude any applicants from consideration.

The task offered is a project-based one-off, with no immediate plans to a mid- or long-term contractual relationship. It is offered on a freelance, project basis. Individuals and companies applying can be located anywhere in the world.

When budgeting, we anticipated that this project (all items combined) to take in the region of 30 days of work. Should bidders’ assessment result in a significantly different number, please reach out to us before sending your bid, so we can clarify upfront.

TDF is looking forward to receiving your applications, your financial expectations offer in form of a fixed time fixed budget approach and the duration period for the implementation in calender weeks after the final reward of the tender, via e-mail to a committee at tender20211201@documentfoundation.org no later than January 21, 2022.

Applicants who have not received feedback by February 18, 2022 should consider that their application, after careful review, was not accepted.

All bidders are invited to ask their questions on this tender until January 14, 2022. Questions and answers will be made public in a collected and anonymized form.

Open Letter to Members of EU Parliament

Today, the Coalition for Competitive Digital Markets (https://competitivedigitalmarkets.eu/), a group of more than 50 technology companies from 16 different European countries, sent an open letter to members of the European Parliament to raise awareness about interoperability and to impose stricter rules on big companies – the so-called ‘big tech’ companies – that act as gatekeepers and prevent transparency and openness in digital markets.

Open Letter 6 December

LibreOffice Technology DevRoom Call for Papers

FOSDEM 2022 will be a virtual event, taking place online on Saturday, February 5, and Sunday, February 6. The LibreOffice DevRoom is scheduled for Sunday, February 6, from 9AM to 7PM (times to be confirmed). If we will get more interesting talk proposals than the maximum number we can fit in one day, we will have the opportunity to extend the DevRoom to Saturday, February 5, in the afternoon.

NEW RULES FOR 2022

  • The reference time will be Brussels local time (CET).
  • Talks will be pre-recorded in advance, and streamed during the event
  • Q/A session will be live
  • A facility will be provided for people watching to chat between themselves
  • A facility will be provided for people watching to submit questions

IMPORTANT DATES TO REMEMBER

  • December 26: Submission deadline
  • December 28: Announcement of selected talks
  • December 31: Publication of DevRoom final schedule
  • January 16: Availability of pre-recordings for review
  • January 23: Deadline for upload of presentations

CALL FOR PAPERS

We are inviting proposals for talks about LibreOffice Technology, including ODF standard document format, on topics such as code, localization, QA, UX, documentation, tools, extensions, migrations and general advocacy. Please keep in mind that product pitches are not allowed at FOSDEM.

The length of talks is limited to a maximum of 25 minutes, as we would like to have some minutes for questions after each presentation, and to fit as many presenters as possible in the schedule. Exceptions must be explicitly requested and justified. You may be assigned LESS time than you have requested.

IMPORTANT INFORMATIONS

  • Presentations have to be pre-recorded and tested for streaming before the event.
  • Once your talk is pre-recorded, and approved by a reviewer in term of quality for streaming, it will have to be uploaded by January 23, to be prepared and ready for broadcast (the deadline cannot be moved further).
  • During the stream of talks, speakers must be available online for the Q/A session.

TALK SUBMISSIONS

All talk submissions have to be made in the Pentabarf event planning tool: https://penta.fosdem.org/submission/FOSDEM22.

While filing the proposal, please provide the title of your talk, a short abstract (one or two paragraphs), some information about yourself (name, bio and photo, but please do remember that your profile might be already stored in Pentabarf). To submit your talk, click on “Create Event” and select the “LibreOffice Technology” DevRoom as the “Track”. Otherwise, your talk will not be even considered for any devroom at all.

If you already have a Pentabarf account from a previous year, even if your talk was not accepted, please reuse it. Create an account if, and only if, you don’t have one from a previous year. If you have any issues with Pentabarf, please get in touch with the DevRoom manager.

DEVROOM MANAGER

Italo Vignoli: italo@libreoffice.org

Nine more videos from the LibreOffice Conference 2021

Here are some more videos from the LibreOffice Conference 2021! Check out the playlist, using the button in the top-right – or scroll down for links to individual videos:

Please confirm that you want to play a YouTube video. By accepting, you will be accessing content from YouTube, a service provided by an external third party.

YouTube privacy policy

If you accept this notice, your choice will be saved and the page will refresh.

Individual links

Note: many of these are also available on PeerTube, and more will be added…

There are just a few videos remaining – we’ll post them very soon!

LibreOffice extension to remove blank cells – Help to improve it!

Rafael Lima from the Brazilian LibreOffice community is working on an extension to remove blank cells in LibreOffice Calc. It has four modes (single column, single row, blank rows and blank columns). Here’s a quick animation of it in action:

So far, the main functionality is there, but Rafael would like to improve it. We asked him for some more info…

What does the extension do?

The main purpose of this extension is to remove blank cells to easily compact data. For instance, suppose you have a table with data and then you delete the contents of some rows. The next thing you might want to do is remove these blank rows to compact your table. By using the Remove Blank Cells extension this can be done with a single click.

Currently the extension supports four modes to remove blank cells. The simplest one is when you select a single row or column, then the extension will detect the selection and compact the data removing all blank cells. However, if a matrix is selected, then a message will be displayed and you can choose if blank rows or blank columns are to be removed.

When did you start making it?

I started writing the extension in February this year and finished the first version in less than one month. Then I kept testing it and working on improvements and the final version was finished in July.

At first the extension focused on my use case, because in my work with data analysis I often have to remove blank rows and columns. However, after seeing many people asking about how to remove blank cells in LibreOffice, I decided to pack it and make it available for everyone since it might be useful for other people.

What are the current limitations of it?

The main limitation of the extension is when the user wants to process very large tables (with tens of thousands of rows), which might take some time to finish. In these cases a progress bar is shown so the user can keep track of the data processing.

Moreover, the extension still does not support translations, so the user interface is only available in English. I plan to support translations in the next release.

How can people help to improve it?

Because this is the first released version of the extension, I would appreciate having more people testing it and reporting issues on the extension’s GitHub page.

I would also like to invite the community to create a better icon for the extension, so that it would be more in line with the default icon theme in LibreOffice.

In the future I will also need some assistance with translating the extension’s strings.

So, everyone is welcome to try out the extension – and if you have some technical knowledge, jump in and help Rafael and the community to improve it! Check out the wiki for more information on extension development.

Ten more videos from the LibreOffice Conference 2021

Here are some more videos from the LibreOffice Conference 2021! Check out the playlist, using the button in the top-right – or scroll down for links to individual videos:

Please confirm that you want to play a YouTube video. By accepting, you will be accessing content from YouTube, a service provided by an external third party.

YouTube privacy policy

If you accept this notice, your choice will be saved and the page will refresh.

Individual links

Note: many of these are also available on PeerTube, and more will be added…

Stay tuned for more videos from rooms 2 and 3 of the conference!