rxvt a znaky s nabodeníčky
Jan Pobrislo
ccx na webprojekty.cz
Úterý Září 11 12:03:49 CEST 2012
In article <mailman.1032.1347268244.1133.linux na linux.cz>, Josef Štengl wrote:
> Ahoj,
> nemáte někdo tušení jak se urxvt terminál donutí aby ukazoval i znaky
> s nabodeníčky? Nyní mi znaky sice zobrazuje, ale nabodeníčka to
> nezobrazuje a nemohu/nevim jak najít relevantní nastavení.
>
> Díky, Josef
Za prvé terminál musí být spuštěn ve stejném locale jako programy které
v něm pouštíte a toto locale musí podporovat vámi požadované znaky
(např. cs_CZ.UTF-8 nebo en_US.UTF-8). Nestačí že se locale nastaví v
inicializačním souboru pro interaktivní shell, protože samotný terminál
o vybraném kódovaní neví ikdyž program locale v něm spuštěný ho zobrazí.
V linuxu si můžete zkontrolovat správné nastavení prostředí tímto
příkazem:
for pid in $(pgrep rxvt); do
echo -e "\n$pid:"
tr '\0' '\n' </proc/$pid/environ | egrep '^LC|LANG'
done
Dále jsou samozřejmě potřeba fonty které obsahují dané znaky. Tady
doporučuji vyhnout se zastaralé specifikaci XLFD (mnoho položek
oddělených pomlčkami) a použít fontconfig (v urxvt se zadává pomocí
prefixu xft:). Detailní popis syntaxe najdete v man 5 fonts-conf.
Například já osobně používám písmo Fixed které většinou najdete v balíku
fonts-misc.
URxvt.font: xft:Fixed:semicondensed:pixelsize=13:lang=cs-CZ
Důležité je vybrat takový jazyk který obsahuje dané znaky, konkrétně
font Fixed existuje i variantách pro kódovaní latin-1 a další, které z
nějakých důvodů fontconfig vybere pokud jazyk nezadáte explicitně. Výběr
který fontconfig provádí si můžete nechat zobrazit pokud spustíte urxvt
s proměnnou prostředí FC_DEBUG=1. U položky charset je zobrazena bitová
mapa podpory jednotlivých code-pointů (znaků) v systému unicode.
Daný soubor s fontem (v mém případě /usr/share/fonts/misc/6x13.pcf.gz)
si můžete zobrazit například v editoru fontforge a ověřit si že má znaky
které chcete.
Pokud zadáváte více fontů, dejte pozor na to že musí být stejně velké
nebo menší než první zadaný font pokud se nejedná o fonty
proporcionální.
Další informace o konferenci Linux