aboutsummaryrefslogtreecommitdiff
path: root/payloads/libpayload/curses/PDCurses-3.4/x11/compose.h
diff options
context:
space:
mode:
Diffstat (limited to 'payloads/libpayload/curses/PDCurses-3.4/x11/compose.h')
-rw-r--r--payloads/libpayload/curses/PDCurses-3.4/x11/compose.h203
1 files changed, 203 insertions, 0 deletions
diff --git a/payloads/libpayload/curses/PDCurses-3.4/x11/compose.h b/payloads/libpayload/curses/PDCurses-3.4/x11/compose.h
new file mode 100644
index 0000000000..12b85fa133
--- /dev/null
+++ b/payloads/libpayload/curses/PDCurses-3.4/x11/compose.h
@@ -0,0 +1,203 @@
+/* Public Domain Curses */
+
+/* $Id: compose.h,v 1.3 2008/07/14 04:24:52 wmcbrine Exp $ */
+
+/* Tables and variables for the built-in compose key system. This file
+ is not included when PDCurses is built with XIM support. */
+
+#define MAX_COMPOSE_CHARS 14
+#define MAX_COMPOSE_PRE 60
+
+static const char *compose_chars =
+ "`'~^,/\"AaPpSs!?0123CcRr-_<>Xx.=Yy |EeIiOoUu+NnLlgDd:*TtMmVv";
+
+/*
+ ` : À È Ì Ò Ù à è ì ò ù
+ ' : ´ Á É Í Ó Ú Ý á é í ó ú ý ´
+ ~ : Ã Ñ Õ ã ñ õ
+ ^ : Â Ê Î Ô Û â ê î ô û ° ¹ ² ³
+ , : ¸ Ç ç ¸
+ / : Ø ø µ µ
+ " : ¨ Ä Ë Ï Ö Ü ä ë ï ö ü ÿ ¨
+ 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 : ¦
+*/
+
+static const char compose_lookups[MAX_COMPOSE_PRE][MAX_COMPOSE_CHARS] =
+{
+/* ` */ {'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', 0, 0, 0, 0, 0, 0, 0, 0},
+/* ^ */ {'A','E','I','O','U','a','e','i','o','u','0','1','2','3'},
+/* , */ {' ','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},
+/* 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, 0, 0, 0, 0},
+/* ' */ {180,193,201,205,211,218,221,225,233,237,243,250,253,180},
+/* ~ */ {195,209,213,227,241,245, 0, 0, 0, 0, 0, 0, 0, 0},
+/* ^ */ {194,202,206,212,219,226,234,238,244,251,176,185,178,179},
+/* , */ {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,163, 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},
+};
+
+static KeySym compose_key = 0;
+static int compose_mask = 0;