Updated 28-Jun-2024
One challenge for using Thai script on a computer is that Thai characters are more vertical than roman alphabet characters. If one is mixing roman and Thai characters in a document, the Thai characters tend to be much smaller (and therefore illegible if the roman characters are optimized for space and legibility). The reason for this is that Thai characters, along with vowel markers, tone marks, and the silent marker can stack above and below a character, which means they are generally much taller than Roman (Latin) and other alphabet systems.
- Update - see this collection of open source and free Thai fonts, including most of the fonts listed below.
A good (bad) example is the very legible source code editing font Hack which does not have Thai character support. This means the operating system substitutes the Thai system font, which makes reading difficult. The best that can be done is increasing the font size and decreasing the line height and the line length. This can make the latin characters less legible.
Fonts with Good Thai and Roman Character Support
When this post was first created in Nov. 2013 there were three fonts that I focused on. Those fonts listed were:
- Linux Libertine
- TH Charmonman
- TH Fah kwang
Since then we've gone on to create a large collection of open source and free Thai fonts, so there are more to choose from, as well as a few more added from additional sources (all open source or at least free to use).
Good support for English and Thai
- Arundina Sans an original SIPA project which has been extended by TLWG
- Garuda part of the NECTEC/TLWG release
- Linux Libertine from the Libertine Open Fonts Project
- Noto Sans Thai a Google Font
- Mitr by Cadson Demak (Available on Google Fonts)
- Prompt by Cadson Demak (Available on Google Fonts)
- Waree, aka Thai Waree, another TLWG font
- Itim a Cadson Demak font
- Sawasdee a Cadson Demak font
- Sriracha a Cadson Demak font
- TH Charmonman a DIP/SIPA Govt font
- TH Fah kwang a DIP/SIPA Govt font
Note that all the fonts listed above with the exceptions of Linux Libertine, Arundina Sans, and Waree are available in the Free Thai font collection. We will be adding Arundina and Waree to the Thai Font Collection in the next month or two.
A Note on Linux Libertine
Linux Libertine continues to amaze as a one of the most successful open source truetype font projects has excellent Thai character support. Actually, Linux Libertine has zero Thai character support, but the default Thai font substitution works well with Linux Libertine.