NIV: Neural Axis Variations for Variable Font Generation

Nadav Benedek, Ariel Shamir, Ohad Fried
6/3/2026
cs.CVcs.AIcs.LG

Official code: ndvbd/NIV (15 stars, last commit 2026-06-21).

Abstract

Variable fonts enable continuous variation of glyph geometry along semantic design axes such as weight, width, slant, and optical size. However, constructing a variable font from a static font remains a labor-intensive process requiring expert typographic design and manual specification of glyph variation data. We introduce NIV (Neural Axis Variations), a method that automatically converts a static font into a fully functional variable font. Given glyph outlines and a set of desired design axes, NIV predicts per-point displacements. The model operates directly on vector glyph geometry and employs a novel Property Embedding mechanism that captures interactions between multiple axes, enabling consistent multi-axis variation within a unified framework. We train NIV on a newly constructed dataset derived from variable Google Fonts, comprising over one million variation tuples. The resulting model generalizes across unseen code points, unseen font styles, high-complexity CJK glyphs, and even out-of-distribution handwriting inputs. The generated outputs are standard variable font files supporting continuous interpolation via existing rendering engines. To facilitate research, we release the dataset, the complete training and inference implementation, and trained models at https://github.com/ndvbd/NIV. Beyond typography, our approach demonstrates how structured geometric objects with continuous parametric variation can be synthesized using neural deformations.

View on arXivView PDF

Code Implementations(1)

ndvbd/NIVOfficial100%

NIV: Neural Axis Variations for Variable Font Generation

152PythonMar 28, 20264 months agoNOASSERTION
fontsgenaivariable-fonts

Similar Papers

Cite this paper

@article{benedek2026niv,
  title  = {NIV: Neural Axis Variations for Variable Font Generation},
  author = {Nadav Benedek and Ariel Shamir and Ohad Fried},
  year   = {2026},
  eprint = {2606.05261},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2606.05261v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2606.05261.svg)](https://codeofpaper.com/paper/2606.05261)

Discussion