Skip to main content

Fonts manager for matplotlib

Project description

中文文档

Build Status PyPI version License: MIT contributions welcome

mplfonts

Fonts manager for matplotlib

This is a python package and command line tool to manage your matplotlib fonts. You can easily resolve the "tofu" problem when plotting with CJK(Chinese, Japanese, Korean) languages.

Installation

You can install mplfonts with pip

$ pip install mplfonts

Quickstart

You can just run one command to solve the "tofu" problem:

$ mplfonts quickstart

After that, try to use matplotlib to plot an image with CJK text, it should be normal.

Now you can enjoy it.

Usage

This package's aim is not only to solve "tofu" problem, but also to manage matplotlib fonts. When you installed mplfonts, there are some open-source CJK fonts already included, they are:

  • Noto Sans Mono CJK SC
  • Noto Serif CJK SC
  • Noto Sans CJK SC
  • Source Han Serif SC
  • Source Han Mono SC If you have finished the quickstart, You can shift fonts in you script like:
from mplfonts import use_font

use_font('Noto Serif CJK SC')

# write your plotting code below

If you want to setup some custom fonts, you can install by command:

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

Also, you can install all fonts in a directory(folder) by:

$ mplfonts install --update <your directory path>

Don't know what fonts is available? Don't worry, you can use mplfonts list to list 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

...

It will show fonts' name and source file, and these names can be argument to pass to use_font function

By default, mplfonts quickstart will generate a matplotlibrc as the cache configuration, supporting CJK render, to replace your old one, the content of matplotlibrc is:

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

It will preferentially use Noto Sans CJK SC Regular as the default font. If you install custom fonts from other source, and want it to be the first priority, you should add it to the leftmost end of font.sans-serif list, and then run $ mplfonts updaterc <your matploblibrc path> to set it as your global cache rc.

Fonts Source

You can access some open-source fonts from google and adobe, here is some resource:

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.3.tar.gz (5.2 kB view details)

Uploaded Source

Built Distribution

mplfonts-0.0.3-py3-none-any.whl (79.9 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mplfonts-0.0.3.tar.gz
  • Upload date:
  • Size: 5.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.6.13

File hashes

Hashes for mplfonts-0.0.3.tar.gz
Algorithm Hash digest
SHA256 1bb4bf1ffa9c40b4af54b8bf610fd070973a63fe102aa7eb031ded2f39da03a7
MD5 660aefbccce02ab4fdaf2556c64b7603
BLAKE2b-256 5901fa44acd1e219acf402d7c97de223b616baeb2d066ef5aa3b2b5a831caa80

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mplfonts-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 79.9 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.6.13

File hashes

Hashes for mplfonts-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 2243674498d301c451ec1294e67b77a6db788c585b826fadf3037d94d3e2a4ca
MD5 ee6eb55e0a61df4615724cfe46b1f849
BLAKE2b-256 3325d6b4740fbf244c09ff36ddacca2793d45723b867271583f19db390493ae1

See more details on using hashes here.

Supported by

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