Welcome to The Document Foundation Planet

This is a feed aggregator that collects what LibreOffice and Document Foundation contributors are writing in their respective blogs.

To have your blog added to this aggregator, please mail the website@global.libreoffice.org mailinglist or file a ticket in Redmine.


Friday
12 September, 2025


face

Troubleshooting opening, formatting, and data loss issues with Open Document Format files

ODF files are great for sharing documents across multiple platforms, but they don’t always work perfectly, especially when using Microsoft Office or other software based on proprietary formats. If you’ve encountered problems opening, editing, or preserving the formatting of .odt, .ods, or .odp files, you’re not alone.

Here’s an overview of the most common compatibility issues with ODF files, along with their solutions.

1. The ODF file does not open in Microsoft Office

Opening an .odt file with Word or an .ods file with Excel is unsuccessful, and the file opens with formatting errors. Microsoft Office supports ODF, but not always correctly, and although support has improved in recent versions, files continue to have difficulties with some features.

There are two solutions: updating Microsoft Office, as compatibility improves with each new version; and converting with LibreOffice, which natively handles ODF files and, in compatibility mode, .docx and .xlsx files much better than Microsoft Office does with .odt and .ods files.

2. Formatting changes during transfer between suites

A file may appear perfect in LibreOffice, but when opened in Microsoft Office, the layout, fonts or spacing may change. This happens because the two software programmes interpret elements such as text boxes, tables and styles differently. Line spacing and bullet points may also change.

The solution is to use simple formatting in all cases where the file is shared between multiple office suites, avoiding complex layouts, unusual fonts and embedded elements. If formatting is more important than editability, you can use PDF format for the final version.

3. Images and graphics disappear or become corrupted

Images or graphics embedded in the document disappear, become distorted or can no longer be edited when opened with other software. This is because their formats are specific to the software that created the file – and therefore proprietary – and not standard, as is often the case with Microsoft Office.

The solution is to use standard formats, such as PNG or JPG for bitmap images, and SVG for vector images. In some cases, it is advisable to convert images before embedding them in the document and, if possible, simplify them (without altering them).

4. Macros and scripts do not work

Macros written in one suite do not work (or cause errors) in another. This is a known problem, linked to the fact that the scripting languages – Microsoft Office VBA and LibreOffice Basic – are proprietary and therefore incompatible with each other.

The solution is to avoid macros when sharing files, and if it is really impossible to do without them, you need to rewrite the scripts for each platform, using the respective languages. Unfortunately, there are no shortcuts or interoperable solutions.

5. Some data is lost when saving in proprietary format

In some cases, quite sporadic, saving an ODF file in proprietary format causes data loss. Unfortunately, this is a problem due to the artificial complexity of Microsoft Office proprietary files, which use


[en] Michael Meeks: 2025-09-12 Friday

12:32 UTC

face
  • Up early, bid 'bye to M. sync & brainstorming with Dave, quick sync with Frank, prepared slides for TTT:
  • Gave a Tea Time Training on threading:
    LibreOffice & Collabora Online threading (Hybrid PDF)

Thursday
11 September, 2025


[en] Michael Meeks: 2025-09-11 Thursday

21:00 UTC

face
  • Slept extraordinarily poorly, up early, worked instead, fever-typing. Sleep, caught part of the tech-planning call.
  • Sync with Pedro, admin, lunch, catch up with Lily. Tried to sleep.

face

C++ Standard library, which resides in std:: namespace provides common classes and functions which can be used by developers. Among them, Standard Template Library (STL) provides classes and functions to better manage data through data structures named containers. Here I discuss how to use STL functions for better processing of data, and avoid loops.

Checking Conditions

To iterate over a container to see if some specific condition is valid for all, any, or none of the elements in that container, C/C++ developers traditionally used loops.

On the other hand, since C++11, there are functions that can handle such cases: all_of, any_of and none_of. These functions process STL containers, and can replace loops. If you want to know if a function returns true for all, any, or none of the items of the container, then you can simply use these functions. This is the EasyHack dedicated to such a change:

Here is an example patch which uses any_of instead of a loop:

-    bool bFound = false;
     // convert ASCII apostrophe to the typographic one
     const OUString aText( rOrig.indexOf( '\'' ) > -1 ? rOrig.replace('\'', u'’') : rOrig );
-    size_t nCnt = aVec.size();
-    for (size_t i = 0;  !bFound && i < nCnt;  ++i)
-    {
-        if (aVec[i] == aText)
-            bFound = true;
-    }
+    const bool bFound = std::any_of(aVec.begin(), aVec.end(),
+        [&aText](const OUString& n){ return n == aText; });

As you can see, the new code is more concise, and avoids using loops.

Conditional Copying, Removing and Finding

If you want to copy, remove or simply find a value in a container which conforms to a specific functions, you may use copy_if, remove_if or find_if.

Again, this is an example patch:

-  for ( size_t i = 0; i < SAL_N_ELEMENTS( arrOEMCP ); ++i )
-        if ( arrOEMCP[i] == codepage )
-            return true;
-
-    return false;
+    return std::find(std::begin(arrOEMCP), std::end(arrOEMCP), codepage) != std::end(arrOEMCP);

Final Words

Refactoring code is a good way to improve knowledge on LibreOffice development. The above EasyHacks are among EasyHacks that everyone can try.

More information about EasyHacks, and how to start working on them can be found on TDF Wiki:


Wednesday
10 September, 2025


[en] Michael Meeks: 2025-09-10 Wednesday

21:00 UTC

face
  • Cold worse; plugged through the day where possible. Call with Dave, chat with an old friend, listened to the sales team meeting.
  • Published the next strip: on the importance of budgeting
    The Open Road to Freedom - strip#34 - budgeting
  • Worked on LibreOffice / COOL threading slides for Friday's TTT. Catch up with Patrick.
  • Bed early, feeling awful.

face

Czech LibreOffice Calc Guide cover

Zdeněk Crhonek (aka “raal”) from the Czech LibreOffice community writes:

The Czech translation of the LibreOffice Calc Guide 25.2 is now available, thanks to the endless efforts of our team. It was translated by Petr Kuběj, Radomír Strnad and me. The Czech screenshots were done by Roman Toman, Petr Kuběj and me. Preparation of the chapters for translation was done in OmegaT – machine translation as suggestions, reuse of old screenshots etc. was done by Miloš Šrámek. Thanks to everyone for the hard work, and if anyone would like to join the team, they are welcome to do so.

Great work everyone!


Tuesday
09 September, 2025


[en] Michael Meeks: 2025-09-09 Tuesday

21:00 UTC

face
  • J. up to take H. to the station at the crack of dawn. J, out working, E. at school - back to a solo work-day.
  • Mail chew, planning call, sync with Laser, then Eloy, lunch, sync with Andras, plugged away at admin catch-up. J. out at YFC meeting, worked late.

face

LibreOffice Expert magazines

A few weeks ago, Linux New Media released an updated version of its “LibreOffice Expert” magazine, which contains tutorials, tips and tricks about the office suite. And some articles were contributed by members of the LibreOffice community! The magazines come with DVDs that include LibreOffice for Linux, Windows and macOS, alongside extra templates, extensions, videos and guidebooks.

We have some copies to give away, for schools, universities, libraries and local communities. Ideally, we’d like to get these magazines out to places where internet connections aren’t always available – so that the users can really benefit from the DVDs.

So, if you can help us to distribute these magazines, drop us a line! Please note that we have 50 copies in total and can therefore only send a maximum of five copies to any one place, to make sure many communities get a chance. When you contact us, please include this information (any requests without information cannot be fulfilled and will be ignored):

  1. What you want to do with the magazines
  2. How many you want (1 – 5 copies)
  3. The address to which we should post them

Include all of that that information in an email to us and let’s see what we can do!

(Note: if you want to buy the magazine directly from the publisher, you can do so here.)


face

Writer has some support for interdependent (or hierarchical) tracked changes: e.g. the case when you have a delete on top of an insert. See the second post for background.

This work is primarily for Collabora Online, but the feature is available in desktop Writer as well.

Motivation

With the already mentioned improvements in place, the area of format redlines with character style or direct formatting changes were still lacking: Writer's original model here was just marking a text range as "formatted" and then either accept the format redline as-is, or reject reverting back to the paragraph style (default formatting), losing the old character style or old direct formatting.

Results so far

Here is a sample case of a document where the old character style is Strong (~bold) and the font size is 24pt, while the new character style is Quote (~italic) and the font size is 36pt. The rest of the document uses no specific character styles and has the font size of 12pt:

Interdependent tracked change: improved format, after document load

Rejecting that format redline resulted in just the defaults, i.e. no character style and 12pt font size:

Interdependent tracked change: old reject, lost character style / direct format

But now we track the old character style & direct format:

Interdependent tracked change: new reject, handled character style / direct format

This required changes in the DOCX import, ODF import and ODF export, too.

How is this implemented?

If you would like to know a bit more about how this works, continue reading... :-)

As usual, the high-level problem was addressed by a series of small changes. Core side:

Want to start using this?

You can get a development edition of Collabora Online 25.04 and try it out yourself right now: try the development edition. Collabora intends to continue supporting and contributing to LibreOffice, the code is merged so we expect all of this work will be available in TDF's next release too (26.2).


Monday
08 September, 2025


[en] Michael Meeks: 2025-09-08 Monday

21:00 UTC

face
  • Up earlyish feeling awful - conference flu? 1:1's through the day, marketing content review, sync with Patrick.

face

Berlin, 8 September 2025 – The Document Foundation announces the release of LibreOffice 25.2.6, the sixth maintenance release of the LibreOffice 25.2 family, available for download at www.libreoffice.org/download [1].

LibreOffice 25.2.6 is based on the LibreOffice Technology, which enables the development of desktop, mobile and cloud versions – either from TDF or from the ecosystem – that fully support the two ISO standards for document formats: the open ODF or Open Document Format (ODT, ODS and ODP) and the closed and proprietary Microsoft OOXML (DOCX, XLSX and PPTX).

Products based on the LibreOffice Technology are available for all major desktop operating systems (Windows, macOS, Linux and ChromeOS), mobile platforms (Android and iOS) and the cloud.

For enterprise-class deployments, TDF recommends a LibreOffice Enterprise optimized version from one of the ecosystem companies, with dedicated value-added features and other benefits such as SLAs and security patch backports for three to five years (www.libreoffice.org/download/libreoffice-in-business/).

English manuals for the LibreOffice 25.2 family are available for download at https://books.libreoffice.org/en/. End users can get first-level technical support from volunteers on the user mailing lists and the Ask LibreOffice website: ask.libreoffice.org.

Downloading LibreOffice

All available versions of LibreOffice for the desktop can be downloaded from the same website: www.libreoffice.org/download/.

LibreOffice users, free software advocates and community members can support The Document Foundation and the LibreOffice project by making a donation: https://www.libreoffice.org/donate.

[1] Fixes in RC1: wiki.documentfoundation.org/Releases/25.2.6/RC1. Fixes in RC2: wiki.documentfoundation.org/Releases/25.2.6/RC2.


Sunday
07 September, 2025


[en] Michael Meeks: 2025-09-07 Sunday

21:00 UTC

face
  • Up earlyish, played violin at All Saints; home - H. cooked lunch. Prepped for the evening service - got some chords sorted out with H. happily.
  • Practiced with H. and Mike & Mel kindly assisting, lead the worship for the end of a week of 24x7 prayer service - with a two-verse each, "lightning-sermon" exposition from five people of the Lords Prayer - which seemed to work, prayed & home.
  • Ate tea with the babes, rested finally.

Saturday
06 September, 2025


[en] Michael Meeks: 2025-09-06 Saturday

21:00 UTC

face
  • Up early, breakfast, helpful chat, waited in the lobby and programmed much of the day. Nice to do some hacking - got some admin diagnostics tunneled from the kit process to the JS/TS front-end.
  • Flight and drove home super late, lovely to see H.M.E. & J. bed - tired.

Friday
05 September, 2025


[en] Michael Meeks: 2025-09-05 Friday

21:00 UTC

face
  • Up early for Thorsten's nice talk on shiny things in COOL. Enjoyed various talks on new features.
  • Lunch with the Austrian Military chaps, somehow missed the conference photo. Back for my talk with some snapshots of some recent up-stream contributions.
  • More talks, gave another attempt to explain the economics of LibreOffice development with - Funding LibreOffice, chatted to people, closing address.
  • Extraordinary hack-fest and nice meal at a rather curious venue; back late.

face

LibreOffice Conference 2025 group photo

We’re gathered together at the LibreOffice Conference 2025 in Budapest. A big thanks to the organisers! Here’s the group photo we took this afternoon. Of course, this is just one part of the wider LibreOffice community, made of hundreds of people.

Join them!


Thursday
04 September, 2025


[en] Michael Meeks: 2025-09-04 Thursday

21:00 UTC

face
  • Breakfast, various intro talks, partner call during interesting customer talk. Lunch together.
  • Feature discussion with Regis, TDF members talk lead by Dennis & Eyal, lots of frank feedback. Nice a11y update from Michael W.
  • Delicious community dinner at Trofea Grill with lots of likely folks.

face

Opening speech from the LibreOffice Conference 2025

Yes, the conference in Budapest has started. If you’re not there in-person, join one of the chat channels linked to on the site and you can watch talks remotely. Enjoy!

Merchandise from the LibreOffice Conference 2025


Wednesday
03 September, 2025


[en] Michael Meeks: 2025-09-03 Wednesday

21:00 UTC

face
  • Breakfast - good to see some old friends, back to work on slides until the afternoon. Out to the community meeting at the fine conference venue.
  • Published the next strip: on different ways of contracting projects
    The Open Road to Freedom - strip#33 - contracting projects
  • On to the Corvin hotel to meet up with the local team and attendees for a nice meal; bed late.

Tuesday
02 September, 2025


[en] Michael Meeks: 2025-09-02 Tuesday

21:00 UTC

face
  • Sync with Dave, planning call, quick lunch, finance call, packed for LibOCon - quick hand-over with Laser.
  • Drove, waited, flew, chatted , got to slides, worked late.

Monday
01 September, 2025


[en] Michael Meeks: 2025-09-01 Monday

21:00 UTC

face
  • Up early, mail chew, lots of 1:1's through the day, worked late on slides / analysis.

face

LibreOffice 25.8 krepi digitalno suverenost

LibreOffice 25.8: strateška dobrina za vlade in podjetja, usmerjena v digitalno suverenost in zasebnost

Pregled

V času, ko geopolitične napetosti, zakoni o lokalizaciji podatkov in tveganja v zvezi s skladnostjo spreminjajo IT-okolje, se LibreOffice 25.8 (izšel je konec avgusta 2025) izkazuje kot strateška izbira. Gre za popolnoma odprtokodni, krajevno delujoč pisarniški paket, zasnovan za organizacije, ki potrebujejo popoln nadzor nad svojo programsko opremo, podatki in infrastrukturo.

Ta različica neposredno temelji na prednostnih nalogah, ki so jih izrazile javne uprave in velika podjetja po vsem svetu: zaščita podatkov uporabnikov, zmanjšanje odvisnosti od tujih dobaviteljev in krepitev digitalne avtonomije.

Zakaj je digitalna suverenost pomembna?

Za vlade in podjetja digitalna suverenost ni le filozofija. Gre za:

  • nacionalno varnost: zmanjšanje izpostavljenosti ekstrateritorialnemu nadzoru in varnostnim luknjam v programski opremi;
  • skladnost z zakonodajo: izpolnjevanje zakonskih zahtev, kot so GDPR, nacionalni zakoni o javnih naročilih in predpisi o lokalizaciji IT;
  • neodvisnost od dobaviteljev: izogibanje prisilnim migracijam, agresivnim modelom licenciranja ali nepredvidljivim cenam dobaviteljev lastniške opreme;
  • strateško odpornost: ohranjanje delovanja sistemov, ki so ključni za poslovanje, brez odvisnosti od oblaka.

LibreOffice 25.8 je bil razvit posebej za te namene.

Ključne prednosti LibreOffice 25.8 za ustanove

Arhitektura, ki daje prednost zasebnosti

  • Brez telemetrije: brez zbiranja podatkov v ozadju. LibreOffice je popolnoma transparenten in deluje neopazno.
  • Popolna zmogljivost brez internetne povezave: vse funkcije delujejo brez internetne povezave, kar je idealno za varna, izolirana ali kritična okolja.
  • Šifriranje OpenPGP: dokumente je mogoče šifrirati s ključi, ki jih upravlja uporabnik, kar zagotavlja skladnost z notranjimi varnostnimi politikami.

Odprti standardi in medsebojna povezljivost

  • Domorodna podpora za odprti zapis dokumentov (ODF), standard ISO, ki zagotavlja dolgoročen dostop in odpravlja lastniško vezanost.
  • Izboljšana združljivost z zapisi Microsoft Office/365 (.docx, .xlsx, .pptx) in zapisi OpenOffice (.doc, .xls, .ppt).

Prilagodljiva namestitev in integracija

  • Na voljo je za Windows, Linux in macOS: podpira heterogena IT-okolja.
  • Brezhibna integracija z Nextcloud, ownCloud in samostojnimi platformami za sodelovanje.
  • Skalabilen od ene same varne delovne postaje do celovitih namestitev v podjetju s centralizirano konfiguracijo in izvajanjem politik.

Strateške prednosti za javni in podjetniški IT

  • Nadzor stroškov: brez licenčnin. LibreOffice lahko zmanjša IT-stroške in je hkrati skladen z javnimi naročili, ki zahtevajo odprte standarde in pošteno konkurenco.
  • Revizijska sledljivost: popolnoma odprtokoden. Vsaka vrstica kode je vidna in preverljiva, kar podpira revizijske zahteve in zmanjšuje tveganja v dobavni verigi.
  • Lokalna opolnomočenost: spodbuja nacionalne in regionalne IT-ekosisteme z omogočanjem pogodb za lokalno podporo, prilagajanjem in strokovnimi storitvami, kar spodbuja domači tehnološki sektor.

Uporaba v praksi

Vlade in velike institucije po Evropi, Latinski Ameriki in Aziji so LibreOffice sprejele kot del pobud za digitalno suverenost. Vladni organi v Nemčiji, na Danskem in v Franciji ter nacionalna ministrstva v Italiji in Braziliji so se obrnili k LibreOffice, da bi ponovno prevzeli nadzor nad svojo digitalno infrastrukturo. LibreOffice podpira The Document Foundation, nevtralna, neprofitna organizacija z globalno


face

LibreOffice 25.8 banner

Here’s our summary of updates, events and activities in the LibreOffice project in the last four weeks – click the links to learn more…

  • Every six months – in February and August – we release a new major update to LibreOffice. And on 20 August, LibreOffice 25.8 arrived with many new features, plus compatibility improvements and performance boosts. Check out this video for an overview (also available on PeerTube):

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.

LibreOffice Asia Conference 2024 group photo

ODF logo

  • At The Document Foundation, we have a new job opening! Join the LibreOffice Team as a Paid Developer focusing on UI with initial emphasis on macOS, preferably full-time, remote.

  • LibreOffice does not include artificial intelligence (AI) out-of-the-box. But many users want AI features in the suite – so we encourage developers to make them available as optional extensions. And that’s what Igor Támara did, creating the “Stable Diffusion for LibreOffice” extension for AI-generated images powered by AI Horde (a volunteer crowd-sourced distributed cluster of image generation workers).

Stable Diffusion image generator for LibreOffice

Aeroplane 3D model being viewed in LibreOffice Calc

  • Some sad news: long-time LibreOffice contributor Juan Carlos Sanz passed away. We are very thankful to his work in the project over the years.

Juan Carlos Sanz

  • Finally, we posted a reminder that the LibreOffice Conference 2025 is coming up in Budapest, from 4 – 6 September. See you there! 😊

Conference logo

Keep in touch – follow us on Mastodon, X (formerly Twitter), Bluesky, Reddit and Facebook. Like what we do? Support our community with a donation – or join our community and help to make LibreOffice even better!


Sunday
31 August, 2025


[en] Michael Meeks: 2025-08-31 Sunday

21:00 UTC

face
  • All Saints in the morning, played violin; home, Arun & Naomi dropped in for a pizza lunch good to catch up.
  • Dropped some electronics to a teacher for robot clubbing, evening start-of 24x7 prayer service at All Saints; home to see the returned H. lovely.

Saturday
30 August, 2025


[en] Michael Meeks: 2025-08-30 Saturday

21:00 UTC

face
  • N. left early in the morning to her internship for Numatic, exciting.
  • Up, looked at cars, lunch, out into London for 2nd hand car shopping. A long and complicated day, with an apparently good hybrid result: at least drove 50 miles home and arrived intact.

Friday
29 August, 2025


[en] Michael Meeks: 2025-08-29 Friday

21:00 UTC

face
  • Up early, mail chew, plugged away at admin - finally managed to read back to before my holiday (if not respond to it all), got going on the Linked-In backlog.
  • Finally got to slides, built some new analytics to make pretty new pictures to help tell stories - lets see.

face

Berlin, 29 August 2025 – LibreOffice 25.8.1, the first minor release of the free, volunteer-supported office suite for personal productivity in office environments, is now available at https://www.libreoffice.org/download for Windows, MacOS and Linux.

The release includes close to 100 bug and regression fixes over LibreOffice 25.8 [1] to improve the stability and robustness of the software. In particular, the release resolves the application crash issue related to the NoteBookBar UI option, and several bugs related to opening documents in Microsoft proprietary format.

LibreOffice is the only office suite with a feature set comparable to the market leader. It also offers a range of interface options to suit all user habits, from traditional to modern, and makes the most of different screen form factors by optimising the space available on the desktop to put the maximum number of features just a click or two away.

For users who don’t need the latest features and prefer a version that has undergone more testing and bug fixing, The Document Foundation maintains the LibreOffice 25.2 family, which includes several months of back-ported fixes. The current release is LibreOffice 25.2.5.

The Document Foundation does not provide technical support for users, although they can get it from volunteers on user mailing lists and the Ask LibreOffice website: https://ask.libreoffice.org

LibreOffice users, free software advocates and community members can support the Document Foundation by making a donation at https://www.libreoffice.org/donate.

[1] Fixes in RC1: https://wiki.documentfoundation.org/Releases/25.8.1/RC1.


face

Berlín, 29 de agosto de 2025. LibreOffice 25.8.1, la primera corrección del paquete ofimático gratuito y apoyado por voluntarios para la productividad personal en entornos de oficina, ya está disponible en https://es.libreoffice.org para Windows, MacOS y Linux.

La versión incluye …


Thursday
28 August, 2025


[en] Michael Meeks: 2025-08-28 Thursday

21:00 UTC

face
  • Up early, mail chew, tech planning call, sync with Naomi & Anna, more admin. Finished Chernobyl. Naomi back in the evening, lovely to see her.

face

LibreOffice handles different input and output formats, and also displays text and graphics alongside inside the GUI on computer displays. This requires LibreOffice to understand various different measurement units, and convert values from one to another.

Unit selection

Unit selection

The unit conversion can be done by writing extra code, where one should know the units, and calculate factor to convert them to each other.

For example, consider that we want to convert width from points into 1/100 mm, which is used in page setup.

We know that:

1 point = 1/72 inch
1 inch = 25.4 mm = 25400 microns
factor = 25400/(72*10) ≈ 35.27777778

Then, it is possible to write the conversion as:

static int PtTo10Mu( int nPoints )
{
return static_cast<int>((static_cast<double>(nPoints)*35.27777778)+0.5);
}

A separate function that casts integer nPoints to double, then multiplies it by the factor which has 8 decimal points, and then rounds the result by adding 0.5 and then truncates it and stores it in an integer. This approach is not always desirable. It is error-prone, and lacks enough accuracy. For big values, it can calculates values off by one.

Another approach is to use o3tl (OpenOffice.org template library) convert function. It is as simple as writing:

int nResult = o3tl::convert(nPoint, o3tl::Length::pt, o3tl::Length::mm100)

As you can see, it is much cleaner, and gives the output, properly rounded as an integer!

You need a double? No problem! You can use appropriate template to achieve that:

double fResult = o3tl::convert<double>(nPoint, o3tl::Length::pt, o3tl::Length::mm100)

These are the supported units, defined in the header include/o3tl/unit_conversion.hxx:

mm100 – 1/100th mm = 1 micron

mm10 – 1/10 mm

mm – millimeter

cm – centimeter

m – meter

km – kilometer

emu – English Metric Unit (1/360000 cm)

twip – Twentieth of a point (1/20 pt)

pt – Point (1/72 in)

pc – Pica (1/6 in)

in1000 – 1/1000 in

in100 – 1/100 in

in10 – 1/10 in

in – inch

ft – foot

mi – mile

master – PPT Master Unit (1/576 in)

px – Pixel unit (15 twip, 96 ppi)

ch – Char unit (210 twip, 14 px)

line – Line unit (312 twip)

Handling Overflows

If you are doing a conversion, it is possible that the result overflows. With o3tl::convert() you can handle it this way:

sal_Int64 width = o3tl::convert(nPoint, o3tl::Length::pt, o3tl::Length::mm100, overflow, 0);
if (overflow)
{
...
}

Code Pointers

To to find instances to change, one can try finding some magic numbers listed here. For example, consider measuring a line based on twips:

line – Line unit (312 twip)

If you search for 312, you may find some examples:

$ git grep -w 312 *.cxx

Final Words

The task described here is filed as tdf#168226:

EasyHacks are well-defined small tasks that are designed to help newcomers begin LibreOffice programming. If you like it, you can start working on it!

Using o3tl::convert() not only simplifies the


Wednesday
27 August, 2025


face

The LibreOffice Conference will start in a week from today with the Community Meeting, at the Faculty of Informatics of ELTE (Eötvös Loránd University) in Pázmány Péter stny. 1/C, 1117 Budapest. The building is just in front of the Danube on the historic Buda side, and can be easily reached either by walking or by public transportation from the city center in Pest, where you can find the majority of hotels and restaurants.

To reach the city from the airport, take Bus 100E which goes directly to downtown (Deák Ferenc tér). Buy and validate tickets directly on the bus using your bank card for the Budapest Pay&GO service. bkk.hu/en/travel-information/airport-express/

Inside the city use public transport (BKK): metro, tram, bus. Buy tickets from purple machines or use the BudapestGO mobile app (iOS, Android). bkk.hu/en/ The best deal is a 24h / 72h travel pass, which does not need validation at each trip. IMPORTANT: the travel pass is not valid for the airport bus!

Currency is Hungarian Forint (HUF). Cards are accepted almost everywhere, but also you may need some Forint cash from Correct Change, Exclusive Change, or Gold Change. Avoid Euronet ATMs, use instead ATMs at major Hungarian banks like OTP, K&H, Erste, UniCredit, Raiffeisen, or CIB.

Time zone is CEST (UTC+2). Electricity is 230V, with standard European plug.

The Survival Guide with more information will soon be available on the Conference website.

Older blog entries ->