Add recipe for installing custom fonts

Signed-off-by: Peng Gao <peng.gao.dut@gmail.com>
This commit is contained in:
Peng Gao
2021-11-02 11:54:22 +08:00
parent 061a02b21f
commit d0bbcc5339

View File

@@ -549,3 +549,20 @@ RUN echo "from pyspark.sql import SparkSession" > /tmp/init-delta.py && \
python /tmp/init-delta.py && \
rm /tmp/init-delta.py
```
## Add Custom Font in Scipy notebook
The example below is a Dockerfile to load Source Han Sans with normal weight which is usually used for web.
```dockerfile
FROM jupyter/scipy-notebook:latest
RUN PYV=$(ls $CONDA_DIR/lib | grep ^python) && \
MPL_DATA=$CONDA_DIR/lib/$PYV/site-packages/matplotlib/mpl-data && \
wget --quiet -P $MPL_DATA/fonts/ttf/ https://mirrors.cloud.tencent.com/adobe-fonts/source-han-sans/SubsetOTF/CN/SourceHanSansCN-Normal.otf && \
sed -i 's/#font.family/font.family/g' $MPL_DATA/matplotlibrc && \
sed -i 's/#font.sans-serif:/font.sans-serif: Source Han Sans CN,/g' $MPL_DATA/matplotlibrc && \
sed -i 's/#axes.unicode_minus: True/axes.unicode_minus: False/g' $MPL_DATA/matplotlibrc && \
rm -rf ~/.cache/matplotlib && \
python -c 'import matplotlib.font_manager;print("font loaded: ",("Source Han Sans CN" in [f.name for f in matplotlib.font_manager.fontManager.ttflist]))'
```