The problems may depend on font face, font size, and rendering engine. What you can do about this is to set input { font-size: 100% }
, which overrides the common defaults in browsers—they use a font size reduced by about 10% for input
elements. This rule alone fixed the problem when testing on Firefox in Windows 7 (which otherwise exhibited the problem described in the question).
On IE 11, the problem appears much worse: the Khmer characters are really unreadable (about 1mm tall), and the font size setting does not help much. The reason seems to be that IE uses a different font. Adding input { font-family: Khmer UI }
fixed this. But this of course depends on the existence of a suitable font in the system. Your mileage will vary, but setting font size to 100% and font family to a suitable font (the same is that used for normal text if it works OK) for input
elements probably fixes the problem locally.
On web pages, the situation is much more complicated. Khmer characters are still very rarely found in fonts—the odds are that a user’s system has no font that supports them. (According to Fileformat.info data on this, only two fonts have Khmer characters: Code2000 and GNU unifont. There are some more, but they are most probably fonts that users would need to download and install, rather than anything shipped with an OS.) So it seems that the only practical approach is to use a downloadable font, such as the Google font Khmer. Deploy it according to Google’s instructions and set it for both Khmer content in normal text and for input
(and set size to 100%).