Python3 和 tkinter 中 Linux 字体的路径

GKe*_*ens 5 python linux fonts

巧合的是,我的 Ubuntu 16.10 Linux PC 上现在有两个 Python 3.5 环境。Ubuntu 安装附带了一种环境,我开始使用它,直到我发现 Spyder 因 16.10 升级而损坏。我从 Anaconda 安装了 Python 3.5,这样我就可以恢复 Spyder 了。我目前正在开发一个程序,该程序使用方框图字符在需要等宽字体的表格中显示数据。很明显,这两个环境对于 ScrolledText 控件具有不同的默认字体。在 Ubuntu 环境下,默认字体是: 'family': 'DejaVu Sans Mono',它与方框图字符配合得很好。在 Anaconda 下,默认值为: family': 'nimbus mono l' ,它不适用于方框字符。我将字体更改为“lucidiatypewriter”,框字符间距正确,但字体看起来不太好。

我使用以下脚本来显示两个环境的可用字体系列。

import tkinter as tk  
import tkinter.font as tkf

root = tk.Tk()
print(tkf.families())
Run Code Online (Sandbox Code Playgroud)

通过将字体系列列表与 /usr/share/fonts 目录进行比较,我发现这两个环境使用不同的字体文件路径。原始Ubuntu环境使用/usr/share/fonts/truetype/...,Anaconda环境使用/usr/share/fonts/x11/...

Ubuntu 环境比 Anaconda 环境提供了更多的选择,并且使用 truetype 字体的显示看起来更好。某个地方必须有一个配置文件告诉 Python 在哪里可以找到字体,但我一直无法找到它。有谁知道如何设置Python的字体路径?