The LKLUG_T font is an unhinted Sinhala script OpenType Unicode-encoded font targeted at Pali. In particular, it is intended to render the spelling used in the 2006 edition of the Tipitaka published by the government of Sri Lanka.

The font is probably inadequate for Sanskrit.

The font was created so that Sinhala script Pali entries in the English Wiktionary can be read properly. It may be viewed as a sticking plaster for the deficiencies in coverage of the Windows 10 font Nirmala UI, which does not support touching letters at all. At large sizes, deficiencies in the 'artwork' of the glyphs of LKLUG_T become apparent.

The font has been cobbled together from Version 0.6 of the LKLUG font. The '_T' indicates that it supports touching letters. It is an OpenType font that at the time of writing appears to work with HarfBuzz renderers (and so Chrome, Firefox and LibreOffice) and with Internet Explorer Version 11 on Windows 10. There might be gaps in coverage, but the basic functionality of touching letters and of the conjuncts used for Pali is present and functioning.

Licensing and Downloading

The font is licensed under Version 2.0 of the GNU General Public License. Note that any files that embed the font, such as PDFs, may be considered as also being covered by the licence.

The font file itself is available here. There is also a WOFF form, covered by the same licence.

As far as the author is confirmed, the font file of the Version 0.6 LKLUG font is the initial source of the font. I have decompiled it to the file lkl1.txt, which is zipped up with the source from which I generated the font, lklugt.txt. The zip file lklugt.zip contains the files lkl1.txt, lklugt.txt and lklugt.ttf.

Version 0.6 of the LKLUG was taken from Version 0.6-3 of the Ubuntu 16.04 (Xenial) distribution package fonts-lklug-sinhala.

Changes from LKLUG

Touching Letters

The font supports all combinations of a Pali letter touching a following Pali letter or conjunct. Sequences of touching letters are also supported.


The LKLUG font already supported the Sanskrit conjunct ක්‍ෂ kṣ and the Pali conjuncts න්‍ද nd and න්‍ද්‍ර ndr as in ඉන්‍ද්‍රිය. The LKLUG_T font adds a further 6 conjuncts:

It also includes their ligatures with the vowels i, ī, u and ū.

Spacing Marks

Certain dependent vowels, namely U+0DCF, U+0DD0 and U+0DD1, are spacing following marks (Unicode general category Mc). The LKLUG font had classified them as marks, but on Windows 10 at least, this causes them to be overwritten by an immediately following letter. (Harfbuzz has not implemented this behaviour yet.) The solution implemented in LKLUG_T is simply to tag the glyphs as being base glyphs, as opposed to mark glyphs.

Subsequent Changes

From 0.001 to 0.002

Some parameters are now calculated instead of being fixed.

There is no longer a character for U+FFFF.

Some glyphs were moved around because a rarely applied optimisation built too complicated a Windows cmap for AAT to understand!

The vowels u and ū now have appropriate shapes after vatu forms, for example as in the forms of the verb බ්‍රූති 'to speak'.

A provisional set of Arabic digits was added. They may be reduced in size in later versions. Their primary function is to serve as building blocks for U+EAE7, which stores the visual form of the font's version number.

Empty definitions were added to GSUB and GPOS for the default script.

An error in touching letter logic was corrected, so that kk is now represented by a touching pair.

The font now handles split matras in accordance with the old Microsoft specification for the Sinhakla script. This enables correct rendering of NFC vowels on Windows 7 and iPhone.

Building from Source

The font file was generated from its source file by the command

parse lklugt.txt lklugt.ttf

The command parse is part of the OpenType Font Tables Manipulator freely available at oft.html.