Basically, you don't have to meddle with the 'hacking' part of things anymore, it's pretty easy to switch fonts via USB. (Cf. https://www.mobileread.com/forums/showthread.php?t=88004
for the gory details).
The Kindle UI uses two fonts:
* a Serif (by default Caecilia, a semi-serif slab font): Used to render text in the books (and the bold style is also used for the book titles & authors in the Home screens)
* a Sans/Sans Serif (by default the horrible Helvetica): For most part of the UI. (Almost *every* part of the UI uses the bold style).
* There's also a Mono typeface, but I don't think it's used anywhere except in the Browser.
* AFAIK, there's also a special symbol font used for menu underline & cursors.
The Kindle runs on Linux, so all this (TrueType fonts) is rendered using the greyscale FreeType renderer. (Without the truetype bytecode interpreter). I'm not sure about the hinting level used though. If I get around to it sometime, I may try to tweak the freetype lib used to check that, provided the java framework doesn't explicitly configure that later.
If you need any more info, ask away