Customize Amazon Kindle Keyboard fonts with jailbreak

With the Jailbreak, you can also customize the fonts in your Kindle device. This post will walk you through the steps on how to customize your Kindle device fonts.

Install custom fonts hack
  1. Jail break your Kindle device.
  2. Download (for Kindle 2, DX) or (for Kindle 3/ Keyboard) file depends on the Kindle device you have.
  3. Un-zip the file.
  4. Connect your Amazon Kindle device to your PC using USB cable.
  5. According to your Kindle device version, copy the appropriate
  6. update_fonts_4.9.N_[kindle version]_install.bin file to the root of your connect Kindle. For more information of the definition of the bin files, refer to the Definition of fonts hack files section.
  7. Copy the linkfonts folder under the src folder to root of your connected Kindle.
  8. Disconnect your Kindle device from your PC.
  9. Go to Home > Menu > Settings > Menu > Update Your Kindle.
To customize fonts
  1. Refer to Fonts files naming scheme section. This will tells you which font file name will be used in various sections in your Kindle device.
  2. Rename your preferred fonts according to the naming scheme. Refer to the Fonts file naming scheme section for more information.
  3. Connect your Amazon Kindle device to your PC using USB cable.
  4. Copy your preferred fonts to fonts folder located under linkfonts folder. The copy will overwrite the default fonts comes from the fonts hack.
  5. Disconnect your Kindle device from your PC.
  6. Go to Home > Menu > Settings > Menu > Update Your Kindle.
Important Notes
  • The default fonts installed by the hack are the usual non-cjk unicode fonts (Droid Sans, Droid Serif & DejaVu Sans Mono), with the addition of the CJK-aware Droid Fallback if you're on FW 3.x.
  • By default, Kindle jail break has the autoreboot feature enabled. Create a blank file with the name "reboot" in the linkfonts folder. Your Kindle device will autoreboot after 10s after USB cable has been unplugged.
  • There's also two new custom fonts used for rendering non-latin scripts. CJK.ttf, like the name implies, is used to render Chinese/Japanese/Korean scripts. After that, there's I18N.ttf, which is used as a fallback. By default, the hack uses the DejaVu Sans font. While it's far more pretty than the vanilla fallback font usually used (code2000), it does seem to support a lot less different types of scripts. Long story short, if you have weird non-latin rendering issues, those are the two fonts you should look at ;).
  • If you don't use the autoreboot feature (for exemple if you removed the autoreboot file in the linkfonts folder), you'll have to do at least a framework restart each time you change the fonts. If you have no means of doing a framework restart (ie. via usbnetwork), you'll have to do a full restart via the Settings menu, or by holding the power switch for ~15 seconds). Do note that the autoreboot & Restart methods are both way cleaner (and possibly safer) than the physical hard-reboot (which basically just plugs the battery off for a little while, which explains why your Kindle needs to be unplugged from any power source for this to work).
  • Be careful, if you miss a font, the hack won't be applied, so you shouldn't have any problem, but if for some reason, the Kindle software doesn't like one of your custom font, they'll be garbled, or invisible. Also, it may prevent you from actually _seeing_ the Settings page to do the restart. (And actually reading any books, also.) If that happens to you, try one of the three methods described earlier to reboot your Kindle. *If you want to avoid this kind of issue, use the autoreboot feature ;)* Also, *don't remove the other fonts found in the linkfonts/fonts folder*. We need them, and the hack won't be applied if they're missing.
Definition of fonts hack files
  • update_fonts_4.9.N_k2_install.bin - K2 US 
  • update_fonts_4.9.N_k2i_install.bin - K2 International 
  • update_fonts_4.9.N_dx_install.bin - Kindle DX US 
  • update_fonts_4.9.N_dxi_install.bin - Kindle DX International 
  • update_fonts_4.9.N_dxg_install.bin - Kindle DX Graphite 
  • update_fonts_4.9.N_k3g_install.bin - Kindle 3 3G US 
  • update_fonts_4.9.N_k3w_install.bin - Kindle 3 WiFi 
  • update_fonts_4.9.N_k3gb_install.bin - Kindle 3 3G UK
Fonts files naming scheme
  • Sans_Regular.ttf
    Used in the Settings & Experimental page for the explanation texts. Also for the dictionary/note popups.
  • Sans_Bold.ttf
    Used in the menus, in the top & bottom panel, and as the collection title when browsing a collection, and the inline text in the book & collection browsers (ie. the 'delete this item' stuff & co)
  • Sans_Italic.ttfUsed alongside with Sans_Regular or Sans_Bold.
  • Sans_BoldItalic.ttf
    Used in the book list, for the collection names
  • Serif_*.ttf
    Used in the reader, that's the font family your books will be rendered with.
  • Serif_Bold.ttf
    Used in the book & collection browser for the book title & author.
    Note: For FW 3.x and above, Serif_Regular is used instead.
  • Mono_*.ttf
    Used in the browser and might be used in the reader when reading raw text file or html files depending on styling.
Since v3.8.N, on FW 3.x:
  • CJK.ttf
    Used for Chinese/Japanese/Korean scripts.
  • I18N.ttf
    Last fallback for non-latin & non-cjk scripts.
References or Credits: