1
0
Fork 0
mirror of git://git.code.sf.net/p/cdesktopenv/code synced 2025-03-09 15:50:02 +00:00
cde/cde/lib/DtSearch/langmap.c
2012-03-10 18:58:32 +00:00

658 lines
23 KiB
C

/*
* CDE - Common Desktop Environment
*
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
*
* These libraries and programs are free software; you can
* redistribute them and/or modify them under the terms of the GNU
* Lesser General Public License as published by the Free Software
* Foundation; either version 2 of the License, or (at your option)
* any later version.
*
* These libraries and programs are distributed in the hope that
* they will be useful, but WITHOUT ANY WARRANTY; without even the
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU Lesser General Public License for more
* details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with these librararies and programs; if not, write
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
* Floor, Boston, MA 02110-1301 USA
*/
/*
* COMPONENT_NAME: austext
*
* FUNCTIONS: none
*
* ORIGINS: 27
*
*
* (C) COPYRIGHT International Business Machines Corp. 1996
* All Rights Reserved
* Licensed Materials - Property of IBM
* US Government Users Restricted Rights - Use, duplication or
* disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
*/
/******************** LANGMAP.C ********************
* $XConsortium: langmap.c /main/3 1996/05/07 13:38:58 drk $
* January 1996.
* Contains European single byte character maps for
* teskey parser and Paice/Porter stemmers.
* Formerly coded in lang.c.
*
* Contains two code pages: ascii and iso-latin-1.
* From F. N. Teskey (Principles of Text Processing, Elis Horwood Ltd,
* 1982), a word is "a finite sequence of concordable and optionally
* concordable characters delimited by either a nonconcordable character or an
* optionally concordable character adjacent to a nonconcordable or optionally
* concordable one." Optionally concordable characters are symbols like
* "./-" which may or may not occur within words (TCP/IP, file.dos, co-op).
* Concordable characters are alphas and numbers.
* Nonconcordables are whitespace, punctuation, control chars, etc.
*
* Lowest order byte = 'uppercase' of indexing char.
* Next higher order byte = mask for teskey parse bits.
*
* $Log$
* Revision 1.3 1996/03/13 22:58:28 miker
* Added prolog.
*
* Revision 1.2 1996/03/05 16:35:04 miker
* Changed usage of WHITESPACE to replace isspace() function calls.
*
* Revision 1.1 1996/02/01 19:15:52 miker
* Initial revision
*/
#include "SearchP.h"
/************************************************/
/* */
/* latin_charmap */
/* */
/************************************************/
/* Teskey character map for iso-latin-1 character set. */
int latin_charmap [] = {
NON_CONCORD | 0 /* NULL, Teskey EOT char */
,NON_CONCORD | 1 /* CTRL-A */
,NON_CONCORD | 2 /* CTRL-B */
,NON_CONCORD | 3 /* CTRL-C */
,NON_CONCORD | 4 /* CTRL-D */
,NON_CONCORD | 5 /* CTRL-E */
,NON_CONCORD | 6 /* CTRL-F */
,NON_CONCORD | 7 /* BEL \a */
,NON_CONCORD | 8 /* BS \b */
,NON_CONCORD | WHITESPACE | 9 /* TAB \t */
,NON_CONCORD | WHITESPACE | 10 /* LF \n */
,NON_CONCORD | WHITESPACE | 11 /* VT \v */
,NON_CONCORD | WHITESPACE | 12 /* FF \f */
,NON_CONCORD | WHITESPACE | 13 /* CR \r */
,NON_CONCORD | 14 /* CTRL-N */
,NON_CONCORD | 15 /* CTRL-O */
,NON_CONCORD | 16 /* CTRL-P */
,NON_CONCORD | 17 /* CTRL-Q */
,NON_CONCORD | 18 /* CTRL-R */
,NON_CONCORD | 19 /* CTRL-S */
,NON_CONCORD | 20 /* CTRL-T */
,NON_CONCORD | 21 /* CTRL-U */
,NON_CONCORD | 22 /* CTRL-V */
,NON_CONCORD | 23 /* CTRL-W */
,NON_CONCORD | 24 /* CTRL-X */
,NON_CONCORD | 25 /* CTRL-Y */
,NON_CONCORD | 26 /* CTRL-Z (EOF) */
,NON_CONCORD | 27 /* ESC */
,NON_CONCORD | 28
,NON_CONCORD | 29
,NON_CONCORD | 30
,NON_CONCORD | 31
,NON_CONCORD | WHITESPACE | 32 /* SPACE (blank) */
,NON_CONCORD | 33 /* ! */
,NON_CONCORD | 34 /* " */
,NON_CONCORD | 35 /* # */
,NON_CONCORD | 36 /* $ */
,NON_CONCORD | 37 /* % */
,NON_CONCORD | 38 /* & */
,NON_CONCORD | 39 /* ' (apostrophe) */
,NON_CONCORD | 40 /* ( */
,NON_CONCORD | 41 /* ) */
,NON_CONCORD | 42 /* * */
,NON_CONCORD | 43 /* + */
,NON_CONCORD | 44 /* , (comma) */
,OPT_CONCORD | 45 /* - (dash) */
,OPT_CONCORD | 46 /* . (period) */
,OPT_CONCORD | 47 /* / (slash) */
,CONCORDABLE | NUMERAL | 48 /* 0 */
,CONCORDABLE | NUMERAL | 49 /* 1 */
,CONCORDABLE | NUMERAL | 50 /* 2 */
,CONCORDABLE | NUMERAL | 51 /* 3 */
,CONCORDABLE | NUMERAL | 52 /* 4 */
,CONCORDABLE | NUMERAL | 53 /* 5 */
,CONCORDABLE | NUMERAL | 54 /* 6 */
,CONCORDABLE | NUMERAL | 55 /* 7 */
,CONCORDABLE | NUMERAL | 56 /* 8 */
,CONCORDABLE | NUMERAL | 57 /* 9 */
,NON_CONCORD | 58 /* : */
,NON_CONCORD | 59 /* ; */
,NON_CONCORD | 60 /* < */
,NON_CONCORD | 61 /* = */
,NON_CONCORD | 62 /* > */
,NON_CONCORD | 63 /* ? */
,NON_CONCORD | 64 /* @ */
,CONCORDABLE | VOWEL | 65 /* A */
,CONCORDABLE | CONSONANT | 66 /* B */
,CONCORDABLE | CONSONANT | 67 /* C */
,CONCORDABLE | CONSONANT | 68 /* D */
,CONCORDABLE | VOWEL | 69 /* E */
,CONCORDABLE | CONSONANT | 70 /* F */
,CONCORDABLE | CONSONANT | 71 /* G */
,CONCORDABLE | CONSONANT | 72 /* H */
,CONCORDABLE | VOWEL | 73 /* I */
,CONCORDABLE | CONSONANT | 74 /* J */
,CONCORDABLE | CONSONANT | 75 /* K */
,CONCORDABLE | CONSONANT | 76 /* L */
,CONCORDABLE | CONSONANT | 77 /* M */
,CONCORDABLE | CONSONANT | 78 /* N */
,CONCORDABLE | VOWEL | 79 /* O */
,CONCORDABLE | CONSONANT | 80 /* P */
,CONCORDABLE | CONSONANT | 81 /* Q */
,CONCORDABLE | CONSONANT | 82 /* R */
,CONCORDABLE | CONSONANT | 83 /* S */
,CONCORDABLE | CONSONANT | 84 /* T */
,CONCORDABLE | VOWEL | 85 /* U */
,CONCORDABLE | CONSONANT | 86 /* V */
,CONCORDABLE | CONSONANT | 87 /* W */
,CONCORDABLE | CONSONANT | 88 /* X */
,CONCORDABLE | CONSONANT | 89 /* Y */
,CONCORDABLE | CONSONANT | 90 /* Z */
,NON_CONCORD | 91 /* [ */
,NON_CONCORD | 92 /* \ (backslash) */
,NON_CONCORD | 93 /* ] */
,NON_CONCORD | 94 /* ^ */
,OPT_CONCORD | 95 /* _ (underscore) */
,NON_CONCORD | 96 /* ` (grave accent) */
,CONCORDABLE | VOWEL | 'A' /* 97 = lowercase a */
,CONCORDABLE | CONSONANT | 'B' /* 98 = lowercase b */
,CONCORDABLE | CONSONANT | 'C' /* 99 = lowercase c */
,CONCORDABLE | CONSONANT | 'D' /* 100 = lowercase d */
,CONCORDABLE | VOWEL | 'E' /* 101 = lowercase e */
,CONCORDABLE | CONSONANT | 'F' /* 102 = lowercase f */
,CONCORDABLE | CONSONANT | 'G' /* 103 = lowercase g */
,CONCORDABLE | CONSONANT | 'H' /* 104 = lowercase h */
,CONCORDABLE | VOWEL | 'I' /* 105 = lowercase i */
,CONCORDABLE | CONSONANT | 'J' /* 106 = lowercase j */
,CONCORDABLE | CONSONANT | 'K' /* 107 = lowercase k */
,CONCORDABLE | CONSONANT | 'L' /* 108 = lowercase l */
,CONCORDABLE | CONSONANT | 'M' /* 109 = lowercase m */
,CONCORDABLE | CONSONANT | 'N' /* 110 = lowercase n */
,CONCORDABLE | VOWEL | 'O' /* 111 = lowercase o */
,CONCORDABLE | CONSONANT | 'P' /* 112 = lowercase p */
,CONCORDABLE | CONSONANT | 'Q' /* 113 = lowercase q */
,CONCORDABLE | CONSONANT | 'R' /* 114 = lowercase r */
,CONCORDABLE | CONSONANT | 'S' /* 115 = lowercase s */
,CONCORDABLE | CONSONANT | 'T' /* 116 = lowercase t */
,CONCORDABLE | VOWEL | 'U' /* 117 = lowercase u */
,CONCORDABLE | CONSONANT | 'V' /* 118 = lowercase v */
,CONCORDABLE | CONSONANT | 'W' /* 119 = lowercase w */
,CONCORDABLE | CONSONANT | 'X' /* 120 = lowercase x */
,CONCORDABLE | CONSONANT | 'Y' /* 121 = lowercase y */
,CONCORDABLE | CONSONANT | 'Z' /* 122 = lowercase z */
,NON_CONCORD | 123 /* { */
,NON_CONCORD | 124 /* | (virgule, vertical line) */
,NON_CONCORD | 125 /* } */
,NON_CONCORD | 126 /* ~ */
,NON_CONCORD | 127 /* DEL */
,NON_CONCORD | 128
,NON_CONCORD | 129
,NON_CONCORD | 130
,NON_CONCORD | 131
,NON_CONCORD | 132
,NON_CONCORD | 133
,NON_CONCORD | 134
,NON_CONCORD | 135
,NON_CONCORD | 136
,NON_CONCORD | 137
,NON_CONCORD | 138
,NON_CONCORD | 139
,NON_CONCORD | 140
,NON_CONCORD | 141
,NON_CONCORD | 142
,NON_CONCORD | 143
,NON_CONCORD | 144
,NON_CONCORD | 145
,NON_CONCORD | 146
,NON_CONCORD | 147
,NON_CONCORD | 148
,NON_CONCORD | 149
,NON_CONCORD | 150
,NON_CONCORD | 151
,NON_CONCORD | 152
,NON_CONCORD | 153
,NON_CONCORD | 154
,NON_CONCORD | 155
,NON_CONCORD | 156
,NON_CONCORD | 157
,NON_CONCORD | 158
,NON_CONCORD | 159
,CONCORDABLE | 160 /* RSP, 'Reqd SPace' (nonbreak?) */
,NON_CONCORD | 161 /* inverted exclamation point */
,NON_CONCORD | 162 /* cent sign, C slash */
,NON_CONCORD | 163 /* pounds sterling */
,NON_CONCORD | 164 /* generic international currency */
,NON_CONCORD | 165 /* yen */
,NON_CONCORD | 166 /* broken vertical line */
,NON_CONCORD | 167 /* section/paragraph symbol */
,NON_CONCORD | 168 /* diaeresis-umlaut */
,NON_CONCORD | 169 /* copyright symbol, c circle */
,NON_CONCORD | 170 /* 'a' small superscript, feminine */
,NON_CONCORD | 171 /* left angle quotes */
,NON_CONCORD | 172 /* logical not, eol */
,CONCORDABLE | 173 /* SHY, 'Syllable HYphen' (nonbreak?) */
,NON_CONCORD | 174 /* registered trademark, r circle */
,NON_CONCORD | 175 /* overline */
,NON_CONCORD | 176 /* degree symbol, xB0 */
,NON_CONCORD | 177 /* plus-minus symbol */
,NON_CONCORD | 178 /* squared, '2' superscript */
,NON_CONCORD | 179 /* cubed, '3' superscript */
,NON_CONCORD | 180 /* acute accent */
,NON_CONCORD | 181 /* micro symbol (greek mu) */
,NON_CONCORD | 182 /* paragraph symbol */
,NON_CONCORD | 183 /* middle dot */
,NON_CONCORD | 184 /* cedilla */
,NON_CONCORD | 185 /* '1' superscript */
,NON_CONCORD | 186 /* 'o' small superscript, masculine */
,NON_CONCORD | 187 /* right angle quotes */
,NON_CONCORD | 188 /* one fourth */
,NON_CONCORD | 189 /* one half */
,NON_CONCORD | 190 /* three fourths */
,NON_CONCORD | 191 /* inverted question mark */
,CONCORDABLE | VOWEL | 192 /* uppercase 'A' grave accent, xC0 */
,CONCORDABLE | VOWEL | 193 /* uppercase 'A' acute accent */
,CONCORDABLE | VOWEL | 194 /* uppercase 'A' circumflex */
,CONCORDABLE | VOWEL | 195 /* uppercase 'A' tilde */
,CONCORDABLE | VOWEL | 196 /* uppercase 'A' diaeresis-umlaut */
,CONCORDABLE | VOWEL | 197 /* uppercase 'A' overcircle */
,CONCORDABLE | VOWEL | 198 /* uppercase 'AE' diphthong */
,CONCORDABLE | CONSONANT | 199 /* uppercase 'C' cedilla */
,CONCORDABLE | VOWEL | 200 /* uppercase 'E' grave accent */
,CONCORDABLE | VOWEL | 201 /* uppercase 'E' acute accent */
,CONCORDABLE | VOWEL | 202 /* uppercase 'E' circumflex */
,CONCORDABLE | VOWEL | 203 /* uppercase 'E' diaeresis-umlaut */
,CONCORDABLE | VOWEL | 204 /* uppercase 'I' grave accent */
,CONCORDABLE | VOWEL | 205 /* uppercase 'I' acute accent */
,CONCORDABLE | VOWEL | 206 /* uppercase 'I' circumflex */
,CONCORDABLE | VOWEL | 207 /* uppercase 'I' diaeresis-umlaut */
,CONCORDABLE | CONSONANT | 208 /* uppercase 'D' stroke (eth), xD0 */
,CONCORDABLE | CONSONANT | 209 /* uppercase 'N' tilde */
,CONCORDABLE | VOWEL | 210 /* uppercase 'O' grave accent */
,CONCORDABLE | VOWEL | 211 /* uppercase 'O' acute accent */
,CONCORDABLE | VOWEL | 212 /* uppercase 'O' circumflex */
,CONCORDABLE | VOWEL | 213 /* uppercase 'O' tilde */
,CONCORDABLE | VOWEL | 214 /* uppercase 'O' diaeresis-umlaut */
,NON_CONCORD | 215 /* multiply sign 'x' */
,CONCORDABLE | VOWEL | 216 /* uppercase 'O' slash */
,CONCORDABLE | VOWEL | 217 /* uppercase 'U' grave accent */
,CONCORDABLE | VOWEL | 218 /* uppercase 'U' acute accent */
,CONCORDABLE | VOWEL | 219 /* uppercase 'U' circumflex */
,CONCORDABLE | VOWEL | 220 /* uppercase 'U' diaeresis-umlaut */
,CONCORDABLE | VOWEL | 221 /* uppercase 'Y' acute accent */
,CONCORDABLE | CONSONANT | 222 /* uppercase Thorn (Iceland) */
,CONCORDABLE | CONSONANT | 223 /* lowercase s sharp (German ss) */
,CONCORDABLE | VOWEL | 192 /* 224, lcase 'a' grave accent, xE0 */
,CONCORDABLE | VOWEL | 193 /* lowercase 'a' acute accent */
,CONCORDABLE | VOWEL | 194 /* lowercase 'a' circumflex */
,CONCORDABLE | VOWEL | 195 /* lowercase 'a' tilde */
,CONCORDABLE | VOWEL | 196 /* lowercase 'a' diaeresis-umlaut */
,CONCORDABLE | VOWEL | 197 /* lowercase 'a' overcircle */
,CONCORDABLE | VOWEL | 198 /* lowercase 'ae' diphthong */
,CONCORDABLE | CONSONANT | 199 /* lowercase 'c' cedilla */
,CONCORDABLE | VOWEL | 200 /* 232, lowercase 'e' grave accent */
,CONCORDABLE | VOWEL | 201 /* lowercase 'e' acute accent */
,CONCORDABLE | VOWEL | 202 /* lowercase 'e' circumflex */
,CONCORDABLE | VOWEL | 203 /* lowercase 'e' diaeresis-umlaut */
,CONCORDABLE | VOWEL | 204 /* lowercase 'i' grave accent */
,CONCORDABLE | VOWEL | 205 /* lowercase 'i' acute accent */
,CONCORDABLE | VOWEL | 206 /* lowercase 'i' circumflex */
,CONCORDABLE | VOWEL | 207 /* lowercase 'i' diaeresis-umlaut */
,CONCORDABLE | CONSONANT | 208 /* 240, lcase 'd' stroke (eth), xF0 */
,CONCORDABLE | CONSONANT | 209 /* lowercase 'n' tilde */
,CONCORDABLE | VOWEL | 210 /* lowercase 'o' grave accent */
,CONCORDABLE | VOWEL | 211 /* lowercase 'o' acute accent */
,CONCORDABLE | VOWEL | 212 /* lowercase 'o' circumflex */
,CONCORDABLE | VOWEL | 213 /* lowercase 'o' tilde */
,CONCORDABLE | VOWEL | 214 /* lowercase 'o' diaeresis-umlaut */
,NON_CONCORD | 247 /* divide sign */
,CONCORDABLE | VOWEL | 216 /* 248, lowercase 'o' slash */
,CONCORDABLE | VOWEL | 217 /* lowercase 'u' grave accent */
,CONCORDABLE | VOWEL | 218 /* lowercase 'u' acute accent */
,CONCORDABLE | VOWEL | 219 /* lowercase 'u' circumflex */
,CONCORDABLE | VOWEL | 220 /* lowercase 'u' diaeresis-umlaut */
,CONCORDABLE | VOWEL | 221 /* lowercase 'y' acute accent */
,CONCORDABLE | CONSONANT | 222 /* lowercase thorn (Icelandic) */
,CONCORDABLE | CONSONANT | 255 /* lowercase 'y' diaeresis-umlaut */
,NON_CONCORD /* 256, an extra one... */
}; /* latin_charmap[] */
/************************************************/
/* */
/* ascii_charmap */
/* */
/************************************************/
/* Teskey character map for 7-bit ascii
* character set in 8-bit octets.
* Also accessed in packed EUC parsing in jpn.c.
*/
int ascii_charmap [] = {
NON_CONCORD | 0 /* NULL, Teskey EOT char */
,NON_CONCORD | 1 /* CTRL-A */
,NON_CONCORD | 2 /* CTRL-B */
,NON_CONCORD | 3 /* CTRL-C */
,NON_CONCORD | 4 /* CTRL-D */
,NON_CONCORD | 5 /* CTRL-E */
,NON_CONCORD | 6 /* CTRL-F */
,NON_CONCORD | 7 /* BEL \a */
,NON_CONCORD | 8 /* BS \b */
,NON_CONCORD | WHITESPACE | 9 /* TAB \t */
,NON_CONCORD | WHITESPACE | 10 /* LF \n */
,NON_CONCORD | WHITESPACE | 11 /* VT \v */
,NON_CONCORD | WHITESPACE | 12 /* FF \f */
,NON_CONCORD | WHITESPACE | 13 /* CR \r */
,NON_CONCORD | 14 /* CTRL-N */
,NON_CONCORD | 15 /* CTRL-O */
,NON_CONCORD | 16 /* CTRL-P */
,NON_CONCORD | 17 /* CTRL-Q */
,NON_CONCORD | 18 /* CTRL-R */
,NON_CONCORD | 19 /* CTRL-S */
,NON_CONCORD | 20 /* CTRL-T */
,NON_CONCORD | 21 /* CTRL-U */
,NON_CONCORD | 22 /* CTRL-V */
,NON_CONCORD | 23 /* CTRL-W */
,NON_CONCORD | 24 /* CTRL-X */
,NON_CONCORD | 25 /* CTRL-Y */
,NON_CONCORD | 26 /* CTRL-Z (EOF) */
,NON_CONCORD | 27 /* ESC */
,NON_CONCORD | 28
,NON_CONCORD | 29
,NON_CONCORD | 30
,NON_CONCORD | 31
,NON_CONCORD | WHITESPACE | 32 /* SPACE (blank) */
,NON_CONCORD | 33 /* ! */
,NON_CONCORD | 34 /* " */
,NON_CONCORD | 35 /* # */
,NON_CONCORD | 36 /* $ */
,NON_CONCORD | 37 /* % */
,NON_CONCORD | 38 /* & */
,NON_CONCORD | 39 /* ' (apostrophe) */
,NON_CONCORD | 40 /* ( */
,NON_CONCORD | 41 /* ) */
,NON_CONCORD | 42 /* * */
,NON_CONCORD | 43 /* + */
,NON_CONCORD | 44 /* , (comma) */
,OPT_CONCORD | 45 /* - (dash) */
,OPT_CONCORD | 46 /* . (period) */
,OPT_CONCORD | 47 /* / (slash) */
,CONCORDABLE | NUMERAL | 48 /* 0 */
,CONCORDABLE | NUMERAL | 49 /* 1 */
,CONCORDABLE | NUMERAL | 50 /* 2 */
,CONCORDABLE | NUMERAL | 51 /* 3 */
,CONCORDABLE | NUMERAL | 52 /* 4 */
,CONCORDABLE | NUMERAL | 53 /* 5 */
,CONCORDABLE | NUMERAL | 54 /* 6 */
,CONCORDABLE | NUMERAL | 55 /* 7 */
,CONCORDABLE | NUMERAL | 56 /* 8 */
,CONCORDABLE | NUMERAL | 57 /* 9 */
,NON_CONCORD | 58 /* : */
,NON_CONCORD | 59 /* ; */
,NON_CONCORD | 60 /* < */
,NON_CONCORD | 61 /* = */
,NON_CONCORD | 62 /* > */
,NON_CONCORD | 63 /* ? */
,NON_CONCORD | 64 /* @ */
,CONCORDABLE | VOWEL | 65 /* A */
,CONCORDABLE | CONSONANT | 66 /* B */
,CONCORDABLE | CONSONANT | 67 /* C */
,CONCORDABLE | CONSONANT | 68 /* D */
,CONCORDABLE | VOWEL | 69 /* E */
,CONCORDABLE | CONSONANT | 70 /* F */
,CONCORDABLE | CONSONANT | 71 /* G */
,CONCORDABLE | CONSONANT | 72 /* H */
,CONCORDABLE | VOWEL | 73 /* I */
,CONCORDABLE | CONSONANT | 74 /* J */
,CONCORDABLE | CONSONANT | 75 /* K */
,CONCORDABLE | CONSONANT | 76 /* L */
,CONCORDABLE | CONSONANT | 77 /* M */
,CONCORDABLE | CONSONANT | 78 /* N */
,CONCORDABLE | VOWEL | 79 /* O */
,CONCORDABLE | CONSONANT | 80 /* P */
,CONCORDABLE | CONSONANT | 81 /* Q */
,CONCORDABLE | CONSONANT | 82 /* R */
,CONCORDABLE | CONSONANT | 83 /* S */
,CONCORDABLE | CONSONANT | 84 /* T */
,CONCORDABLE | VOWEL | 85 /* U */
,CONCORDABLE | CONSONANT | 86 /* V */
,CONCORDABLE | CONSONANT | 87 /* W */
,CONCORDABLE | CONSONANT | 88 /* X */
,CONCORDABLE | CONSONANT | 89 /* Y */
,CONCORDABLE | CONSONANT | 90 /* Z */
,NON_CONCORD | 91 /* [ */
,NON_CONCORD | 92 /* \ (backslash) */
,NON_CONCORD | 93 /* ] */
,NON_CONCORD | 94 /* ^ */
,OPT_CONCORD | 95 /* _ (underscore) */
,NON_CONCORD | 96 /* ` (grave accent) */
,CONCORDABLE | VOWEL | 'A' /* 97 = lowercase a */
,CONCORDABLE | CONSONANT | 'B' /* 98 = lowercase b */
,CONCORDABLE | CONSONANT | 'C' /* 99 = lowercase c */
,CONCORDABLE | CONSONANT | 'D' /* 100 = lowercase d */
,CONCORDABLE | VOWEL | 'E' /* 101 = lowercase e */
,CONCORDABLE | CONSONANT | 'F' /* 102 = lowercase f */
,CONCORDABLE | CONSONANT | 'G' /* 103 = lowercase g */
,CONCORDABLE | CONSONANT | 'H' /* 104 = lowercase h */
,CONCORDABLE | VOWEL | 'I' /* 105 = lowercase i */
,CONCORDABLE | CONSONANT | 'J' /* 106 = lowercase j */
,CONCORDABLE | CONSONANT | 'K' /* 107 = lowercase k */
,CONCORDABLE | CONSONANT | 'L' /* 108 = lowercase l */
,CONCORDABLE | CONSONANT | 'M' /* 109 = lowercase m */
,CONCORDABLE | CONSONANT | 'N' /* 110 = lowercase n */
,CONCORDABLE | VOWEL | 'O' /* 111 = lowercase o */
,CONCORDABLE | CONSONANT | 'P' /* 112 = lowercase p */
,CONCORDABLE | CONSONANT | 'Q' /* 113 = lowercase q */
,CONCORDABLE | CONSONANT | 'R' /* 114 = lowercase r */
,CONCORDABLE | CONSONANT | 'S' /* 115 = lowercase s */
,CONCORDABLE | CONSONANT | 'T' /* 116 = lowercase t */
,CONCORDABLE | VOWEL | 'U' /* 117 = lowercase u */
,CONCORDABLE | CONSONANT | 'V' /* 118 = lowercase v */
,CONCORDABLE | CONSONANT | 'W' /* 119 = lowercase w */
,CONCORDABLE | CONSONANT | 'X' /* 120 = lowercase x */
,CONCORDABLE | CONSONANT | 'Y' /* 121 = lowercase y */
,CONCORDABLE | CONSONANT | 'Z' /* 122 = lowercase z */
,NON_CONCORD | 123 /* { */
,NON_CONCORD | 124 /* | (virgule, vertical line) */
,NON_CONCORD | 125 /* } */
,NON_CONCORD | 126 /* ~ */
,NON_CONCORD | 127 /* DEL */
,NON_CONCORD | 128
,NON_CONCORD | 129
,NON_CONCORD | 130
,NON_CONCORD | 131
,NON_CONCORD | 132
,NON_CONCORD | 133
,NON_CONCORD | 134
,NON_CONCORD | 135
,NON_CONCORD | 136
,NON_CONCORD | 137
,NON_CONCORD | 138
,NON_CONCORD | 139
,NON_CONCORD | 140
,NON_CONCORD | 141
,NON_CONCORD | 142
,NON_CONCORD | 143
,NON_CONCORD | 144
,NON_CONCORD | 145
,NON_CONCORD | 146
,NON_CONCORD | 147
,NON_CONCORD | 148
,NON_CONCORD | 149
,NON_CONCORD | 150
,NON_CONCORD | 151
,NON_CONCORD | 152
,NON_CONCORD | 153
,NON_CONCORD | 154
,NON_CONCORD | 155
,NON_CONCORD | 156
,NON_CONCORD | 157
,NON_CONCORD | 158
,NON_CONCORD | 159
,NON_CONCORD | 160
,NON_CONCORD | 161
,NON_CONCORD | 162
,NON_CONCORD | 163
,NON_CONCORD | 164
,NON_CONCORD | 165
,NON_CONCORD | 166
,NON_CONCORD | 167
,NON_CONCORD | 168
,NON_CONCORD | 169
,NON_CONCORD | 170
,NON_CONCORD | 171
,NON_CONCORD | 172
,NON_CONCORD | 173
,NON_CONCORD | 174
,NON_CONCORD | 175
,NON_CONCORD | 176
,NON_CONCORD | 177
,NON_CONCORD | 178
,NON_CONCORD | 179
,NON_CONCORD | 180
,NON_CONCORD | 181
,NON_CONCORD | 182
,NON_CONCORD | 183
,NON_CONCORD | 184
,NON_CONCORD | 185
,NON_CONCORD | 186
,NON_CONCORD | 187
,NON_CONCORD | 188
,NON_CONCORD | 189
,NON_CONCORD | 190
,NON_CONCORD | 191
,NON_CONCORD | 192
,NON_CONCORD | 193
,NON_CONCORD | 194
,NON_CONCORD | 195
,NON_CONCORD | 196
,NON_CONCORD | 197
,NON_CONCORD | 198
,NON_CONCORD | 199
,NON_CONCORD | 200
,NON_CONCORD | 201
,NON_CONCORD | 202
,NON_CONCORD | 203
,NON_CONCORD | 204
,NON_CONCORD | 205
,NON_CONCORD | 206
,NON_CONCORD | 207
,NON_CONCORD | 208
,NON_CONCORD | 209
,NON_CONCORD | 210
,NON_CONCORD | 211
,NON_CONCORD | 212
,NON_CONCORD | 213
,NON_CONCORD | 214
,NON_CONCORD | 215
,NON_CONCORD | 216
,NON_CONCORD | 217
,NON_CONCORD | 218
,NON_CONCORD | 219
,NON_CONCORD | 220
,NON_CONCORD | 221
,NON_CONCORD | 222
,NON_CONCORD | 223
,NON_CONCORD | 224
,NON_CONCORD | 225
,NON_CONCORD | 226
,NON_CONCORD | 227
,NON_CONCORD | 228
,NON_CONCORD | 229
,NON_CONCORD | 230
,NON_CONCORD | 231
,NON_CONCORD | 232
,NON_CONCORD | 233
,NON_CONCORD | 234
,NON_CONCORD | 235
,NON_CONCORD | 236
,NON_CONCORD | 237
,NON_CONCORD | 238
,NON_CONCORD | 239
,NON_CONCORD | 240
,NON_CONCORD | 241
,NON_CONCORD | 242
,NON_CONCORD | 243
,NON_CONCORD | 244
,NON_CONCORD | 245
,NON_CONCORD | 246
,NON_CONCORD | 247
,NON_CONCORD | 248
,NON_CONCORD | 249
,NON_CONCORD | 250
,NON_CONCORD | 251
,NON_CONCORD | 252
,NON_CONCORD | 253
,NON_CONCORD | 254
,NON_CONCORD | 255
,NON_CONCORD /* 256 = an extra one... */
}; /* ascii_charmap[] */
/******************** LANGMAP.C ********************/