
XPoint v2.2.0: FreeType with BIG improvement on reading experience
Hello,
Following up on my earlier TTF/OTF post. That one was about getting custom fonts working. This is about making the text actually look good.
TLDR: You don't need AA anymore, the base quality of the font is great now thanks to FreeType and hinting.
Link: XPoint Release v2.2.0
I swapped the font engine for FreeType
The reader was drawing text with an old built-in font engine. On PSRAM boards (X4 Pro, and any other board with PSRAM) it now uses FreeType instead, which is what proper e-readers use. Same for you as a user: drop your .ttf or .otf into /fonts or /.fonts like before, and the text just looks better.
What changed for the better:
- Crisp, clean letters. The old way drew text in shades of grey and then messed with it to fake it into black and white, which made small text look smudged. Now it draws straight to black and white. Sharper letters, and it does less work doing it.
- Text lines up properly. Letters now sit neatly on the screen grid instead of wobbling slightly off it. This is most obvious on body text at the smaller reading sizes, which is where smudged text is hardest to read for a long session.
- Faster page turns. Fonts stay loaded between pages, so turning a page no longer re-reads the font you were already looking at.
This is the release I am happiest with, because it is the one that makes an actual difference to sitting down and reading. The fonts you already use will just look better.
What else is in the fork
Nine things only my fork has, made for the X4 Pro. They are on by default, they are not in the main Crosspoint, and they stay out of your way until you want them.
- Reading stats on the home screen. Per-book and overall stats, with a proper words-per-minute reading speed. Design credit to u/uxjulia.
- Reading Rhythm. See your reading sessions over time: when you read, how long you read, and how your pace changed. This one made me look at my own habits differently.
- An honest words-per-minute number. Most readers divide your word count by how long the page was on screen, which really means "how long until I got bored or interrupted." This one measures the actual time you spend on each page and smooths it out, the same way a Kindle does.
- Reading Achievement. Your milestones over time: books finished, pages turned, time read, longest session, and the days you actually sat down and read.
- Finished Books. A shelf of what you finished and how long each one took, so the books you gave up on stop sitting next to the ones you loved.
- Time left in the chapter. A live "47 min left" in the status bar, based on your real reading speed. Show it on the left, the right, or hide it.
- Time left and progress on every book cover. "42% - 2h 30m" right under each book in Recent books, so you know where you left off without opening anything.
- Frontlight side-swipe gestures (frontlight-equipped devices only): while reading, swipe up and down on the edges of the screen. Left edge changes the colour temperature (up is warmer, down is cooler), right edge changes brightness (up is brighter, down is dimmer), and sliding all the way down on the right turns the light off. Works whether or not you have touch controls on, and you can switch it off in Settings → Display.
- Configurable Home button. Short press, double press, and long press are three separate actions you can each choose in Settings → Controls.
Credit where it is due: the stats card design is u/uxjulia's CrossInk, and the Reading Rhythm, Reading Achievement, and Finished Books screens are ported from u/Sichroteph's YACP.
One more thing worth knowing: every release ships with a signed file that the device checks before it installs anything, so a corrupted or tampered update gets rejected instead of installed.