Skip to main content
MapToPoster supports displaying city and country names in any language, including non-Latin scripts like Japanese, Arabic, Korean, Thai, Chinese, and more. Fonts are automatically downloaded from Google Fonts and cached locally.

Overview

The multilingual system provides:
  • Custom display names for city and country in any language
  • Automatic font downloading from Google Fonts catalog
  • Local font caching to avoid repeated downloads
  • Script detection for proper typography (Latin vs. non-Latin)
  • Fallback handling for missing fonts

Basic Usage

Display Names

Use --display-city and --display-country to override the displayed text:
The -c and -C flags are still required for geocoding (finding the city location). The display flags only change what appears on the poster.

Custom Fonts

Specify any font from Google Fonts using --font-family:
The font is automatically:
  1. Downloaded from Google Fonts API
  2. Cached in fonts/cache/
  3. Loaded for text rendering

Language Examples

Recommended Fonts:
  • Noto Sans JP (modern, clean)
  • Noto Serif JP (traditional, elegant)
  • M PLUS Rounded 1c (rounded, friendly)
  • Zen Kaku Gothic New (contemporary)
Other Cities:

Typography Behavior

Script Detection

The tool automatically detects whether text is Latin or non-Latin: Latin Scripts (English, French, Spanish, etc.):
  • Letter spacing applied for elegant aesthetics
  • Example: “P A R I S” (spaces between letters)
Non-Latin Scripts (Japanese, Arabic, Thai, etc.):
  • Natural spacing preserved
  • Example: “東京” (no artificial gaps)
This ensures proper typography for all languages without manual configuration.

Text Positioning

All text is positioned using normalized coordinates:

Font Management

Automatic Caching

Fonts are cached in fonts/cache/ after first download:

Manual Font Installation

You can also manually place fonts in fonts/cache/:
  1. Download .ttf file from Google Fonts
  2. Place in fonts/cache/ directory
  3. Use the font family name with --font-family

Finding Google Fonts

Browse available fonts at fonts.google.com:
  1. Filter by language/script
  2. Copy the font family name
  3. Use exact name with --font-family
Font names are case-sensitive and must match exactly as shown on Google Fonts.

Complete Examples

Japanese with Custom Theme

Arabic with Multiple Flags

Korean with All Themes

Chinese with Custom Coordinates

Troubleshooting

Ensure the font name matches exactly as shown on fonts.google.com. Font names are case-sensitive.
Make sure the font you selected supports the script you’re using. Check the font’s supported languages on Google Fonts.For example:
  • Use “Noto Sans JP” for Japanese (not “Roboto”)
  • Use “Cairo” for Arabic (not “Open Sans”)
  • Use “Noto Sans KR” for Korean
This is normal for Latin scripts. The tool applies letter spacing for aesthetics (“P A R I S”).For non-Latin scripts, spacing is not applied. If you see unwanted spacing in Japanese/Arabic/etc., the tool may be incorrectly detecting the script. File a bug report.
If font downloads fail:
  1. Check your internet connection
  2. Verify the font exists on Google Fonts
  3. Try downloading manually and placing in fonts/cache/
  4. Check the font file name matches the pattern: Font_Name-Regular.ttf
The tool is designed for Google Fonts integration. To use system fonts:
  1. Copy the .ttf file to fonts/cache/
  2. Use the font family name with --font-family
Note: The tool expects TrueType fonts (.ttf format).

Font Recommendations by Script

Next Steps

Theme Gallery

Explore all 17 built-in themes

Advanced Examples

See complex multilingual examples with custom coordinates