Custom Fonts on the XTEink v3

I wanted Bookerly on my XTEink v3 instead of the stock fonts. Turns out getting a font onto an e-ink reader properly is fussier than just dropping a .ttf on it.

Picking the right files

A typical font family download comes with far more than you need. For a small 3.7 inch e-ink screen you only want four styles: Regular, Bold, Italic, and Bold Italic, in .ttf or .otf.

Everything else is dead weight:

  • Light variants are too thin to read cleanly on e-ink.
  • Display variants are built for large print, not body text.
  • Web fonts (.woff, .woff2, .eot, .svg) won’t help you here.
  • License files, obviously, aren’t fonts at all.

Converting with the XTE app

The XTEink v3 screen is 259ppi at 3.7 inches, and the XTE app has settings tuned for that.

Font size 27 is the starting point. If that reads too large, drop to 24.

Stroke darkness goes to Semi. Anything lighter washes out on e-ink, and Semi keeps the strokes crisp without bleeding.

The export format matters more than I expected. It has to be .bin. I assumed .xtc would work since it’s also an XTE format, but the firmware reads .xtc as an e-book file, not a font. Get that wrong and the device just shows you a broken book.

Getting it onto the device

Once the font’s converted, push it over with the XTE app, then on the device itself:

  1. Run a Cloud Sync. This is the step that actually makes the device register the new files, not just copy them over.
  2. Go to the home screen, then Folder.
  3. Find the new font file.
  4. Press and hold Confirm on it to set it as the active reading font.

Skip the Cloud Sync and the file sits there but never gets picked up.

Using it in a book

The last step is per-book, not global:

  1. Open a book.
  2. Hold Confirm to bring up the reader settings.
  3. Go to Fonts.
  4. Pick the custom font under External.

Four short steps, but easy to miss if you’re expecting the font to just apply everywhere once it’s on the device. It doesn’t. Every book you open needs the font selected under External the first time.