Added a few more compose combos; changed source code file encoding from

Latin-1 to UTF-8.
This commit is contained in:
William McBrine
2006-12-09 20:44:07 +00:00
parent 6ebc71e8af
commit 1c00cd66c5
2 changed files with 277 additions and 279 deletions

View File

@@ -16,106 +16,103 @@ Where no key is evident, the spacebar is used. Thus, to generate the
NO-BREAK SPACE, press the "compose" key followed by the spacebar,
followed by the spacebar.
NOTE: Viewing this file with a character set other than Latin-1 will not
show the Chr value correctly.
+----+-----+---+---------------------------------+---------------------------+
|Hex | Dec |Chr| Description ISO 10646-1:1993(E) | Compose key combinations |
+----+-----+---+---------------------------------+---------------------------+
| A0 | 160 | | NO-BREAK SPACE | |
| A1 | 161 | ¡ | INVERTED EXCLAMATION MARK | ! !! |
| A2 | 162 | ¢ | CENT SIGN | c| |c c/ c$ C$ C| |
| A3 | 163 | £ | POUND SIGN | L- L$ L= l- l$ l= |
| A4 | 164 | ¤ | CURRENCY SIGN | xo ox XO g$ |
| A5 | 165 | ¥ | YEN SIGN | =y y= =Y Y= Y- y$ y-|
| A6 | 166 | ¦ | BROKEN BAR | | || vb VB |^ |
| A7 | 167 | § | SECTION SIGN | SO SS s! S! so |
| A8 | 168 | ¨ | DIAERESIS | " "" |
| A9 | 169 | © | COPYRIGHT SIGN | CO co OC |
| AA | 170 | ª | FEMININE ORDINAL INDICATOR | sa SA a_ A_ |
| AB | 171 | « | LEFT DOUBLE ANGLE QUOTES | << |
| AC | 172 | ¬ | NOT SIGN | -, no NO |
| AD | 173 | ­ | SOFT HYPHEN | - -- |
| AE | 174 | ® | REGISTERED SIGN | RO ro OR |
| AF | 175 | ¯ | MACRON | -^ _^ __ |
| B0 | 176 | ° | DEGREE SIGN | o 0^ 0* de DE |
| B1 | 177 | ± | PLUS-MINUS SIGN | -+ +- |
| B2 | 178 | ² | SUPERSCRIPT TWO | 2 2^ s2 |
| B3 | 179 | ³ | SUPERSCRIPT THREE | 3 3^ s3 |
| B4 | 180 | ´ | ACUTE ACCENT | ' '' |
| B5 | 181 | µ | MICRO SIGN | u /u /U *m *M |
| B6 | 182 | ¶ | PILCROW SIGN | p! P! pg PG |
| B7 | 183 | · | MIDDLE DOT | . .^ .. |
| B8 | 184 | ¸ | CEDILLA | , ,, |
| B9 | 185 | ¹ | SUPERSCRIPT ONE | 1 1^ s1 |
| BA | 186 | º | MASCULINE ORDINAL INDICATOR | o_ s0 S0 |
| BB | 187 | » | RIGHT DOUBLE ANGLE QUOTES | >> |
| BC | 188 | ¼ | VULGAR FRACTION ONE QUARTER | 14 |
| BD | 189 | ½ | VULGAR FRACTION ONE HALF | 12 |
| BE | 190 | ¾ | VULGAR FRACTION THREE QUARTERS | 34 |
| BF | 191 | ¿ | INVERTED QUESTION MARK | ? ?? |
| C0 | 192 | À | CAPITAL A WITH GRAVE ACCENT | `A A` |
| C1 | 193 | Á | CAPITAL A WITH ACUTE ACCENT | 'A A' |
| C2 | 194 | Â | CAPITAL A WITH CIRCUMFLEX ACCENT| ^A A^ A> |
| C3 | 195 | Ã | CAPITAL A WITH TILDE | ~A A~ A- |
| C4 | 196 | Ä | CAPITAL A WITH DIAERESIS | "A A" |
| C5 | 197 | Å | CAPITAL A WITH RING ABOVE | oA Ao A* OA |
| C6 | 198 | Æ | CAPITAL LIGATURE AE | AE |
| C7 | 199 | Ç | CAPITAL C WITH CEDILLA | ,C C, |
| C8 | 200 | È | CAPITAL E WITH GRAVE ACCENT | `E E` |
| C9 | 201 | É | CAPITAL E WITH ACUTE ACCENT | 'E E' |
| CA | 202 | Ê | CAPITAL E WITH CIRCUMFLEX ACCENT| ^E E^ E> |
| CB | 203 | Ë | CAPITAL E WITH DIAERESIS | "E E" |
| CC | 204 | Ì | CAPITAL I WITH GRAVE ACCENT | `I I` |
| CD | 205 | Í | CAPITAL I WITH ACUTE ACCENT | 'I I' |
| CE | 206 | Î | CAPITAL I WITH CIRCUMFLEX ACCENT| ^I I^ I> |
| CF | 207 | Ï | CAPITAL I WITH DIAERESIS | "I I" |
| D0 | 208 | Ð | CAPITAL ETH | D- |
| D1 | 209 | Ñ | CAPITAL N WITH TILDE | ~N N~ N- |
| D2 | 210 | Ò | CAPITAL O WITH GRAVE ACCENT | `O O` |
| D3 | 211 | Ó | CAPITAL O WITH ACUTE ACCENT | 'O O' |
| D4 | 212 | Ô | CAPITAL O WITH CIRCUMFLEX ACCENT| ^O O^ O> |
| D5 | 213 | Õ | CAPITAL O WITH TILDE | ~O O~ O- |
| D6 | 214 | Ö | CAPITAL O WITH DIAERESIS | "O O" |
| D7 | 215 | × | MULTIPLICATION SIGN | x xx XX mu MU |
| D8 | 216 | Ø | CAPITAL O WITH STROKE | /O O/ |
| D9 | 217 | Ù | CAPITAL U WITH GRAVE ACCENT | `U U` |
| DA | 218 | Ú | CAPITAL U WITH ACUTE ACCENT | 'U U' |
| DB | 219 | Û | CAPITAL U WITH CIRCUMFLEX ACCENT| ^U U^ U> |
| DC | 220 | Ü | CAPITAL U WITH DIAERESIS | "U U" |
| DD | 221 | Ý | CAPITAL Y WITH ACUTE ACCENT | 'Y Y' |
| DE | 222 | Þ | CAPITAL THORN | P TH |P |
| DF | 223 | ß | SMALL SHARP S | ss |
| E0 | 224 | à | SMALL A WITH GRAVE ACCENT | `a a` |
| E1 | 225 | á | SMALL A WITH ACUTE ACCENT | 'a a' |
| E2 | 226 | â | SMALL A WITH CIRCUMFLEX ACCENT | ^a a^ a> |
| E3 | 227 | ã | SMALL A WITH TILDE | ~a a~ a- |
| E4 | 228 | ä | SMALL A WITH DIAERESIS | "a a" |
| E5 | 229 | å | SMALL A WITH RING ABOVE | oa ao Oa |
| E6 | 230 | æ | SMALL LIGATURE AE | ae |
| E7 | 231 | ç | SMALL C WITH CEDILLA | ,c c, |
| E8 | 232 | è | SMALL E WITH GRAVE ACCENT | `e e` |
| E9 | 233 | é | SMALL E WITH ACUTE ACCENT | 'e e' |
| EA | 234 | ê | SMALL E WITH CIRCUMFLEX ACCENT | ^e e^ e> |
| EB | 235 | ë | SMALL E WITH DIAERESIS | "e e" |
| EC | 236 | ì | SMALL I WITH GRAVE ACCENT | `i i` |
| ED | 237 | í | SMALL I WITH ACUTE ACCENT | 'i i' |
| EE | 238 | î | SMALL I WITH CIRCUMFLEX ACCENT | ^i i^ i> |
| EF | 239 | ï | SMALL I WITH DIAERESIS | "i i" |
| F0 | 240 | ð | SMALL ETH | d- |
| F1 | 241 | ñ | SMALL N WITH TILDE | ~n n~ n- |
| F2 | 242 | ò | SMALL O WITH GRAVE ACCENT | `o o` |
| F3 | 243 | ó | SMALL O WITH ACUTE ACCENT | 'o o' |
| F4 | 244 | ô | SMALL O WITH CIRCUMFLEX ACCENT | ^o o^ o> |
| F5 | 245 | õ | SMALL O WITH TILDE | ~o o~ o- |
| F6 | 246 | ö | SMALL O WITH DIAERESIS | "o o" |
| F7 | 247 | ÷ | DIVISION SIGN | -: :- |
| F8 | 248 | ø | SMALL O WITH OBLIQUE BAR | /o o/ |
| F9 | 249 | ù | SMALL U WITH GRAVE ACCENT | `u u` |
| FA | 250 | ú | SMALL U WITH ACUTE ACCENT | 'u u' |
| FB | 251 | û | SMALL U WITH CIRCUMFLEX ACCENT | ^u u^ u> |
| FC | 252 | ü | SMALL U WITH DIAERESIS | "u u" |
| FD | 253 | ý | SMALL Y WITH ACUTE ACCENT | 'y y' |
| FE | 254 | þ | SMALL THORN | p th |p |
| FF | 255 | ÿ | SMALL Y WITH DIAERESIS | "y y" |
| A0 | 160 | | NO-BREAK SPACE | |
| A1 | 161 | ¡ | INVERTED EXCLAMATION MARK | ! !! |
| A2 | 162 | ¢ | CENT SIGN | c| |c c/ c$ C$ C| |
| A3 | 163 | £ | POUND SIGN | L- L$ L= l- l$ l= |
| A4 | 164 | ¤ | CURRENCY SIGN | xo ox XO g$ |
| A5 | 165 | ¥ | YEN SIGN | =y y= =Y Y= Y- y$ y-|
| A6 | 166 | ¦ | BROKEN BAR | | || vb VB |^ |
| A7 | 167 | § | SECTION SIGN | SO SS s! S! so |
| A8 | 168 | ¨ | DIAERESIS | " "" |
| A9 | 169 | © | COPYRIGHT SIGN | CO co OC |
| AA | 170 | ª | FEMININE ORDINAL INDICATOR | sa SA a_ A_ |
| AB | 171 | « | LEFT DOUBLE ANGLE QUOTES | << |
| AC | 172 | ¬ | NOT SIGN | -, no NO |
| AD | 173 | ­ | SOFT HYPHEN | - -- |
| AE | 174 | ® | REGISTERED SIGN | RO ro OR |
| AF | 175 | ¯ | MACRON | -^ _^ __ |
| B0 | 176 | ° | DEGREE SIGN | o 0^ 0* de DE |
| B1 | 177 | ± | PLUS-MINUS SIGN | -+ +- |
| B2 | 178 | ² | SUPERSCRIPT TWO | 2 2^ s2 |
| B3 | 179 | ³ | SUPERSCRIPT THREE | 3 3^ s3 |
| B4 | 180 | ´ | ACUTE ACCENT | ' '' |
| B5 | 181 | µ | MICRO SIGN | u /u /U *m *M |
| B6 | 182 | ¶ | PILCROW SIGN | p! P! pg PG |
| B7 | 183 | · | MIDDLE DOT | . .^ .. |
| B8 | 184 | ¸ | CEDILLA | , ,, |
| B9 | 185 | ¹ | SUPERSCRIPT ONE | 1 1^ s1 |
| BA | 186 | º | MASCULINE ORDINAL INDICATOR | o_ s0 S0 |
| BB | 187 | » | RIGHT DOUBLE ANGLE QUOTES | >> |
| BC | 188 | ¼ | VULGAR FRACTION ONE QUARTER | 14 |
| BD | 189 | ½ | VULGAR FRACTION ONE HALF | 12 |
| BE | 190 | ¾ | VULGAR FRACTION THREE QUARTERS | 34 |
| BF | 191 | ¿ | INVERTED QUESTION MARK | ? ?? |
| C0 | 192 | À | CAPITAL A WITH GRAVE ACCENT | `A A` |
| C1 | 193 | Á | CAPITAL A WITH ACUTE ACCENT | 'A A' |
| C2 | 194 | Â | CAPITAL A WITH CIRCUMFLEX ACCENT| ^A A^ A> |
| C3 | 195 | Ã | CAPITAL A WITH TILDE | ~A A~ A- |
| C4 | 196 | Ä | CAPITAL A WITH DIAERESIS | "A A" |
| C5 | 197 | Å | CAPITAL A WITH RING ABOVE | oA Ao A* OA *A |
| C6 | 198 | Æ | CAPITAL LIGATURE AE | AE |
| C7 | 199 | Ç | CAPITAL C WITH CEDILLA | ,C C, |
| C8 | 200 | È | CAPITAL E WITH GRAVE ACCENT | `E E` |
| C9 | 201 | É | CAPITAL E WITH ACUTE ACCENT | 'E E' |
| CA | 202 | Ê | CAPITAL E WITH CIRCUMFLEX ACCENT| ^E E^ E> |
| CB | 203 | Ë | CAPITAL E WITH DIAERESIS | "E E" |
| CC | 204 | Ì | CAPITAL I WITH GRAVE ACCENT | `I I` |
| CD | 205 | Í | CAPITAL I WITH ACUTE ACCENT | 'I I' |
| CE | 206 | Î | CAPITAL I WITH CIRCUMFLEX ACCENT| ^I I^ I> |
| CF | 207 | Ï | CAPITAL I WITH DIAERESIS | "I I" |
| D0 | 208 | Ð | CAPITAL ETH | D- |
| D1 | 209 | Ñ | CAPITAL N WITH TILDE | ~N N~ N- |
| D2 | 210 | Ò | CAPITAL O WITH GRAVE ACCENT | `O O` |
| D3 | 211 | Ó | CAPITAL O WITH ACUTE ACCENT | 'O O' |
| D4 | 212 | Ô | CAPITAL O WITH CIRCUMFLEX ACCENT| ^O O^ O> |
| D5 | 213 | Õ | CAPITAL O WITH TILDE | ~O O~ O- |
| D6 | 214 | Ö | CAPITAL O WITH DIAERESIS | "O O" |
| D7 | 215 | × | MULTIPLICATION SIGN | x xx XX mu MU |
| D8 | 216 | Ø | CAPITAL O WITH STROKE | /O O/ |
| D9 | 217 | Ù | CAPITAL U WITH GRAVE ACCENT | `U U` |
| DA | 218 | Ú | CAPITAL U WITH ACUTE ACCENT | 'U U' |
| DB | 219 | Û | CAPITAL U WITH CIRCUMFLEX ACCENT| ^U U^ U> |
| DC | 220 | Ü | CAPITAL U WITH DIAERESIS | "U U" |
| DD | 221 | Ý | CAPITAL Y WITH ACUTE ACCENT | 'Y Y' |
| DE | 222 | Þ | CAPITAL THORN | P TH |P |
| DF | 223 | ß | SMALL SHARP S | ss |
| E0 | 224 | à | SMALL A WITH GRAVE ACCENT | `a a` |
| E1 | 225 | á | SMALL A WITH ACUTE ACCENT | 'a a' |
| E2 | 226 | â | SMALL A WITH CIRCUMFLEX ACCENT | ^a a^ a> |
| E3 | 227 | ã | SMALL A WITH TILDE | ~a a~ a- |
| E4 | 228 | ä | SMALL A WITH DIAERESIS | "a a" |
| E5 | 229 | å | SMALL A WITH RING ABOVE | oa ao Oa a* *a |
| E6 | 230 | æ | SMALL LIGATURE AE | ae |
| E7 | 231 | ç | SMALL C WITH CEDILLA | ,c c, |
| E8 | 232 | è | SMALL E WITH GRAVE ACCENT | `e e` |
| E9 | 233 | é | SMALL E WITH ACUTE ACCENT | 'e e' |
| EA | 234 | ê | SMALL E WITH CIRCUMFLEX ACCENT | ^e e^ e> |
| EB | 235 | ë | SMALL E WITH DIAERESIS | "e e" |
| EC | 236 | ì | SMALL I WITH GRAVE ACCENT | `i i` |
| ED | 237 | í | SMALL I WITH ACUTE ACCENT | 'i i' |
| EE | 238 | î | SMALL I WITH CIRCUMFLEX ACCENT | ^i i^ i> |
| EF | 239 | ï | SMALL I WITH DIAERESIS | "i i" |
| F0 | 240 | ð | SMALL ETH | d- |
| F1 | 241 | ñ | SMALL N WITH TILDE | ~n n~ n- |
| F2 | 242 | ò | SMALL O WITH GRAVE ACCENT | `o o` |
| F3 | 243 | ó | SMALL O WITH ACUTE ACCENT | 'o o' |
| F4 | 244 | ô | SMALL O WITH CIRCUMFLEX ACCENT | ^o o^ o> |
| F5 | 245 | õ | SMALL O WITH TILDE | ~o o~ o- |
| F6 | 246 | ö | SMALL O WITH DIAERESIS | "o o" |
| F7 | 247 | ÷ | DIVISION SIGN | -: :- |
| F8 | 248 | ø | SMALL O WITH OBLIQUE BAR | /o o/ |
| F9 | 249 | ù | SMALL U WITH GRAVE ACCENT | `u u` |
| FA | 250 | ú | SMALL U WITH ACUTE ACCENT | 'u u' |
| FB | 251 | û | SMALL U WITH CIRCUMFLEX ACCENT | ^u u^ u> |
| FC | 252 | ü | SMALL U WITH DIAERESIS | "u u" |
| FD | 253 | ý | SMALL Y WITH ACUTE ACCENT | 'y y' |
| FE | 254 | þ | SMALL THORN | p th |p |
| FF | 255 | ÿ | SMALL Y WITH DIAERESIS | "y y" |
+----+-----+---+---------------------------------+---------------------------+

361
x11/x11.c
View File

@@ -13,8 +13,6 @@
#include "pdcx11.h"
#define PDC_XIM
#ifdef HAVE_DECKEYSYM_H
# include <DECkeysym.h>
#endif
@@ -34,7 +32,7 @@
#include <stdlib.h>
#include <string.h>
RCSID("$Id: x11.c,v 1.59 2006/12/09 17:59:55 wmcbrine Exp $");
RCSID("$Id: x11.c,v 1.60 2006/12/09 20:44:07 wmcbrine Exp $");
#ifndef XPOINTER_TYPEDEFED
typedef char * XPointer;
@@ -229,191 +227,191 @@ static const char *compose_chars =
"`'~^,/\"AaPpSs!?0123CcRr-_<>Xx.=Yy |EeIiOoUu+NnLlgDd:*TtMmVv";
/*
` : À È Ì Ò Ù à è ì ò ù
' : ´ Á É Í Ó Ú Ý á é í ó ú ý ´
~ : Ã Ñ Õ ã ñ õ
^ : Â Ê Î Ô Û â ê î ô û
, : ¸ Ç ç ¸
/ : Ø ø µ µ
" : ¨ Ä Ë Ï Ö Ü ä ë ï ö ü ÿ ¨
A : Æ À Á Ã Â Å Å Ã Â ª
a : æ à á ã â å â ã ª â
P : Þ
p : þ
S : § § § º ª
s : ß § ª ¹ ² ³ º §
! : ¡ ¡
? : ¿ ¿
1 : ¹ ½ ¼ ¹
0 : ° °
2 : ² ²
3 : ³ ¾ ³
C : © Ç ¢ ¢
c : ¢ © ç ¢ ¢
R : ®
r : ®
- : ­ ± ¬ ­ ¯ ÷
_ : ¯ ¯
< : «
> : «
X : ¤ ×
x : × ¤ ×
. : · · ·
= : ¥ ¥
Y : ¥ Ý ¥
y : ¥ ý ÿ ¥ ¥
` : À È Ì Ò Ù à è ì ò ù
' : ´ Á É Í Ó Ú Ý á é í ó ú ý ´
~ : Ã Ñ Õ ã ñ õ
^ : Â Ê Î Ô Û â ê î ô û
, : ¸ Ç ç ¸
/ : Ø ø µ µ
" : ¨ Ä Ë Ï Ö Ü ä ë ï ö ü ÿ ¨
A : Æ À Á Ã Â Å Å Ã Â ª
a : æ à á ã â å å ã â ª
P : Þ
p : þ
S : § § § º ª
s : ß § ª ¹ ² ³ º §
! : ¡ ¡
? : ¿ ¿
0 : ° °
1 : ¹ ½ ¼ ¹
2 : ² ²
3 : ³ ¾ ³
C : © Ç ¢ ¢
c : ¢ © ç ¢ ¢
R : ®
r : ®
- : ­ ± ¬ ­ ¯ ÷
_ : ¯ ¯
< : «
> : «
X : ¤ ×
x : × ¤ ×
. : · · ·
= : ¥ ¥
Y : ¥ Ý ¥
y : ¥ ý ÿ ¥ ¥
:
| : ¦ ¢ ¦ Þ þ ¦
E : È É Ê Ë Ê
e : è é ê ë ê
I : Ì Í Î Ï Î
i : ì í î ï î
O : Ò Ó Ô Õ Ö Ø © ® Õ Ô Å å
o : ° Å å ¤ õ ò ó ô õ ö ø ô º
U : Ù Ú Û Ü Û
u : ù ú û ü µ û
+ : ±
N : Ñ Ñ ¬
n : ñ ñ ¬
L : £ £ £
l : £ £ £
g : ¤
D : ° Ð
d : ° ð
: : ÷
* : µ µ
T : Þ
t : þ
M : ×
m : ×
V : ¦
v : ¦
| : ¦ ¢ ¦ Þ þ ¦
E : È É Ê Ë Ê
e : è é ê ë ê
I : Ì Í Î Ï Î
i : ì í î ï î
O : Ò Ó Ô Õ Ö Ø © ® Õ Ô Å å
o : ° Å å ¤ õ ò ó ô õ ö ø ô º
U : Ù Ú Û Ü Û
u : ù ú û ü µ û
+ : ±
N : Ñ Ñ ¬
n : ñ ñ ¬
L : £ £ £
l : £ £ £
g : ¤
D : ° Ð
d : ° ð
: : ÷
* : µ µ å Å
T : Þ
t : þ
M : ×
m : ×
V : ¦
v : ¦
*/
static const char compose_lookups[MAX_COMPOSE_PRE][MAX_COMPOSE_CHARS] =
{
/* ` */ {'A','E','I','O','U','a','e','i','o','u',000,000,000,000},
/* ` */ {'A','E','I','O','U','a','e','i','o','u', 0, 0, 0, 0},
/* ' */ {' ','A','E','I','O','U','Y','a','e','i','o','u','y', 39},
/* ~ */ {'A','N','O','a','n','o',000,000,000,000,000,000,000,000},
/* ^ */ {'A','E','I','O','U','a','e','i','o','u',000,000,000,000},
/* , */ {' ','C','c',',',000,000,000,000,000,000,000,000,000,000},
/* / */ {'O','o','u','U',000,000,000,000,000,000,000,000,000,000},
/* " */ {' ','A','E','I','O','U','a','e','i','o','u','y','\"',000},
/* A */ {'E','`', 39,'~','^','"','o','*','-','>','_',000,000,000},
/* a */ {'e','`', 39,'~','^','"','o','-','_','>',000,000,000,000},
/* P */ {' ','G','!',000,000,000,000,000,000,000,000,000,000,000},
/* p */ {' ','g','!',000,000,000,000,000,000,000,000,000,000,000},
/* S */ {'S','!','O','0','A',000,000,000,000,000,000,000,000,000},
/* s */ {'s','!','a','1','2','3','0','o',000,000,000,000,000,000},
/* ! */ {' ','!',000,000,000,000,000,000,000,000,000,000,000,000},
/* ? */ {' ','?',000,000,000,000,000,000,000,000,000,000,000,000},
/* 0 */ {'^','*',000,000,000,000,000,000,000,000,000,000,000,000},
/* 1 */ {' ','2','4','^',000,000,000,000,000,000,000,000,000,000},
/* 2 */ {' ','^',000,000,000,000,000,000,000,000,000,000,000,000},
/* 3 */ {' ','4','^',000,000,000,000,000,000,000,000,000,000,000},
/* C */ {'O',',','$','|',000,000,000,000,000,000,000,000,000,000},
/* c */ {'|','o',',','/','$',000,000,000,000,000,000,000,000,000},
/* R */ {'O',000,000,000,000,000,000,000,000,000,000,000,000,000},
/* r */ {'o',000,000,000,000,000,000,000,000,000,000,000,000,000},
/* - */ {' ','+',',','-','^',':',000,000,000,000,000,000,000,000},
/* _ */ {'_','^',000,000,000,000,000,000,000,000,000,000,000,000},
/* < */ {'<',000,000,000,000,000,000,000,000,000,000,000,000,000},
/* > */ {'>',000,000,000,000,000,000,000,000,000,000,000,000,000},
/* X */ {'O','X',000,000,000,000,000,000,000,000,000,000,000,000},
/* x */ {' ','o','x',000,000,000,000,000,000,000,000,000,000,000},
/* . */ {' ','^','.',000,000,000,000,000,000,000,000,000,000,000},
/* = */ {'Y','y',000,000,000,000,000,000,000,000,000,000,000,000},
/* Y */ {'=', 39,'-',000,000,000,000,000,000,000,000,000,000,000},
/* y */ {'=', 39,'"','$','-',000,000,000,000,000,000,000,000,000},
/* */ {' ',000,000,000,000,000,000,000,000,000,000,000,000,000},
/* | */ {' ','c','|','P','p','^',000,000,000,000,000,000,000,000},
/* E */ {'`', 39,'^','"','>',000,000,000,000,000,000,000,000,000},
/* e */ {'`', 39,'^','"','>',000,000,000,000,000,000,000,000,000},
/* I */ {'`', 39,'^','"','>',000,000,000,000,000,000,000,000,000},
/* i */ {'`', 39,'^','"','>',000,000,000,000,000,000,000,000,000},
/* O */ {'`', 39,'^','~','"','/','C','R','-','>','A','a',000,000},
/* o */ {' ','A','a','x','-','`', 39,'^','~','"','/','>','_',000},
/* U */ {'`', 39,'^','"','>',000,000,000,000,000,000,000,000,000},
/* u */ {'`', 39,'^','"',' ','>',000,000,000,000,000,000,000,000},
/* + */ {'-',000,000,000,000,000,000,000,000,000,000,000,000,000},
/* N */ {'~','-','O',000,000,000,000,000,000,000,000,000,000,000},
/* n */ {'~','-','o',000,000,000,000,000,000,000,000,000,000,000},
/* L */ {'$','=','-',000,000,000,000,000,000,000,000,000,000,000},
/* l */ {'$','=','-',000,000,000,000,000,000,000,000,000,000,000},
/* g */ {'$',000,000,000,000,000,000,000,000,000,000,000,000,000},
/* D */ {'E','-',000,000,000,000,000,000,000,000,000,000,000,000},
/* d */ {'e','-',000,000,000,000,000,000,000,000,000,000,000,000},
/* : */ {'-',000,000,000,000,000,000,000,000,000,000,000,000,000},
/* * */ {'m','M',000,000,000,000,000,000,000,000,000,000,000,000},
/* T */ {'H',000,000,000,000,000,000,000,000,000,000,000,000,000},
/* t */ {'h',000,000,000,000,000,000,000,000,000,000,000,000,000},
/* M */ {'U',000,000,000,000,000,000,000,000,000,000,000,000,000},
/* m */ {'u',000,000,000,000,000,000,000,000,000,000,000,000,000},
/* V */ {'B',000,000,000,000,000,000,000,000,000,000,000,000,000},
/* v */ {'b',000,000,000,000,000,000,000,000,000,000,000,000,000},
/* ~ */ {'A','N','O','a','n','o', 0, 0, 0, 0, 0, 0, 0, 0},
/* ^ */ {'A','E','I','O','U','a','e','i','o','u', 0, 0, 0, 0},
/* , */ {' ','C','c',',', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* / */ {'O','o','u','U', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* " */ {' ','A','E','I','O','U','a','e','i','o','u','y','\"', 0},
/* A */ {'E','`', 39,'~','^','"','o','*','-','>','_', 0, 0, 0},
/* a */ {'e','`', 39,'~','^','"','o','*','-','>','_', 0, 0, 0},
/* P */ {' ','G','!', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* p */ {' ','g','!', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* S */ {'S','!','O','0','A', 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* s */ {'s','!','a','1','2','3','0','o', 0, 0, 0, 0, 0, 0},
/* ! */ {' ','!', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* ? */ {' ','?', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* 0 */ {'^','*', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* 1 */ {' ','2','4','^', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* 2 */ {' ','^', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* 3 */ {' ','4','^', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* C */ {'O',',','$','|', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* c */ {'|','o',',','/','$', 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* R */ {'O', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* r */ {'o', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* - */ {' ','+',',','-','^',':', 0, 0, 0, 0, 0, 0, 0, 0},
/* _ */ {'_','^', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* < */ {'<', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* > */ {'>', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* X */ {'O','X', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* x */ {' ','o','x', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* . */ {' ','^','.', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* = */ {'Y','y', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* Y */ {'=', 39,'-', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* y */ {'=', 39,'"','$','-', 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* */ {' ', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* | */ {' ','c','|','P','p','^', 0, 0, 0, 0, 0, 0, 0, 0},
/* E */ {'`', 39,'^','"','>', 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* e */ {'`', 39,'^','"','>', 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* I */ {'`', 39,'^','"','>', 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* i */ {'`', 39,'^','"','>', 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* O */ {'`', 39,'^','~','"','/','C','R','-','>','A','a', 0, 0},
/* o */ {' ','A','a','x','-','`', 39,'^','~','"','/','>','_', 0},
/* U */ {'`', 39,'^','"','>', 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* u */ {'`', 39,'^','"',' ','>', 0, 0, 0, 0, 0, 0, 0, 0},
/* + */ {'-', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* N */ {'~','-','O', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* n */ {'~','-','o', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* L */ {'$','=','-', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* l */ {'$','=','-', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* g */ {'$', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* D */ {'E','-', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* d */ {'e','-', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* : */ {'-', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* * */ {'m','M','a','A', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* T */ {'H', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* t */ {'h', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* M */ {'U', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* m */ {'u', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* V */ {'B', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* v */ {'b', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
};
static const unsigned char compose_keys[MAX_COMPOSE_PRE][MAX_COMPOSE_CHARS] =
{
/* ` */ {192,200,204,210,217,224,232,236,242,249,000,000,000,000},
/* ` */ {192,200,204,210,217,224,232,236,242,249, 0, 0, 0, 0},
/* ' */ {180,193,201,205,211,218,221,225,233,237,243,250,253,180},
/* ~ */ {195,209,213,227,241,245,000,000,000,000,000,000,000,000},
/* ^ */ {194,202,206,212,219,226,234,238,244,251,000,000,000,000},
/* , */ {184,199,231,184,000,000,000,000,000,000,000,000,000,000},
/* / */ {216,248,181,181,000,000,000,000,000,000,000,000,000,000},
/* " */ {168,196,203,207,214,220,228,235,239,246,252,255,168,000},
/* A */ {198,192,193,195,194,196,197,197,195,194,170,000,000,000},
/* a */ {230,224,225,227,226,228,229,227,170,226,000,000,000,000},
/* P */ {222,182,182,000,000,000,000,000,000,000,000,000,000,000},
/* p */ {254,182,182,000,000,000,000,000,000,000,000,000,000,000},
/* S */ {167,167,167,186,170,000,000,000,000,000,000,000,000,000},
/* s */ {223,167,170,185,178,179,186,167,000,000,000,000,000,000},
/* ! */ {161,161,000,000,000,000,000,000,000,000,000,000,000,000},
/* ? */ {191,191,000,000,000,000,000,000,000,000,000,000,000,000},
/* 0 */ {176,176,000,000,000,000,000,000,000,000,000,000,000,000},
/* 1 */ {185,189,188,185,000,000,000,000,000,000,000,000,000,000},
/* 2 */ {178,178,000,000,000,000,000,000,000,000,000,000,000,000},
/* 3 */ {179,190,179,000,000,000,000,000,000,000,000,000,000,000},
/* C */ {169,199,162,162,000,000,000,000,000,000,000,000,000,000},
/* c */ {162,169,231,162,162,000,000,000,000,000,000,000,000,000},
/* R */ {174,000,000,000,000,000,000,000,000,000,000,000,000,000},
/* r */ {174,000,000,000,000,000,000,000,000,000,000,000,000,000},
/* - */ {173,177,172,173,175,247,000,000,000,000,000,000,000,000},
/* _ */ {175,175,000,000,000,000,000,000,000,000,000,000,000,000},
/* < */ {171,000,000,000,000,000,000,000,000,000,000,000,000,000},
/* > */ {187,000,000,000,000,000,000,000,000,000,000,000,000,000},
/* X */ {164,215,000,000,000,000,000,000,000,000,000,000,000,000},
/* x */ {215,164,215,000,000,000,000,000,000,000,000,000,000,000},
/* . */ {183,183,183,000,000,000,000,000,000,000,000,000,000,000},
/* = */ {165,165,000,000,000,000,000,000,000,000,000,000,000,000},
/* Y */ {165,221,165,000,000,000,000,000,000,000,000,000,000,000},
/* y */ {165,253,255,165,165,000,000,000,000,000,000,000,000,000},
/* */ {160,000,000,000,000,000,000,000,000,000,000,000,000,000},
/* | */ {166,162,166,222,254,166,000,000,000,000,000,000,000,000},
/* E */ {200,201,202,203,202,000,000,000,000,000,000,000,000,000},
/* e */ {232,233,234,235,234,000,000,000,000,000,000,000,000,000},
/* I */ {204,205,206,207,206,000,000,000,000,000,000,000,000,000},
/* i */ {236,237,238,239,238,000,000,000,000,000,000,000,000,000},
/* O */ {210,211,212,213,214,216,169,174,213,212,197,229,000,000},
/* o */ {176,197,229,164,245,242,243,244,245,246,248,244,186,000},
/* U */ {217,218,219,220,219,000,000,000,000,000,000,000,000,000},
/* u */ {249,250,251,252,181,251,000,000,000,000,000,000,000,000},
/* + */ {177,000,000,000,000,000,000,000,000,000,000,000,000,000},
/* N */ {209,209,172,000,000,000,000,000,000,000,000,000,000,000},
/* n */ {241,241,172,000,000,000,000,000,000,000,000,000,000,000},
/* L */ {163,163,163,000,000,000,000,000,000,000,000,000,000,000},
/* l */ {163,163,163,000,000,000,000,000,000,000,000,000,000,000},
/* g */ {164,000,000,000,000,000,000,000,000,000,000,000,000,000},
/* D */ {176,208,000,000,000,000,000,000,000,000,000,000,000,000},
/* d */ {176,240,000,000,000,000,000,000,000,000,000,000,000,000},
/* : */ {247,000,000,000,000,000,000,000,000,000,000,000,000,000},
/* * */ {181,181,000,000,000,000,000,000,000,000,000,000,000,000},
/* T */ {222,000,000,000,000,000,000,000,000,000,000,000,000,000},
/* t */ {254,000,000,000,000,000,000,000,000,000,000,000,000,000},
/* M */ {215,000,000,000,000,000,000,000,000,000,000,000,000,000},
/* u */ {215,000,000,000,000,000,000,000,000,000,000,000,000,000},
/* V */ {166,000,000,000,000,000,000,000,000,000,000,000,000,000},
/* v */ {166,000,000,000,000,000,000,000,000,000,000,000,000,000},
/* ~ */ {195,209,213,227,241,245, 0, 0, 0, 0, 0, 0, 0, 0},
/* ^ */ {194,202,206,212,219,226,234,238,244,251, 0, 0, 0, 0},
/* , */ {184,199,231,184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* / */ {216,248,181,181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* " */ {168,196,203,207,214,220,228,235,239,246,252,255,168, 0},
/* A */ {198,192,193,195,194,196,197,197,195,194,170, 0, 0, 0},
/* a */ {230,224,225,227,226,228,229,229,227,226,170, 0, 0, 0},
/* P */ {222,182,182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* p */ {254,182,182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* S */ {167,167,167,186,170, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* s */ {223,167,170,185,178,179,186,167, 0, 0, 0, 0, 0, 0},
/* ! */ {161,161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* ? */ {191,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* 0 */ {176,176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* 1 */ {185,189,188,185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* 2 */ {178,178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* 3 */ {179,190,179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* C */ {169,199,162,162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* c */ {162,169,231,162,162, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* R */ {174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* r */ {174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* - */ {173,177,172,173,175,247, 0, 0, 0, 0, 0, 0, 0, 0},
/* _ */ {175,175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* < */ {171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* > */ {187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* X */ {164,215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* x */ {215,164,215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* . */ {183,183,183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* = */ {165,165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* Y */ {165,221,165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* y */ {165,253,255,165,165, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* */ {160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* | */ {166,162,166,222,254,166, 0, 0, 0, 0, 0, 0, 0, 0},
/* E */ {200,201,202,203,202, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* e */ {232,233,234,235,234, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* I */ {204,205,206,207,206, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* i */ {236,237,238,239,238, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* O */ {210,211,212,213,214,216,169,174,213,212,197,229, 0, 0},
/* o */ {176,197,229,164,245,242,243,244,245,246,248,244,186, 0},
/* U */ {217,218,219,220,219, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* u */ {249,250,251,252,181,251, 0, 0, 0, 0, 0, 0, 0, 0},
/* + */ {177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* N */ {209,209,172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* n */ {241,241,172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* L */ {163,163,163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* l */ {163,163,163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* g */ {164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* D */ {176,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* d */ {176,240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* : */ {247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* * */ {181,181,229,197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* T */ {222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* t */ {254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* M */ {215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* u */ {215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* V */ {166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* v */ {166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
};
#define BITMAPDEPTH 1
@@ -486,11 +484,14 @@ static char *program_name;
#define RCOLOR(name, value) RPIXEL(color##name, Color##name, value)
#define RSTRING(name1, name2) { \
#define RSTRINGP(name1, name2, param) { \
#name1, #name2, XtRString, \
MAX_PATH, APPDATAOFF(name1), XtRString, (XtPointer)"" \
MAX_PATH, APPDATAOFF(name1), XtRString, (XtPointer)param \
}
#define RSTRING(name1, name2) RSTRINGP(name1, name2, "")
#define RFONT(name1, name2, value) { \
#name1, #name2, XtRFontStruct, \
sizeof(XFontStruct), APPDATAOFF(name1), XtRString, \
@@ -535,7 +536,7 @@ static XtResource app_resources[] =
#ifdef HAVE_XPM_H
RSTRING(pixmap, Pixmap),
#endif
RSTRING(composeKey, ComposeKey),
RSTRINGP(composeKey, ComposeKey, "Multi_key"),
RCURSOR(pointer, Pointer, xterm),