Comme signalé plus haut, cette section ne contient que french (pour X window) et french.map (pour linux-console).
Voici french (pour X11, à placer dans /usr/X11R6/lib/X11/xkb/symbols) :
// French keyboard description, (c) Guylhem Aznar, July 1997
// Released under GNU GENERAL PUBLIC LICENSE Version 2
// If you haven't received it, this license is available at :
// Free Software Foundation, Inc. 675 Mass Ave, Cambridge, MA 02139, USA
partial hidden alphanumeric_keys modifier_keys
xkb_symbols "basic" {
// Description *TOTALE* d'un clavier français, sans le comparer à un
// clavier américain par défaut : on y gagne plus de flexibilité, ce
// modèle devient plus personalisable ...
// Les touches é, è, ç, à & ù, présentes en mode minuscule (i.e. sans shift)
// ne sont pas disponibles en mode majuscule car elles sont respectivement
// remplacées par 2, 7, 9, 0 & % .
// Pour obtenir les majuscules accentuées É, È, Ç, À & Ù, vous pouvez soit
// utiliser AltGr + Shift (minuscule accentuée), soit utiliser les accent
// dits "morts", i.e. fonctionnant comme l'accent circonflexe & le tréma .
// Sont disponibles : AltGr (1) : accent aigü, AltGr (7) : accent grave,
// AltGr (^) : cédille ; pour s'en servir, procéder comme avec l'accent
// circonflexe & le tréma : ex : AltGr (1) + e : é ; AltGr (1) + e : É ...
// La tilde (~) n'étant pas employée sur des lettres en français, elle reste
// en AltGr (2) une touche normale .
// Une tilde "morte" (avec la cédille "morte") est toutefois disponibles sur la
// touche accent circonflexe & tréma en AltGr + Shift .
// Au cas où les dead_keys ne fonctionnent pas (certains programmes les
// refusent), vous pouvez toujours utiliser pour obtenir les voyelles à accent
// circonflexe & à tréma :
// AltGr (voyelle) : voyelle-minuscule à accent circonflexe
// AltGr + Shift (voyelle) : voyelle-minuscule à tréma
// AltGr (en dessous de la voyelle) : voyelle-majuscule à accent circonflexe
// AltGr + Shift (en dessous de la voyelle) : voyelle majuscule à tréma
// Plusieurs lettres étrangères, utilisées comme signes mathématiques ou
// physiques, abbréviations (...) ont été rajoutées en AltGr :
// T->Phi;, r->™, y->yen, c->¢ et ©, f->señora, m->señor,
// g->`, h->', ù->±, x->æ s->ø, z->å, w->Delta;, b->ß
// La correspondance essaye de se faire la plus naturelle possible, en mettant
// ces touches là où l'on s'attend le plus de les trouver ...
// mais elle est loin d'être parfaite :^)
// Modifiez donc à loisir tous ces AltGr, et si vous pensez avoir trouvé la
// configuration ultime permettant d'accéder en mieux à toutes ces touches,
// mailez moi !
// Vôtre arrangement, s'il est vraiement plus pratique, sera inclu dans la
// prochaine version de la carte de correspondance du clavier !
name[Group1]= "French";
key <ESC> { [ Escape ] };
// Deux possibilitées pour cette touche "au carré" (²) :
// * un mode mathématique où elle renvoie "au carré" en mode normal, "au cube"
// si elle est Shiftée et "puissance 1" en Alt-gr (pour parler par exemple de
// m.s-¹ ...)
// Toutefois, accent circonflexe suivi de 1, 2, 3, -, renvoyant respectivement
// ¹, ², ³ et -, cette touche est inutile !
// * un mode littéraire est donc proposé par défault, pour disposer des
// guillemets français « & » ; le ² et le ³ restant disponibles
// respectivement en AltGr et AltGr + Shift .
// key <TLDE> { [ twosuperior, threesuperior ],
// [ onesuperior ] };
key <TLDE> { [ guillemotleft, guillemotright ],
[ twosuperior, threesuperior ] };
key <AE01> { [ ampersand, 1 ],
[ dead_acute ] };
key <AE02> { [ eacute, 2 ],
[ asciitilde, Eacute ] };
key <AE03> { [ quotedbl, 3 ],
[ numbersign ] };
key <AE04> { [ apostrophe, 4 ],
[ braceleft ] };
key <AE05> { [ parenleft, 5 ],
[ bracketleft ] };
key <AE06> { [ minus, 6 ],
[ bar ] };
key <AE07> { [ egrave, 7 ],
[ dead_grave, Egrave ] };
key <AE08> { [ underscore, 8 ],
[ backslash ] };
key <AE09> { [ ccedilla, 9 ],
[ asciicircum, Ccedilla ] };
key <AE10> { [ agrave, 0 ],
[ at, Agrave ] };
key <AE11> { [ parenright, degree ],
[ bracketright ] };
key <AE12> { [ equal, plus ],
[ braceright ] };
key <BKSP> { [ BackSpace ] };
key <TAB> { [ Tab, ISO_Left_Tab ] };
key <AD01> { [ a, A ],
[ acircumflex, adiaeresis ] };
key <AD02> { [ z, Z ],
[ aring, Aring ] };
key <AD03> { [ e, E ],
[ ecircumflex, ediaeresis ] };
key <AD04> { [ r, R ],
[ registered ] };
key <AD05> { [ t, T ],
[ thorn, THORN ] };
key <AD06> { [ y, Y ],
[ yen ] };
key <AD07> { [ u, U ],
[ ucircumflex, udiaeresis ] };
key <AD08> { [ i, I ],
[ icircumflex, idiaeresis ] };
key <AD09> { [ o, O ],
[ ocircumflex, odiaeresis ] };
key <AD10> { [ p, P ],
[ paragraph ] };
key <AD11> { [ dead_circumflex, dead_diaeresis ],
[ dead_cedilla, dead_tilde ] };
key <AD12> { [ dollar, sterling ],
[ currency ] };
key <RTRN> { [ Return ] };
key <AC01> { [ q, Q ],
[ Acircumflex, Adiaeresis ] };
key <AC02> { [ s, S ],
[ oslash, Ooblique ] };
key <AC03> { [ d, D ],
[ Ecircumflex, Ediaeresis ] };
key <AC04> { [ f, F ],
[ ordfeminine ] };
key <AC05> { [ g, G ],
[ quoteleft ] };
key <AC06> { [ h, H ],
[ quoteright ] };
key <AC07> { [ j, J ],
[ Ucircumflex, Udiaeresis ] };
key <AC08> { [ k, K ],
[ Icircumflex, Idiaeresis ] };
key <AC09> { [ l, L ],
[ Ocircumflex, Odiaeresis ] };
key <AC10> { [ m, M ],
[ masculine ] };
key <AC11> { [ ugrave, percent ],
[ plusminus, Ugrave ] };
key <BKSL> { [ asterisk, mu ],
[ Greek_OMEGA ] };
key <LFSH> { [ Shift_L ] };
key <LSGT> { [ less, greater ],
[ bar ] };
key <AB01> { [ w, W ],
[ eth, ETH ] };
key <AB02> { [ x, X ],
[ ae, AE ] };
key <AB03> { [ c, C ],
[ cent ] };
key <AB04> { [ v, V ],
[ copyright ] };
key <AB05> { [ b, B ],
[ ssharp ] };
key <AB06> { [ n, N ],
[ notsign ] };
key <AB07> { [ comma, question ],
[ questiondown ] };
key <AB08> { [ semicolon, period ],
[ multiply ] };
key <AB09> { [ colon, slash ],
[ division ] };
key <AB10> { [ exclam, section ],
[ exclamdown ] };
key <RTSH> { [ Shift_R ] };
key <LCTL> { [ Control_L ] };
// key <LALT> { [ Alt_L, Meta_L ] };
key <SPCE> { [ space ] };
// key <RALT> { [ Alt_R, Meta_R ] };
key <RCTL> { [ Control_R ] };
key <FK01> { [ F1 ] };
key <FK02> { [ F2 ] };
key <FK03> { [ F3 ] };
key <FK04> { [ F4 ] };
key <FK05> { [ F5 ] };
key <FK06> { [ F6 ] };
key <FK07> { [ F7 ] };
key <FK08> { [ F8 ] };
key <FK09> { [ F9 ] };
key <FK10> { [ F10 ] };
key <FK11> { [ F11 ] };
key <FK12> { [ F12 ] };
key <PRSC> { type= "PC_SYSRQ", symbols[Group1]= [ Print, Execute ] };
key <SCLK> { [ Scroll_Lock ] };
key <PAUS> { type= "PC_BREAK", symbols[Group1]= [ Pause, Break ] };
key <INS> { [ Insert ] };
key <HOME> { [ Home ] };
key <PGUP> { [ Prior ] };
key <DELE> { [ Delete ] };
key <END> { [ End ] };
key <PGDN> { [ Next ] };
key <UP> { [ Up ] };
key <LEFT> { [ Left ] };
key <DOWN> { [ Down ] };
key <RGHT> { [ Right ] };
key <NMLK> { [ Num_Lock, Pointer_EnableKeys ] };
key <KPDV> { [ KP_Divide ] };
key <KPMU> { [ KP_Multiply ] };
key <KPSU> { [ KP_Subtract ] };
key <KP7> { [ KP_Home, KP_7 ] };
key <KP8> { [ KP_Up, KP_8 ] };
key <KP9> { [ KP_Prior, KP_9 ] };
key <KPAD> { [ KP_Add ] };
key <KP4> { [ KP_Left, KP_4 ] };
key <KP5> { [ KP_Begin, KP_5 ] };
key <KP6> { [ KP_Right, KP_6 ] };
key <KP1> { [ KP_End, KP_1 ] };
key <KP2> { [ KP_Down, KP_2 ] };
key <KP3> { [ KP_Next, KP_3 ] };
key <KPEN> { [ KP_Enter ] };
key <KP0> { [ KP_Insert, KP_0 ] };
key <KPDL> { [ KP_Delete, KP_Decimal ] };
modifier_map Shift { Shift_L };
modifier_map Lock { Caps_Lock };
modifier_map Control{ Control_L };
// modifier_map Mod1 { Alt_L, Alt_R, Meta_L, Meta_R };
// modifier_map Mod2 { Num_Lock };
modifier_map Mod3 { Mode_switch };
// modifier_map Mod4 { Meta_L, Meta_R };
// modifier_map Mod5 { Scroll_Lock };
};
// Touches supplémentaires sur un clavier "Windows95"
// ²/³ (carré/cube) par défaut puisqu'on a mis les guillemets français !
// key <LWIN> { [ twosuperior, threesuperior ],
// [ onesuperior ] };
// key <RWIN> { [ Mode_switch ] };
// key <MENU> { [ Multi_key ] };
xkb_symbols "pc101" {
key <RALT> { [ Mode_switch, Multi_key ] };
modifier_map Mod3 { Mode_switch };
};
default
xkb_symbols "pc102" {
key <RALT> { [ Mode_switch, Multi_key ] };
modifier_map Mod3 { Mode_switch };
};
xkb_symbols "pc104" {
key <RALT> { [ Mode_switch ] };
key <LWIN> { [ Meta_L ] };
key <RWIN> { [ Multi_key ] };
key <MENU> { [ Menu ] };
modifier_map Mod3 { Mode_switch };
};
xkb_symbols "pc105" {
key <RALT> { [ Mode_switch ] };
key <RWIN> { [ Multi_key ] };
modifier_map Mod3 { Mode_switch };
};
partial alphanumeric_keys
xkb_symbols "nodeadkeys" {
include "french(basic)"
key <AE12> { [ equal, plus ] };
key <AD11> { [ asciicircum, diaeresis ] };
key <AD12> { [ dollar, sterling ] };
key <AB07> { [ comma, question ] };
};
Et enfin voici french.map (à placer dans /usr/lib/kbd/keytables ou /usr/share/keytables) :
# French keyboard description :
#
# Copyright (c) July 1997 Guylhem Aznar <guylhem à oeil.qc.ca>
# Copyright (c) August 1997 Pierre-Charles David <pcdavid à club-internet.fr>
# Ajouté : Linefeed, Meta_Control_backslash, Control_backslash, Meta_backslash
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License version
# 2 as published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
# Les définitions de alt & control (keycode) ne sont qu'optionelles ; n'ont
# donc été redéfinis alt (nombre) et atl + shift (nombre) pour inverser le
# comportement par défaut : touche = signe ; touche + shift = nombre, or ici
# alt touche = Meta_nombre ; alt + shift touche = Meta_signe
#
# Shift (pavé numérique) pour taper de l'héxadécimal !
# control alt suppr : rebooter
# control altgr suppr : arrêter
#
# ajouter pour ces deux fonction les lignes suivantes à /etc/inittab :
# ca:12345:ctrlaltdel:/sbin/shutdown -t1 -r now
# kb:12345:kbrequest:/sbin/halt
keycode 0 =
keycode 1 = Escape
keycode 2 = ampersand one dead_acute
alt keycode 2 = Meta_one
alt shift keycode 2 = Meta_ampersand
keycode 3 = eacute two tilde Eacute
alt keycode 3 = Meta_two
alt shift keycode 3 = Meta_asciitilde
keycode 4 = quotedbl three numbersign
alt keycode 4 = Meta_three
alt shift keycode 4 = Meta_quotedbl
keycode 5 = apostrophe four braceleft
alt keycode 5 = Meta_four
alt shift keycode 5 = Meta_apostrophe
keycode 6 = parenleft five bracketleft
alt keycode 6 = Meta_five
alt shift keycode 6 = Meta_parenleft
keycode 7 = minus six bar hyphen
alt keycode 7 = Meta_six
alt shift keycode 7 = Meta_minus
keycode 8 = egrave seven dead_grave Egrave
alt keycode 8 = Meta_seven
alt shift keycode 8 = Meta_grave
keycode 9 = underscore eight backslash macron
alt keycode 9 = Meta_eight
alt shift keycode 9 = Meta_underscore
keycode 10 = ccedilla nine circumflex Ccedilla
alt keycode 10 = Meta_nine
alt shift keycode 10 = Meta_asciicircum
keycode 11 = agrave zero at Agrave
alt keycode 11 = Meta_zero
alt shift keycode 11 = Meta_at
keycode 12 = parenright degree bracketright
alt keycode 12 = Meta_parenright
alt shift keycode 12 = Meta_bracketright
keycode 13 = equal plus braceright
alt keycode 13 = Meta_equal
alt shift keycode 13 = Meta_plus
keycode 14 = Delete Remove
alt control keycode 14 = Boot
altgr control keycode 14 = KeyboardSignal
keycode 15 = Tab
keycode 16 = a A acircumflex adiaeresis
keycode 17 = z Z aring Aring
keycode 18 = e E ecircumflex ediaeresis
keycode 19 = r R registered
keycode 20 = t T thorn THORN
keycode 21 = y Y yen
keycode 22 = u U ucircumflex udiaeresis
keycode 23 = i I icircumflex idiaeresis
keycode 24 = o O ocircumflex odiaeresis
keycode 25 = p P paragraph
keycode 26 = dead_circumflex dead_diaeresis dead_cedilla dead_tilde
keycode 27 = dollar pound currency
keycode 28 = Return
alt keycode 28 = 0x080d
altgr keycode 26 = Linefeed
keycode 29 = Control
keycode 30 = q Q Acircumflex Adiaeresis
keycode 31 = s S oslash Oslash
keycode 32 = d D Ecircumflex Ediaeresis
keycode 33 = f F ordfeminine
keycode 34 = g G acute
keycode 35 = h H periodcentered
keycode 36 = j J Ucircumflex Udiaeresis
keycode 37 = k K Icircumflex Idiaeresis
keycode 38 = l L Ocircumflex Odiaeresis
keycode 39 = m M masculine
keycode 40 = ugrave percent plusminus Ugrave
alt keycode 40 = Meta_semicolon
# Mode math
#keycode 41 = twosuperior threesuperior onesuperior periodcentered
# Mode littéraire + math
keycode 41 = guillemotleft guillemotright twosuperior threesuperior
keycode 42 = Shift
keycode 43 = asterisk mu onehalf
keycode 44 = w W +eth +ETH
keycode 45 = x X +ae +AE
keycode 46 = c C cent
keycode 47 = v V copyright
keycode 48 = b B ssharp
keycode 49 = n N notsign
keycode 50 = comma question questiondown
keycode 51 = semicolon period multiply
keycode 52 = colon slash division
keycode 53 = exclam section exclamdown
keycode 54 = Shift
keycode 55 = KP_Multiply Hex_A Hex_D
keycode 56 = Alt
keycode 57 = space
control keycode 57 = nul
alt keycode 57 = Meta_space
altgr keycode 57 = nobreakspace
# Très utile pour tous ceux ne disposant pas de leurs deux mains
keycode 58 = CapsShift
# Caps_Lock
# ou au choix CapsShift ou Caps_On !
shift keycode 58 = Shift_Lock
control keycode 58 = Control_Lock
alt keycode 58 = Alt_Lock
altgr keycode 58 = AltGr_Lock
keycode 59 = F1 F11 Console_13
alt keycode 59 = Console_1
control alt keycode 59 = Console_1
keycode 60 = F2 F12 Console_14
alt keycode 60 = Console_2
control alt keycode 60 = Console_2
keycode 61 = F3 F13 Console_15
alt keycode 61 = Console_3
control alt keycode 61 = Console_3
keycode 62 = F4 F14 Console_16
alt keycode 62 = Console_4
control alt keycode 62 = Console_4
keycode 63 = F5 F15 Console_17
alt keycode 63 = Console_5
control alt keycode 63 = Console_5
keycode 64 = F6 F16 Console_18
alt keycode 64 = Console_6
control alt keycode 64 = Console_6
keycode 65 = F7 F17 Console_19
alt keycode 65 = Console_7
control alt keycode 65 = Console_7
keycode 66 = F8 F18 Console_20
alt keycode 66 = Console_8
control alt keycode 66 = Console_8
keycode 67 = F9 F19 Console_21
alt keycode 67 = Console_9
control alt keycode 67 = Console_9
keycode 68 = F10 F20 Console_22
alt keycode 68 = Console_10
control alt keycode 68 = Console_10
keycode 69 = Num_Lock Bare_Num_Lock
keycode 70 = Scroll_Lock Show_Memory Show_Registers Show_State
keycode 71 = KP_7 Hex_7
alt keycode 71 = Ascii_7
keycode 72 = KP_8 Hex_8
alt keycode 72 = Ascii_8
keycode 73 = KP_9 Hex_9
alt keycode 73 = Ascii_9
keycode 74 = KP_Subtract Hex_B Hex_E
alt keycode 74 = minus
keycode 75 = KP_4 Hex_4
alt keycode 75 = Ascii_4
keycode 76 = KP_5 Hex_5
alt keycode 76 = Ascii_5
keycode 77 = KP_6 Hex_6
alt keycode 77 = Ascii_6
keycode 78 = KP_Add Hex_C Hex_F
alt keycode 78 = plus
keycode 79 = KP_1 Hex_1
alt keycode 79 = Ascii_1
keycode 80 = KP_2 Hex_2
alt keycode 80 = Ascii_2
keycode 81 = KP_3 Hex_3
alt keycode 81 = Ascii_3
keycode 82 = KP_0 Hex_0
alt keycode 82 = Ascii_0
keycode 83 = KP_Period KP_Comma
altgr control keycode 83 = KeyboardSignal
control alt keycode 83 = Boot
# SysReq = Alt+Print Screen = 84
keycode 84 = Last_Console
keycode 85 =
keycode 86 = less greater bar brokenbar
keycode 87 = F11 F11 Console_23
alt keycode 87 = Console_11
control alt keycode 87 = Console_11
keycode 88 = F12 F12 Console_24
alt keycode 88 = Console_12
control alt keycode 88 = Console_12
keycode 89 =
keycode 90 =
keycode 91 =
keycode 92 =
keycode 93 =
keycode 94 =
keycode 95 =
keycode 96 = KP_Enter
keycode 97 = Control
keycode 98 = KP_Divide
# Print Screen
keycode 99 = Control_backslash
control keycode 99 = Control_backslash
alt keycode 99 = Control_backslash
keycode 100 = AltGr
alt keycode 100 = Compose
# Ctrl+Pause = Break = 101
keycode 101 = Break
keycode 102 = Home
keycode 103 = Up
keycode 104 = PageUp
shift keycode 104 = Scroll_Backward
keycode 105 = Left
alt keycode 105 = Decr_Console
keycode 106 = Right
alt keycode 106 = Incr_Console
keycode 107 = End
keycode 108 = Down
alt keycode 108 = Last_Console
# PageDown == Next
keycode 109 = PageDown
shift keycode 109 = Scroll_Forward
keycode 110 = Insert
keycode 111 = BackSpace BackSpace SAK
alt keycode 111 = Meta_backslash
control keycode 111 = Control_backslash
keycode 112 = Macro
keycode 113 = F13
keycode 114 = F14
keycode 115 = Help
keycode 116 = Do
keycode 117 = F17
keycode 118 = KP_MinPlus
keycode 119 = Pause
keycode 120 =
keycode 121 =
keycode 122 =
keycode 123 =
keycode 124 =
# Fenêtre gauche = Alt puisque d'habitude c'est la position d'Alt !
keycode 125 = Alt
# Fenêtre droite = AltGr puisque d'habitude c'est la position d'AltGr !
keycode 126 = AltGr
# Menu = compose (mélanger des signes et des lettres ex : (compose) ' e = é
keycode 127 = Compose
string F1 = "\033[[A"
string F2 = "\033[[B"
string F3 = "\033[[C"
string F4 = "\033[[D"
string F5 = "\033[[E"
string F6 = "\033[17~"
string F7 = "\033[18~"
string F8 = "\033[19~"
string F9 = "\033[20~"
string F10 = "\033[21~"
string F11 = "\033[23~"
string F12 = "\033[24~"
string F13 = "\033[25~"
string F14 = "\033[26~"
string F15 = "\033[28~"
string F16 = "\033[29~"
string F17 = "\033[31~"
string F18 = "\033[32~"
string F19 = "\033[33~"
string F20 = "\033[34~"
string F21 = ""
string F22 = ""
string F23 = ""
string F24 = ""
string F25 = ""
string F26 = ""
string Home = "\033[1~"
string Insert = "\033[2~"
string Remove = "\033[3~"
string End = "\033[4~"
string PageUp = "\033[5~"
string PageDown = "\033[6~"
string Macro = "\033[M"
string Pause = "\033[P"
compose '`' 'A' to 'À'
compose '`' 'a' to 'à'
compose '\'' 'A' to 'Á'
compose '\'' 'a' to 'á'
compose '^' 'A' to 'Â'
compose '^' 'a' to 'â'
compose '~' 'A' to 'Ã'
compose '~' 'a' to 'ã'
compose '"' 'A' to 'Ä'
compose '"' 'a' to 'ä'
compose 'O' 'A' to 'Å'
compose 'o' 'a' to 'å'
compose '0' 'A' to 'Å'
compose '0' 'a' to 'å'
compose 'A' 'A' to 'Å'
compose 'a' 'a' to 'å'
compose 'A' 'E' to 'Æ'
compose 'a' 'e' to 'æ'
compose ',' 'C' to 'Ç'
compose ',' 'c' to 'ç'
compose '`' 'E' to 'È'
compose '`' 'e' to 'è'
compose '\'' 'E' to 'É'
compose '\'' 'e' to 'é'
compose '^' 'E' to 'Ê'
compose '^' 'e' to 'ê'
compose '"' 'E' to 'Ë'
compose '"' 'e' to 'ë'
compose '`' 'I' to 'Ì'
compose '`' 'i' to 'ì'
compose '\'' 'I' to 'Í'
compose '\'' 'i' to 'í'
compose '^' 'I' to 'Î'
compose '^' 'i' to 'î'
compose '"' 'I' to 'Ï'
compose '"' 'i' to 'ï'
compose '-' 'D' to 'Ð'
compose '-' 'd' to 'ð'
compose '~' 'N' to 'Ñ'
compose '~' 'n' to 'ñ'
compose '`' 'O' to 'Ò'
compose '`' 'o' to 'ò'
compose '\'' 'O' to 'Ó'
compose '\'' 'o' to 'ó'
compose '^' 'O' to 'Ô'
compose '^' 'o' to 'ô'
compose '~' 'O' to 'Õ'
compose '~' 'o' to 'õ'
compose '"' 'O' to 'Ö'
compose '"' 'o' to 'ö'
compose '/' 'O' to 'Ø'
compose '/' 'o' to 'ø'
compose '`' 'U' to 'Ù'
compose '`' 'u' to 'ù'
compose '\'' 'U' to 'Ú'
compose '\'' 'u' to 'ú'
compose '^' 'U' to 'Û'
compose '^' 'u' to 'û'
compose '"' 'U' to 'Ü'
compose '"' 'u' to 'ü'
compose '\'' 'Y' to 'Ý'
compose '\'' 'y' to 'ý'
compose 'T' 'H' to 'Þ'
compose 't' 'h' to 'þ'
compose 's' 's' to 'ß'
compose 's' 'z' to 'ß'
compose 'i' 'j' to 'ÿ'
compose '<' '<' to '«'
compose '>' '>' to '»'
# si quelqu'un veut bien y inclure des «compose» pour les autres caractères
# latin1 comme le copyright, le yen (...) qu'il me les envoie !