WriteViT: Handwritten Text Generation with Vision Transformer

Dang Hoai Nam, Huynh Tong Dang Khoa, Vo Nguyen Le Duy
5/19/2025
cs.CVcs.LG

No official code found. Best implementation: hnam-1765/WriteViT (23 stars, MIT, last commit 2026-03-19).

Abstract

Humans can quickly generalize handwriting styles from a single example by intuitively separating content from style. Machines, however, struggle with this task, especially in low-data settings, often missing subtle spatial and stylistic cues. Motivated by this gap, we introduce WriteViT, a one-shot handwritten text synthesis framework that incorporates Vision Transformers (ViT), a family of models that have shown strong performance across various computer vision tasks. WriteViT integrates a ViT-based Writer Identifier for extracting style embeddings, a multi-scale generator built with Transformer encoder-decoder blocks enhanced by conditional positional encoding (CPE), and a lightweight ViT-based recognizer. While previous methods typically rely on CNNs or CRNNs, our design leverages transformers in key components to better capture both fine-grained stroke details and higher-level style information. Although handwritten text synthesis has been widely explored, its application to Vietnamese -- a language rich in diacritics and complex typography -- remains limited. Experiments on Vietnamese and English datasets demonstrate that WriteViT produces high-quality, style-consistent handwriting while maintaining strong recognition performance in low-resource scenarios. These results highlight the promise of transformer-based designs for multilingual handwriting generation and efficient style adaptation.

View on arXivView PDF

Code Implementations(1)

hnam-1765/WriteViTCommunity100%
MIT
234PythonMay 17, 20257 months agoMIT

Similar Papers

Cite this paper

@article{nam2025writevit,
  title  = {WriteViT: Handwritten Text Generation with Vision Transformer},
  author = {Dang Hoai Nam and Huynh Tong Dang Khoa and Vo Nguyen Le Duy},
  year   = {2025},
  eprint = {2505.13235},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2505.13235v1}
}

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

Discussion