I use English as my default language and I can change the system font just fine, but I also use Thai language and I don't like the current font how can I change it ?
Great to see a fellow Thai in here.
Now as for the font, I assume you want to change it to Thai serif font. Elementary OS come with both san-serif and serif Thai fonts. All you need to do is change the default font from san-serif to serif. And you can do that by copying these font files:
~/.local//share/fonts/ and then refresh font caches with command
fc-cache in the terminal.
You can use
fc-match :lang=th to check if your font is registered.
Although I haven't test it yet, this method should work with other fonts too.