GSoC 2017: Charmap Integration

These awesome three months of summer spent developing for LibreOffice under Google Summer of Code, have filled me with great zeal and zest. A plethora of important additions was made to the software bundle under the project titled “Usability of Special Characters”, and these new features will be made available in the version 6.0 of LibreOffice (Release Notes for 6.0). Here is a glimpse of what the users will be receiving in the new update.

Note: Please zoom-in the web page or open the GIF’s in the new tab if the character grid is not correctly visible.

Screenshot from 2017-08-22 21-21-46.png

Special Characters in LibreOffice Master


‣ Search functionality via generic code point name


Glyph name properties have been introduced to LibreOffice using the API provided by International Components for Unicode (ICU). The program identifies glyphs according to their names provided by ICU and then, the search results are displayed. There’s a display label which is dedicated to glyph’s Unicode name.

‣ Inter-font dynamic glyph search

inter-font search.gif

As simple as it could be made, a user can now type the name of the glyph and scroll between fonts until the desired results are shown.

‣ Recently Used Characters and Favorite Characters


‣ Toolbar Dropdown control for Quick Access!

In pursuance of providing quick access to the above Recent and Favorite character list, a toolbar dropdown control has been developed. It is supposed to replace the current toolbar button which opens the special character dialog in the currently circulated LibreOffice 5.3.


The GIF below is an example of how easy a user can find the desired symbols and can pin it for quick access in future.


‣ Context-menu and Mouse click controls for easier interaction


Link to the major patch submissions:

Glyph View and Recent Characters Control in Special Characters dialog

Favourites feature in Special characters

‣ Special Characters Toolbar Dropdown Control

‣ Unicode Character Names Integration using ICU

‣ Search feature for Special Characters

I was mentored by Samuel Mehrbrodt, Heiko Tietze, and Thorsten Behrens in GSoC 2017. I would like to give my regards to the LibreOffice community which helped me through the deadlocks I faced during the project. It has been an awesome two-year journey with LibreOffice, and I hope it will remain the same in future and the open-source technologies will flourish with their full potential and thrive to its zenith.


Usability of Special Characters: GSoC 2017

Woah, Google Summer of Code with LibreOffice ( x2 ). This time, I’ll be working on improvement and rework of Special Characters feature in LibreOffice and adding some enhancements to it. I will be mentored by Samuel Mehrbrodt, Thorsten Behrens, and Heiko Tietze. I’ll encapsulate all the proposed changes with respect to the project in this blog.

The Idea

  • Create a way to quickly re-use recently-picked special characters, allowing the user to search in the whole character map, which has no filter to narrow down results.
  • Allow users to create their own ‘Special Characters’ subset (Individualization)
  • Sorting by last in, first out; items from the list of recently used characters are sorted to the beginning if selected.
  • Create a toolbar dropdown control to easily access recent symbols and the user-defined custom subset.
  • Have a preview along with the Unicode name.
  • Better UI for search (within font subsets) using Unicode name, hex and decimal code.
  • Different subsets within a font need a separation in the special character SvxShowCharSet custom widget.

Finalized enhancements for the dialog

Proposal for the toolbar dropdown for quick access to favorites and recently used characters.


Design for the toolbar dropdown.

A lot of challenges need to be addressed while working on this project. It’s about time to play with Unicode data and custom-widgets.

For other queries and discussions, please comment or ping me (IRC nick: Akki) on libreoffice-dev / libreoffice-design channel on Freenode.