To the LibreOffice Development Community and Interested Developers, I am
writing to introduce an open-source extension that addresses a critical gap in
Japanese typography support within LibreOffice: the absence of proper furigana
(ruby text) functionality. Furigana are essential phonetic guides that make
Japanese text accessible to learners, children, and even native speakers
navigating complex kanji. Despite their importance, no open-source office suite
has provided reliable furigana support: until now. The extension I have
developed enables automatic furigana generation in LibreOffice Writer by
connecting to a MySQL database of kanji-to-reading mappings. Originally
designed for my Japanese language school’s website, this solution has been
adapted into a LibreOffice extension to liberate users from dependency on
proprietary software like Microsoft Word. The lack of furigana support has long
forced Japanese language professionals into using closed-source tools,
perpetuating a cycle of vendor lock-in and limiting accessibility. This
extension breaks that cycle. While the core logic of the furigana system (PHP
and MySQL) was manually developed, the LibreOffice integration was achieved
through vice coding: iterative experimentation with LibreOffice’s UNO framework
until the pieces fell into place. The result is a functional, self-contained
extension that renders furigana as true ruby annotations, stable under reflow
and preserved across exports. However, the codebase could benefit from
refinement, optimization, and expansion by developers with deeper expertise in
Python, UNO, or LibreOffice’s architecture. I have documented the journey,
including the technical challenges and the broader implications for digital
sovereignty, in a blog post:
https://www.loekalization.com/blog/blog/2026/01/09/liberating-japanese-typography-the-day-i-broke-silicon-valleys-monopoly/
This project is not just about solving a technical problem. It is about
reclaiming control over linguistic tools and ensuring that open-source software
serves all languages equitably. I am donating this extension to the community
under an open-source license and commit to remaining actively involved in its
development. That said, I openly acknowledge that parts of the script were
assembled through trial and error, and I welcome collaboration to improve its
robustness, scalability, and usability. If you are interested in contributing
(whether by refining the code, expanding the database, or integrating the
extension into LibreOffice’s official distribution) I invite you to explore the
repository and reach out. Together, we can transform this proof of concept into
a polished, community-driven solution. This is my first open-source release,
and I find myself at a crossroads. The extension works, but I am uncertain
about the next steps for improving its robustness, ensuring its scalability, or
integrating it into LibreOffice’s broader ecosystem. I need the community’s
help to move forward. Whether it is refining the code, optimizing performance,
or expanding functionality, your expertise would be invaluable. I look forward
to your feedback and collaboration. Respectfully, Loek/ルーク/卢克 Loek van Kooten,
Japanese/Chinese/English-Dutch game translator Rumi Tasaki,
English/Dutch-Japanese game translator www.loekalization.com Your Japanese,
Chinese, Korean, English and Dutch game localization specialist Powered by
CATTITUDE, our very own CAT tool -- Crown Business Center Paviljoen B, Unit
B-19/20 Pompoenweg 9 2321 DK Leiden The Netherlands Tel: +31-6-10895993 VAT ID:
NL803534371B01 Chamber of Commerce reg. no.: 28066372