Few-shot Font Generation

Few-shot Font Generation with Localized Style Representation and Factorization

People (*: equal contribution)

Song Park1*, Sanghyuk Chun2,3*, Junbum Cha3, Bado Lee3, Hyunjung Shim1

1 School of Integrated Technology, Yonsei University 2 AI LAB, Naver Corp. 3 Clova, NAVER Corp.


[paper] [code]


Automatic few-shot font generation is a practical and widely studied problem because manual designs are expensive and sensitive to the expertise of designers. Existing few-shot font generation methods aim to learn to disentangle the style and content element from a few reference glyphs, and mainly focus on a universal style representation for each font style. However, such approach limits the model in representing diverse local styles, and thus makes it unsuitable to the most complicated letter system, e.g., Chinese, whose characters consist of a varying number of components (often called “radical”) with a highly complex structure. In this paper, we propose a novel font generation method by learning localized styles, namely component-wise style representations, instead of universal styles. The proposed style representations enable us to synthesize complex local details in text designs. However, learning component-wise styles solely from reference glyphs is infeasible in the few-shot font generation scenario, when a target script has a large number of components, e.g., over 200 for Chinese. To reduce the number of reference glyphs, we simplify component-wise styles by a product of component factor and style factor, inspired by low-rank matrix factorization. Thanks to the combination of strong representation and a compact factorization strategy, our method shows remarkably better few-shot font generation results (with only 8 reference glyph images) than other state- of-the-arts, without utilizing strong locality supervision, e.g., location of each component, skeleton, or strokes. The source code is available at https://github.com/clovaai/lffont.

Problem definition

Overview of few-shot font generation tasks. The few-shot font generation task aims to generate a full font library (19,514 characters in our Chinese generation scenario) with a coherent style with only very few references (8 glyphs in our experiments)

Architecture of LF-Font

Overview of Proposed Model (LF-Font). LF-Font consists of three parts, style encoding, content encoding, and generation. The style encoding part extracts rich and localized "component-wise style features" from the reference images. The content encoding part extracts a content representation, which represents the global structure of the source image. Finally, LF-Font generates a target glyph which has the reference style and the source character by combining the component-wise style features and the content representation.


Comparison with previous works. The results of LF-Font are reported in the bottom row. LF-Font performs remarkably better than all other methods.


Number of reference images vs. Performance

Style Interpolation

Extension to Other Languages