Back to Programs

End user applications

LibreOffice

LibreOffice is a free and open source office suite

c++javapython

Participation history

11 GSoC years

2026

3 projects

Official year page

LibreOffice OpenType MATH

The goal of this project is to support using OpenType math fonts with a MATH table in LibreOffice Math. It will use data from the MATH table to...

Improve word processor test coverage

LibreOffice Writer's internal layout engine is extremely intricate and historically dense. This means that attempting to modernize and refactor it is...

Add JPEG XL import support

JPEG XL is an image format that allows for lossy and lossless compression, and is generally better than JPEG at this. LibreOffice currently supports...

2025

7 projects

Official year page

Implement Report Builder in C++

The Report Builder is located in LibreOffice Base, its function is to produce a report in the form of a LibreOffice Writer document from a...

BASIC IDE code auto-completion in LibreOffice

The LibreOffice BASIC IDE currently offers limited code assistance, hindering developer productivity with unreliable completion, no object browser,...

New Dialog To Edit Table Styles

LibreOffice (Writer and Calc) currently allows users to apply predefined table styles via the “AutoFormat Styles” dialog and add new styles based on...

Python code auto-completion

LibreOffice has Python scripting support via its UNO API but does not have adequate IDE support because it doesn't have static type information. This...

Rust UNO Language Binding

LibreOffice's UNO (Universal Network Objects) component model currently lacks support for the Rust programming language, creating a barrier for Rust...

Rework Impress slideshow to use DrawingLayer primitives

This project focuses on modernizing the LibreOffice Impress slideshow rendering system by replacing the older metafile-based approach with a more...

Import Markdown files into LibreOffice Writer

This project aims to implement Markdown support in LibreOffice Writer, ensuring compliance with the CommonMark specification. The imported Markdown...

2024

7 projects

Official year page

Comments in Sidebar

The goal of this project is to enhance the LibreOffice Writer by implementing a comments sidebar feature. Currently, comments are displayed at...

Adding native support for histogram chart and its variations

This proposal aims to address the lack of support for histogram charts and other advanced chart types introduced in Microsoft Office 2016 within...

Libreoffice Theme

Libreoffice uses its own GUI Library VCL, which interfaces with various backends like GTK, QT, Windows UI, and macOS X UI. VCL gets colors for the UI...

More and Better Tests a GSOC Project Proposal

This project aims to create more and better tests for the LibreOffice code base. Better tests will be produced by porting over older JUnit(written in...

Cross Platform .NET Bindings for UNO API

The UNO API allows developers to write code that works with LibreOffice, allowing programmatic control over the entire suite. This provides a robust...

LUA UNO Language Binding in Libreoffice (GSoC 2024)

Universal Network Objects (UNO) serves as the component model within LibreOffice. It enables users to interact with UNO components through various...

Improvements to the Functions Deck & Functions Wizard in LibreOffice Calc

LibreOffice Calc has a nice functions deck on the sidebar allowing to pick one of the many functions, and this functions panel has some room for...

2023

5 projects

Official year page

Improving OpenPGP encryption experience in LibreOffice

The project aims to enhance the experimental PGP/GPG encryption support in LibreOffice by addressing several shortcomings, such as the need to select...

Proposal for selecting tests to run on gerrit patches based on machine learning

LibreOffice is a large and complex office software and has an extensive CI system to ensure that new patches do not introduce bugs. A lot of unit...

Search Field in Options

This enhancement aims to provide a search functionality for "Tools > Options". LibreOffice is a complex application with a large and growing number...

Convert Writer's Java UNO API Tests to C++

The objective of this project is to convert Writer’s Java UNO API tests to C++. Unit testing is a software testing method by which individual units...

Adding APNG import/export support

APNG (Animated PNG) is an animated format backwards compatible with PNG. It is supported by all the major browsers and has benefits over GIF such as...

2022

2 projects

Official year page

Extend Z compressed graphic format support

Currently, there is uncompression support for .svgz format, which is a Z compressed .svg file. The goal of this project is to extend support for Z...

VBA Macros - Tests and missing APIs

My proposal is to research and make new tests for writer (as calc seems to already have lots of tests) as well as identify and implement some missing...

2021

7 projects

Official year page

100 Paper Cuts

100 Paper Cuts aims for improving user interface, implementing enhancement requests and solving most-annoying issues on the UX side of LibreOffice.

Implementing table styles DOCX support

This project aims to take a step towards a solution, which could make LibreOffice able to handle proper table styles. Implementing table styles in...

Bringing the context to the translators by a magic gate .

make a User Interface that presents some context of the word in form of a dialog or a video that includes the word or the whole sentence ,that will...

Sidebar Task

This proposal is to revamp the current Styles deck sidebar for the original Styles Highlighter project

Make SVM format independent of the VCL Metafile + test of the format

This project requires the completion of the tests regarding SVM and then the separation of the read, write functionality of MetaActions to new...

Implement Interface for external data source import into Calc

Currently back end of data provider is implemented and it supports csv,html,xml and base data provider. Many transformations are also available so...

Tests for the VCL graphics backend

The idea behind this task generally revolves around the fact that the smooth and bug-free nature of the graphics rendering of LibreOffice should be...

2020

6 projects

Official year page

Additions - Tight integration of extensions!

The idea of additions is to better integrate extensions. On various places it should be possible to get more content from external storage. It is an...

Move the gallery code to use ZIP files

The objective of the project is to move the existing gallery code to use ZIP files. Currently, the gallery code is cumbersome and custom binary...

Blurry Shadows

In LibreOffice the shadows are just a copy of the object. Currently, users can enable the shadow for the object, change its color, its angle,...

Add Impress shape animations that use a real physics engine

Even though Impress has plenty of shape animation effects present, these effects lack the modernity expected today. Adding cool animation effects to...

Styles Inspector

Currently there is no way to analyse all the applied styles to the document at one place. The project is mainly focused on designing and implementing...

Extending the UITest framework

The UI testing in LibreOffice is based on introspection code in c++ interacting with a testing framework in python through a simple UNO interface. To...

2019

6 projects

Official year page

Improvement to Notebookbar

The aim of the project is to improve the current implementation of notebookbar. The task is majorly divided into two parts creating the basic...

Implement Chart Styles

Currently, LibreOffice does not support styles for charts that can help to quickly insert formatted charts following a certain theme throughout the...

LibreOffice for Android(Online)

This project aims at improving the LibreOffice's Online implementation over Android by adding new features to the document viewer, fixing the most...

Improve the UI testing DSL and the log files for UI actions

The UI testing in LibreOffice is based on introspection code in c++ interacting with a testing framework in python through a simple UNO interface. To...

LibreOffice Appliances

Free digital signage and presentation screen solution with LibreOffice and cheap single-board computers.

Generating QR Code in LibreOffice

The project idea aimed at integrating QR code generating library at LibreOffice and add options to use the generated QR code in LibreOffice...

2018

7 projects

Official year page

Add Support for Python in LOEclipse Plugin

Existing LOEclipse plugin allows users to develop extensions for LibreOffice using Java. This project will allow us to extend this support to include...

Adding a DSL to the UI testing and improving the generated log file

The UI testing is one of the newest additions to LibreOffice's testing frameworks. The code consists of wrapper classes written in C++ and tests...

Improvements to Notebookbar

The proposed work will focus on to improve the current implementation of notebookbars. The emphasis will be on making the notebookbars bugs free and...

Listbox separate read values from input values

Listboxes are a very useful component when entering data on forms in databases. The proposal primarily concerns providing the user the ability to...

Revamp Print Dialog

The idea is make Print Dialog clean, simple and straightforward for the user. Print Dialog content will only feature essential printing options. All...

Implement interface for external data source import into Calc

The idea now is to take all the different ways that we have to import external data (CSV and HTML) and combine them in one common feature. To make...

LibreOffice Android Viewer

Currently, there are many features of the android viewer are either not implemented or not working properly. For instance theres no option for...

2017

9 projects

Official year page

Solving Most Annoying Bugs for LibreOffice Android Viewer

The proposed work will focus on Android Viewer’s most annoying bugs listed on Bugzilla. I grouped them into bugs, feature requests, and my own ideas....

Improve SmartArt import in LibreOffice

SmartArt is a format of storing diagrams in Office Open XML files that was introduced in MS Office 2007. It allows to separate data from a way of...

Revamp the Customization Dialog

The Tools > Customization dialog lacks today on supporting means. For instance, it is not possible to search for a particular function. It also...

Migrating from legacy Parser to FastParser

Most part of the ODF import uses legacy parser. FastParser is threaded, token based and faster than legacy parser. We aim to migrate almost...

LibreOffice Online

Make important features known in LibreOffice(desktop version) and other leading office suites, available in LibreOffice online.

Improve LibreOffice for Android

This project aims to work behind the scenes to improve the LibreOffice Android build system by switching from deprecated NDK GCC toolchain to a...

Replace EditEngine binary clipboard with ODF filter

EditEngine still uses a legacy StarOffice format with SfxItemPool binary serialization for copy/paste operations. This is a maintainability problem...

Implement QuarkXPress import filter

QuarkXPress is a desktop publishing application that was very popular in the 90s and early 2000, so there are lots of existing documents created in...

Usability of Special Characters

Special Characters are an integral part of LibreOffice. Its usability should be improved by providing new methods of interaction from the end-user...

2016

9 projects

Official year page

Improve user experience with Table Styles

The project aims to make Table Styles more user friendly and useful by increasing their support and improving workflow and accessibility. In the...

Implementing legacy SAX parser Interface with FastParser

The idea is to implement XParser(legacy) and related APIs using XFastParser , and push the tokenization incrementally through to ODF import filters...

Infrastructure for defining toolbars via .ui (Glade) files

The goal of this task is to create a new toolbar implementation that allows dynamic layout of widgets, and potentially tabbed toolbars too. Using...

Finish Firebird driver integration

Firebird database integration, upgrade to Firebird 3.0

Implement Zoner Draw import filter

Zoner Draw is a good and easy to use vector graphics editor. Its development stopped several years ago and the last version (5) was released free of...

Redesigning the Template Manager and Emoji Toolbar Control

First Project (Redesigning the Template Manager): The current Template Manager of LibreOffice has some bugs and needs better implementation. This...

Support ODF styles in Calc using Orcus

Orcus is an external filter library. The project is to implement missing code for style and conditional format and corresponding interface in...

Unifying low-level text layout using HarfBuzz

To unify low level text layout in LibreOffice using HarfBuzz. The new layout class should be able to generate correct and similar glyph indices and...

Review of Sidebar and it's functionality

The LibreOffice Sidebar has seen a lot of vital upgrades recently. Many sidebar functionalities were added and enhanced by Rishabh Kumar in GSoC...