The following tables show the consonant forms in Ancient Khmer, the Ramkhamhaeng Script (also known as Sukhothai Script), and modern Thai. The final table shows transcription of the corresponding Sanskrit consonants.
Click on a Khmer consonant to see examples here and below.
Click on a Ramkhamhaeng consonant to see example here.
Notes
The characters are organised according to the traditional Sanskrit layout and are grouped as follows:
Group I: Velar
Group II: Palatal
Group III: Retroflex
Group IV: Dental
Group V: Labial
The columns are:
a: Plain
b: Aspirate
c: Voiced
d: Voiced Aspirate
e: Nasals
f: Semivowels
g: Sibilants
h: Others
These terms describe the Sanskrit pronunciation and often do not reflect Thai or Khmer pronunciation. They are explained in Notes On ... Consonant Order.
Empty boxes show that there is no character in a given script which corresponds to modern Thai, or (in the case of Ramkhamhaeng) that the character didn't appear in the original inscription. (In similar vein, the Ramkhamhaeng Inscription doesn't include the digits 3, 4, 8 or 9.)
Ancient Khmer characters are by Shuuranattha "Caphtaain" Ashvajayajitaare and extracted from this image Evolution of the Thai Script (Wikipedia) used under the Creative Commons Attribution-Share Alike 4.0 International licence. The photographs are from the Corpus des inscriptions khmères project and represents typical consonant forms of the 6th to the 12th century.
The Ramkhamhaeng script, which dates from 1292 CE, is shown using uvSOV's PhoKhunRam font which is licensed under the SIL Open Font License, Version 1.1. For information about the background of the Ramkhamhaeng Inscription see Wikipedia.
For further information on the evolution of Thai pronunciation, see J. Marvin Brown's AUA Thai Course (Reading), Appendix 2: Historical Explanations.