Portál AbcLinuxu, 7. května 2025 07:24
Řešení dotazu:
matplotlib.rc('font', family='Verdana')
. A vše je OK. Na serveru s openSUSE to nic neudělá, resp. ščřž jsou ok, místo ě, ť, ď se zobrazí jen []. Dokonce jsem do openSUSE nahrál i základní písma z Macu, abych měl jistotu, že jsou stejná. Nic. Trošku pomáhá toto:
import matplotlib.font_manager as fm fp = fm.FontProperties(fname="/usr/share/fonts/truetype/Verdana.ttf") # matplotlib.rcParams['font.family'] = fp.get_name() matplotlib.rc('font', family=fp.get_name())a pak postupně u každého grafu psát
plt.title(_title, fontproperties=fp)
. Jenže problém je, že toto není podporováno u legendy ani labelů u sloupcových grafů.
Až přenastavím nastavení projektu na desktopu s openSUSE, tak budu vědět trošku víc, jestli to je jen chyba na tom serveru, nebo to souvisí s openSUSE jako takovým... Nejde mi do hlavy, proč to na Macu jde a na SUSE ne.
LANG="cs_CZ.UTF-8" LC_COLLATE="cs_CZ.UTF-8" LC_CTYPE="cs_CZ.UTF-8" LC_MESSAGES="cs_CZ.UTF-8" LC_MONETARY="cs_CZ.UTF-8" LC_NUMERIC="cs_CZ.UTF-8" LC_TIME="cs_CZ.UTF-8" LC_ALL=Server s openSUSE:
LANG=cs_CZ.UTF-8 LC_CTYPE="cs_CZ.UTF-8" LC_NUMERIC="cs_CZ.UTF-8" LC_TIME="cs_CZ.UTF-8" LC_COLLATE="cs_CZ.UTF-8" LC_MONETARY="cs_CZ.UTF-8" LC_MESSAGES="cs_CZ.UTF-8" LC_PAPER="cs_CZ.UTF-8" LC_NAME="cs_CZ.UTF-8" LC_ADDRESS="cs_CZ.UTF-8" LC_TELEPHONE="cs_CZ.UTF-8" LC_MEASUREMENT="cs_CZ.UTF-8" LC_IDENTIFICATION="cs_CZ.UTF-8" LC_ALL=
fc-match verdana
aké písmo to vypíše.
DejaVuSans.ttf: "DejaVu Sans" "Book"
, na SUSE serveru Verdana.ttf: "Verdana" "Normal"
, ale to je tím, že jsem tam fláknul Verdanu z Macu. Teď odstraňuji písma ze serveru a kopíruju je ze SUSE desktopu. Uvidíme, co to udělá. Možná je to nějakým vadným configem písma? Dochází k inicializaci všech potřebných configů, když se nespouští desktopové aplikace, protože xorg není přítomen?
fm.cachedir
je var/lib/wwwrun/.cache/matplotlib
. V tomtéž adresáři .cache
je i podadresář fontconfig
... Oboje smazáno a diakritika s nově načtenými fonty jede. Tolik hodin a taková blbost.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.