Skip to content
Documentation

Custom Fonts

Upload and manage team-scoped fonts for proper text rendering in your merged PDFs. Essential for Unicode and CJK text support.

Why custom fonts?

By default, Mergram uses Inter for Latin text and includes a Unicode fallback for common characters. However, some scripts and special characters require dedicated fonts. Uploading custom fonts ensures every character in your data renders correctly in the merged PDF.

When do you need a custom font?

Upload a custom font when your data contains CJK characters (Chinese, Japanese, Korean), Arabic or Hebrew script, special symbols, or when your brand requires a specific typeface that is not available in the default font list.


Prerequisites

  • A font file in TTF, OTF, WOFF, or WOFF2 format
  • Permission to use the font (check the font’s license for commercial use)
  • A Mergram account with team access

Font licensing

Ensure you have the appropriate license to use and embed the font in generated PDFs. Many open-source fonts (Google Fonts, SIL Open Font License) permit embedding. Commercial fonts may require a specific license for server-side rendering.


Uploading Fonts

  1. Open Font Management

    Go to Assets → Fonts in the sidebar.

  2. Upload a font file

    Click Upload Font and select a .ttf, .otf, .woff, or .woff2 file from your computer. Give the font a recognizable name.

  3. Use in the editor

    When editing a text field on the canvas, the uploaded font appears in the font picker dropdown. Select it to apply it to that field.

Recommended fonts for CJK

For Chinese, Japanese, and Korean text, use Noto Sans CJK (available in SC, TC, JP, KR variants). For Arabic, use Noto Sans Arabic or Amiri. These fonts have comprehensive Unicode coverage and are available under the SIL Open Font License.


Supported Formats

FormatExtensionNotes
TrueType.ttfMost common, widely supported
OpenType.otfSupports advanced typography
WOFF.woffWeb-optimized OpenType/TrueType
WOFF2.woff2Better compression than WOFF

Unicode & CJK Support

Custom fonts are essential for proper rendering of:

  • CJK characters — Chinese (Simplified & Traditional), Japanese, Korean
  • Arabic and Hebrew — Glyphs render correctly with a compatible font, but text direction remains left-to-right
  • Special symbols — Mathematical, currency, and technical symbols
  • Accented characters — Vietnamese, Thai, and other complex scripts

Storage

Font files are stored securely alongside your team data. On self-hosted deployments, fonts are stored in your configured S3 bucket or local filesystem.


Managing Fonts

  • View all fonts — See all uploaded fonts in Assets → Fonts
  • Delete fonts — Remove fonts no longer needed (does not affect existing templates that use them)
  • Team-scoped — Fonts are shared across your team; all members can use them

Deleting fonts

Deleting a font does not break existing templates — they retain a reference to the font name. However, merges using that font will fall back to the default Inter font until a replacement is uploaded.


Best Practices

  • Upload complete font families — If your design uses Regular, Bold, and Italic variants, upload all three so each variant renders correctly
  • Test with real data — After uploading a font, preview a few rows with your actual data to verify all characters render properly
  • Use widely compatible formats — TTF and OTF have the best compatibility. WOFF2 is also well-supported
  • Keep fonts organized — Use clear names like NotoSansCJK-Regular or BrandFont-Bold to make selection easy in the editor

Limitations

  • No variable fonts — Variable font (.ttf or .otf with axes) support is limited. Use static instances when available
  • No font subsetting — The full font file is embedded. Large CJK fonts may increase output PDF file size
  • No RTL layout — Text direction is left-to-right. Arabic and Hebrew text is rendered with proper glyph shaping but does not reverse word order
  • 10 MB upload limit — Individual font files must be under 10 MB
  • Deletion requires owner or admin role — Only team owners and admins can delete fonts. All team members can upload and use fonts