Skip to main content

Fonts manager for matplotlib

Project description

中文文档

Python package PyPI version contributions welcome

mplfonts

The mplfonts is a Python package and command-line tool that allows you to manage your Matplotlib fonts. It provides an easy solution to the "tofu" problem that arises when plotting with CJK (Chinese, Japanese, Korean) languages.

Installation

You can use pip to install mplfonts.

$ pip install mplfonts

Quickstart

You can easily solve the "tofu" problem with a single command:

$ mplfonts init

After that, try using Matplotlib to plot an image with CJK text; it should display normally.

Now you can enjoy it.

Usage

This package not only solves the "tofu" problem, but also provides a convenient way to manage Matplotlib fonts. When you install mplfonts, it comes with several open-source CJK fonts, including:

  • Noto Sans Mono CJK SC
  • Noto Serif CJK SC
  • Noto Sans CJK SC
  • Source Han Serif SC
  • Source Han Mono SC

Once you have finished the initialization step, you can use the following code in your script to switch fonts:

from mplfonts import use_font

use_font('Noto Serif CJK SC')

# write your plotting code below

If you want to set up custom fonts, you can install them with the following command:

$ mplfonts install --update <your font file path>

Furthermore, you can install all the fonts in a directory by running the following command:

$ mplfonts install --update <your directory path>

Unsure of which fonts are available? No problem, simply use the command mplfonts list to see a list of all available fonts.

$ mplfonts list
DejaVu Sans Display:
/Users/clarmylee/Miniconda3/envs/mplfonts/lib/python3.6/site-packages/matplotlib-3.3.4-py3.6-macosx-10.9-x86_64.egg/matplotlib/mpl-data/fonts/ttf/DejaVuSansDisplay.ttf
---------------
DejaVu Sans:
/Users/clarmylee/Miniconda3/envs/mplfonts/lib/python3.6/site-packages/matplotlib-3.3.4-py3.6-macosx-10.9-x86_64.egg/matplotlib/mpl-data/fonts/ttf/DejaVuSans-BoldOblique.ttf
---------------
Source Han Mono SC:
/Users/clarmylee/Miniconda3/envs/mplfonts/lib/python3.6/site-packages/matplotlib-3.3.4-py3.6-macosx-10.9-x86_64.egg/matplotlib/mpl-data/fonts/ttf/SourceHanMonoSC-Regular.otf

...

This command will show the names and source files of the fonts, which can then be passed as arguments to the use_font function.

By default, running mplfonts init will generate a new matplotlibrc file to replace your current one. This new file will contain cache configuration settings that support CJK rendering. Here is the content of the new matplotlibrc file:

font.family:  sans-serif
font.sans-serif: Noto Sans CJK SC Regular, 思源等宽, Noto Serif CJK SC, 思源宋体, Noto Sans Mono CJK SC Regularsans-serif
axes.unicode_minus: False

By default, Noto Sans CJK SC Regular is the preferred font. If you install custom fonts from another source and want them to have first priority, add them to the leftmost end of the font.sans-serif list. Then, run $ mplfonts updaterc <your matplotlibrc path> to set it as your global cache configuration.

Fonts Source

You can access some open-source fonts from Google and Adobe. Here are some resources:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mplfonts-0.0.10.tar.gz (85.0 MB view details)

Uploaded Source

Built Distribution

mplfonts-0.0.10-py3-none-any.whl (85.0 MB view details)

Uploaded Python 3

File details

Details for the file mplfonts-0.0.10.tar.gz.

File metadata

  • Download URL: mplfonts-0.0.10.tar.gz
  • Upload date:
  • Size: 85.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for mplfonts-0.0.10.tar.gz
Algorithm Hash digest
SHA256 5da8d1afd53b8d38a1053d61a7ebd936de08b8480fba17f9b655beb270af8089
MD5 2c7289c7ddbad391e912f88326164df7
BLAKE2b-256 efdb1199ed8529793e5e6a0d8aa3500683513ae518f88b1e72a0e41151358410

See more details on using hashes here.

File details

Details for the file mplfonts-0.0.10-py3-none-any.whl.

File metadata

  • Download URL: mplfonts-0.0.10-py3-none-any.whl
  • Upload date:
  • Size: 85.0 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for mplfonts-0.0.10-py3-none-any.whl
Algorithm Hash digest
SHA256 835e35ada4a6ef85ce29ea81dd589a98b92af5b5c8e8b9f4e2d79dfea9c2ba40
MD5 a0b600a4d47be21a695013d02164f36c
BLAKE2b-256 3ea026d69a8a973f1a381cff9d5375ee7d660f49445e57433d52f76fd22cb7c7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page