DualVector: Unsupervised Vector Font Synthesis with Dual-Part Representation

Ying-Tian Liu, Zhifei Zhang, Yuanchen Guo, Matthew Fisher, Zhaowen Wang +1 more
5/1/2023

No official code found. Best implementation: thuliu-yt16/dualvector (37 stars, MIT, last commit 2024-03-14).

Abstract

Automatic generation of fonts can be an important aid to typeface design. Many current approaches regard glyphs as pixelated images, which present artifacts when scaling and inevitable quality losses after vectorization. On the other hand, existing vector font synthesis methods either fail to represent the shape concisely or require vector supervision during training. To push the quality of vector font synthesis to the next level, we propose a novel dual-part representation for vector glyphs, where each glyph is modeled as a collection of closed “positive” and “negative” path pairs. The glyph contour is then obtained by boolean operations on these paths. We first learn such a representation only from glyph images and devise a subsequent contour refinement step to align the contour with an image representation to further enhance details. Our method, named DualVector, outperforms state-of-the-art methods in vector font synthesis both quantitatively and qualitatively. Our synthesized vector fonts can be easily converted to common digital font formats like TrueType Font for practical use. The code is released at https://github.com/thuliu-yt16/dualvector.

View on arXivView PDF

Code Implementations(1)

MIT

Code release for DualVector: Unsupervised Vector Font Synthesis with Dual-Part Representation (CVPR 2023)

374Python, JavaScriptMar 15, 20232 years agoMIT

Similar Papers

Cite this paper

@article{liu2023dualvector,
  title  = {DualVector: Unsupervised Vector Font Synthesis with Dual-Part Representation},
  author = {Ying-Tian Liu and Zhifei Zhang and Yuanchen Guo and Matthew Fisher and Zhaowen Wang and Songiie Zhang},
  year   = {2023},
  eprint = {2305.10462},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/pdf/2305.10462},
  journal = {CVPR 2023 2023}
}

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/2305.10462.svg)](https://codeofpaper.com/paper/2305.10462)

Discussion