Handwriting to font, 2026
Kaker Theng
Turns your handwriting into a Bangla and English font, with vowel signs, reph and conjuncts placed correctly.
- Role
- Solo developer
- Type
- Handwriting to font, 2026
- Status
- Live

- Problem
Bangla is not written in the order it is typed. A vowel sign typed after its letter can be written before it or split around it, a ra before a hasanta climbs on top of the next letter, and conjuncts fuse two or three letters into one shape. A font that only maps each key to a picture of a letter gets all of this wrong.
- What I built
The font keeps the layout tables of Noto Sans Bengali and replaces only the outlines and advance widths with yours, so HarfBuzz, and every browser and word processor, does the reordering, reph, phala and conjuncts exactly as it does for Noto. Which glyph each drawn letter fills is decided by shaping, not by hardcoded glyph names. Conjunct parts are cut from your own letters, and each kind of cut is first replayed on Noto's letters and kept only if it reproduces them. Spacing comes from your ink: the 200 most common clusters are shaped with the new font and widened where they collide. There are no accounts and no database, and a session's drawings are deleted after an hour.
- How it works
- 1Draw each letter in the browser, or photograph a printed template
- 2Strokes are widened and merged; a photo is straightened by its ArUco corners and traced
- 3One transform puts every letter on the same baseline and headline
- 4Shaping decides which glyph each letter fills in Noto Sans Bengali's layout tables
- 5Conjunct parts and spacing are derived from the letters you drew
- 6A TTF and WOFF2 to download, with a font sheet and a share card
- Result
Deployed and free to use on a phone or a computer. With every cell filled, a font it makes renders 99.4% of the consonant clusters in 28.0 million words of Bangla Wikipedia, and the fonts it makes are released under the SIL Open Font License.
- Stack
Python, FastAPI, Next.js, HarfBuzz, fontTools, OpenCV