UTF-8 használata Gentoo alatt
1.
Karakterkódolások
Mi az a karakterkódolás?
A számítógépek nem értik meg a szöveget önmagukban, inkább számokat használnak
a karakterek ábrázolására. Hagyományosan, az összes korábban betűk
és karakterek ábrázolására használt számhalmaz (ezeket kódolási rendszernek,
kódolásnak vagy karakterkészletnek nevezzük) mérete korlátozva volt a
számítógépek hardvere miatt.
A karakterkódolások történelme
A legelterjedtebb (de legalábbis a legjobban elfogadott) karakterkészlet
az ASCII (American Standard Code for Information Interchange). Széles
körben azt tartják, hogy az ASCII a legsikeresebb szoftverszabvány. A mai
ASCII 1986-ban lett szabványosítva (ANSI X3.4, RFC 20, ISO/IEC 646:1991,
ECMA-6) az Amerikai Nemzeti Szabványügyi Hivatal által.
Az ASCII szigorúan 7 bites, ami azt jelenti, hogy 7 biten ábrázolható
bitsorozatokat használ. Ez 0 és decimális 127 közötti értékek ábrázolását teszi
lehetővé. Ebből 32 nem látható vezérlőkarakter, a legtöbbjük 0 és 31 között
található, a végjel karakterrel, a DEL vagy törlés a 127-es. 32 és 126 közötti
karakterek láthatóak: a szóköz, írásjelek, Latin betűk és számok.
A 8. bitet az ASCII-ban eredetileg paritásbitként használták hibaellenőrzéshez.
Ha ez nem kívánatos, értéke 0. Ez azt jelenti, hogy az ASCII-val minden
karakter egy byte-on ábrázolható.
Habár az ASCII elegendő volt az angol nyelven folyó kommunikációhoz, más
ékezetes európai nyelveken a dolgok nem voltak ilyen egyszerűek. Ezen próbáltak
segíteni az ISO 8859-es szabványok, melyek kompatibilisek maradtak az
ASCII-vel, de az üresen hagyott 8. bitet, kódolásonként további 127 karakter
ábrázolására használták. Hamarosan kiderültek az ISO8859-es szabványok korlátai
is. Jelenleg 15 változata van az ISO 8859-es szabványnak (8859-1-estől a
8859-15-ösig ). Az ASCII-kompatilibis byte-tartományukon kívül, gyakran
ütköznek a byte-ok által képviselt betűk ezekben a karakterkészletben. A
Microsoft Windows némely verziója a Windows-1252-t használta a Nyugat-Európai
nyelvekhez, még jobban megnehezítve ezzel a karakterkódolások közötti
együttműködést. Ez az ISO 8859-1 kibővítése, de számos dologban eltér attól.
Ennek ellenére mindegyik megőrizte az ASCII kompatibilitást.
A nem latin ábécék számára szükségszerűen kifejlesztett teljesen eltérő egy
byte-os kódolás, mint az EUC (Extended Unix Coding), amelyet a japán és a
koreai (ill. kismértékben a kínai) nyelvekhez használtak, tovább fokozták a
zűrzavart. Ezalatt egyes operációs rendszerek még mindig eltérő
karakterkészletet használtak ugyanahhoz a nyelvhez, például a Shift-JIS és az
ISO-2022-JP. Azoknak a felhasználóknak akik cirill írásjeleket szerettek volna
megjeleníteni, választaniuk kellett a KOI8-R amely az orosz és a bulgár
nyelvekhez ill. a KOI8-U amely az ukránhoz, valamint a sikertelen ISO 8859-5 és
a közös Windows-1251 készletek között. Ezek a karakterkészletek már csak
nyomokban voltak ASCII kompatibilisek (habár a KOI8 kódolások a cirill
karaktereket a latin ábécé sorrendjében tartalmazták, így a 8. bit figyelmen
kívül hagyásával a szöveg olvasható volt egy ASCII terminálokon, igaz hogy a
kis és a nagybetűk fel voltak cserélve).
Mindez zűrzavarhoz vezetett és szinte teljesen ellehetetlenítette a többnyelvű
kommunikációt, különösen eltérő ábécével rendelkező nyelvek között. Jöhet a
Unicode!
Mi az a Unicode?
A Unicode szakít a karakterkészletek egy byte-os méretkorlátbeli hagyományával.
17 darab "síkot" használ amelyek egyenként 65,536 kódot tartalmaznak a
maximálisan elérhető 1,114,112 karakter leírásához. Mivel az első sík,
ismertebb nevén "Basic Multilingual Plane" vagy BMP tartalmaz mindent amire
valaha szükség lehet, sokan azt a téves következtetést vonták le, hogy a
Unicode egy 16 bites karakterkészlet.
A Unicode többféle megjelenítési módjai közül a legelterjedtebb az UTF
(Unicode Transformation Format) és a UCS (Universal Character
Set). A rövidítés utáni szám az UTF esetében bitben, míg az UCS-nék byte-ban
adja meg az egység méretét. Az UTF-8-ról szól ez az írás, amely tisztán 8 bites
voltának köszönhetően a Unicode-os szövegekkel történő információcsere
legelterjedtebb eszközévé vált.
Az UTF-8
Az UTF-8 egy változó hosszúságú karakterkódolás, amely ebben az esetben azt
jelenti, hogy egy-egy szimbólumot 1-4 byte jelöl. Az első UTF-8 byte az ASCII
kódolására szolgál, teljesen ASCII kompatibilissé téve a karakterkészletet. Ez
azt jelenti, hogy az ASCII és a latin karakterek átalakíthatóak úgy, hogy az
adatok mérete csak kis mértékben növekedjen. A keleti ábécék használói számára
nem ilyen rózsás a helyzet, mivel az ő karaktereik magasabb tartományba
kerültek és ez 50%-os redundanciát eredményez az adataikban.
Mire jó az UTF-8?
Az UTF-8 segítségével egy a szabványoknak teljesen megfelelő és nemzetközileg
elfogadott többnyelvű környezetben dolgozhatsz, viszonylag kevés ismétlődő
adattal. Az UTF-8 az ajánlott módja nem ASCII karakterek továbbításának az
Interneten, emailben, IRC-n és szinte minden egyéb médián. Ennek ellenére sok
ember sértésnek veszi az UTF-8-at az online kommunikációban. A legjobb ha
először mindig tájékozódunk az adott csatornán, levelező listán vagy Usenet
csoporton arról, hogy hogyan viszonyulnak az UTF-8-hoz, mielőtt
nem ASCII UTF-8-at kezdünk el ott használni.
2.
Az UTF-8 beállítása Gentoo Linux alatt
Az UTF-8 lokálok megkeresése vagy előállítása
Most, hogy megismerted a Unicode mögötti elveket, készen állsz arra, hogy
használni kezdjed az UTF-8-at a saját gépeden.
Az UTF-8 alapfeltétele, hogy olyan glibc verzió legyen telepítve amely már
támogatja a lokalizációt. Ennek beállítása a /etc/locale.gen
állományban lehetséges. A fájl használatának részletes ismertetése meghaladná
ennek a leírásnak a kereteit. Bővebben a
Gentoo Linux honosítási útmutató-ban
olvashatsz róla.
Következő lépésként ki kell derítenünk, hogy létezik-e a nyelvünkhöz UTF-8
lokál vagy készítenünk kell egyet.
Kódlista 2.1: Létező UTF-8 lokál keresése |
# locale -a | grep 'hu_HU'
hu_HU
hu_HU.UTF-8
|
A parancs kimenetében az .UTF-8-ra végződő sort kell keresnünk. Ha nem
látunk ilyet, akkor készítenünk kell egy UTF-8 kompatilibis lokált.
Megjegyzés:
A következő parancsokat csak abban az esetben hajtsd végre, ha nincs még
beállítva a nyelvedhez UTF-8 lokál.
|
Kódlista 2.2: UTF-8 lokál készítése |
# localedef -i hu_HU -f UTF-8 hu_HU.UTF-8
|
A lokál hozzáadásának másik módja az, ha beleírjuk a
/etc/locale.gen file-ba és kiadjuk a locale-gen parancsot,
amely előállítja a szükséges lokálokat.
Kódlista 2.3: A szükséges sor a /etc/locale.gen állományban |
hu_HU.UTF-8 UTF-8
|
A lokál beállítása
Az új UTF-8 lokál használatához be kell állítani a LANG környezeti
változót, (ez felülbírálható az LC_ALL beállításával is). A változó
beállítására több lehetőség is van. Néhányan inkább csak egy felhasználó
számára szeretnének beállítani UTF-8 környezetet, ebben az esetben a
~/.profile (ha /bin/sh-t használsz),
~/.bash_profile vagy ~/.bashrc (ha /bin/bash-t
használsz) állományokban kell a beállítást elvégezni.
Mások inkább globálisan állítják be a lokált. Ezt a szerző abban a speciális
esetben amikor az /etc/init.d/xdm-et használjuk különösen
javasolja, mivel ez az initszkript a fent említett shellek beállításainak a
feldolgozása előtt indítja el az ablakkezelőt, még mielőtt bármelyik környezeti
változó értéket kapna.
A lokál globális beállítása az /etc/env.d/02locale állományban
tehető meg. A tartalma ilyesmi:
Kódlista 2.4: Az /etc/env.d/02locale |
LANG="hu_HU.UTF-8"
|
Megjegyzés:
LANG helyett LC_ALL-t is írhatsz, amellyel a lokálod minden
kategóriára érvényes lesz, beleértve a számok és a pénzek megjelenítését is.
Néhány ritka esetben azonban ez gondokat okozhat. Azonban a legtöbb
felhasználó nem fog problémába ütközni az LC_ALL használatakor.
Arról, hogy az LC_ALL beállításai milyen kategóriákra vannak hatással,
részletesen olvashatsz a
GNU lokál oldalon.
|
Következő lépésként érvénybe kell léptetni a környezeti változók értékének a
változtatását.
Kódlista 2.5: A környezet frissítése |
# env-update
>>> Regenerating /etc/ld.so.cache...
* Caching service dependencies ...
# source /etc/profile
|
A paraméter nélküli locale paranccsal ellenőrizheted a környezeti
változók értékének helyességét:
Kódlista 2.6: Az új lokál ellenőrzése |
# locale
LANG=
LC_CTYPE="hu_HU.UTF-8"
LC_NUMERIC="hu_HU.UTF-8"
LC_TIME="hu_HU.UTF-8"
LC_COLLATE="hu_HU.UTF-8"
LC_MONETARY="hu_HU.UTF-8"
LC_MESSAGES="hu_HU.UTF-8"
LC_PAPER="hu_HU.UTF-8"
LC_NAME="hu_HU.UTF-8"
LC_ADDRESS="hu_HU.UTF-8"
LC_TELEPHONE="hu_HU.UTF-8"
LC_MEASUREMENT="hu_HU.UTF-8"
LC_IDENTIFICATION="hu_HU.UTF-8"
LC_ALL=hu_HU.UTF-8
|
Ez minden. Most már UTF-8 lokálokat használsz. A következő akadály azoknak a
programoknak a beállítása amelyeket naponta használsz.
3.
Alkalmazások támogatása
Amikor a Unicode először a szoftvervilág figyelmébe került, a több-byte-os
karakterkészletek még nem nagyon voltak alkalmasak a programnyelvek pl. a C
számára, amelyekben a leggyakrabban használt programok készültek. Még most
is vannak olyan programok amelyek nem kezelik rendesen az UTF-8-at.
Szerencsére a legtöbb program már igen!
Fájlnevek, NTFS és FAT
Fontos, hogy ne vesszünk el a Linux kernel beállításaiban található NLS opciók
között! Többnyire elég az UTF-8 NLS támogatást a kernelbe fordítani és
átállítani az alapértelmezett NLS opciót utf8-ra.
Kódlista 3.1: A kernel beállítása UTF-8-as NLS-re |
File Systems -->
Native Language Support -->
(utf8) Default NLS Option
<*> NLS UTF8
|
Amennyiben NTFS particiókat is szeretnél majd csatolni a rendszerhez,
a mount parancsnak az nls= opciót is meg kell majd adnod. FAT particiók
esetében pedig a codepage= opciót. Ha akarod, a kernelben beállíthatsz
egy alapértelmezett kódlapot a FAT számára. Ne feledd, hogy a mountnál
megadott codepage opció felülbírálja a kernelben beállítottat!
Kódlista 3.2: A FAT beállítása a kernelben |
File Systems -->
DOS/FAT/NT Filesystems -->
(437) Default codepage for fat
|
Nem tanácsos a Default iocharset for fat értékét UTF-8-ra állítani.
Helyette inkább az utf8=true opciót add meg amikor a FAT partíciókat a
rendszerbe csatolod. További információkért add ki a man mount parancsot
vagy fordulj a kernel leírásához a
/usr/src/linux/Documentation/filesystems/vfat.txt szöveges
állományban.
A fájlnevek kódolásának megváltoztatásához a app-text/convmv használható.
Kódlista 3.3: Példa a convmv használatára |
# emerge --ask app-text/convmv
# convmv -f <current-encoding> -t utf-8 <filename>
# convmv -f iso-8859-2 -t utf-8 fájlnév
|
A fájlok tartalmának átkódolására az iconv segédprogram szolgál,
amely a glibc része:
Kódlista 3.4: Példa az iconv használata |
# iconv -f iso-8859-2 -t utf-8 fájlnév
# iconv -f iso-8859-2 -t utf-8 fájlnév > újfájl
|
A app-text/recode szintét használható ilyen céllal.
A konzol
Fontos:
Ahhoz, hogy Unicode-ot tudj használni a konzolon, a
>=sys-apps/baselayout-1.11.9-ra van szükséged.
|
Az UTF-8 engedélyezéséhez az /etc/rc.conf állományba a
UNICODE="yes" sort kell írnod. Olvasd el a megjegyzéseket is ebben a
fájlban -- ahhoz, hogy a legtöbbet tudd kihozni a Unicode-ból, fontos, hogy
olyan betűtípust használj amely a lehető legtöbb karaktert tartalmazza.
A /etc/conf.d/keymaps állományban beállított KEYMAP
változónak egy Unicode billentyűzet kiosztást kell tartalmaznia.
Kódlista 3.5: Példa /etc/conf.d/keymaps részlet |
KEYMAP="hu"
|
Ncurses és Slang
Megjegyzés:
Ha nincs telepítve a gépeden a Slang vagy nem használod, hagyd
figyelmen kívül a Slang-ról szóló részeket a következő fejezetben.
|
Bölcs dolog ha hozzáadod a unicode-ot a globális USE flagekhez a
/etc/make.conf állományban, aztán újraemerge-elned a
sys-libs/ncurses-t és a sys-libs/slang-ot. A portage
automatikusan elvégzi ezt amikor a rendszeredet frissíted:
Kódlista 3.6: A rendszer frissítése |
# emerge --update --deep --newuse world
|
Miután a USE flagben történt változtatásunk életbe lépett, újra kell
fordítani azokat a csomagot amelyek használják a fenti két lib valamelyikét.
Az erre szolgáló segédprogram (revdep-rebuild) a gentoolkit
csomag része.
Kódlista 3.7: Ncurses-t vagy slang-ot használó programok újrafordítása |
# revdep-rebuild --soname libncurses.so.5
# revdep-rebuild --soname libslang.so.1
|
KDE, GNOME és Xfce
A főbb asztali környezetek teljes mértékben támogatják a Unicode-ot és
csak annyi beállítást igényelnek amit ebben a leírásban találsz. Ez annak
köszönhető, hogy azok a grafikus eszközök (a Qt és GTK+2) amelyekre ezek
épülnek, már ismerik az UTF-8-at. Következésképpen, azok az alkalmazások
amelyek ezeket használják alapból kezelik az UTF-8-at.
Az Xlib és a GTK+1 kivétel a fenti szabály alól. A GTK+1-nek be kell
állítanunk egy iso-10646-1 FontSpec-et a ~/.gtkrc állományban, például a
-misc-fixed-*-*-*-*-*-*-*-*-*-*-iso10646-1. Továbbá azoknak az
alkalmazásoknak is hasonló FontSpec-et kell beállítanod amelyek az Xlib-et
vagy az Xaw-ot használják, különben nem fognak működni.
Megjegyzés:
Ha rendelkezel valamelyik gnome1 vezérlőközponttal, inkább azt használd a
beállításhoz. Válaszd ki valamelyik iso10646-1-es betűtípust benne.
|
Kódlista 3.8: Példa ~/.gtkrc (GTK+1-hez) állomány, amely egy Unicode kompatilibis betűtípust ad meg |
style "user-font"
{
fontset="-misc-fixed-*-*-*-*-*-*-*-*-*-*-iso10646-1"
}
widget_class "*" style "user-font"
|
Ha egy alkalmazás egyaránt támogatja a Qt-t és a GTK+2 GUI-t, a GTK+2 GUI
általában jobb eredményt nyújt a Unicode-dal.
Betűtípusok X11 alatt
Fontos:
Az x11-base/xorg-x11 messze jobban támogatja a Unicode mint az XFree86,
ezért ennek használata erősen ajánlott.
|
A TrueType betűtípusok támogatják a Unicode-ot és a legtöbb Xorg-ban található
betűtípus lenyűgöző karaktertámogatással rendelkezik, habár, szemlátomást, nem
minden a Unicode-ban elérhető karakterhez van megjeleníthető betű. Ahhoz, hogy
kelet ázsiai betűtípusokat tudj használni az X-szel (beleértve a Bitsream Vera
típust is), győződj meg arról, hogy a cjk USE flag be van állítva. Sok
más programra is hatással van ez a flag, ezért érdemes tartósan beálítani.
Továbbá a Portage-ben található jó néhány betűtípus csomag is támogatja a
Unicode-ot.
Kódlista 3.9: Nem kötelező: További Unicode betűtípusok telepítése |
# emerge terminus-font intlfonts freefonts cronyx-fonts corefonts
|
Ablakkezelők és terminál emulátorok
A nem GTK és Qt alapú ablakkezelők általában elég jó Unicode támogatással
rendelkeznek, mivel gyakran az Xft programkönyvtárat használják a betűtípusok
kezelésére. Ha az ablakkezelőd nem az Xft-t használja, még mindig beállíthatod
az előző részben taglalt FontSpec-et Unicode-ra.
Nagyon ritka az olyan terminál emulátor amely Xft-t használ és támogatja a
Unicode-ot. A Konsole és a gnome-terminal mellett a legjobb választás a
Portage-ben a x11-terms/rxvt-unicode, xfce-extra/terminal,
gnustep-apps/terminal, x11-terms/mlterm vagy a sima
x11-terms/xterm amennyiben a unicode USE flag-gel lett telepítve
és uxterm névvel lett indítva. A app-misc/screen szintén
támogatja az UTF-8-at, ha a screen -U formában indítod vagy ha a
következőt beírod a ~/.screenrc fájlba:
Kódlista 3.10: ~/.screenrc UTF-8-hoz |
defutf8 on
|
Vim, Emacs, Xemacs és Nano
A Vim teljes mértékben támogatja az UTF-8-at és felismeri az UTF-8 állományokat.
További információkért add ki a :help mbyte.txt parancsot a vim-ben.
Az Emacs 22.x és e feletti verziók szintén teljesen támogatják az UTF-8-at.
Xemacs 22.x nem támogatja a karakterek kombinálását még.
Az Emacs és/vagy az Xemacs alacsonyabb verzió számára lehetséges, hogy
telepítened kell a app-emacs/mule-ucs és/vagy a
app-xemacs/mule-ucs csomagokat és hozzá kell adnod a következő sorokat a
~/.emacs, hogy a CJK nyelvek számára is elérhető legyen az UTF-8:
Kódlista 3.11: Emacs CJK UTF-8 támogatás |
(require 'un-define)
(require 'jisx0213)
(set-language-environment "Japanese")
(set-default-coding-systems 'utf-8)
(set-terminal-coding-system 'utf-8)
|
A Nano az 1.3.6-os verzió óta támogatja az UTF-8-at.
Parancssorok
Jelenleg csak a bash támogatja teljes körűen a Unicode-ot a GNU readline
programkönyvtáron keresztül. A Z Shell támogatja a Unicode-ot, csak be kell
állítani a unicode USE feget.
A C shell, a tcsh és a ksh egyáltalán nem támogatja az UTF-8.
Irssi
Az Irssi teljesen támogatja az UTF-8-at, habár a felhasználónak kell ezt
beállítania.
Kódlista 3.12: UTF-8 támogatás bekapcsolása az Irssi-ben |
/set term_charset UTF-8
|
Azokon a csatornákon amelyeken gyakran keverednek nem ASCII karakterek nem
UTF-8-as karakterekkel, a /recode parancs használható a konvertálásra. A
/help recode parancs további információkat nyújt.
Mutt
A Mutt levelező nagyon jó Unicode támogatással rendelkezik. Ahhoz, hogy ezt
használhasd nem kell semmit sem a konfigurációs állományokba írnod. A Mutt
bármilyen módosítás nélkül Unicode felületet biztosít, ha az összes
konfigurációs állományod UTF-8-as (az ehhez szükséges sorokat tartalmazzák a
fájlok).
Megjegyzés:
Ennek ellenére a Mutt-tal olvasott leveleidben láthatsz '?' karaktereket. Ennek
az az oka, hogy az emberek olyan levelező programot használnak amely nem közli
a használt karakterkészletet. Ez ellen mást nem tudsz tenni, mint hogy megkéred
őket, hogy állítsák be rendesen a levelezőjüket
|
További információkat a
Mutt Wiki-ben
találhatsz.
Man
A Man minden Linux szerves részét képezi. Ahhoz, hogy a man-ban előforduló
Unicode helyesen jelenjen meg, a /etc/man.conf állományt szerkeszd
át a következő módon:
Kódlista 3.13: A man.conf módosítása a Unicode támogatásért |
NROFF /usr/bin/nroff -Tascii -c -mandoc
NROFF /usr/bin/nroff -mandoc -c
|
Elinks és links
Lássuk, hogyan tudjuk rávenni ezeket a közkedvelt szöveges alapú böngészőket az
UTF-8 támogatására! Erre két lehetőségünk is van az elinks és a
links esetében. Egyrészt, elvégezhetjük a böngészőn belül a Setup
menüben ill. át kézzel is módosíthatjuk a konfigurációs fájlt. Ahhoz, hogy a
menüből tudjuk ezt beállítani, először meg kell nyitnunk egy weboldalt a
elinks-ben vagy a links-ben, aztán az Alt+S
gyorsbillentyűvel tudunk belépni a Setup menübe. Ott a Terminal options-t kell
kiválasztani vagy megnyomni a T billentyűt. Válaszd ki a lista legutolsó
opcióját, az UTF-8 I/O-t és nyomd meg az Enter billentyűt. A Save-vel
tudod elmenteni a beállításokat és kilépni a menüből. A links esetében
újra meg kell nyomnod az Alt+S billentyűkombinációt, utána pedig az
S billentyűt a mentéshez. A konfigurációs fájl beállítása lentebb
látható.
Kódlista 3.14: UTF-8 engedélyezése elinks/links böngészőkben |
set terminal.linux.utf_8_io = 1
terminal "xterm" 0 1 0 us-ascii utf-8
|
Samba
A Samba programcsomag az SMB (Server Message Block) protokol implementációja
UNIX rendszerekre, mint amilyen a Mac, a Linux vagy a FreeBSD. A protokolt
gyakran Általános Internetes Fájlrendszerként (Common Internet File System,
CIFS) is emlegetik. A Samba a NetBIOS rendszert is tartalamazza amely
windows-os hálózatokon történő állománymegosztásra szolgál.
Kódlista 3.15: Az UTF-8 engedélyezése a Samba-ban |
dos charset = 1255
unix charset = UTF-8
display charset = UTF-8
|
Az egész kipróbálása
Számos UTF-8 tesztoldalt találhatsz a neten. A net-www/w3m, a
net-www/links, az net-www/elinks, a net-www/lynx és az
összes Mozilla alapú böngésző (beleértve a Firefox-ot is) támogatja az UTF-8-
at. A Konqueror és az Opera szintén teljes mértékben támogatja az UTF-8-at.
Szöveges alapú böngészők használatakor legyél teljesen biztos abban, hogy
Unicode-ot támogató terminált használsz.
Ha bizonyos karakterek helyett kis négyzeteket látsz betűkkel vagy számokkal a
belsejükben, az azt jelenti, hogy a beállított betűtípusod nem tartalmazza
annak a szimbólumnak vagy jelnek a karakterét amelyet az UTF-8 megkíván.
Beviteli módok
A Dead keys (Halott billentyűk) használható olyan karakterek bevitelére
X alatt amelyek nem találhatóak meg a billentyűzeteden. Ezeket úgy tudod
elérni, hogy megnyomod a jobb oldali Alt billentyűt (néhány országban ez az
AltGr) és egyet az Entertől balra található nem betűt jelentő billentyűk közül
valamelyiket, majd miután egyszerre felengedted őket megnyomsz egy betűt. A
dead key módosítani fogja ezt. A bevitel tovább módosítható a Shift
billentyűvel ha az AltGr és a módosító billentyűvel egy időben nyomod meg.
A dead keyek használatához egy olyan layout-ra van szükséged amely támogatja
azt. A legtöbb európai layout-ban már megtalálható a dead keys alapértelmezett
változata. Azonban az Észak-Amerikai layoutokra. Habár van némi
következetlenség a layoutok között, mégis az tűnik a legjobb megoldásnak ha
például "en_US" formában használod az "us" helyett. A layoutot az
/etc/X11/xorg.conf állományban lehet beállítani, ehhez hasonlóan:
Kódlista 3.16: /etc/X11/xorg.conf snippet |
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "XkbLayout" "en_US"
EndSection
|
Megjegyzés:
A fenti módosítást csak akkor kell elvégezned, ha Észak-Amerikai vagy olyan
egyéb layout-ot használsz amelyben nem működnek a dead keyek. Európai
felhasználóknak működniük kell e nélkül is.
|
Ez a változtatás az X szerver újraindítása után fog életbe lépni. A
változtatások azonnali érvényesítéséhez a setxkbmap segédprogramot
használhatod, pl. setxkbmap en_US.
A dead keyeket a legkönnyebben talán példákon keresztül lehet megérteni. A
végeredmény ugyan lokálfüggő, de az elv ugyanaz a lokáltól függetlenül. A
példák UTF-8 karaktereket tartalmaznak, tehát a megtekintésükhöz meg kell
mondanod a böngésződnek, hogy ezt az oldalt UTF-8-as oldalként jelenítse meg
vagy előbb be kell állítanod egy UTF-8 lokált.
Ha lenyomom az AltGr és a [ billentyűket egyszerre, majd miután felengedtem
őket megnyomom az a billentyűt, 'ä' karaktert kapok. Ha az AltGr és a
[ lenyomása után az e billentyűt nyomom le, ez 'ë' karaktert eredményez. Az
AltGr és a ; lenyomásával 'á' karaktert, ha az AltGr és ; billentyűket nyomom
le, majd felengedésük után megnyomom az e billentyűt 'é' karaktert kapok.
Az AltGr, a Shift és a [ együttes lenyomásával, majd felengedésével és az utána
történő a billentyű lenyomásával skandináv 'å' karaktert kapok. Hasonlóan ha
lenyomom az AltGr, a Shift és a [ billentyűket, aztán ha felengedem csak
a [ billentyűt, majd újra megnyomom, ez '˚' karaktert eredményez. Habár ez úgy
néz ki mintha az lenne, ez (U+02DA) a karakter nem azonos a fok szimbólummal
(U+00B0). Ez a többi dead key-jel előállítható ékezethez is használható - az
AltGr és a [ egyszerre történő lenyomása után a [ felengedése és újbóli
megnyomása '¨' karaktert eredményez.
Az AltGr a csak betűket jelentő billentyűkkel is használható. Példuál AltGr és
m a görög kis műt eredményezi: 'µ', az AltGr és s a német 13-as sz betűt: 'ß'.
Ahogy azt a legtöbb európai felhasználó elvárja (mivel jelölve van a
billentyűzetükön) az AltGr és a 4-es (vagy E, a billentyűzettől függően) az
Euró szimbólumot '€' eredményezi.
További információk
Ez a dokumentum a Creative Commons -
Attribution / Share Alike licensz védelme alatt áll.
|