How can I globally disable ligatures?

I love the Linux Biolinum G and Linux Libertine G fonts, but the ligature handling is buggy, and I need some way to be able to make absolutely sure that it’s completely turned off, 100%, for a complete document (and ideally for any documents LO generates).

The problem is that I’m using LO to create papers to upload to the web as exported PDF files. With ligatures on, the machine-readable text version of the PDF document (used by Google, etc) doesn’t cleanly revert to the original text, and makes it look as if the document is full of childish spelling mistakes. This is “not a good look” on websites that let you upload PDFs and then show them as HTML-ised versions!

Sure, there’s the :-liga option at the style and local formatting levels … but it doesn’t always work properly. I’m looking at a PDF document right now that’s been set under LO with “Linux Libertine G:-liga”, and while most of the ligatures are correctly missing, the fi ligature seems to have snuck through - the text version of the PDF document still insists on showing every instance of “fi” as “fii”

This is making my life diffiicult, and I’m fiinding it really annoying. If there’s no reliable way to completely disable ligatures in PDF fiiles, and the -liga fiix can’t be relied on, then I’ll have to stop using the new fonts and fiind some other alternative font.

There is a global rule: a feature in a program doesn’t work as intended (e.g., a switch to disable something doesn’t work reliably for all cases) → it’s a bug which needs to be filed and fixed.

Development in Linux Libertine/Biolinum G stopped in 2012. Consider using the most modern Libertinus Fonts instead: both projects are forks of the same original font (also unmaintained), but Libertinus is actively maintained, is as bug-free as a font can be and have tons of new features.

Speaking of features, there are three types of ligatures: standard, contextual and required. You need to disable all of them if you don’t want any ligature in your document. But in addition to that, Linux Libertine/Biolinum G comes not only with OpenType tables, but with Graphite tables too, and many functions are duplicated on both tables. So, my advice: avoid using Linux Libertine/Biolinum G, they are too buggy and unmaintained, and move to Libertinus Serif/Sans instead.

If you still have problems or for any reason want to disable all three kinds of ligatures, standard, contextual and required, you need to use

Libertinus Serif:-liga&-clig&-rlig

as font name in your style.


For an introduction on the use of OpenType in LibreOffice, you can check my free book about Writer.

There are a few “legacy” ligatures which have standard Unicode code points which are present in most fonts.
LibreOffice uses AutoCorrect to replace the characters such as ff with these single ligature characters.
That is where you are getting these other ligatures even after you turn-off the OpenType ligatures.

To totally turn-off the ligatures you also need to delete the AutoCorrect entries.

Keep in mind that AutoCorrect has already replaced the characters.
You will have to go back and change them back to multiple characters.
Search and Replace.

It really does not make sense to have these AutoCorrect ligatures when using OpenType fonts.

Another way to selectively disable ligatures is to insert a zero-width-non-breaking-space between the characters.

Please check the checkmark at left if this answered your question.
.