Can I create ligatures as I type?

If I type :fi: this is auto-corrected to the fi ligature. Is there a way to create a ligature such as this without having to type surrounding colons?

I have followed your suggestions, I think correctly. My font is now set to Times New Roman:dlig . However, when I type I still do not produce ligatures. Is it relevant that my system is Windows 8.1? Is there some way that I can send you information about my settings?

I checked the version of Times New Roman which came with Win8.1 and it has those same ligatures.
What version of LibreOffice are you using?
OpenType support came in with v5.3.

Also is the text showing that it has been assigned the style you modified?

Check that the style is actually modified - did you click the OK button when done modifying it?
Clicking Apply will show what it is going to look like, but clicking OK actually saves it.

I am using LibreOffice version My Default Style (and yes, I have clicked OK) shows the font as Times New Roman.dlig, as does a text document. A new Writer document opens with the font Times New Roman.dlig . Perhaps there is a bug that needs to be reported. How should I do that? If you send me an email address I can forward some examples.

I am using the same version of LO.
I do not see any bug to report.
Above you twice say the font shows as: Times New Roman.dlig
The separator should be a colon character: Times New Roman:dlig
Is that the problem?

Sorry. The font shows (I just checked) as Times New Roman:dlig . Can I ask you to type, using that font, some text including ‘fi’ and ‘fl’ and tell me if it produces ligatures on your system?

You can see the ligatures produced in my screenshot below.
And, yes, it changes automatically as I type.

This depends upon the font used. Some of them have auto-replacement of fi, ff and other pairs by the ligature. Others need activation of the feature by adding an option to the font name. And, of course, others do not contain the ligatures.

For more information, edit your question to provide the font name you use (and add also OS and LO version)

To show the community your question has been answered, click the ✓ next to the correct answer, and “upvote” by clicking on the ^ arrow of any helpful answers. These are the mechanisms for communicating the quality of the Q&A on this site. Thanks!

Times New Roman has OpenType Discretionary Ligatures for: Th ffi ffl ffj ff fi fl fj
So if you enable Discretionary Ligatures it will happen automatically.
In your style add :dlig to the end of the font name.
Like this Times New Roman:dlig
Then the replacements will happen automatically.

Edit to add styles info…

Modify the Paragraph text style you are using and set the font to: Times New Roman:dlig
Open the right sidebar by pressing F11.
Then click on the AA button for the styles.
Right click on Default Style and then click on Modify.
In the Paragraph Style dialog select the Font tab.
Select the font you want and then add :dlig to the name.
Click the Apply button to see the result.
You can see below the ligatures have been applied to the text.

You can apply this to any style, for example to the Text Body style.
I use it to remove ligatures from Heading styles - Lato:-liga

If this answered your question please check the checkmark at left.


I’m new to LibreOffice so need more help. I have gone to Options - LibreOffice - Fonts and in the Replacement Table I have ticked Always replace Times New Roman with Times New Roman:dlig . I then ticked Apply replacement table, and Apply. But when I type a new document Times New Roman ligatures are not created for ‘fi’, ‘fl’, etc. So I think I need some more advice. Thanks in advance.

I added a screenshot and some explanation above.

As @ajlittoz mentioned, many fonts have the feature of using the ligatures automatically. However, not all; the existing autocorrect patterns include several :xy: patterns converting into ligatures.

But AutoCorrect rules allow replacement inside words - look for .* in the help topic. So something like .*fi.* should work for the replaced pattern.

I am using the Times New Roman font. It appears to require colons before and after ‘fi’ to create the ligature.

Please transfer this additional info into your question (use the edit link) because it is no solution to your problem, but mere technical detail.