Fonts manager for matplotlib
Project description
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 init
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
init
, 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 init
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
File details
Details for the file mplfonts-0.0.6.tar.gz
.
File metadata
- Download URL: mplfonts-0.0.6.tar.gz
- Upload date:
- Size: 85.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.64.0 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.4 CPython/3.6.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 648e917c35a3cb1ee13ae26a2938b49ec5f5c749b64c1195ed99618194089483 |
|
MD5 | 93d45d547c7dd3ffbba81fc008e42856 |
|
BLAKE2b-256 | 31f14f0bd907dd04b860fa8b7475b7e9d5d637e8d0162cf05d50b909c0f49f69 |