Skip to content

mabugis/Folent

Repository files navigation

Folent

gif

Linearly interpolate between any two .ttf fonts.

What it does

Upload two font files and watch them morph into each other. The slider controls the interpolation between 0% (first font) and 100% (second font).

You can enter different text for each font, and Folent will interpolate both the font shapes and the characters themselves. If the texts have different lengths, the remaining characters only interpolate the font.

Features

  • Real-time font interpolation preview
  • Dual text inputs (one per font)
  • Full character grid showing all common glyphs
  • Export interpolated SVG Font (compatible with Glyphr Studio)
  • Export individual character interpolations as SVG

Setup

npm install
npm run dev

Open http://localhost:5173 in your browser.

How it works

Folent parses .ttf files with opentype.js, extracts glyph paths, and uses flubber to interpolate between the vector shapes. It handles:

  • Mismatched subpath counts (pads with degenerate paths)
  • Different winding orders (normalizes direction)
  • Complex symbols with multiple components (proximity-based matching)

The interpolation happens per-character, so each glyph gets its own morph animation.

Tech stack

  • React + TypeScript
  • Vite
  • opentype.js (font parsing)
  • flubber (shape interpolation)
  • Tailwind CSS

License

MIT

Releases

No releases published

Packages

 
 
 

Contributors