UTF-8:n käyttö Gentoo-järjestelmässä
1.
Merkistökoodaukset
Mitä merkistökoodauksella tarkoitetaan?
Tietokoneethan eivät ymmärrä tekstiä sinänsä. Sen sijaan ne käsittelevät
merkkejä numeroina. Perinteisesti tapaa joilla numerot on yhdistetty
aakkostoihin (eli merkistökoodausta, engl. character set encoding)
on jouduttu rajoittamaan tietokoneiden laitteistorajoitteiden mukaan.
Merkistökoodausten historiaa
Yleisin (tai laajimmin hyväksytty) merkistökoodaus tunnetaan
ASCIIna (engl. American Standard Code for Information Interchange).
Moderni ASCII-järjestelmä standardoitiin 1986 (ANSI X3.4-, RFC 20-,
ISO/IEC 646:1991- ja ECMA-6-standardit).
ASCII-järejstelmä on rajoitettu 7 bittiin merkkiä kohti, eli sen merkit
esitetään desimaalinumeroilla 0:sta 127:ään. Näihin kuuluu 33 näkymätöntä
ohjausmerkkiä, lukuarvoilla 0—31 ja 127 (joka on ␡ eli delete). Merkit
32—126 ovat näkyviä käyttömerkkejä: välilyönti, välimerkit ja latinalaiset
aakkoset (a—z) sekä numerot.
ASCIIssa tavun kahdeksatta bittiä käytettiin alunperin ns. pariteettibittinä
virheentarkastuksessa, tai jos tällaista ei tarvittu, se jätettiin väistämättä
nollaksi. Joka tapauksessa, kaikki ASCII-koodaukset käyttivät yhden tavun
jokaista merkkiä kohden.
Vaikka ASCII riitti hyvin moderniin englanninkieliseen käyttöön, on tietysti
selvää ettei se ollut käytännöllinen edes muissa Eurooppalaisissa
kielissä, joissa saattoi tarvita kummallisia pilkkuja aiden ja oiden päälle tai
vaikkapa aksenttejakin. ISO 8859 -standardisarja kehitettiin korjaamaan tätä
ongelmaa. Se oli taaksepäin yhteensopiva ASCIIn kanssa, mutta sen sijaan että
kahdeksas bitti olisi ollut tyhjä, sitä käytettiin hyödyksi ja näin saatiin
käyttöön 127 uutta merkkipaikkaa. Myös tämä oli rajoittunutta, ja jo Euroopan
käyttöön kehitettiin 16 erilaista merkistökoodausta (vastaavasti ISO 8859-1:stä
ISO 8859-16:een). ASCII-alueen ulkopuolella näiden koodausten merkit menivät
päällekkäin, ja käyttivät siis keskenään eri merkkejä samoille lukuarvoille.
Lisäksi soppaa tuli sotkemaan lopulta Microsoft Windows -järjestelmien
Länsi-Eurooppalainen Windows-1252-koodaus, joka oli ISO 8859-1:n johdos,
mutta kuitenkin erilainen. Kaikki nämä koodaukset kuitenkin olivat yhteensopivia
ASCIIn kanssa.
Kielissä joissa käytetään jotain muita kuin latinalaista aakkostoa tarvittiin
kokonaan erilaisia koodaustapoja, kuten EUC:tä (engl. Extended Unix Coding)
japanissa ja koreassa (ja vähemmin kiinassakin). Tämä oli toki
omiaan aiheuttamaan lisää sekaannusta, kun samat käyttöjärjestelmät
käyttivät myös eri merkistökoodauksia samoille kielille, kuten
Shift-JISsiä ja ISO-2022-JP:tä japanille. Kyrillisten kirjainten kanssa
käyettiin joko KOI8-R-koodausta venäjälle ja bulgarialle sekä KOI8-U-koodausta
ukrainalle tai vaikkapa huono-onnisempaa ISO 8859-5-koodausta, tai sitten
Windowsin windows-1251-koodausta. Kaikki nämä koodaukset olivat jo
täysin ristiriidassa ASCII-merkistön kanssa (vaikkapa KOI8 asetti
kyrilliset merkit latinalaiseen aakkosjärjestykseen, joten ASCIIksi
tulkittunakin KOI8 vaikutti englantilaisittain translitteroidulta tekstiltä).
Kaikki tämä on johtanut nyttemmin siihen, että monikielinen, aakkostojakin
sotkeva, kommunikaatio netitse on parhaimmillaankin ongelmallista. Sittenpä
yritetään siirtyä Unicodeen.
Mikä kumman unicode?
Unicode-järjestelmässä luovuttiin tavurajoituksista merkistökoodauksille.
Siinä käytetään 17:ää 65 536:n merkin ”planea” joilla kuvataan
1 114 112 merkkiä. Ensimmäinen plane on nimeltään
”Basic Multilingual Plane” elikkä BMP, ja siihen kuuluu huomattava osa
yleisimmin tarvituista merkeistä, joten useimmat luulevat Unicodea itse asiassa
vain 16-bittiseksi kun se onkin vain pieni osa siitä.
Unicode-määritykset muunnetaan tietokoneiden merksitökoodeiksi useilla tavoilla,
mutta eniten käytössä lienevät UTF (engl. Unicode Transformation Format)
ja UCS (engl. Universal Character Set). Näiden aliluokissa UTF:n
perään merkitään bittien määrä pienimmässä merkkiesityksessä ja UCS:n perään
merkitään tavujen määrä kaikissa merkkiesityksissä. UTF-8 on ehkäpä
laajimmin levinnyt tapa koodata Unicode-merkkejä, ehkäpä koska se on helpoiten
yhteensopiva vanhojen 8-bittisten kanssa. Ja UTF-8 on myös tämän dokumentin
keskeisin aihe.
UTF-8
UTF-8 koodaa merkit vaihtelevapituisiin jaksoihin, mikä tässä tapauksessa
tarkoittaa, että se käyttää 1:stä 4:ään tavua merkkiä kohden. Yksitavuiset
merkit koodaavat ASCII-merkkejä täysin alaspäin yhteensopivasti vanhan
ASCII-merkistön kanssa. Tämän takia UTF-8:a ja ASCII:ta voi käyttää täysin
sekaisin kun pysytään ASCII-merkistössä. Suuri osa Itä-Aasialaisten
ei-latinalaisten merkistöjen käyttäjistä ei pidä UTF-8:aa hyvänä ratkaisuna,
sillä useimmiten siitä aiheutuu jopa 50 %:n koon lisäys tekstidataan.
Mitä hyötyä UTF-8:sta on käyttäjälle?
UTF-8 mahdollistaa standardin omaiset kansainvälisesti toimivat
käyttöympäristöt, suhteellisen pienellä vaivalla. UTF-8 olisi paras tapa
käyttää ASCII-merkistön ulkopuolisia merkkejä netissä, meileissä, irkissä ja
muuallakin, mutta siltikin monissa paikoissa UTF-8:aa ei vielä pidetä
hyväksyttynä tapana. Kannattaa yleensäkin ottaa selvää sopiiko UTF-8:aa käyttää
irkkikanavalla, meililistalla tai Usenetin nyyssiryhmässä ennen kuin ärsyttää
ihmisiä sillä. Keskimäärin sanottakoon, että sekä suomalaisilla irkkikanavilla,
että sfnetissä vielä vuonna 2005 on yleisehkö käytäntö UTF-8:aa vastaan pikemmin
kuin sen puolesta.
2.
UTF-8:n käyttö Gentoossa
Sopivien UTF-8-localejen löytäminen
Nyt kun tiedossa on Unicode-järjestelmän perusteet, voidaan alkaa käyttämään
UTF-8:aa järjestelmässä.
Esiehtona UTF-8:n käytölle on glibc käännettynä kielituin. Suositeltu tapa
tehdä tämä on asettaa tiedosto /etc/locale.gen.
Tässä dokumentissa ei kerrota enempää tästä
prosessista, mutta se on hyvin dokumentoituna vaikkapa Gentoon
paikallisasetusoppaassa.
Seuraavaksi pitää selvittää mikä UTF-8 locale on saatavilla suomeksi, vai
pitääkö luoda uusi:
Koodilistaus 2.1: UTF-8 localen etsiminen |
# locale -a | grep 'fi_FI'
fi_FI
fi_FI@euro
fi_FI.iso88591
fi_FI.iso885915@euro
fi_FI.UTF-8
|
Tästä tulosteesta voidaan helposti napata se kohta, jossa on pääte
.UTF-8. Jollei mikään pääte muistuta merkkijonoa
.UTF-8, pitää luoda uusi locale joka sisältää sen.
Huomaa:
Seuraava kannattaa suorittaa vain jos UTF-8-lokaalia ei ole saatavilla.
|
Koodilistaus 2.2: UTF-8-localen luonti |
# localedef -i fi_FI -f UTF-8 fi_FI.UTF-8
|
Toinen tapa luoda UTF-8-lokaali on lisätä se tiedostoon
/etc/locale.gen ja suorittaa komento locale-gen.
Koodilistaus 2.3: /etc/locales.genin muokkaus |
fi_FI.UTF-8 UTF-8
sv_FI.UTF-8 UTF-8
en_GB.UTF-8 UTF-8
|
Localen asettaminen
UTF-8-lokaalin käyttöön tarvitaan ainakin yksi muuttuja: LANG (tai
vain LC_CTYPE). Sen voi myös asettaa monessa eri
paikassa. Käyttäjäkohtaisesti asetetaan tiedostoon ~/.profile
sh-kuorelle tai ~/.bash_profile tahi ~/.bashrc
bash-kuorelle. Lisätietoja ja suosituksia löytyy paikallisasetusohjeista.
Toinen vaihtoehto on asettaa kaikille käyttäjille. Tämä on hyödyllistä
esimerkiksi /etc/init.d/xdm-skriptiä varten, koska
kirjautumisohjelma käynnistyy ilman edellä mainittuja käyttäjäkohtaisia
asetuksia.
Järjestelmänlaajuisen locale-asetuksen voi tehdä tiedostoon
/etc/env.d/02locale. Sisällöksi tulee jotain seuraavankaltaista:
Koodilistaus 2.4: /etc/env.d/02locale |
LANG="fi_FI.UTF-8"
|
Huomaa:
LANGin sijaan voi käyttää LC_CTYPEä.
Tämä korvaa myös LANGin
asetukset kaikissa tapauksissa. Lisätietoja löytyy ohjeesta GNU libc
locale page.
|
Ympäristömuutokset pitää sitten yhdistää käytettäviksi:
Koodilistaus 2.5: Ympäristön päivittäminen |
# env-update
>>> Regenerating /etc/ld.so.cache...
* Caching service dependencies ...
# source /etc/profile
|
Komennolla locale nähdään ympäristössä toimivat muuttujat:
Koodilistaus 2.6: Locale-muuttujien tarkastelu |
$ locale
LANG=fi_FI.UTF-8
LC_CTYPE="fi_FI.UTF-8"
LC_NUMERIC="fi_FI.UTF-8"
LC_TIME="fi_FI.UTF-8"
LC_COLLATE="fi_FI.UTF-8"
LC_MONETARY="fi_FI.UTF-8"
LC_MESSAGES="fi_FI.UTF-8"
LC_PAPER="fi_FI.UTF-8"
LC_NAME="fi_FI.UTF-8"
LC_ADDRESS="fi_FI.UTF-8"
LC_TELEPHONE="fi_FI.UTF-8"
LC_MEASUREMENT="fi_FI.UTF-8"
LC_IDENTIFICATION="fi_FI.UTF-8"
LC_ALL=
|
Nyt järjestelmän locale-asetusten pitäisi olla UTF-8-kunnossa, seuraavaksi
säädetään ohjelmat toimimaan sen kanssa.
3.
Ohjelmistotuki
Unicoden alkuaikoina, monitavuiset merkistökoodaukset eivät toimineet hyvin
C:n tyyppisissä ohjelmointikielissä, joita suuri osa tavallisimmista ohjelmista
käytti. Nykyäänkään kaikki ohjelmat eivät osaa UTF-8:aa ihan täydellisesti,
onneksi valtaosa kuitenkin hallitsee jo sen.
Tiedostonimet, NTFS ja FAT
Kernelissä on useita NLS-valintoja, mutta niistä ei pidä hämääntyä! Enimmikseen
pärjää, kun lisää UTF-8:n NLS-tukiin ja asettaa oletus-NLS:ksi utf8.
Koodilistaus 3.1: Kernelin asetukset UTF-8-tuelle |
File Systems -->
Native Language Support -->
(utf8) Default NLS Option
<*> NLS UTF8
|
Jos käytetään NTFS-osioita, saattaa niille olla tarpeen
antaa optio nls= liittämisen yhteydessä. FAT-osioille
codepage=-asetus on tarpeen. FATin oletuskoodisivun voi asettaa ytimen
asetuksissa.
Koodilistaus 3.2: FAT-asetusten teko ytimen asetuksiin |
File Systems -->
DOS/FAT/NT Filesystems -->
(850) Default codepage for fat
|
Asetusta Default iocharset for fat ei kannata laittaa UTF-8:ksi. Sen
sijaan, jos FAT-osio on UTF-8-muodossa mountille kannattaa antaa
utf=true-asetus. Lisätietoja löytää mountin ohjesivulta: man mount
ja ytimen dokumenteista:
/usr/src/linux/Documentation/filesystems/vfat.txt.
Tiedostonimien koodauksen muuttamisessa app-text/convmv voi
osoittautua näppäräksi.
Koodilistaus 3.3: Esimerkki convmv:n käytöstä |
# emerge app-text/convmv
# convmv -f <koodaus> -t utf-8 <tiedosto>
# convmv -f iso-8859-1 -t utf-8 filename
|
Tiedostojen sisältöä muutetaan vastaavasti vaikkapa iconv-sovellukella,
joka tulee glibc:n mukana.
Koodilistaus 3.4: Esimerkki iconvin käytöstä |
# iconv -f iso-8859-1 -t utf-8 filename
# iconv -f iso-8859-1 -t utf-8 filename > newfile
|
app-text/recodea voi myös käyttää tähän hommaan.
Konsoli
Tärkeää:
Unicode toimii konsolilla vain sys-apps/baselayout-1.11.9:llä
tai uudemmilla.
|
UTF-8-tuki saadaan konsolille asettamalla tiedostoon /etc/rc.conf
UNICODE="yes", ja lukemalla muukin osa tiedostosta tarkkaan. Oikean
fontin valinta on tärkeää Unicoden käytölle. Tämä ei toimi, jollei saatavilla
ole Unicode-lokaalia, kuten on kuvattu ensimmäisessä
kappaleessa.
Tiedoston /etc/conf.d/keymaps asetuksessa KEYMAP
pitäisi olla Unicode-näppäimistökartta asetettuna.
Koodilistaus 3.5: /etc/conf.d/keymapsin muokkaus |
KEYMAP="fi-latin9"
|
Ncurses ja Slang
Huomaa:
Ohita Slang tässä osiossa jollet käytä sitä tai tarvitse sitä.
|
Unicode on hyvä lisätä /etc/portage/make.confin
USE-flägeihin, ja asentaa (uudelleen) sys-libs/ncurses ja
sys-libs/slang jos tarpeellista, Portage tekee tämän seuraavan
päivityksen yhteydessä:
Koodilistaus 3.6: Järjestelmän päivittäminen |
# emerge --update --deep --newuse world
|
Tämän jälkeen pitää myös uudelleenasentaa ohjelmat jotka käyttävät näitä
kirjastoja, jotta USE-muutokset tulevat käytetyiksi. Tähän tarkoitukseen
on käytettävissä revdep-rebuild-työkalu, joka on osa
gentoolkit-pakettia.
Koodilistaus 3.7: Ncursesia ja slangia käyttävien ohjelmien uudelleenasentaminen |
# revdep-rebuild --soname libncurses.so.5
# revdep-rebuild --soname libslang.so.1
|
KDE, GNOME ja Xfce
Kaikki suuremmista työpöytäympäristöistä tukevat Unicodea täysin, eivätkä
tarvitse enempiä asetuksia kuin mitä on jo annettu. Tämä seuraa siitä,
että graafisten ympäristöjen ohjelmointikirjastot (Qt ja GTK+2) ovat
UTF-8-yhteensopivia. Samoin kaikki Qt- ja Gtk+2-pohjaiset sovellukset
tukevat nyt UTF-8:aa suoraan.
Poikkeuksena tulevat Xlibin ja GTK+1:n päälle rakennetut ohjelmat. GTK+1
tarvitsee iso-10646-1-fontin FontSpec-tyyppisenä määrityksenä tiedostoon
~/.gtkrc, kuten esimerkiksi:
-misc-fixed-*-*-*-*-*-*-*-*-*-*-iso10646-1.
Xlibiä ja Xawia käyttävät sovellukset tarvinnevat vastaavan asetuksen omiin
asetuksiinsa, muutoin ne eivät välttämättä toimi.
Huomaa:
Jos koneella on Gnome 1:n control center -sovellus, sitä voi käyttää fontin
muuttamiseen huomattavasti helpommin: tarvitsee vain valita iso10646-1 listasta.
|
Koodilistaus 3.8: Unicode-fontin lisäys ~/.gtkrc:hen (GTK+1:ä varten) |
style "user-font"
{
fontset="-misc-fixed-*-*-*-*-*-*-*-*-*-*-iso10646-1"
}
widget_class "*" style "user-font"
|
Jos sovelluksessa on sekä Qt että GTK+2 -tuet, GTK+2-tuki antaa paremman
lopputuloksen Unicoden kanssa.
X11 ja fontit
Truetype-fonteissa on sinänsä jo tuki Unicodelle, ja useimmisa Xorgin mukana
tulevissa fonteissa on suhteellisen kattava valikoima. Tietenkään kaikkia
Unicoden merkkejä ei ole helposti käsillä perusfonteissa. Joihinkin fontteihin
(mukaanlukien Bitstream Verat) tuen Itä-Aasialaisiin merkistöihin X:ll saa
asettamalla cjk-USE-flägin. Monet ohjelmistotkin käyttävät tätä
flägiä, joten saattaa olla kannatavaa merkitä se yleisiin USE-asetuksiin, jos
sitä tarvitsee.
Useat fonttipaketit Portagessa sisältävät Unicodea:
Koodilistaus 3.9: Vaihtoehtoista: muiden Unicode-fonttien asennus |
# emerge terminus-font intlfonts freefonts corefonts
|
Ikkunointimanagerit ja terminaaliemulaattorit
Myös ikkunointimanagerit jotka eivät pohjaudu GTK:hon tai Qt:hen sisältävät
hyvän Unicode-tuen, ja usein käyttävät Xft-kirjastoa fonttien käsittelyyn.
Ne ikkunointimanagerit, jotka eivät käytä Xft:tä, saattavat silti toimia
aiemmin mainituilla FontSpec-asetuksilla Unicode-fonteille.
Terminaaliemulaattoreit Xft-tuella ja Unicode-tuella on hieman hankalampi
löytää. Konsolen ja gnome-terminalin lisäksi hyviä valintoja Portagessa ovat
x11-terms/rxvt-unicode, x11-terms/xfce4-terminal,
app-gnustep/terminal, x11-terms/mlterm, x11-terms/mrxvt tai
vanha kunnon x11-terms/xterm unicode-USE-flägillä varustettuna.
Xterm saattaa pitää käynnistää komennolla uxterm.
app-misc/screen tukee myös UTF-8:aa:
screen -U käynnistää UTF-8-tilan, tai
sen voi myös lisätä asetustiedostoon
~/.screenrc:
Koodilistaus 3.10: ~/.screenrc:n asettaminen UTF-8:aa varten |
defutf8 on
|
Vim, Emacs, Xemacs ja Nano
Vim sisältää täyden UTF-8-tuen, ja pystyy automaattisesti
tunnistamaan jotkin UTF-8-tiedostot. Vimin UTF-8-tuesta saa lisätietoa
komennolla :help
mbyte.txt.
Emacsin versiot 23 ja uudemmat sekä XEmacsin versiot 21.5 ja uudemmat
sisältävät myös täyden UTF-8-tuen. Emacsin versiot 24:stä eteenpäin
sisältävät tuen myös oikealta-vasemmalle kirjoittaville järjestelmille.
Nanossa on ollut UTF-8-tuki versiosta 1.3.6 lähtien.
Shellit
Nykyisin bash sisältää täyden Unicode-tuen GNUn readline-kirjaston
kautta. Z shelliin (zsh) tuen saa unicode-USE-asetuksella.
C shellissä, tcsh:ssa ja ksh:ssa ei ole mitään
UTF-8-tukea tällä hetkellä.
Irssi
Irssi tukee UTF-8:aa täysin nykyään, tosin se vaatii
erillisen asetuksen:
Koodilistaus 3.11: UTF-8-tuen lisääminen irssiin |
/set term_charset UTF-8
|
Kanavilla joissa käytetään monia merkistöjä, /recode-komento auttaa
merkkimuunnoksissa. Lisätietoa tästä saa komennolla /help recode.
Mutt
Muttissa on hyvä Unicode-tuki. UTF-8 toimii, kunhan kaikki asetustiedostot,
allekirjoitukset mukaanluettuina, ovat UTF-8-koodattuja.
Huomaa:
Tämänkin jälkeen meileissä saattaa esiintyä ?:jä, ja se yleensä johtuu
jonkin vanhemman Latin-merkistön (ISO 8859) käytöstä. Saattaa olla kannattavaa
opastaa muita käyttämään UTF-8-postituksia ja osoittaa heille
IETF RFC 2277 luettavaksi (viiteluettelo on dokumentin lopussa).
Huomaa kuitenkin, että erityisesti monilla postituslistoilla UTF-8 ei ole
hyväksytty vaihtoehto. Kannattaa siis aina etukäteen varmistaa sopiva
merkistökoodaus postituksiin ennen kuin käyttää UTF-8:aa.
|
Lisätietoa aiheesta on Mutt WikiWikissä.
Man
Ohjesivut ovat Linuxin keskeinen osa. Niissä olevat unicode-merkit saa toimimaan
oikein korjaamalla /etc/man.confissa seuraavan asetuksen:
Koodilistaus 3.12: Man.confin asettaminen |
NROFF /usr/bin/nroff -Tascii -c -mandoc
NROFF /usr/bin/nroff -mandoc -c
|
Elinks ja links
Nämä ovat yleisimpiä tekstipohjaisia selaimia, ja niihin pystyy asettamaan
UTF-8-tuen. Elinksin ja linksin asetukset voi tehdä monellakin
tapaa, vaikkapa Setup-valikosta tai suoraan asetustiedostosta. Selaimen
asetuvalikkoon pääsee vaikkapa painamalla Alt+S Setup-valikkoa varten ja
sitten T Terminal-kohtaa varten. Luettelossa on valinta UTF-8 I/O,
joka hyväksytään painamalla Enteriä. Sitten tallennetaan ja poistutaan
valikosta. Linksissä voi joutua toistamaan vielä sarjan Alt+S ja
S tallentaakseen asetukset. Asetustiedoston muutokset ovat alla:
Koodilistaus 3.13: UTF-8-tuen asettaminen elinksille tai linksille |
set terminal.linux.utf_8_io = 1
terminal "xterm" 0 1 0 us-ascii utf-8
|
Samba
Samba on ohjelmisto SMB-protokollaan UNIXeilla. Protokolla tunnetaan myös
Common Internet File Systeminä eli CIFSinä. Sambaan kuuluu myös NetBIOS, jota
käytetään Windowsin tiedostonjakoon.
Koodilistaus 3.14: Samban UTF-8-asetukset |
dos charset = 1255
unix charset = UTF-8
display charset = UTF-8
|
Testaaminen
Netissä on lukuisia UTF-8-testisivustoja. net-www/w3m,
net-www/links, net-www/elinks, net-www/lynx ja
Mozilla-pohjaiset selaimet tukevat UTF-8:aa, kuten Konqueror ja Operakin.
Tekstipohjaisissa selaimissa tulee kuitenkin varmistaa, että myös terminaali
on Unicode-yhteensopiva.
Jos jotkin merkeistä näkyvät laatikkoina, joissa on ehkä numeroita ja kirjaimia
sisällä, se tarkoittaa, että fonteista puuttuu vastaava merkki, ja laatikossa
on merkin UTF-8-koodi.
Tekstinsyöttö
Kuolleet näppäimet (engl. dead keys) auttavat joidenkin merkkien
muodostamista näppäimistöltä. Nämä toimivat niin, että näppäimistöltä syötetään
jokin kuolleista merkeistä, kuten suomalaisen standardinäppäimistön enterin
ja backspacen vasemmalla puolella olevat merkit, ja perään jokin
aakkosnumeerinen merkki, niin alussa syötetty merkki muuttaa jäljempänä
syötetyn. Näin voidaan lisätä vaikkapa aksentteja latinalaisiin aakkosiin
tai kirjoittaa potenssiin korotettuja numeroita Unicode-tyyliin.
Kuolleiden näppäinten toiminta riippuu käytetystä näppäinkartoista.
Useimmissa eurooppalaisissa ne ovat oletusarvoisesti mukana.
Pohjois-Amerikkalaisissahan näitä ei kuitenkaan ole. Helpoiten tämän saa
kuitenkin amerikanenglantilaiseen näppäinkarttaan käyttämällä en_US-karttaa
us-kartan asemesta, esimerkiksi
/etc/X11/xorg.confissa.
Koodilistaus 3.15: /etc/X11/xorg.conf |
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "XkbLayout" "fi"
EndSection
|
Tämä muutos tulee voimaan X:n uudelleenkäynnistyksessä. Sen voi myös ottaa
käyttöön heti setxkbmap-komennolla: setxkbmap fi.
Tässä vielä muutamia esimerkkejä kuolleista näppäimistä. Vaikka nämä
vaihtelevatkin eri näppäinasetuksilla, käytäntö on yleensä sama.
Painamalla ensin backspacen vasemmalla puolella olevaa
kuollutta akuuttia korkomerkkiä ´ ja
sitten aata, saadaan á. Painamalla samaa merkkiä ´ ja eetä saadaan
vastaavasti é. Shiftillä saadaan gravis-korkkomerkki ̀ ja sen voi yhdistää
vastaavasti vaikka oohon ò.
Painamalla AltGr ja backspacen vasemmalla puolella olevaa aksenttinäppäintä
saadaan kuollut sedilji ¸ , jota voi käyttää vaikkapa ranskassa: ç. Jos
samaa kuollutta näppäintä paina kahdesti, tai yhdistää välilyöntiin, saa
aikaan pelkän aksentin tai tarkkeen, kuten akuutit ja gravikset edellä,
kannattaa kuitenkin huomata, että tällaisia merkkejä ei yleensä käytetä
tekstissä vaikka ne näyttäisivät samalta kuin jokin muu symboli, esimerkiksi
kaksi aksenttia ei korvaa lainausmerkkiä eikä ruotsalaisen åån rengas sovi
astemerkiksi.
Myös AltGr:n avulla saadaan aikaan hyvin paljon merkkejä, esimerkiksi
suomalaisessa näppäimistössä hattu-s š tulee AltGr+s yhdistelmästä, ja hattu-z ž
vastaavasti AltGr+z. Äng-äänteen merkki ŋ on geen alla ja mikron
myy µ on ämmässä. Euron merkin € saa AltGr+e:stä tai AltGr+5:stä, joihin ne
uusissa näppäimistöissä on merkittykin.
Viitteitä
4.
Tunnetut ongelmat
Järjestelmäasetustiedostot hakemistossa /etc
Monetkaan järjestelmäasetustiedstoista, kuten /etc/fstab, eivät
tue UTF-8-sisältöä, vaan pitää käyttää ääkkösvapaata ASCII-yhteensopivaa
merkistöosajoukkoa.
Tämän sivun sisältö ja suomennos kuuluvat
Creative Commons - Nimi mainittava-Sama lisenssi 2.5 -lisenssin alle.
Sivun sisältöä koskee myös
Gentoo Name and
Logo Usage Guidelines.
|