setfont - ładuje czcionkę konsolową ekranu dla EGA/VGA
setfont [
-O font+umap.orig] [
-o font.orig]
[
-om cmap.orig] [
-ou umap.orig] [
-N]
[
font.new ..." ] [
-m cmap] [
-u umap]
[
-C console] [
-hH] [
-f] [
-v] [
-V]
Polecenie
setfont wczytuje czcionkę z pliku
font.new i
ładuje ją do generatora znaków EGA/VGA oraz opcjonalnie
wypisuje poprzednią czcionkę. Może również
wczytać różne tablice odwzorowań i wypisać
zawartość poprzednich.
Jeżeli nie podano żadnych argumentów (lub tylko
opcję -
N dla jakiejś liczby
N), wtedy
ładowana jest domyślna czcionka (8x
N) (zobacz
poniżej). Można podać wiele małych czcionek,
zawierających tablice unikodowe, a
setfont połączy
je i wczyta całość. Typowe użycie:
- setfont
- Wczytuje domyślną czcionkę.
- setfont drdos8x16
- Wczytuje podaną czcionkę (tutaj 448-glifowa
[448-glyph] czcionka drdos).
- setfont cybercafe -u cybercafe
- Wczytuje podaną czcionkę, który nie ma
mapy unikodowej, oraz podaną mapę.
- setfont LatArCyrHeb-19 -m 8859-2
- Wczytuje podaną czcionkę (tutaj 512-glifowa
czcionka łącząca różne zestawy
znaków) i określa, że lokalnym zestawem znaków
jest ISO 8859-2.
Uwaga: jeśli czcionka ma więcej niż 256 glifów, to
tylko 8 z 16 kolorów będzie można użyć
jednocześnie. Może to pogorszyć postrzeganie konsoli
(utrata intensywności albo i nawet niektórych kolorów).
Standardowym formatem czcionek w Linuksie jest PSF. Zawiera on
nagłówek opisujący własności czcionki,
takie jak rozmiar znaku, po którym występuje mapa bitowa
glifów, po której opcjonalnie występować
może tablica odwzorowań unikodowych, dająca
wartość unikodową dla każdego glifu.
Rozpoznawanych jest również wiele innych (przestarzałych)
formatów. Gdy plik wejściowy ma format strony kodowej
(prawdopodobnie z rozszerzeniem .cp), zawierającej trzy czcionki o
rozmiarach np. 8x8, 8x14 i 8x16, wtedy jedna z opcji -8 lub -14 lub -16 musi
być podana, by wybrać jeden z nich. Surowe pliki z czcionkami
są plikami binarnymi o rozmiarze 256*
N bajtów,
zawierającymi obrazy bitowe każdego z 256 znaków, po
jednym bajcie na każdą skanowaną linię i po
N bajtów na znak (0 <
N <= 32).
Większość czcionek ma szerokość 8
bitów, lecz z urządzeniem bufora ramki (fb) użyte
mogą być inne szerokości.
Program
setfont nie zawiera wbudowanych informacji na temat trybów
graficznych VGA, ale po prostu prosi jądro o wczytanie pewnej mapy
bitowej do pamięci znakowej ROM karty graficznej. Jednak od Linuksa
1.3.1 jądro wie wystarczająco o trybach graficznych EGA/VGA, aby
wybrać inną odległość linii (line
distance). Domyślną wysokością znaku będzie
liczba
N wyciągnięta z czcionki lub podana jako opcja.
Użytkownik jednak może podać inną
wysokość
H znaku, używając opcji
-h.
W drodze od wyjścia programu użytkownika do wyświetlenia na
konsoli zaangażowanych jest kilka odwzorowań. Gdy konsola jest w
trybie utf8 (zobacz
unicode_start(1)), to wtedy jądro oczekuje,
że wyjście programu użytkownika jest kodowane jako UTF-8
(zobacz
utf-8(7)) i konwertuje je do Unikodu (ucs2). W przeciwnym
razie, 8-bitowe wyjście programu jest zamieniane na 16-bitowe
wartości unikodowe za pomocą tablicy translacji. Taka tablica
nazywana jest
unikodową mapą konsoli (Unicode console
map). Są cztery takie tablice: trzy wbudowane w jądro i czwarta,
która może być ustawiona, dzięki opcji
-m
programu
setfont. Między tymi tablicami wybiera sekwencja
sterująca; po wczytaniu
cmap,
setfont wyrzuci na
wyjściu sekwencję sterującą "Esc ( K",
co sprawia, że jest to aktywna translacja.
Przykładami argumentów dla opcji
-m są
8859-1,
8859-2, ...,
8859-15,
cp437, ...,
cp1250.
Jądro znajduje prawidłowy glif dla podanej wartości
unikodowej symbolu, który ma być wyświetlony,
używając informacji o odwzorowaniu unikodowym czcionki i
wyświetla go.
Stare czcionki nie zawierają informacji o odwzorowaniu unikodowym i
dlatego istnieją mapy bezpośrednio-do-czcionki (direct-to-font
maps) (wczytywane także dzięki opcji
-m), które
dają zgodność (correspondence) pomiędzy bajtami
użytkownika, a pozycjami czcionek. Najbardziej powszechną
zgodnością jest ta podana w pliku
trivial (gdzie
wartości bajtów użytkownika są używane
bezpośrednio jako pozycje czcionek). Czasami preferowane są inne
zgodności, gdyż sprzęt PC video oczekuje, że znaki
rysowane będą na pewnych pozycjach czcionek.
Gdy podany zostanie argument
-m none wczytanie i aktywacja tablicy
odwzorowań zostaną powstrzymane. Poprzednia mapa konsoli
może być zachowana dzięki opcji
-om plik. Te opcje
sprawiają, że
mapscrn(8) jest przestarzały.
(Jednak może być użyteczny przy czytaniu tego
podręcznika).
Zgodność między glifami w czcionce a wartościami
unikodowymi jest opisana przez unikodową tablicę
odwzorowań. W wielu plikach z czcionkami zawarte są unikodowe
tablice odwzorowań, które mogą być wskazane przez
opcję
-u. Program
setfont wczyta taką
unikodową tablicę odwzorowań, chyba że podana
została opcja
-ou none. Poprzednia unikodowa tablica
odwzorowań będzie zachowana jako część
zapisanego pliku z czcionką, gdy użyta będzie opcja -O.
Tablica ta może być także zapisana w oddzielnym pliku
dzięki opcji
-ou plik. Te opcje sprawiają, że
loadunimap(8) jest przestarzały.
Unikodowa tablica odwzorowań powinna przydzielić kilka
glifów do ´brakującego znaku' (missing character) o
wartości U+fffd. W przeciwnym razie brakujące znaki nie
są tłumaczone, dając pogmatwane rezultaty.
Zazwyczaj nie jest potrzebna tablica odwzorowań, a unikodowa tablica
odwzorowań jest już zawarta w foncie (czasami wskazyje na to
rozszerzenie .psfu), więc większość
użytkowników nie musi się martwić dokładnym
znaczeniem i funkcjonalnością tych tablic.
Każdy może dodać unikodową tablicę
odwzorowań do czcionki psf używając
psfaddtable(1).
-
-h H
- Zmień wysokość czcionki.
- -d
- Doubles the size of the font, by replicating all of its
pixels vertically and horizontally. This is suitable for high pixel
density (e.g. "4k") displays on which the standard fonts are too
small to be easily legible. Due to kernel limitations, this is suitable
only for 16x16 or smaller fonts.
-
-m plik
- Wczytuje mapę konsoli lub unikodową
mapę konsoli z pliku.
-
-o plik
- Zapisuje poprzednią czcionkę do
pliku.
-
-O plik
- Zapisuje poprzednią czcionkę i mapę
unikodową do pliku.
-
-om plik
- Zapisuje mapę konsoli do pliku.
-
-ou plik
- Zapisuje poprzednią mapę unikodową do
pliku.
-
-u plik
- Wczytuje tablicę unikodową
opisującą czcionkę z pliku.
-
-C console
- Ustawia czcionkę dla wskazanej konsoli. (Może
wymagać uprawnień administratora).
- -f
- Force-load unicode map: Setfont`issues the system call to
load the unicode map even if the specified map is empty. This may be
useful in unusual cases.
- -v
- Więcej szczegółów.
- -V
- Wyświetla informacje o wersji i kończy
działanie.
Sprzęt video PC pozwala na użycie bitu
"intensywności" albo w celu oznaczenia jasności, albo
aby pozwolić na 512 (zamiast 256) glifów w czcionce. Tak
więc, jeśli czcionka ma więcej niż 256
glifów, to konsola będzie zredukowana do 8 (zamiast 16)
kolorów.
- /usr/share/consolefonts
- The default font directory.
- /usr/share/unimaps
- The default directory for Unicode maps.
- /usr/share/consoletrans
- The default directory for screen mappings.
The default font is a file
default (or
default8xN if the -N option
was given for some number N) perhaps with suitable extension (like .psf).
psfaddtable(1),
unicode_start(1),
loadunimap(8),
utf-8(7),
mapscrn(8)
Autorami polskiego tłumaczenia niniejszej strony podręcznika
są: Przemek Borys <
[email protected]>, Grzegorz Goławski
<
[email protected]> i Robert Luberda <
[email protected]>
Niniejsze tłumaczenie jest wolną dokumentacją.
Bliższe informacje o warunkach licencji można uzyskać
zapoznając się z
GNU
General Public License w wersji 3 lub nowszej. Nie przyjmuje się
ŻADNEJ ODPOWIEDZIALNOŚCI.
Błędy w tłumaczeniu strony podręcznika prosimy
zgłaszać na adres listy dyskusyjnej
[email protected]