Вы абсолютно правы; это полная оплошность с моей стороны (и довольно глупо для загрузки). Я собираюсь продолжить исследовать это, но обновлю свой ответ.
я есть две установки Python на моем ноутбуке Debian Sid: системный Python (v.2.7) с небольшим набором пакетов утилит (включаяTkinter
) и thon Анаконды Питон 3.
Легко увидеть, какие (ну вот, сколько ...) шрифтов доступны для двух дистрибутивов Python.
Python 2
>>> from Tkinter import Tk
>>> from tkFont import families
>>> Tk(); available = families() ### Tk() is needed to have a running tcl interpreter
<Tkinter.Tk instance at 0x7f977bcbfb90>
>>> len(available)
3011
Python 3
>>> from tkinter import Tk
>>> from tkinter.font import families
>>> Tk() ; available = families()
<tkinter.Tk object .>
>>> len(available)
68
Мне кажется, что Анакондаtkinter
только смотрит на основные шрифты Xчто пришло с распределениемсм редактировать ниже.
Вы знаете процедуру, в качестве альтернативы
пусть Анакондаtkinter
знать системные шрифты (предпочтительный вариант) илиустановите несколько шрифтов в дереве Анаконды так, чтобыtkinter
можно их использовать?ТИА
редактировать доступные для Anaconda шрифты - это действительно системные шрифты, но только те, которые известныxfontsel
то есть шрифты в пути шрифта, которыми можно манипулировать, используяxset
.
Я попробовал следующее
$ cd ~/.fonts ; mkfontscale ; mkfontdir ; xset fp+ `pwd`
а такжеxfontsel
показал еще около 30 семейств шрифтов. Проверяя с Python 3, я убедился, чтотолько два семейства шрифтов были добавлены в список доступных шрифтов (а именно'go'
а также'gomono'
- нет'consolas'
и т. д.) и изготовление этикетки
...
r = Tk() ; Label(r, text="Go Mono", font=('gomono', 24)).pack()
с Python 2 и Python 3 удалось в обоих случаях, но Python Debian показал хороший сглаженный текст, в то время как другой был (грубый) точечный рисунок.
Таким образом, в некотором смысле, я частично ответил на мой вопрос, но
не каждое семейство шрифтов, как показаноxfontsel
был занятtkinter
даже для очень немногих, кто был признан, исполнение оставляет слишком много, чтобы быть желанным ...и я хотел бы прочитать лучший, более полезный ответ.