ControlText: Unlocking Controllable Fonts in Multilingual Text Rendering without Font Annotations

Bowen Jiang, Yuan Yuan, Xinyi Bai, Zhuoqun Hao, Alyson Yin +4 more
2/16/2025
cs.CVcs.AIcs.CL

No official code found. Best implementation: bowen-upenn/ControlText (36 stars, Apache-2.0, last commit 2025-04-03).

Abstract

This work demonstrates that diffusion models can achieve font-controllable multilingual text rendering using just raw images without font label annotations.Visual text rendering remains a significant challenge. While recent methods condition diffusion on glyphs, it is impossible to retrieve exact font annotations from large-scale, real-world datasets, which prevents user-specified font control. To address this, we propose a data-driven solution that integrates the conditional diffusion model with a text segmentation model, utilizing segmentation masks to capture and represent fonts in pixel space in a self-supervised manner, thereby eliminating the need for any ground-truth labels and enabling users to customize text rendering with any multilingual font of their choice. The experiment provides a proof of concept of our algorithm in zero-shot text and font editing across diverse fonts and languages, providing valuable insights for the community and industry toward achieving generalized visual text rendering. Code is available at github.com/bowen-upenn/ControlText.

View on arXivView PDF

Code Implementations(1)

Apache-2.0

ControlText: Unlocking Controllable Fonts in Multilingual Text Rendering without Font Annotations

361CSS, ShellSep 27, 20241 years agoApache-2.0
diffusion-modelsfont-editingtext-editingtext-to-imagevision-and-language+1 more

Similar Papers

Cite this paper

@article{jiang2025controltext,
  title  = {ControlText: Unlocking Controllable Fonts in Multilingual Text Rendering without Font Annotations},
  author = {Bowen Jiang and Yuan Yuan and Xinyi Bai and Zhuoqun Hao and Alyson Yin and Yaojie Hu and Wenyu Liao and Lyle Ungar and Camillo J. Taylor},
  year   = {2025},
  eprint = {2502.10999},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2502.10999v2}
}

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

Discussion