2007-07-02 10:29:22 -07:00
/******* BEGIN LICENSE BLOCK *******
* Version : MPL 1.1 / GPL 2.0 / LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 ( the " License " ) ; you may not use this file except in compliance with
* the License . You may obtain a copy of the License at
* http : //www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an " AS IS " basis ,
* WITHOUT WARRANTY OF ANY KIND , either express or implied . See the License
* for the specific language governing rights and limitations under the
* License .
*
* The Initial Developers of the Original Code are Kevin Hendricks ( MySpell )
2007-07-02 11:20:31 -07:00
* and L <EFBFBD> szl <EFBFBD> N <EFBFBD> meth ( Hunspell ) . Portions created by the Initial Developers
2007-07-02 10:29:22 -07:00
* are Copyright ( C ) 2002 - 2005 the Initial Developers . All Rights Reserved .
*
* Contributor ( s ) : Kevin Hendricks ( kevin . hendricks @ sympatico . ca )
* David Einstein ( deinst @ world . std . com )
2007-07-02 11:20:31 -07:00
* L <EFBFBD> szl <EFBFBD> N <EFBFBD> meth ( nemethl @ gyorsposta . hu )
2010-06-08 23:06:40 -07:00
* L . David Baron ( dbaron @ dbaron . org )
* Caolan McNamara ( caolanm @ redhat . com )
2007-07-02 10:29:22 -07:00
* Davide Prina
* Giuseppe Modugno
* Gianluca Turconi
* Simon Brouwer
* Noll Janos
* Biro Arpad
* Goldman Eleonora
* Sarlos Tamas
* Bencsath Boldizsar
* Halacsy Peter
* Dvornik Laszlo
* Gefferth Andras
* Nagy Viktor
* Varga Daniel
* Chris Halls
* Rene Engelhard
* Bram Moolenaar
* Dafydd Jones
* Harri Pitkanen
* Andras Timar
* Tor Lillqvist
*
* Alternatively , the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later ( the " GPL " ) , or
* the GNU Lesser General Public License Version 2.1 or later ( the " LGPL " ) ,
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above . If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL , and not to allow others to
* use your version of this file under the terms of the MPL , indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL . If you do not delete
* the provisions above , a recipient may use your version of this file under
* the terms of any one of the MPL , the GPL or the LGPL .
*
* * * * * * * END LICENSE BLOCK * * * * * * */
# include <stdlib.h>
# include <string.h>
# include <stdio.h>
2007-09-06 06:04:27 -07:00
# include <ctype.h>
2007-07-02 10:29:22 -07:00
2008-11-04 14:05:31 -08:00
# include "csutil.hxx"
2010-06-08 23:06:40 -07:00
# include "atypes.hxx"
2007-07-02 10:29:22 -07:00
# include "langnum.hxx"
# ifdef OPENOFFICEORG
# include <unicode / uchar.h>
# else
# ifndef MOZILLA_CLIENT
# include "utf_info.cxx"
# define UTF_LST_LEN (sizeof(utf_lst) / (sizeof(unicode_info)))
# endif
# endif
# ifdef MOZILLA_CLIENT
# include "nsCOMPtr.h"
# include "nsServiceManagerUtils.h"
# include "nsIUnicodeEncoder.h"
# include "nsIUnicodeDecoder.h"
# include "nsICharsetConverterManager.h"
# include "nsUnicharUtilCIID.h"
# include "nsUnicharUtils.h"
static NS_DEFINE_CID ( kCharsetConverterManagerCID , NS_ICHARSETCONVERTERMANAGER_CID ) ;
static NS_DEFINE_CID ( kUnicharUtilCID , NS_UNICHARUTIL_CID ) ;
# endif
2007-07-18 15:22:33 -07:00
static struct unicode_info2 * utf_tbl = NULL ;
static int utf_tbl_count = 0 ; // utf_tbl can be used by multiple Hunspell instances
2007-07-02 10:29:22 -07:00
/* only UTF-16 (BMP) implementation */
char * u16_u8 ( char * dest , int size , const w_char * src , int srclen ) {
2008-11-04 14:05:31 -08:00
signed char * u8 = ( signed char * ) dest ;
signed char * u8_max = ( signed char * ) ( u8 + size ) ;
2007-07-02 10:29:22 -07:00
const w_char * u2 = src ;
const w_char * u2_max = src + srclen ;
while ( ( u2 < u2_max ) & & ( u8 < u8_max ) ) {
if ( u2 - > h ) { // > 0xFF
// XXX 4-byte haven't implemented yet.
if ( u2 - > h > = 0x08 ) { // >= 0x800 (3-byte UTF-8 character)
* u8 = 0xe0 + ( u2 - > h > > 4 ) ;
u8 + + ;
if ( u8 < u8_max ) {
* u8 = 0x80 + ( ( u2 - > h & 0xf ) < < 2 ) + ( u2 - > l > > 6 ) ;
u8 + + ;
if ( u8 < u8_max ) {
* u8 = 0x80 + ( u2 - > l & 0x3f ) ;
u8 + + ;
}
}
} else { // < 0x800 (2-byte UTF-8 character)
* u8 = 0xc0 + ( u2 - > h < < 2 ) + ( u2 - > l > > 6 ) ;
u8 + + ;
if ( u8 < u8_max ) {
* u8 = 0x80 + ( u2 - > l & 0x3f ) ;
u8 + + ;
}
}
} else { // <= 0xFF
if ( u2 - > l & 0x80 ) { // >0x80 (2-byte UTF-8 character)
* u8 = 0xc0 + ( u2 - > l > > 6 ) ;
u8 + + ;
if ( u8 < u8_max ) {
* u8 = 0x80 + ( u2 - > l & 0x3f ) ;
u8 + + ;
}
} else { // < 0x80 (1-byte UTF-8 character)
* u8 = u2 - > l ;
u8 + + ;
}
}
u2 + + ;
}
* u8 = ' \0 ' ;
return dest ;
}
/* only UTF-16 (BMP) implementation */
int u8_u16 ( w_char * dest , int size , const char * src ) {
2008-11-04 14:05:31 -08:00
const signed char * u8 = ( const signed char * ) src ;
2007-07-02 10:29:22 -07:00
w_char * u2 = dest ;
w_char * u2_max = u2 + size ;
2007-07-18 15:22:33 -07:00
while ( ( u2 < u2_max ) & & * u8 ) {
2007-07-02 10:29:22 -07:00
switch ( ( * u8 ) & 0xf0 ) {
case 0x00 :
case 0x10 :
case 0x20 :
case 0x30 :
case 0x40 :
case 0x50 :
case 0x60 :
case 0x70 : {
u2 - > h = 0 ;
u2 - > l = * u8 ;
break ;
}
case 0x80 :
case 0x90 :
case 0xa0 :
case 0xb0 : {
2008-11-04 14:05:31 -08:00
HUNSPELL_WARNING ( stderr , " UTF-8 encoding error. Unexpected continuation bytes in %ld. character position \n %s \n " , static_cast < long > ( u8 - ( signed char * ) src ) , src ) ;
2007-07-02 10:29:22 -07:00
u2 - > h = 0xff ;
u2 - > l = 0xfd ;
break ;
}
case 0xc0 :
case 0xd0 : { // 2-byte UTF-8 codes
if ( ( * ( u8 + 1 ) & 0xc0 ) = = 0x80 ) {
u2 - > h = ( * u8 & 0x1f ) > > 2 ;
u2 - > l = ( * u8 < < 6 ) + ( * ( u8 + 1 ) & 0x3f ) ;
u8 + + ;
} else {
2008-11-04 14:05:31 -08:00
HUNSPELL_WARNING ( stderr , " UTF-8 encoding error. Missing continuation byte in %ld. character position: \n %s \n " , static_cast < long > ( u8 - ( signed char * ) src ) , src ) ;
2007-07-02 10:29:22 -07:00
u2 - > h = 0xff ;
u2 - > l = 0xfd ;
}
break ;
}
case 0xe0 : { // 3-byte UTF-8 codes
if ( ( * ( u8 + 1 ) & 0xc0 ) = = 0x80 ) {
u2 - > h = ( ( * u8 & 0x0f ) < < 4 ) + ( ( * ( u8 + 1 ) & 0x3f ) > > 2 ) ;
u8 + + ;
if ( ( * ( u8 + 1 ) & 0xc0 ) = = 0x80 ) {
u2 - > l = ( * u8 < < 6 ) + ( * ( u8 + 1 ) & 0x3f ) ;
u8 + + ;
} else {
2008-11-04 14:05:31 -08:00
HUNSPELL_WARNING ( stderr , " UTF-8 encoding error. Missing continuation byte in %ld. character position: \n %s \n " , static_cast < long > ( u8 - ( signed char * ) src ) , src ) ;
2007-07-02 10:29:22 -07:00
u2 - > h = 0xff ;
u2 - > l = 0xfd ;
}
} else {
2008-11-04 14:05:31 -08:00
HUNSPELL_WARNING ( stderr , " UTF-8 encoding error. Missing continuation byte in %ld. character position: \n %s \n " , static_cast < long > ( u8 - ( signed char * ) src ) , src ) ;
2007-07-02 10:29:22 -07:00
u2 - > h = 0xff ;
u2 - > l = 0xfd ;
}
break ;
}
case 0xf0 : { // 4 or more byte UTF-8 codes
HUNSPELL_WARNING ( stderr , " This UTF-8 encoding can't convert to UTF-16: \n %s \n " , src ) ;
u2 - > h = 0xff ;
u2 - > l = 0xfd ;
return - 1 ;
}
}
u8 + + ;
u2 + + ;
}
2010-06-08 23:06:40 -07:00
return ( int ) ( u2 - dest ) ;
2007-07-02 10:29:22 -07:00
}
void flag_qsort ( unsigned short flags [ ] , int begin , int end ) {
unsigned short reg ;
if ( end > begin ) {
unsigned short pivot = flags [ begin ] ;
int l = begin + 1 ;
int r = end ;
while ( l < r ) {
if ( flags [ l ] < = pivot ) {
l + + ;
} else {
r - - ;
reg = flags [ l ] ;
flags [ l ] = flags [ r ] ;
flags [ r ] = reg ;
}
}
l - - ;
reg = flags [ begin ] ;
flags [ begin ] = flags [ l ] ;
flags [ l ] = reg ;
flag_qsort ( flags , begin , l ) ;
flag_qsort ( flags , r , end ) ;
}
}
int flag_bsearch ( unsigned short flags [ ] , unsigned short flag , int length ) {
int mid ;
int left = 0 ;
int right = length - 1 ;
while ( left < = right ) {
mid = ( left + right ) / 2 ;
if ( flags [ mid ] = = flag ) return 1 ;
if ( flag < flags [ mid ] ) right = mid - 1 ;
else left = mid + 1 ;
}
return 0 ;
}
// strip strings into token based on single char delimiter
// acts like strsep() but only uses a delim char and not
// a delim string
// default delimiter: white space characters
char * mystrsep ( char * * stringp , const char delim )
{
char * mp = * stringp ;
2008-11-04 14:05:31 -08:00
if ( * mp ! = ' \0 ' ) {
2007-07-02 10:29:22 -07:00
char * dp ;
if ( delim ) {
2008-11-04 14:05:31 -08:00
dp = strchr ( mp , delim ) ;
2007-07-02 10:29:22 -07:00
} else {
// don't use isspace() here, the string can be in some random charset
// that's way different than the locale's
for ( dp = mp ; ( * dp & & * dp ! = ' ' & & * dp ! = ' \t ' ) ; dp + + ) ;
if ( ! * dp ) dp = NULL ;
}
if ( dp ) {
* stringp = dp + 1 ;
2010-07-19 15:19:52 -07:00
* dp = ' \0 ' ;
2007-07-02 10:29:22 -07:00
} else {
2008-11-04 14:05:31 -08:00
* stringp = mp + strlen ( mp ) ;
2007-07-02 10:29:22 -07:00
}
2010-06-08 23:06:40 -07:00
return mp ;
2007-07-02 10:29:22 -07:00
}
return NULL ;
}
// replaces strdup with ansi version
char * mystrdup ( const char * s )
{
char * d = NULL ;
if ( s ) {
2010-07-19 15:19:52 -07:00
size_t sl = strlen ( s ) + 1 ;
2010-06-08 23:06:40 -07:00
d = ( char * ) malloc ( sl ) ;
2008-11-04 14:05:31 -08:00
if ( d ) {
2010-06-08 23:06:40 -07:00
memcpy ( d , s , sl ) ;
} else {
HUNSPELL_WARNING ( stderr , " Can't allocate memory. \n " ) ;
2008-11-04 14:05:31 -08:00
}
2007-07-02 10:29:22 -07:00
}
return d ;
}
2008-11-04 14:05:31 -08:00
// strcat for limited length destination string
char * mystrcat ( char * dest , const char * st , int max ) {
int len ;
int len2 ;
if ( dest = = NULL | | st = = NULL ) return dest ;
len = strlen ( dest ) ;
len2 = strlen ( st ) ;
if ( len + len2 + 1 > max ) return dest ;
strcpy ( dest + len , st ) ;
return dest ;
}
2007-07-02 10:29:22 -07:00
// remove cross-platform text line end characters
void mychomp ( char * s )
{
2010-07-19 15:19:52 -07:00
size_t k = strlen ( s ) ;
2007-07-02 10:29:22 -07:00
if ( ( k > 0 ) & & ( ( * ( s + k - 1 ) = = ' \r ' ) | | ( * ( s + k - 1 ) = = ' \n ' ) ) ) * ( s + k - 1 ) = ' \0 ' ;
if ( ( k > 1 ) & & ( * ( s + k - 2 ) = = ' \r ' ) ) * ( s + k - 2 ) = ' \0 ' ;
}
// does an ansi strdup of the reverse of a string
char * myrevstrdup ( const char * s )
{
char * d = NULL ;
if ( s ) {
2010-07-19 15:19:52 -07:00
size_t sl = strlen ( s ) ;
2010-06-08 23:06:40 -07:00
d = ( char * ) malloc ( sl + 1 ) ;
2007-07-02 10:29:22 -07:00
if ( d ) {
const char * p = s + sl - 1 ;
char * q = d ;
while ( p > = s ) * q + + = * p - - ;
* q = ' \0 ' ;
2010-06-08 23:06:40 -07:00
} else {
HUNSPELL_WARNING ( stderr , " Can't allocate memory. \n " ) ;
2007-07-02 10:29:22 -07:00
}
}
return d ;
}
// break text to lines
// return number of lines
2008-11-04 14:05:31 -08:00
int line_tok ( const char * text , char * * * lines , char breakchar ) {
2007-07-02 10:29:22 -07:00
int linenum = 0 ;
2010-06-08 23:06:40 -07:00
if ( ! text ) {
return linenum ;
}
2007-07-02 10:29:22 -07:00
char * dup = mystrdup ( text ) ;
2008-11-04 14:05:31 -08:00
char * p = strchr ( dup , breakchar ) ;
2007-07-02 10:29:22 -07:00
while ( p ) {
linenum + + ;
* p = ' \0 ' ;
p + + ;
2008-11-04 14:05:31 -08:00
p = strchr ( p , breakchar ) ;
}
linenum + + ;
// fprintf(stderr, "LINEN:%d %p %p\n", linenum, lines, *lines);
* lines = ( char * * ) malloc ( linenum * sizeof ( char * ) ) ;
// fprintf(stderr, "hello\n");
if ( ! ( * lines ) ) {
free ( dup ) ;
return 0 ;
2007-07-02 10:29:22 -07:00
}
2008-11-04 14:05:31 -08:00
p = dup ;
int l = 0 ;
for ( int i = 0 ; i < linenum ; i + + ) {
if ( * p ! = ' \0 ' ) {
( * lines ) [ l ] = mystrdup ( p ) ;
if ( ! ( * lines ) [ l ] ) {
for ( i = 0 ; i < l ; i + + ) free ( ( * lines ) [ i ] ) ;
free ( dup ) ;
return 0 ;
}
l + + ;
}
2007-07-02 10:29:22 -07:00
p + = strlen ( p ) + 1 ;
}
free ( dup ) ;
2008-11-04 14:05:31 -08:00
if ( ! l ) free ( * lines ) ;
return l ;
2007-07-02 10:29:22 -07:00
}
// uniq line in place
2008-11-04 14:05:31 -08:00
char * line_uniq ( char * text , char breakchar ) {
2007-07-02 10:29:22 -07:00
char * * lines ;
2008-11-04 14:05:31 -08:00
int linenum = line_tok ( text , & lines , breakchar ) ;
2007-07-02 10:29:22 -07:00
int i ;
strcpy ( text , lines [ 0 ] ) ;
2008-11-04 14:05:31 -08:00
for ( i = 1 ; i < linenum ; i + + ) {
2007-07-02 10:29:22 -07:00
int dup = 0 ;
for ( int j = 0 ; j < i ; j + + ) {
if ( strcmp ( lines [ i ] , lines [ j ] ) = = 0 ) dup = 1 ;
}
if ( ! dup ) {
2008-11-04 14:05:31 -08:00
if ( ( i > 1 ) | | ( * ( lines [ 0 ] ) ! = ' \0 ' ) ) {
sprintf ( text + strlen ( text ) , " %c " , breakchar ) ;
}
2007-07-02 10:29:22 -07:00
strcat ( text , lines [ i ] ) ;
}
}
2008-11-04 14:05:31 -08:00
for ( i = 0 ; i < linenum ; i + + ) {
2007-07-02 10:29:22 -07:00
if ( lines [ i ] ) free ( lines [ i ] ) ;
}
if ( lines ) free ( lines ) ;
return text ;
}
2008-11-04 14:05:31 -08:00
// uniq and boundary for compound analysis: "1\n\2\n\1" -> " ( \1 | \2 ) "
char * line_uniq_app ( char * * text , char breakchar ) {
if ( ! strchr ( * text , breakchar ) ) {
return * text ;
}
char * * lines ;
int i ;
int linenum = line_tok ( * text , & lines , breakchar ) ;
int dup = 0 ;
for ( i = 0 ; i < linenum ; i + + ) {
for ( int j = 0 ; j < ( i - 1 ) ; j + + ) {
if ( strcmp ( lines [ i ] , lines [ j ] ) = = 0 ) {
* ( lines [ i ] ) = ' \0 ' ;
dup + + ;
break ;
}
}
}
if ( ( linenum - dup ) = = 1 ) {
strcpy ( * text , lines [ 0 ] ) ;
freelist ( & lines , linenum ) ;
return * text ;
}
char * newtext = ( char * ) malloc ( strlen ( * text ) + 2 * linenum + 3 + 1 ) ;
if ( newtext ) {
free ( * text ) ;
* text = newtext ;
} else {
freelist ( & lines , linenum ) ;
return * text ;
}
strcpy ( * text , " ( " ) ;
for ( i = 0 ; i < linenum ; i + + ) if ( * ( lines [ i ] ) ) {
sprintf ( * text + strlen ( * text ) , " %s%s " , lines [ i ] , " | " ) ;
}
( * text ) [ strlen ( * text ) - 2 ] = ' ) ' ; // " ) "
freelist ( & lines , linenum ) ;
return * text ;
}
// append s to ends of every lines in text
void strlinecat ( char * dest , const char * s )
{
char * dup = mystrdup ( dest ) ;
char * source = dup ;
int len = strlen ( s ) ;
if ( dup ) {
while ( * source ) {
if ( * source = = ' \n ' ) {
strncpy ( dest , s , len ) ;
dest + = len ;
}
* dest = * source ;
source + + ; dest + + ;
}
strcpy ( dest , s ) ;
free ( dup ) ;
}
}
2007-07-02 10:29:22 -07:00
// change \n to char c
2008-11-04 14:05:31 -08:00
char * tr ( char * text , char oldc , char newc ) {
2007-07-02 10:29:22 -07:00
char * p ;
2008-11-04 14:05:31 -08:00
for ( p = text ; * p ; p + + ) if ( * p = = oldc ) * p = newc ;
2007-07-02 10:29:22 -07:00
return text ;
}
2008-11-04 14:05:31 -08:00
// morphcmp(): compare MORPH_DERI_SFX, MORPH_INFL_SFX and MORPH_TERM_SFX fields
// in the first line of the inputs
// return 0, if inputs equal
// return 1, if inputs may equal with a secondary suffix
// otherwise return -1
int morphcmp ( const char * s , const char * t )
{
int se = 0 ;
int te = 0 ;
const char * sl ;
const char * tl ;
const char * olds ;
const char * oldt ;
if ( ! s | | ! t ) return 1 ;
olds = s ;
sl = strchr ( s , ' \n ' ) ;
s = strstr ( s , MORPH_DERI_SFX ) ;
if ( ! s | | ( sl & & sl < s ) ) s = strstr ( olds , MORPH_INFL_SFX ) ;
if ( ! s | | ( sl & & sl < s ) ) {
s = strstr ( olds , MORPH_TERM_SFX ) ;
olds = NULL ;
}
oldt = t ;
tl = strchr ( t , ' \n ' ) ;
t = strstr ( t , MORPH_DERI_SFX ) ;
if ( ! t | | ( tl & & tl < t ) ) t = strstr ( oldt , MORPH_INFL_SFX ) ;
if ( ! t | | ( tl & & tl < t ) ) {
t = strstr ( oldt , MORPH_TERM_SFX ) ;
oldt = NULL ;
}
while ( s & & t & & ( ! sl | | sl > s ) & & ( ! tl | | tl > t ) ) {
s + = MORPH_TAG_LEN ;
t + = MORPH_TAG_LEN ;
se = 0 ;
te = 0 ;
while ( ( * s = = * t ) & & ! se & & ! te ) {
s + + ;
t + + ;
switch ( * s ) {
case ' ' :
case ' \n ' :
case ' \t ' :
case ' \0 ' : se = 1 ;
}
switch ( * t ) {
case ' ' :
case ' \n ' :
case ' \t ' :
case ' \0 ' : te = 1 ;
}
}
if ( ! se | | ! te ) {
// not terminal suffix difference
if ( olds ) return - 1 ;
return 1 ;
}
olds = s ;
s = strstr ( s , MORPH_DERI_SFX ) ;
if ( ! s | | ( sl & & sl < s ) ) s = strstr ( olds , MORPH_INFL_SFX ) ;
if ( ! s | | ( sl & & sl < s ) ) {
s = strstr ( olds , MORPH_TERM_SFX ) ;
olds = NULL ;
}
oldt = t ;
t = strstr ( t , MORPH_DERI_SFX ) ;
if ( ! t | | ( tl & & tl < t ) ) t = strstr ( oldt , MORPH_INFL_SFX ) ;
if ( ! t | | ( tl & & tl < t ) ) {
t = strstr ( oldt , MORPH_TERM_SFX ) ;
oldt = NULL ;
2007-07-02 10:29:22 -07:00
}
}
2008-11-04 14:05:31 -08:00
if ( ! s & & ! t & & se & & te ) return 0 ;
return 1 ;
}
int get_sfxcount ( const char * morph )
{
if ( ! morph | | ! * morph ) return 0 ;
int n = 0 ;
const char * old = morph ;
morph = strstr ( morph , MORPH_DERI_SFX ) ;
if ( ! morph ) morph = strstr ( old , MORPH_INFL_SFX ) ;
if ( ! morph ) morph = strstr ( old , MORPH_TERM_SFX ) ;
while ( morph ) {
n + + ;
old = morph ;
morph = strstr ( morph + 1 , MORPH_DERI_SFX ) ;
if ( ! morph ) morph = strstr ( old + 1 , MORPH_INFL_SFX ) ;
if ( ! morph ) morph = strstr ( old + 1 , MORPH_TERM_SFX ) ;
}
return n ;
}
int fieldlen ( const char * r )
{
int n = 0 ;
2010-06-08 23:06:40 -07:00
while ( r & & * r ! = ' ' & & * r ! = ' \t ' & & * r ! = ' \0 ' & & * r ! = ' \n ' ) {
2008-11-04 14:05:31 -08:00
r + + ;
n + + ;
}
return n ;
}
char * copy_field ( char * dest , const char * morph , const char * var )
{
if ( ! morph ) return NULL ;
const char * beg = strstr ( morph , var ) ;
if ( beg ) {
char * d = dest ;
for ( beg + = MORPH_TAG_LEN ; * beg ! = ' ' & & * beg ! = ' \t ' & &
* beg ! = ' \n ' & & * beg ! = ' \0 ' ; d + + , beg + + ) {
* d = * beg ;
}
* d = ' \0 ' ;
return dest ;
}
return NULL ;
2007-07-02 10:29:22 -07:00
}
char * mystrrep ( char * word , const char * pat , const char * rep ) {
char * pos = strstr ( word , pat ) ;
if ( pos ) {
int replen = strlen ( rep ) ;
int patlen = strlen ( pat ) ;
if ( replen < patlen ) {
char * end = word + strlen ( word ) ;
char * next = pos + replen ;
char * prev = pos + strlen ( pat ) ;
for ( ; prev < end ; * next = * prev , prev + + , next + + ) ;
* next = ' \0 ' ;
} else if ( replen > patlen ) {
char * end = pos + patlen ;
char * next = word + strlen ( word ) + replen - patlen ;
char * prev = next - replen + patlen ;
for ( ; prev > = end ; * next = * prev , prev - - , next - - ) ;
}
strncpy ( pos , rep , replen ) ;
}
return word ;
}
// reverse word
int reverseword ( char * word ) {
char r ;
for ( char * dest = word + strlen ( word ) - 1 ; word < dest ; word + + , dest - - ) {
r = * word ;
* word = * dest ;
* dest = r ;
}
return 0 ;
}
// reverse word (error: 1)
int reverseword_utf ( char * word ) {
w_char w [ MAXWORDLEN ] ;
w_char * p ;
w_char r ;
int l = u8_u16 ( w , MAXWORDLEN , word ) ;
if ( l = = - 1 ) return 1 ;
p = w ;
for ( w_char * dest = w + l - 1 ; p < dest ; p + + , dest - - ) {
r = * p ;
* p = * dest ;
* dest = r ;
}
u16_u8 ( word , MAXWORDUTF8LEN , w , l ) ;
return 0 ;
}
2008-11-04 14:05:31 -08:00
int uniqlist ( char * * list , int n ) {
int i ;
if ( n < 2 ) return n ;
for ( i = 0 ; i < n ; i + + ) {
for ( int j = 0 ; j < i ; j + + ) {
if ( list [ j ] & & list [ i ] & & ( strcmp ( list [ j ] , list [ i ] ) = = 0 ) ) {
free ( list [ i ] ) ;
list [ i ] = NULL ;
break ;
}
}
}
int m = 1 ;
for ( i = 1 ; i < n ; i + + ) if ( list [ i ] ) {
list [ m ] = list [ i ] ;
m + + ;
}
return m ;
}
void freelist ( char * * * list , int n ) {
if ( list & & * list & & n > 0 ) {
for ( int i = 0 ; i < n ; i + + ) if ( ( * list ) [ i ] ) free ( ( * list ) [ i ] ) ;
free ( * list ) ;
* list = NULL ;
}
}
2007-07-02 10:29:22 -07:00
// convert null terminated string to all caps
void mkallcap ( char * p , const struct cs_info * csconv )
{
while ( * p ! = ' \0 ' ) {
* p = csconv [ ( ( unsigned char ) * p ) ] . cupper ;
p + + ;
}
}
// convert null terminated string to all little
void mkallsmall ( char * p , const struct cs_info * csconv )
{
while ( * p ! = ' \0 ' ) {
* p = csconv [ ( ( unsigned char ) * p ) ] . clower ;
p + + ;
}
}
void mkallsmall_utf ( w_char * u , int nc , int langnum ) {
for ( int i = 0 ; i < nc ; i + + ) {
unsigned short idx = ( u [ i ] . h < < 8 ) + u [ i ] . l ;
if ( idx ! = unicodetolower ( idx , langnum ) ) {
u [ i ] . h = ( unsigned char ) ( unicodetolower ( idx , langnum ) > > 8 ) ;
u [ i ] . l = ( unsigned char ) ( unicodetolower ( idx , langnum ) & 0x00FF ) ;
}
}
}
void mkallcap_utf ( w_char * u , int nc , int langnum ) {
for ( int i = 0 ; i < nc ; i + + ) {
unsigned short idx = ( u [ i ] . h < < 8 ) + u [ i ] . l ;
if ( idx ! = unicodetoupper ( idx , langnum ) ) {
u [ i ] . h = ( unsigned char ) ( unicodetoupper ( idx , langnum ) > > 8 ) ;
u [ i ] . l = ( unsigned char ) ( unicodetoupper ( idx , langnum ) & 0x00FF ) ;
}
}
}
2010-06-08 23:06:40 -07:00
// convert null terminated string to have initial capital
2007-07-02 10:29:22 -07:00
void mkinitcap ( char * p , const struct cs_info * csconv )
{
if ( * p ! = ' \0 ' ) * p = csconv [ ( ( unsigned char ) * p ) ] . cupper ;
}
2008-11-04 14:05:31 -08:00
// conversion function for protected memory
void store_pointer ( char * dest , char * source )
{
memcpy ( dest , & source , sizeof ( char * ) ) ;
}
// conversion function for protected memory
2010-06-08 23:06:40 -07:00
char * get_stored_pointer ( const char * s )
2008-11-04 14:05:31 -08:00
{
char * p ;
memcpy ( & p , s , sizeof ( char * ) ) ;
return p ;
}
2007-07-02 10:29:22 -07:00
# ifndef MOZILLA_CLIENT
// convert null terminated string to all caps using encoding
void enmkallcap ( char * d , const char * p , const char * encoding )
{
struct cs_info * csconv = get_current_cs ( encoding ) ;
while ( * p ! = ' \0 ' ) {
* d + + = csconv [ ( ( unsigned char ) * p ) ] . cupper ;
p + + ;
}
* d = ' \0 ' ;
}
// convert null terminated string to all little using encoding
void enmkallsmall ( char * d , const char * p , const char * encoding )
{
struct cs_info * csconv = get_current_cs ( encoding ) ;
while ( * p ! = ' \0 ' ) {
* d + + = csconv [ ( ( unsigned char ) * p ) ] . clower ;
p + + ;
}
* d = ' \0 ' ;
}
2010-06-08 23:06:40 -07:00
// convert null terminated string to have initial capital using encoding
2007-07-02 10:29:22 -07:00
void enmkinitcap ( char * d , const char * p , const char * encoding )
{
struct cs_info * csconv = get_current_cs ( encoding ) ;
memcpy ( d , p , ( strlen ( p ) + 1 ) ) ;
if ( * p ! = ' \0 ' ) * d = csconv [ ( ( unsigned char ) * p ) ] . cupper ;
}
// these are simple character mappings for the
// encodings supported
// supplying isupper, tolower, and toupper
2010-06-08 23:06:40 -07:00
static struct cs_info iso1_tbl [ ] = {
2007-07-02 10:29:22 -07:00
{ 0x00 , 0x00 , 0x00 } ,
{ 0x00 , 0x01 , 0x01 } ,
{ 0x00 , 0x02 , 0x02 } ,
{ 0x00 , 0x03 , 0x03 } ,
{ 0x00 , 0x04 , 0x04 } ,
{ 0x00 , 0x05 , 0x05 } ,
{ 0x00 , 0x06 , 0x06 } ,
{ 0x00 , 0x07 , 0x07 } ,
{ 0x00 , 0x08 , 0x08 } ,
{ 0x00 , 0x09 , 0x09 } ,
{ 0x00 , 0x0a , 0x0a } ,
{ 0x00 , 0x0b , 0x0b } ,
{ 0x00 , 0x0c , 0x0c } ,
{ 0x00 , 0x0d , 0x0d } ,
{ 0x00 , 0x0e , 0x0e } ,
{ 0x00 , 0x0f , 0x0f } ,
{ 0x00 , 0x10 , 0x10 } ,
{ 0x00 , 0x11 , 0x11 } ,
{ 0x00 , 0x12 , 0x12 } ,
{ 0x00 , 0x13 , 0x13 } ,
{ 0x00 , 0x14 , 0x14 } ,
{ 0x00 , 0x15 , 0x15 } ,
{ 0x00 , 0x16 , 0x16 } ,
{ 0x00 , 0x17 , 0x17 } ,
{ 0x00 , 0x18 , 0x18 } ,
{ 0x00 , 0x19 , 0x19 } ,
{ 0x00 , 0x1a , 0x1a } ,
{ 0x00 , 0x1b , 0x1b } ,
{ 0x00 , 0x1c , 0x1c } ,
{ 0x00 , 0x1d , 0x1d } ,
{ 0x00 , 0x1e , 0x1e } ,
{ 0x00 , 0x1f , 0x1f } ,
{ 0x00 , 0x20 , 0x20 } ,
{ 0x00 , 0x21 , 0x21 } ,
{ 0x00 , 0x22 , 0x22 } ,
{ 0x00 , 0x23 , 0x23 } ,
{ 0x00 , 0x24 , 0x24 } ,
{ 0x00 , 0x25 , 0x25 } ,
{ 0x00 , 0x26 , 0x26 } ,
{ 0x00 , 0x27 , 0x27 } ,
{ 0x00 , 0x28 , 0x28 } ,
{ 0x00 , 0x29 , 0x29 } ,
{ 0x00 , 0x2a , 0x2a } ,
{ 0x00 , 0x2b , 0x2b } ,
{ 0x00 , 0x2c , 0x2c } ,
{ 0x00 , 0x2d , 0x2d } ,
{ 0x00 , 0x2e , 0x2e } ,
{ 0x00 , 0x2f , 0x2f } ,
{ 0x00 , 0x30 , 0x30 } ,
{ 0x00 , 0x31 , 0x31 } ,
{ 0x00 , 0x32 , 0x32 } ,
{ 0x00 , 0x33 , 0x33 } ,
{ 0x00 , 0x34 , 0x34 } ,
{ 0x00 , 0x35 , 0x35 } ,
{ 0x00 , 0x36 , 0x36 } ,
{ 0x00 , 0x37 , 0x37 } ,
{ 0x00 , 0x38 , 0x38 } ,
{ 0x00 , 0x39 , 0x39 } ,
{ 0x00 , 0x3a , 0x3a } ,
{ 0x00 , 0x3b , 0x3b } ,
{ 0x00 , 0x3c , 0x3c } ,
{ 0x00 , 0x3d , 0x3d } ,
{ 0x00 , 0x3e , 0x3e } ,
{ 0x00 , 0x3f , 0x3f } ,
{ 0x00 , 0x40 , 0x40 } ,
{ 0x01 , 0x61 , 0x41 } ,
{ 0x01 , 0x62 , 0x42 } ,
{ 0x01 , 0x63 , 0x43 } ,
{ 0x01 , 0x64 , 0x44 } ,
{ 0x01 , 0x65 , 0x45 } ,
{ 0x01 , 0x66 , 0x46 } ,
{ 0x01 , 0x67 , 0x47 } ,
{ 0x01 , 0x68 , 0x48 } ,
{ 0x01 , 0x69 , 0x49 } ,
{ 0x01 , 0x6a , 0x4a } ,
{ 0x01 , 0x6b , 0x4b } ,
{ 0x01 , 0x6c , 0x4c } ,
{ 0x01 , 0x6d , 0x4d } ,
{ 0x01 , 0x6e , 0x4e } ,
{ 0x01 , 0x6f , 0x4f } ,
{ 0x01 , 0x70 , 0x50 } ,
{ 0x01 , 0x71 , 0x51 } ,
{ 0x01 , 0x72 , 0x52 } ,
{ 0x01 , 0x73 , 0x53 } ,
{ 0x01 , 0x74 , 0x54 } ,
{ 0x01 , 0x75 , 0x55 } ,
{ 0x01 , 0x76 , 0x56 } ,
{ 0x01 , 0x77 , 0x57 } ,
{ 0x01 , 0x78 , 0x58 } ,
{ 0x01 , 0x79 , 0x59 } ,
{ 0x01 , 0x7a , 0x5a } ,
{ 0x00 , 0x5b , 0x5b } ,
{ 0x00 , 0x5c , 0x5c } ,
{ 0x00 , 0x5d , 0x5d } ,
{ 0x00 , 0x5e , 0x5e } ,
{ 0x00 , 0x5f , 0x5f } ,
{ 0x00 , 0x60 , 0x60 } ,
{ 0x00 , 0x61 , 0x41 } ,
{ 0x00 , 0x62 , 0x42 } ,
{ 0x00 , 0x63 , 0x43 } ,
{ 0x00 , 0x64 , 0x44 } ,
{ 0x00 , 0x65 , 0x45 } ,
{ 0x00 , 0x66 , 0x46 } ,
{ 0x00 , 0x67 , 0x47 } ,
{ 0x00 , 0x68 , 0x48 } ,
{ 0x00 , 0x69 , 0x49 } ,
{ 0x00 , 0x6a , 0x4a } ,
{ 0x00 , 0x6b , 0x4b } ,
{ 0x00 , 0x6c , 0x4c } ,
{ 0x00 , 0x6d , 0x4d } ,
{ 0x00 , 0x6e , 0x4e } ,
{ 0x00 , 0x6f , 0x4f } ,
{ 0x00 , 0x70 , 0x50 } ,
{ 0x00 , 0x71 , 0x51 } ,
{ 0x00 , 0x72 , 0x52 } ,
{ 0x00 , 0x73 , 0x53 } ,
{ 0x00 , 0x74 , 0x54 } ,
{ 0x00 , 0x75 , 0x55 } ,
{ 0x00 , 0x76 , 0x56 } ,
{ 0x00 , 0x77 , 0x57 } ,
{ 0x00 , 0x78 , 0x58 } ,
{ 0x00 , 0x79 , 0x59 } ,
{ 0x00 , 0x7a , 0x5a } ,
{ 0x00 , 0x7b , 0x7b } ,
{ 0x00 , 0x7c , 0x7c } ,
{ 0x00 , 0x7d , 0x7d } ,
{ 0x00 , 0x7e , 0x7e } ,
{ 0x00 , 0x7f , 0x7f } ,
{ 0x00 , 0x80 , 0x80 } ,
{ 0x00 , 0x81 , 0x81 } ,
{ 0x00 , 0x82 , 0x82 } ,
{ 0x00 , 0x83 , 0x83 } ,
{ 0x00 , 0x84 , 0x84 } ,
{ 0x00 , 0x85 , 0x85 } ,
{ 0x00 , 0x86 , 0x86 } ,
{ 0x00 , 0x87 , 0x87 } ,
{ 0x00 , 0x88 , 0x88 } ,
{ 0x00 , 0x89 , 0x89 } ,
{ 0x00 , 0x8a , 0x8a } ,
{ 0x00 , 0x8b , 0x8b } ,
{ 0x00 , 0x8c , 0x8c } ,
{ 0x00 , 0x8d , 0x8d } ,
{ 0x00 , 0x8e , 0x8e } ,
{ 0x00 , 0x8f , 0x8f } ,
{ 0x00 , 0x90 , 0x90 } ,
{ 0x00 , 0x91 , 0x91 } ,
{ 0x00 , 0x92 , 0x92 } ,
{ 0x00 , 0x93 , 0x93 } ,
{ 0x00 , 0x94 , 0x94 } ,
{ 0x00 , 0x95 , 0x95 } ,
{ 0x00 , 0x96 , 0x96 } ,
{ 0x00 , 0x97 , 0x97 } ,
{ 0x00 , 0x98 , 0x98 } ,
{ 0x00 , 0x99 , 0x99 } ,
{ 0x00 , 0x9a , 0x9a } ,
{ 0x00 , 0x9b , 0x9b } ,
{ 0x00 , 0x9c , 0x9c } ,
{ 0x00 , 0x9d , 0x9d } ,
{ 0x00 , 0x9e , 0x9e } ,
{ 0x00 , 0x9f , 0x9f } ,
{ 0x00 , 0xa0 , 0xa0 } ,
{ 0x00 , 0xa1 , 0xa1 } ,
{ 0x00 , 0xa2 , 0xa2 } ,
{ 0x00 , 0xa3 , 0xa3 } ,
{ 0x00 , 0xa4 , 0xa4 } ,
{ 0x00 , 0xa5 , 0xa5 } ,
{ 0x00 , 0xa6 , 0xa6 } ,
{ 0x00 , 0xa7 , 0xa7 } ,
{ 0x00 , 0xa8 , 0xa8 } ,
{ 0x00 , 0xa9 , 0xa9 } ,
{ 0x00 , 0xaa , 0xaa } ,
{ 0x00 , 0xab , 0xab } ,
{ 0x00 , 0xac , 0xac } ,
{ 0x00 , 0xad , 0xad } ,
{ 0x00 , 0xae , 0xae } ,
{ 0x00 , 0xaf , 0xaf } ,
{ 0x00 , 0xb0 , 0xb0 } ,
{ 0x00 , 0xb1 , 0xb1 } ,
{ 0x00 , 0xb2 , 0xb2 } ,
{ 0x00 , 0xb3 , 0xb3 } ,
{ 0x00 , 0xb4 , 0xb4 } ,
{ 0x00 , 0xb5 , 0xb5 } ,
{ 0x00 , 0xb6 , 0xb6 } ,
{ 0x00 , 0xb7 , 0xb7 } ,
{ 0x00 , 0xb8 , 0xb8 } ,
{ 0x00 , 0xb9 , 0xb9 } ,
{ 0x00 , 0xba , 0xba } ,
{ 0x00 , 0xbb , 0xbb } ,
{ 0x00 , 0xbc , 0xbc } ,
{ 0x00 , 0xbd , 0xbd } ,
{ 0x00 , 0xbe , 0xbe } ,
{ 0x00 , 0xbf , 0xbf } ,
{ 0x01 , 0xe0 , 0xc0 } ,
{ 0x01 , 0xe1 , 0xc1 } ,
{ 0x01 , 0xe2 , 0xc2 } ,
{ 0x01 , 0xe3 , 0xc3 } ,
{ 0x01 , 0xe4 , 0xc4 } ,
{ 0x01 , 0xe5 , 0xc5 } ,
{ 0x01 , 0xe6 , 0xc6 } ,
{ 0x01 , 0xe7 , 0xc7 } ,
{ 0x01 , 0xe8 , 0xc8 } ,
{ 0x01 , 0xe9 , 0xc9 } ,
{ 0x01 , 0xea , 0xca } ,
{ 0x01 , 0xeb , 0xcb } ,
{ 0x01 , 0xec , 0xcc } ,
{ 0x01 , 0xed , 0xcd } ,
{ 0x01 , 0xee , 0xce } ,
{ 0x01 , 0xef , 0xcf } ,
{ 0x01 , 0xf0 , 0xd0 } ,
{ 0x01 , 0xf1 , 0xd1 } ,
{ 0x01 , 0xf2 , 0xd2 } ,
{ 0x01 , 0xf3 , 0xd3 } ,
{ 0x01 , 0xf4 , 0xd4 } ,
{ 0x01 , 0xf5 , 0xd5 } ,
{ 0x01 , 0xf6 , 0xd6 } ,
{ 0x00 , 0xd7 , 0xd7 } ,
{ 0x01 , 0xf8 , 0xd8 } ,
{ 0x01 , 0xf9 , 0xd9 } ,
{ 0x01 , 0xfa , 0xda } ,
{ 0x01 , 0xfb , 0xdb } ,
{ 0x01 , 0xfc , 0xdc } ,
{ 0x01 , 0xfd , 0xdd } ,
{ 0x01 , 0xfe , 0xde } ,
{ 0x00 , 0xdf , 0xdf } ,
{ 0x00 , 0xe0 , 0xc0 } ,
{ 0x00 , 0xe1 , 0xc1 } ,
{ 0x00 , 0xe2 , 0xc2 } ,
{ 0x00 , 0xe3 , 0xc3 } ,
{ 0x00 , 0xe4 , 0xc4 } ,
{ 0x00 , 0xe5 , 0xc5 } ,
{ 0x00 , 0xe6 , 0xc6 } ,
{ 0x00 , 0xe7 , 0xc7 } ,
{ 0x00 , 0xe8 , 0xc8 } ,
{ 0x00 , 0xe9 , 0xc9 } ,
{ 0x00 , 0xea , 0xca } ,
{ 0x00 , 0xeb , 0xcb } ,
{ 0x00 , 0xec , 0xcc } ,
{ 0x00 , 0xed , 0xcd } ,
{ 0x00 , 0xee , 0xce } ,
{ 0x00 , 0xef , 0xcf } ,
{ 0x00 , 0xf0 , 0xd0 } ,
{ 0x00 , 0xf1 , 0xd1 } ,
{ 0x00 , 0xf2 , 0xd2 } ,
{ 0x00 , 0xf3 , 0xd3 } ,
{ 0x00 , 0xf4 , 0xd4 } ,
{ 0x00 , 0xf5 , 0xd5 } ,
{ 0x00 , 0xf6 , 0xd6 } ,
{ 0x00 , 0xf7 , 0xf7 } ,
{ 0x00 , 0xf8 , 0xd8 } ,
{ 0x00 , 0xf9 , 0xd9 } ,
{ 0x00 , 0xfa , 0xda } ,
{ 0x00 , 0xfb , 0xdb } ,
{ 0x00 , 0xfc , 0xdc } ,
{ 0x00 , 0xfd , 0xdd } ,
{ 0x00 , 0xfe , 0xde } ,
2008-11-04 14:05:31 -08:00
{ 0x00 , 0xff , 0xff }
2007-07-02 10:29:22 -07:00
} ;
2010-06-08 23:06:40 -07:00
static struct cs_info iso2_tbl [ ] = {
2007-07-02 10:29:22 -07:00
{ 0x00 , 0x00 , 0x00 } ,
{ 0x00 , 0x01 , 0x01 } ,
{ 0x00 , 0x02 , 0x02 } ,
{ 0x00 , 0x03 , 0x03 } ,
{ 0x00 , 0x04 , 0x04 } ,
{ 0x00 , 0x05 , 0x05 } ,
{ 0x00 , 0x06 , 0x06 } ,
{ 0x00 , 0x07 , 0x07 } ,
{ 0x00 , 0x08 , 0x08 } ,
{ 0x00 , 0x09 , 0x09 } ,
{ 0x00 , 0x0a , 0x0a } ,
{ 0x00 , 0x0b , 0x0b } ,
{ 0x00 , 0x0c , 0x0c } ,
{ 0x00 , 0x0d , 0x0d } ,
{ 0x00 , 0x0e , 0x0e } ,
{ 0x00 , 0x0f , 0x0f } ,
{ 0x00 , 0x10 , 0x10 } ,
{ 0x00 , 0x11 , 0x11 } ,
{ 0x00 , 0x12 , 0x12 } ,
{ 0x00 , 0x13 , 0x13 } ,
{ 0x00 , 0x14 , 0x14 } ,
{ 0x00 , 0x15 , 0x15 } ,
{ 0x00 , 0x16 , 0x16 } ,
{ 0x00 , 0x17 , 0x17 } ,
{ 0x00 , 0x18 , 0x18 } ,
{ 0x00 , 0x19 , 0x19 } ,
{ 0x00 , 0x1a , 0x1a } ,
{ 0x00 , 0x1b , 0x1b } ,
{ 0x00 , 0x1c , 0x1c } ,
{ 0x00 , 0x1d , 0x1d } ,
{ 0x00 , 0x1e , 0x1e } ,
{ 0x00 , 0x1f , 0x1f } ,
{ 0x00 , 0x20 , 0x20 } ,
{ 0x00 , 0x21 , 0x21 } ,
{ 0x00 , 0x22 , 0x22 } ,
{ 0x00 , 0x23 , 0x23 } ,
{ 0x00 , 0x24 , 0x24 } ,
{ 0x00 , 0x25 , 0x25 } ,
{ 0x00 , 0x26 , 0x26 } ,
{ 0x00 , 0x27 , 0x27 } ,
{ 0x00 , 0x28 , 0x28 } ,
{ 0x00 , 0x29 , 0x29 } ,
{ 0x00 , 0x2a , 0x2a } ,
{ 0x00 , 0x2b , 0x2b } ,
{ 0x00 , 0x2c , 0x2c } ,
{ 0x00 , 0x2d , 0x2d } ,
{ 0x00 , 0x2e , 0x2e } ,
{ 0x00 , 0x2f , 0x2f } ,
{ 0x00 , 0x30 , 0x30 } ,
{ 0x00 , 0x31 , 0x31 } ,
{ 0x00 , 0x32 , 0x32 } ,
{ 0x00 , 0x33 , 0x33 } ,
{ 0x00 , 0x34 , 0x34 } ,
{ 0x00 , 0x35 , 0x35 } ,
{ 0x00 , 0x36 , 0x36 } ,
{ 0x00 , 0x37 , 0x37 } ,
{ 0x00 , 0x38 , 0x38 } ,
{ 0x00 , 0x39 , 0x39 } ,
{ 0x00 , 0x3a , 0x3a } ,
{ 0x00 , 0x3b , 0x3b } ,
{ 0x00 , 0x3c , 0x3c } ,
{ 0x00 , 0x3d , 0x3d } ,
{ 0x00 , 0x3e , 0x3e } ,
{ 0x00 , 0x3f , 0x3f } ,
{ 0x00 , 0x40 , 0x40 } ,
{ 0x01 , 0x61 , 0x41 } ,
{ 0x01 , 0x62 , 0x42 } ,
{ 0x01 , 0x63 , 0x43 } ,
{ 0x01 , 0x64 , 0x44 } ,
{ 0x01 , 0x65 , 0x45 } ,
{ 0x01 , 0x66 , 0x46 } ,
{ 0x01 , 0x67 , 0x47 } ,
{ 0x01 , 0x68 , 0x48 } ,
{ 0x01 , 0x69 , 0x49 } ,
{ 0x01 , 0x6a , 0x4a } ,
{ 0x01 , 0x6b , 0x4b } ,
{ 0x01 , 0x6c , 0x4c } ,
{ 0x01 , 0x6d , 0x4d } ,
{ 0x01 , 0x6e , 0x4e } ,
{ 0x01 , 0x6f , 0x4f } ,
{ 0x01 , 0x70 , 0x50 } ,
{ 0x01 , 0x71 , 0x51 } ,
{ 0x01 , 0x72 , 0x52 } ,
{ 0x01 , 0x73 , 0x53 } ,
{ 0x01 , 0x74 , 0x54 } ,
{ 0x01 , 0x75 , 0x55 } ,
{ 0x01 , 0x76 , 0x56 } ,
{ 0x01 , 0x77 , 0x57 } ,
{ 0x01 , 0x78 , 0x58 } ,
{ 0x01 , 0x79 , 0x59 } ,
{ 0x01 , 0x7a , 0x5a } ,
{ 0x00 , 0x5b , 0x5b } ,
{ 0x00 , 0x5c , 0x5c } ,
{ 0x00 , 0x5d , 0x5d } ,
{ 0x00 , 0x5e , 0x5e } ,
{ 0x00 , 0x5f , 0x5f } ,
{ 0x00 , 0x60 , 0x60 } ,
{ 0x00 , 0x61 , 0x41 } ,
{ 0x00 , 0x62 , 0x42 } ,
{ 0x00 , 0x63 , 0x43 } ,
{ 0x00 , 0x64 , 0x44 } ,
{ 0x00 , 0x65 , 0x45 } ,
{ 0x00 , 0x66 , 0x46 } ,
{ 0x00 , 0x67 , 0x47 } ,
{ 0x00 , 0x68 , 0x48 } ,
{ 0x00 , 0x69 , 0x49 } ,
{ 0x00 , 0x6a , 0x4a } ,
{ 0x00 , 0x6b , 0x4b } ,
{ 0x00 , 0x6c , 0x4c } ,
{ 0x00 , 0x6d , 0x4d } ,
{ 0x00 , 0x6e , 0x4e } ,
{ 0x00 , 0x6f , 0x4f } ,
{ 0x00 , 0x70 , 0x50 } ,
{ 0x00 , 0x71 , 0x51 } ,
{ 0x00 , 0x72 , 0x52 } ,
{ 0x00 , 0x73 , 0x53 } ,
{ 0x00 , 0x74 , 0x54 } ,
{ 0x00 , 0x75 , 0x55 } ,
{ 0x00 , 0x76 , 0x56 } ,
{ 0x00 , 0x77 , 0x57 } ,
{ 0x00 , 0x78 , 0x58 } ,
{ 0x00 , 0x79 , 0x59 } ,
{ 0x00 , 0x7a , 0x5a } ,
{ 0x00 , 0x7b , 0x7b } ,
{ 0x00 , 0x7c , 0x7c } ,
{ 0x00 , 0x7d , 0x7d } ,
{ 0x00 , 0x7e , 0x7e } ,
{ 0x00 , 0x7f , 0x7f } ,
{ 0x00 , 0x80 , 0x80 } ,
{ 0x00 , 0x81 , 0x81 } ,
{ 0x00 , 0x82 , 0x82 } ,
{ 0x00 , 0x83 , 0x83 } ,
{ 0x00 , 0x84 , 0x84 } ,
{ 0x00 , 0x85 , 0x85 } ,
{ 0x00 , 0x86 , 0x86 } ,
{ 0x00 , 0x87 , 0x87 } ,
{ 0x00 , 0x88 , 0x88 } ,
{ 0x00 , 0x89 , 0x89 } ,
{ 0x00 , 0x8a , 0x8a } ,
{ 0x00 , 0x8b , 0x8b } ,
{ 0x00 , 0x8c , 0x8c } ,
{ 0x00 , 0x8d , 0x8d } ,
{ 0x00 , 0x8e , 0x8e } ,
{ 0x00 , 0x8f , 0x8f } ,
{ 0x00 , 0x90 , 0x90 } ,
{ 0x00 , 0x91 , 0x91 } ,
{ 0x00 , 0x92 , 0x92 } ,
{ 0x00 , 0x93 , 0x93 } ,
{ 0x00 , 0x94 , 0x94 } ,
{ 0x00 , 0x95 , 0x95 } ,
{ 0x00 , 0x96 , 0x96 } ,
{ 0x00 , 0x97 , 0x97 } ,
{ 0x00 , 0x98 , 0x98 } ,
{ 0x00 , 0x99 , 0x99 } ,
{ 0x00 , 0x9a , 0x9a } ,
{ 0x00 , 0x9b , 0x9b } ,
{ 0x00 , 0x9c , 0x9c } ,
{ 0x00 , 0x9d , 0x9d } ,
{ 0x00 , 0x9e , 0x9e } ,
{ 0x00 , 0x9f , 0x9f } ,
{ 0x00 , 0xa0 , 0xa0 } ,
{ 0x01 , 0xb1 , 0xa1 } ,
{ 0x00 , 0xa2 , 0xa2 } ,
{ 0x01 , 0xb3 , 0xa3 } ,
{ 0x00 , 0xa4 , 0xa4 } ,
{ 0x01 , 0xb5 , 0xa5 } ,
{ 0x01 , 0xb6 , 0xa6 } ,
{ 0x00 , 0xa7 , 0xa7 } ,
{ 0x00 , 0xa8 , 0xa8 } ,
{ 0x01 , 0xb9 , 0xa9 } ,
{ 0x01 , 0xba , 0xaa } ,
{ 0x01 , 0xbb , 0xab } ,
{ 0x01 , 0xbc , 0xac } ,
{ 0x00 , 0xad , 0xad } ,
{ 0x01 , 0xbe , 0xae } ,
{ 0x01 , 0xbf , 0xaf } ,
{ 0x00 , 0xb0 , 0xb0 } ,
{ 0x00 , 0xb1 , 0xa1 } ,
{ 0x00 , 0xb2 , 0xb2 } ,
{ 0x00 , 0xb3 , 0xa3 } ,
{ 0x00 , 0xb4 , 0xb4 } ,
{ 0x00 , 0xb5 , 0xa5 } ,
{ 0x00 , 0xb6 , 0xa6 } ,
{ 0x00 , 0xb7 , 0xb7 } ,
{ 0x00 , 0xb8 , 0xb8 } ,
{ 0x00 , 0xb9 , 0xa9 } ,
{ 0x00 , 0xba , 0xaa } ,
{ 0x00 , 0xbb , 0xab } ,
{ 0x00 , 0xbc , 0xac } ,
{ 0x00 , 0xbd , 0xbd } ,
{ 0x00 , 0xbe , 0xae } ,
{ 0x00 , 0xbf , 0xaf } ,
{ 0x01 , 0xe0 , 0xc0 } ,
{ 0x01 , 0xe1 , 0xc1 } ,
{ 0x01 , 0xe2 , 0xc2 } ,
{ 0x01 , 0xe3 , 0xc3 } ,
{ 0x01 , 0xe4 , 0xc4 } ,
{ 0x01 , 0xe5 , 0xc5 } ,
{ 0x01 , 0xe6 , 0xc6 } ,
{ 0x01 , 0xe7 , 0xc7 } ,
{ 0x01 , 0xe8 , 0xc8 } ,
{ 0x01 , 0xe9 , 0xc9 } ,
{ 0x01 , 0xea , 0xca } ,
{ 0x01 , 0xeb , 0xcb } ,
{ 0x01 , 0xec , 0xcc } ,
{ 0x01 , 0xed , 0xcd } ,
{ 0x01 , 0xee , 0xce } ,
{ 0x01 , 0xef , 0xcf } ,
{ 0x01 , 0xf0 , 0xd0 } ,
{ 0x01 , 0xf1 , 0xd1 } ,
{ 0x01 , 0xf2 , 0xd2 } ,
{ 0x01 , 0xf3 , 0xd3 } ,
{ 0x01 , 0xf4 , 0xd4 } ,
{ 0x01 , 0xf5 , 0xd5 } ,
{ 0x01 , 0xf6 , 0xd6 } ,
{ 0x00 , 0xd7 , 0xd7 } ,
{ 0x01 , 0xf8 , 0xd8 } ,
{ 0x01 , 0xf9 , 0xd9 } ,
{ 0x01 , 0xfa , 0xda } ,
{ 0x01 , 0xfb , 0xdb } ,
{ 0x01 , 0xfc , 0xdc } ,
{ 0x01 , 0xfd , 0xdd } ,
{ 0x01 , 0xfe , 0xde } ,
{ 0x00 , 0xdf , 0xdf } ,
{ 0x00 , 0xe0 , 0xc0 } ,
{ 0x00 , 0xe1 , 0xc1 } ,
{ 0x00 , 0xe2 , 0xc2 } ,
{ 0x00 , 0xe3 , 0xc3 } ,
{ 0x00 , 0xe4 , 0xc4 } ,
{ 0x00 , 0xe5 , 0xc5 } ,
{ 0x00 , 0xe6 , 0xc6 } ,
{ 0x00 , 0xe7 , 0xc7 } ,
{ 0x00 , 0xe8 , 0xc8 } ,
{ 0x00 , 0xe9 , 0xc9 } ,
{ 0x00 , 0xea , 0xca } ,
{ 0x00 , 0xeb , 0xcb } ,
{ 0x00 , 0xec , 0xcc } ,
{ 0x00 , 0xed , 0xcd } ,
{ 0x00 , 0xee , 0xce } ,
{ 0x00 , 0xef , 0xcf } ,
{ 0x00 , 0xf0 , 0xd0 } ,
{ 0x00 , 0xf1 , 0xd1 } ,
{ 0x00 , 0xf2 , 0xd2 } ,
{ 0x00 , 0xf3 , 0xd3 } ,
{ 0x00 , 0xf4 , 0xd4 } ,
{ 0x00 , 0xf5 , 0xd5 } ,
{ 0x00 , 0xf6 , 0xd6 } ,
{ 0x00 , 0xf7 , 0xf7 } ,
{ 0x00 , 0xf8 , 0xd8 } ,
{ 0x00 , 0xf9 , 0xd9 } ,
{ 0x00 , 0xfa , 0xda } ,
{ 0x00 , 0xfb , 0xdb } ,
{ 0x00 , 0xfc , 0xdc } ,
{ 0x00 , 0xfd , 0xdd } ,
{ 0x00 , 0xfe , 0xde } ,
2008-11-04 14:05:31 -08:00
{ 0x00 , 0xff , 0xff }
2007-07-02 10:29:22 -07:00
} ;
2010-06-08 23:06:40 -07:00
static struct cs_info iso3_tbl [ ] = {
2007-07-02 10:29:22 -07:00
{ 0x00 , 0x00 , 0x00 } ,
{ 0x00 , 0x01 , 0x01 } ,
{ 0x00 , 0x02 , 0x02 } ,
{ 0x00 , 0x03 , 0x03 } ,
{ 0x00 , 0x04 , 0x04 } ,
{ 0x00 , 0x05 , 0x05 } ,
{ 0x00 , 0x06 , 0x06 } ,
{ 0x00 , 0x07 , 0x07 } ,
{ 0x00 , 0x08 , 0x08 } ,
{ 0x00 , 0x09 , 0x09 } ,
{ 0x00 , 0x0a , 0x0a } ,
{ 0x00 , 0x0b , 0x0b } ,
{ 0x00 , 0x0c , 0x0c } ,
{ 0x00 , 0x0d , 0x0d } ,
{ 0x00 , 0x0e , 0x0e } ,
{ 0x00 , 0x0f , 0x0f } ,
{ 0x00 , 0x10 , 0x10 } ,
{ 0x00 , 0x11 , 0x11 } ,
{ 0x00 , 0x12 , 0x12 } ,
{ 0x00 , 0x13 , 0x13 } ,
{ 0x00 , 0x14 , 0x14 } ,
{ 0x00 , 0x15 , 0x15 } ,
{ 0x00 , 0x16 , 0x16 } ,
{ 0x00 , 0x17 , 0x17 } ,
{ 0x00 , 0x18 , 0x18 } ,
{ 0x00 , 0x19 , 0x19 } ,
{ 0x00 , 0x1a , 0x1a } ,
{ 0x00 , 0x1b , 0x1b } ,
{ 0x00 , 0x1c , 0x1c } ,
{ 0x00 , 0x1d , 0x1d } ,
{ 0x00 , 0x1e , 0x1e } ,
{ 0x00 , 0x1f , 0x1f } ,
{ 0x00 , 0x20 , 0x20 } ,
{ 0x00 , 0x21 , 0x21 } ,
{ 0x00 , 0x22 , 0x22 } ,
{ 0x00 , 0x23 , 0x23 } ,
{ 0x00 , 0x24 , 0x24 } ,
{ 0x00 , 0x25 , 0x25 } ,
{ 0x00 , 0x26 , 0x26 } ,
{ 0x00 , 0x27 , 0x27 } ,
{ 0x00 , 0x28 , 0x28 } ,
{ 0x00 , 0x29 , 0x29 } ,
{ 0x00 , 0x2a , 0x2a } ,
{ 0x00 , 0x2b , 0x2b } ,
{ 0x00 , 0x2c , 0x2c } ,
{ 0x00 , 0x2d , 0x2d } ,
{ 0x00 , 0x2e , 0x2e } ,
{ 0x00 , 0x2f , 0x2f } ,
{ 0x00 , 0x30 , 0x30 } ,
{ 0x00 , 0x31 , 0x31 } ,
{ 0x00 , 0x32 , 0x32 } ,
{ 0x00 , 0x33 , 0x33 } ,
{ 0x00 , 0x34 , 0x34 } ,
{ 0x00 , 0x35 , 0x35 } ,
{ 0x00 , 0x36 , 0x36 } ,
{ 0x00 , 0x37 , 0x37 } ,
{ 0x00 , 0x38 , 0x38 } ,
{ 0x00 , 0x39 , 0x39 } ,
{ 0x00 , 0x3a , 0x3a } ,
{ 0x00 , 0x3b , 0x3b } ,
{ 0x00 , 0x3c , 0x3c } ,
{ 0x00 , 0x3d , 0x3d } ,
{ 0x00 , 0x3e , 0x3e } ,
{ 0x00 , 0x3f , 0x3f } ,
{ 0x00 , 0x40 , 0x40 } ,
{ 0x01 , 0x61 , 0x41 } ,
{ 0x01 , 0x62 , 0x42 } ,
{ 0x01 , 0x63 , 0x43 } ,
{ 0x01 , 0x64 , 0x44 } ,
{ 0x01 , 0x65 , 0x45 } ,
{ 0x01 , 0x66 , 0x46 } ,
{ 0x01 , 0x67 , 0x47 } ,
{ 0x01 , 0x68 , 0x48 } ,
{ 0x01 , 0x69 , 0x49 } ,
{ 0x01 , 0x6a , 0x4a } ,
{ 0x01 , 0x6b , 0x4b } ,
{ 0x01 , 0x6c , 0x4c } ,
{ 0x01 , 0x6d , 0x4d } ,
{ 0x01 , 0x6e , 0x4e } ,
{ 0x01 , 0x6f , 0x4f } ,
{ 0x01 , 0x70 , 0x50 } ,
{ 0x01 , 0x71 , 0x51 } ,
{ 0x01 , 0x72 , 0x52 } ,
{ 0x01 , 0x73 , 0x53 } ,
{ 0x01 , 0x74 , 0x54 } ,
{ 0x01 , 0x75 , 0x55 } ,
{ 0x01 , 0x76 , 0x56 } ,
{ 0x01 , 0x77 , 0x57 } ,
{ 0x01 , 0x78 , 0x58 } ,
{ 0x01 , 0x79 , 0x59 } ,
{ 0x01 , 0x7a , 0x5a } ,
{ 0x00 , 0x5b , 0x5b } ,
{ 0x00 , 0x5c , 0x5c } ,
{ 0x00 , 0x5d , 0x5d } ,
{ 0x00 , 0x5e , 0x5e } ,
{ 0x00 , 0x5f , 0x5f } ,
{ 0x00 , 0x60 , 0x60 } ,
{ 0x00 , 0x61 , 0x41 } ,
{ 0x00 , 0x62 , 0x42 } ,
{ 0x00 , 0x63 , 0x43 } ,
{ 0x00 , 0x64 , 0x44 } ,
{ 0x00 , 0x65 , 0x45 } ,
{ 0x00 , 0x66 , 0x46 } ,
{ 0x00 , 0x67 , 0x47 } ,
{ 0x00 , 0x68 , 0x48 } ,
{ 0x00 , 0x69 , 0x49 } ,
{ 0x00 , 0x6a , 0x4a } ,
{ 0x00 , 0x6b , 0x4b } ,
{ 0x00 , 0x6c , 0x4c } ,
{ 0x00 , 0x6d , 0x4d } ,
{ 0x00 , 0x6e , 0x4e } ,
{ 0x00 , 0x6f , 0x4f } ,
{ 0x00 , 0x70 , 0x50 } ,
{ 0x00 , 0x71 , 0x51 } ,
{ 0x00 , 0x72 , 0x52 } ,
{ 0x00 , 0x73 , 0x53 } ,
{ 0x00 , 0x74 , 0x54 } ,
{ 0x00 , 0x75 , 0x55 } ,
{ 0x00 , 0x76 , 0x56 } ,
{ 0x00 , 0x77 , 0x57 } ,
{ 0x00 , 0x78 , 0x58 } ,
{ 0x00 , 0x79 , 0x59 } ,
{ 0x00 , 0x7a , 0x5a } ,
{ 0x00 , 0x7b , 0x7b } ,
{ 0x00 , 0x7c , 0x7c } ,
{ 0x00 , 0x7d , 0x7d } ,
{ 0x00 , 0x7e , 0x7e } ,
{ 0x00 , 0x7f , 0x7f } ,
{ 0x00 , 0x80 , 0x80 } ,
{ 0x00 , 0x81 , 0x81 } ,
{ 0x00 , 0x82 , 0x82 } ,
{ 0x00 , 0x83 , 0x83 } ,
{ 0x00 , 0x84 , 0x84 } ,
{ 0x00 , 0x85 , 0x85 } ,
{ 0x00 , 0x86 , 0x86 } ,
{ 0x00 , 0x87 , 0x87 } ,
{ 0x00 , 0x88 , 0x88 } ,
{ 0x00 , 0x89 , 0x89 } ,
{ 0x00 , 0x8a , 0x8a } ,
{ 0x00 , 0x8b , 0x8b } ,
{ 0x00 , 0x8c , 0x8c } ,
{ 0x00 , 0x8d , 0x8d } ,
{ 0x00 , 0x8e , 0x8e } ,
{ 0x00 , 0x8f , 0x8f } ,
{ 0x00 , 0x90 , 0x90 } ,
{ 0x00 , 0x91 , 0x91 } ,
{ 0x00 , 0x92 , 0x92 } ,
{ 0x00 , 0x93 , 0x93 } ,
{ 0x00 , 0x94 , 0x94 } ,
{ 0x00 , 0x95 , 0x95 } ,
{ 0x00 , 0x96 , 0x96 } ,
{ 0x00 , 0x97 , 0x97 } ,
{ 0x00 , 0x98 , 0x98 } ,
{ 0x00 , 0x99 , 0x99 } ,
{ 0x00 , 0x9a , 0x9a } ,
{ 0x00 , 0x9b , 0x9b } ,
{ 0x00 , 0x9c , 0x9c } ,
{ 0x00 , 0x9d , 0x9d } ,
{ 0x00 , 0x9e , 0x9e } ,
{ 0x00 , 0x9f , 0x9f } ,
{ 0x00 , 0xa0 , 0xa0 } ,
{ 0x01 , 0xb1 , 0xa1 } ,
{ 0x00 , 0xa2 , 0xa2 } ,
{ 0x00 , 0xa3 , 0xa3 } ,
{ 0x00 , 0xa4 , 0xa4 } ,
{ 0x00 , 0xa5 , 0xa5 } ,
{ 0x01 , 0xb6 , 0xa6 } ,
{ 0x00 , 0xa7 , 0xa7 } ,
{ 0x00 , 0xa8 , 0xa8 } ,
{ 0x01 , 0x69 , 0xa9 } ,
{ 0x01 , 0xba , 0xaa } ,
{ 0x01 , 0xbb , 0xab } ,
{ 0x01 , 0xbc , 0xac } ,
{ 0x00 , 0xad , 0xad } ,
{ 0x00 , 0xae , 0xae } ,
{ 0x01 , 0xbf , 0xaf } ,
{ 0x00 , 0xb0 , 0xb0 } ,
{ 0x00 , 0xb1 , 0xa1 } ,
{ 0x00 , 0xb2 , 0xb2 } ,
{ 0x00 , 0xb3 , 0xb3 } ,
{ 0x00 , 0xb4 , 0xb4 } ,
{ 0x00 , 0xb5 , 0xb5 } ,
{ 0x00 , 0xb6 , 0xa6 } ,
{ 0x00 , 0xb7 , 0xb7 } ,
{ 0x00 , 0xb8 , 0xb8 } ,
{ 0x00 , 0xb9 , 0x49 } ,
{ 0x00 , 0xba , 0xaa } ,
{ 0x00 , 0xbb , 0xab } ,
{ 0x00 , 0xbc , 0xac } ,
{ 0x00 , 0xbd , 0xbd } ,
{ 0x00 , 0xbe , 0xbe } ,
{ 0x00 , 0xbf , 0xaf } ,
{ 0x01 , 0xe0 , 0xc0 } ,
{ 0x01 , 0xe1 , 0xc1 } ,
{ 0x01 , 0xe2 , 0xc2 } ,
{ 0x00 , 0xc3 , 0xc3 } ,
{ 0x01 , 0xe4 , 0xc4 } ,
{ 0x01 , 0xe5 , 0xc5 } ,
{ 0x01 , 0xe6 , 0xc6 } ,
{ 0x01 , 0xe7 , 0xc7 } ,
{ 0x01 , 0xe8 , 0xc8 } ,
{ 0x01 , 0xe9 , 0xc9 } ,
{ 0x01 , 0xea , 0xca } ,
{ 0x01 , 0xeb , 0xcb } ,
{ 0x01 , 0xec , 0xcc } ,
{ 0x01 , 0xed , 0xcd } ,
{ 0x01 , 0xee , 0xce } ,
{ 0x01 , 0xef , 0xcf } ,
{ 0x00 , 0xd0 , 0xd0 } ,
{ 0x01 , 0xf1 , 0xd1 } ,
{ 0x01 , 0xf2 , 0xd2 } ,
{ 0x01 , 0xf3 , 0xd3 } ,
{ 0x01 , 0xf4 , 0xd4 } ,
{ 0x01 , 0xf5 , 0xd5 } ,
{ 0x01 , 0xf6 , 0xd6 } ,
{ 0x00 , 0xd7 , 0xd7 } ,
{ 0x01 , 0xf8 , 0xd8 } ,
{ 0x01 , 0xf9 , 0xd9 } ,
{ 0x01 , 0xfa , 0xda } ,
{ 0x01 , 0xfb , 0xdb } ,
{ 0x01 , 0xfc , 0xdc } ,
{ 0x01 , 0xfd , 0xdd } ,
{ 0x01 , 0xfe , 0xde } ,
{ 0x00 , 0xdf , 0xdf } ,
{ 0x00 , 0xe0 , 0xc0 } ,
{ 0x00 , 0xe1 , 0xc1 } ,
{ 0x00 , 0xe2 , 0xc2 } ,
{ 0x00 , 0xe3 , 0xe3 } ,
{ 0x00 , 0xe4 , 0xc4 } ,
{ 0x00 , 0xe5 , 0xc5 } ,
{ 0x00 , 0xe6 , 0xc6 } ,
{ 0x00 , 0xe7 , 0xc7 } ,
{ 0x00 , 0xe8 , 0xc8 } ,
{ 0x00 , 0xe9 , 0xc9 } ,
{ 0x00 , 0xea , 0xca } ,
{ 0x00 , 0xeb , 0xcb } ,
{ 0x00 , 0xec , 0xcc } ,
{ 0x00 , 0xed , 0xcd } ,
{ 0x00 , 0xee , 0xce } ,
{ 0x00 , 0xef , 0xcf } ,
{ 0x00 , 0xf0 , 0xf0 } ,
{ 0x00 , 0xf1 , 0xd1 } ,
{ 0x00 , 0xf2 , 0xd2 } ,
{ 0x00 , 0xf3 , 0xd3 } ,
{ 0x00 , 0xf4 , 0xd4 } ,
{ 0x00 , 0xf5 , 0xd5 } ,
{ 0x00 , 0xf6 , 0xd6 } ,
{ 0x00 , 0xf7 , 0xf7 } ,
{ 0x00 , 0xf8 , 0xd8 } ,
{ 0x00 , 0xf9 , 0xd9 } ,
{ 0x00 , 0xfa , 0xda } ,
{ 0x00 , 0xfb , 0xdb } ,
{ 0x00 , 0xfc , 0xdc } ,
{ 0x00 , 0xfd , 0xdd } ,
{ 0x00 , 0xfe , 0xde } ,
2008-11-04 14:05:31 -08:00
{ 0x00 , 0xff , 0xff }
2007-07-02 10:29:22 -07:00
} ;
2010-06-08 23:06:40 -07:00
static struct cs_info iso4_tbl [ ] = {
2007-07-02 10:29:22 -07:00
{ 0x00 , 0x00 , 0x00 } ,
{ 0x00 , 0x01 , 0x01 } ,
{ 0x00 , 0x02 , 0x02 } ,
{ 0x00 , 0x03 , 0x03 } ,
{ 0x00 , 0x04 , 0x04 } ,
{ 0x00 , 0x05 , 0x05 } ,
{ 0x00 , 0x06 , 0x06 } ,
{ 0x00 , 0x07 , 0x07 } ,
{ 0x00 , 0x08 , 0x08 } ,
{ 0x00 , 0x09 , 0x09 } ,
{ 0x00 , 0x0a , 0x0a } ,
{ 0x00 , 0x0b , 0x0b } ,
{ 0x00 , 0x0c , 0x0c } ,
{ 0x00 , 0x0d , 0x0d } ,
{ 0x00 , 0x0e , 0x0e } ,
{ 0x00 , 0x0f , 0x0f } ,
{ 0x00 , 0x10 , 0x10 } ,
{ 0x00 , 0x11 , 0x11 } ,
{ 0x00 , 0x12 , 0x12 } ,
{ 0x00 , 0x13 , 0x13 } ,
{ 0x00 , 0x14 , 0x14 } ,
{ 0x00 , 0x15 , 0x15 } ,
{ 0x00 , 0x16 , 0x16 } ,
{ 0x00 , 0x17 , 0x17 } ,
{ 0x00 , 0x18 , 0x18 } ,
{ 0x00 , 0x19 , 0x19 } ,
{ 0x00 , 0x1a , 0x1a } ,
{ 0x00 , 0x1b , 0x1b } ,
{ 0x00 , 0x1c , 0x1c } ,
{ 0x00 , 0x1d , 0x1d } ,
{ 0x00 , 0x1e , 0x1e } ,
{ 0x00 , 0x1f , 0x1f } ,
{ 0x00 , 0x20 , 0x20 } ,
{ 0x00 , 0x21 , 0x21 } ,
{ 0x00 , 0x22 , 0x22 } ,
{ 0x00 , 0x23 , 0x23 } ,
{ 0x00 , 0x24 , 0x24 } ,
{ 0x00 , 0x25 , 0x25 } ,
{ 0x00 , 0x26 , 0x26 } ,
{ 0x00 , 0x27 , 0x27 } ,
{ 0x00 , 0x28 , 0x28 } ,
{ 0x00 , 0x29 , 0x29 } ,
{ 0x00 , 0x2a , 0x2a } ,
{ 0x00 , 0x2b , 0x2b } ,
{ 0x00 , 0x2c , 0x2c } ,
{ 0x00 , 0x2d , 0x2d } ,
{ 0x00 , 0x2e , 0x2e } ,
{ 0x00 , 0x2f , 0x2f } ,
{ 0x00 , 0x30 , 0x30 } ,
{ 0x00 , 0x31 , 0x31 } ,
{ 0x00 , 0x32 , 0x32 } ,
{ 0x00 , 0x33 , 0x33 } ,
{ 0x00 , 0x34 , 0x34 } ,
{ 0x00 , 0x35 , 0x35 } ,
{ 0x00 , 0x36 , 0x36 } ,
{ 0x00 , 0x37 , 0x37 } ,
{ 0x00 , 0x38 , 0x38 } ,
{ 0x00 , 0x39 , 0x39 } ,
{ 0x00 , 0x3a , 0x3a } ,
{ 0x00 , 0x3b , 0x3b } ,
{ 0x00 , 0x3c , 0x3c } ,
{ 0x00 , 0x3d , 0x3d } ,
{ 0x00 , 0x3e , 0x3e } ,
{ 0x00 , 0x3f , 0x3f } ,
{ 0x00 , 0x40 , 0x40 } ,
{ 0x01 , 0x61 , 0x41 } ,
{ 0x01 , 0x62 , 0x42 } ,
{ 0x01 , 0x63 , 0x43 } ,
{ 0x01 , 0x64 , 0x44 } ,
{ 0x01 , 0x65 , 0x45 } ,
{ 0x01 , 0x66 , 0x46 } ,
{ 0x01 , 0x67 , 0x47 } ,
{ 0x01 , 0x68 , 0x48 } ,
{ 0x01 , 0x69 , 0x49 } ,
{ 0x01 , 0x6a , 0x4a } ,
{ 0x01 , 0x6b , 0x4b } ,
{ 0x01 , 0x6c , 0x4c } ,
{ 0x01 , 0x6d , 0x4d } ,
{ 0x01 , 0x6e , 0x4e } ,
{ 0x01 , 0x6f , 0x4f } ,
{ 0x01 , 0x70 , 0x50 } ,
{ 0x01 , 0x71 , 0x51 } ,
{ 0x01 , 0x72 , 0x52 } ,
{ 0x01 , 0x73 , 0x53 } ,
{ 0x01 , 0x74 , 0x54 } ,
{ 0x01 , 0x75 , 0x55 } ,
{ 0x01 , 0x76 , 0x56 } ,
{ 0x01 , 0x77 , 0x57 } ,
{ 0x01 , 0x78 , 0x58 } ,
{ 0x01 , 0x79 , 0x59 } ,
{ 0x01 , 0x7a , 0x5a } ,
{ 0x00 , 0x5b , 0x5b } ,
{ 0x00 , 0x5c , 0x5c } ,
{ 0x00 , 0x5d , 0x5d } ,
{ 0x00 , 0x5e , 0x5e } ,
{ 0x00 , 0x5f , 0x5f } ,
{ 0x00 , 0x60 , 0x60 } ,
{ 0x00 , 0x61 , 0x41 } ,
{ 0x00 , 0x62 , 0x42 } ,
{ 0x00 , 0x63 , 0x43 } ,
{ 0x00 , 0x64 , 0x44 } ,
{ 0x00 , 0x65 , 0x45 } ,
{ 0x00 , 0x66 , 0x46 } ,
{ 0x00 , 0x67 , 0x47 } ,
{ 0x00 , 0x68 , 0x48 } ,
{ 0x00 , 0x69 , 0x49 } ,
{ 0x00 , 0x6a , 0x4a } ,
{ 0x00 , 0x6b , 0x4b } ,
{ 0x00 , 0x6c , 0x4c } ,
{ 0x00 , 0x6d , 0x4d } ,
{ 0x00 , 0x6e , 0x4e } ,
{ 0x00 , 0x6f , 0x4f } ,
{ 0x00 , 0x70 , 0x50 } ,
{ 0x00 , 0x71 , 0x51 } ,
{ 0x00 , 0x72 , 0x52 } ,
{ 0x00 , 0x73 , 0x53 } ,
{ 0x00 , 0x74 , 0x54 } ,
{ 0x00 , 0x75 , 0x55 } ,
{ 0x00 , 0x76 , 0x56 } ,
{ 0x00 , 0x77 , 0x57 } ,
{ 0x00 , 0x78 , 0x58 } ,
{ 0x00 , 0x79 , 0x59 } ,
{ 0x00 , 0x7a , 0x5a } ,
{ 0x00 , 0x7b , 0x7b } ,
{ 0x00 , 0x7c , 0x7c } ,
{ 0x00 , 0x7d , 0x7d } ,
{ 0x00 , 0x7e , 0x7e } ,
{ 0x00 , 0x7f , 0x7f } ,
{ 0x00 , 0x80 , 0x80 } ,
{ 0x00 , 0x81 , 0x81 } ,
{ 0x00 , 0x82 , 0x82 } ,
{ 0x00 , 0x83 , 0x83 } ,
{ 0x00 , 0x84 , 0x84 } ,
{ 0x00 , 0x85 , 0x85 } ,
{ 0x00 , 0x86 , 0x86 } ,
{ 0x00 , 0x87 , 0x87 } ,
{ 0x00 , 0x88 , 0x88 } ,
{ 0x00 , 0x89 , 0x89 } ,
{ 0x00 , 0x8a , 0x8a } ,
{ 0x00 , 0x8b , 0x8b } ,
{ 0x00 , 0x8c , 0x8c } ,
{ 0x00 , 0x8d , 0x8d } ,
{ 0x00 , 0x8e , 0x8e } ,
{ 0x00 , 0x8f , 0x8f } ,
{ 0x00 , 0x90 , 0x90 } ,
{ 0x00 , 0x91 , 0x91 } ,
{ 0x00 , 0x92 , 0x92 } ,
{ 0x00 , 0x93 , 0x93 } ,
{ 0x00 , 0x94 , 0x94 } ,
{ 0x00 , 0x95 , 0x95 } ,
{ 0x00 , 0x96 , 0x96 } ,
{ 0x00 , 0x97 , 0x97 } ,
{ 0x00 , 0x98 , 0x98 } ,
{ 0x00 , 0x99 , 0x99 } ,
{ 0x00 , 0x9a , 0x9a } ,
{ 0x00 , 0x9b , 0x9b } ,
{ 0x00 , 0x9c , 0x9c } ,
{ 0x00 , 0x9d , 0x9d } ,
{ 0x00 , 0x9e , 0x9e } ,
{ 0x00 , 0x9f , 0x9f } ,
{ 0x00 , 0xa0 , 0xa0 } ,
{ 0x01 , 0xb1 , 0xa1 } ,
{ 0x00 , 0xa2 , 0xa2 } ,
{ 0x01 , 0xb3 , 0xa3 } ,
{ 0x00 , 0xa4 , 0xa4 } ,
{ 0x01 , 0xb5 , 0xa5 } ,
{ 0x01 , 0xb6 , 0xa6 } ,
{ 0x00 , 0xa7 , 0xa7 } ,
{ 0x00 , 0xa8 , 0xa8 } ,
{ 0x01 , 0xb9 , 0xa9 } ,
{ 0x01 , 0xba , 0xaa } ,
{ 0x01 , 0xbb , 0xab } ,
{ 0x01 , 0xbc , 0xac } ,
{ 0x00 , 0xad , 0xad } ,
{ 0x01 , 0xbe , 0xae } ,
{ 0x00 , 0xaf , 0xaf } ,
{ 0x00 , 0xb0 , 0xb0 } ,
{ 0x00 , 0xb1 , 0xa1 } ,
{ 0x00 , 0xb2 , 0xb2 } ,
{ 0x00 , 0xb3 , 0xa3 } ,
{ 0x00 , 0xb4 , 0xb4 } ,
{ 0x00 , 0xb5 , 0xa5 } ,
{ 0x00 , 0xb6 , 0xa6 } ,
{ 0x00 , 0xb7 , 0xb7 } ,
{ 0x00 , 0xb8 , 0xb8 } ,
{ 0x00 , 0xb9 , 0xa9 } ,
{ 0x00 , 0xba , 0xaa } ,
{ 0x00 , 0xbb , 0xab } ,
{ 0x00 , 0xbc , 0xac } ,
{ 0x00 , 0xbd , 0xbd } ,
{ 0x00 , 0xbe , 0xae } ,
{ 0x00 , 0xbf , 0xbf } ,
{ 0x01 , 0xe0 , 0xc0 } ,
{ 0x01 , 0xe1 , 0xc1 } ,
{ 0x01 , 0xe2 , 0xc2 } ,
{ 0x01 , 0xe3 , 0xc3 } ,
{ 0x01 , 0xe4 , 0xc4 } ,
{ 0x01 , 0xe5 , 0xc5 } ,
{ 0x01 , 0xe6 , 0xc6 } ,
{ 0x01 , 0xe7 , 0xc7 } ,
{ 0x01 , 0xe8 , 0xc8 } ,
{ 0x01 , 0xe9 , 0xc9 } ,
{ 0x01 , 0xea , 0xca } ,
{ 0x01 , 0xeb , 0xcb } ,
{ 0x01 , 0xec , 0xcc } ,
{ 0x01 , 0xed , 0xcd } ,
{ 0x01 , 0xee , 0xce } ,
{ 0x01 , 0xef , 0xcf } ,
{ 0x01 , 0xf0 , 0xd0 } ,
{ 0x01 , 0xf1 , 0xd1 } ,
{ 0x01 , 0xf2 , 0xd2 } ,
{ 0x01 , 0xf3 , 0xd3 } ,
{ 0x01 , 0xf4 , 0xd4 } ,
{ 0x01 , 0xf5 , 0xd5 } ,
{ 0x01 , 0xf6 , 0xd6 } ,
{ 0x00 , 0xd7 , 0xd7 } ,
{ 0x01 , 0xf8 , 0xd8 } ,
{ 0x01 , 0xf9 , 0xd9 } ,
{ 0x01 , 0xfa , 0xda } ,
{ 0x01 , 0xfb , 0xdb } ,
{ 0x01 , 0xfc , 0xdc } ,
{ 0x01 , 0xfd , 0xdd } ,
{ 0x01 , 0xfe , 0xde } ,
{ 0x00 , 0xdf , 0xdf } ,
{ 0x00 , 0xe0 , 0xc0 } ,
{ 0x00 , 0xe1 , 0xc1 } ,
{ 0x00 , 0xe2 , 0xc2 } ,
{ 0x00 , 0xe3 , 0xc3 } ,
{ 0x00 , 0xe4 , 0xc4 } ,
{ 0x00 , 0xe5 , 0xc5 } ,
{ 0x00 , 0xe6 , 0xc6 } ,
{ 0x00 , 0xe7 , 0xc7 } ,
{ 0x00 , 0xe8 , 0xc8 } ,
{ 0x00 , 0xe9 , 0xc9 } ,
{ 0x00 , 0xea , 0xca } ,
{ 0x00 , 0xeb , 0xcb } ,
{ 0x00 , 0xec , 0xcc } ,
{ 0x00 , 0xed , 0xcd } ,
{ 0x00 , 0xee , 0xce } ,
{ 0x00 , 0xef , 0xcf } ,
{ 0x00 , 0xf0 , 0xd0 } ,
{ 0x00 , 0xf1 , 0xd1 } ,
{ 0x00 , 0xf2 , 0xd2 } ,
{ 0x00 , 0xf3 , 0xd3 } ,
{ 0x00 , 0xf4 , 0xd4 } ,
{ 0x00 , 0xf5 , 0xd5 } ,
{ 0x00 , 0xf6 , 0xd6 } ,
{ 0x00 , 0xf7 , 0xf7 } ,
{ 0x00 , 0xf8 , 0xd8 } ,
{ 0x00 , 0xf9 , 0xd9 } ,
{ 0x00 , 0xfa , 0xda } ,
{ 0x00 , 0xfb , 0xdb } ,
{ 0x00 , 0xfc , 0xdc } ,
{ 0x00 , 0xfd , 0xdd } ,
{ 0x00 , 0xfe , 0xde } ,
2008-11-04 14:05:31 -08:00
{ 0x00 , 0xff , 0xff }
2007-07-02 10:29:22 -07:00
} ;
2010-06-08 23:06:40 -07:00
static struct cs_info iso5_tbl [ ] = {
2007-07-02 10:29:22 -07:00
{ 0x00 , 0x00 , 0x00 } ,
{ 0x00 , 0x01 , 0x01 } ,
{ 0x00 , 0x02 , 0x02 } ,
{ 0x00 , 0x03 , 0x03 } ,
{ 0x00 , 0x04 , 0x04 } ,
{ 0x00 , 0x05 , 0x05 } ,
{ 0x00 , 0x06 , 0x06 } ,
{ 0x00 , 0x07 , 0x07 } ,
{ 0x00 , 0x08 , 0x08 } ,
{ 0x00 , 0x09 , 0x09 } ,
{ 0x00 , 0x0a , 0x0a } ,
{ 0x00 , 0x0b , 0x0b } ,
{ 0x00 , 0x0c , 0x0c } ,
{ 0x00 , 0x0d , 0x0d } ,
{ 0x00 , 0x0e , 0x0e } ,
{ 0x00 , 0x0f , 0x0f } ,
{ 0x00 , 0x10 , 0x10 } ,
{ 0x00 , 0x11 , 0x11 } ,
{ 0x00 , 0x12 , 0x12 } ,
{ 0x00 , 0x13 , 0x13 } ,
{ 0x00 , 0x14 , 0x14 } ,
{ 0x00 , 0x15 , 0x15 } ,
{ 0x00 , 0x16 , 0x16 } ,
{ 0x00 , 0x17 , 0x17 } ,
{ 0x00 , 0x18 , 0x18 } ,
{ 0x00 , 0x19 , 0x19 } ,
{ 0x00 , 0x1a , 0x1a } ,
{ 0x00 , 0x1b , 0x1b } ,
{ 0x00 , 0x1c , 0x1c } ,
{ 0x00 , 0x1d , 0x1d } ,
{ 0x00 , 0x1e , 0x1e } ,
{ 0x00 , 0x1f , 0x1f } ,
{ 0x00 , 0x20 , 0x20 } ,
{ 0x00 , 0x21 , 0x21 } ,
{ 0x00 , 0x22 , 0x22 } ,
{ 0x00 , 0x23 , 0x23 } ,
{ 0x00 , 0x24 , 0x24 } ,
{ 0x00 , 0x25 , 0x25 } ,
{ 0x00 , 0x26 , 0x26 } ,
{ 0x00 , 0x27 , 0x27 } ,
{ 0x00 , 0x28 , 0x28 } ,
{ 0x00 , 0x29 , 0x29 } ,
{ 0x00 , 0x2a , 0x2a } ,
{ 0x00 , 0x2b , 0x2b } ,
{ 0x00 , 0x2c , 0x2c } ,
{ 0x00 , 0x2d , 0x2d } ,
{ 0x00 , 0x2e , 0x2e } ,
{ 0x00 , 0x2f , 0x2f } ,
{ 0x00 , 0x30 , 0x30 } ,
{ 0x00 , 0x31 , 0x31 } ,
{ 0x00 , 0x32 , 0x32 } ,
{ 0x00 , 0x33 , 0x33 } ,
{ 0x00 , 0x34 , 0x34 } ,
{ 0x00 , 0x35 , 0x35 } ,
{ 0x00 , 0x36 , 0x36 } ,
{ 0x00 , 0x37 , 0x37 } ,
{ 0x00 , 0x38 , 0x38 } ,
{ 0x00 , 0x39 , 0x39 } ,
{ 0x00 , 0x3a , 0x3a } ,
{ 0x00 , 0x3b , 0x3b } ,
{ 0x00 , 0x3c , 0x3c } ,
{ 0x00 , 0x3d , 0x3d } ,
{ 0x00 , 0x3e , 0x3e } ,
{ 0x00 , 0x3f , 0x3f } ,
{ 0x00 , 0x40 , 0x40 } ,
{ 0x01 , 0x61 , 0x41 } ,
{ 0x01 , 0x62 , 0x42 } ,
{ 0x01 , 0x63 , 0x43 } ,
{ 0x01 , 0x64 , 0x44 } ,
{ 0x01 , 0x65 , 0x45 } ,
{ 0x01 , 0x66 , 0x46 } ,
{ 0x01 , 0x67 , 0x47 } ,
{ 0x01 , 0x68 , 0x48 } ,
{ 0x01 , 0x69 , 0x49 } ,
{ 0x01 , 0x6a , 0x4a } ,
{ 0x01 , 0x6b , 0x4b } ,
{ 0x01 , 0x6c , 0x4c } ,
{ 0x01 , 0x6d , 0x4d } ,
{ 0x01 , 0x6e , 0x4e } ,
{ 0x01 , 0x6f , 0x4f } ,
{ 0x01 , 0x70 , 0x50 } ,
{ 0x01 , 0x71 , 0x51 } ,
{ 0x01 , 0x72 , 0x52 } ,
{ 0x01 , 0x73 , 0x53 } ,
{ 0x01 , 0x74 , 0x54 } ,
{ 0x01 , 0x75 , 0x55 } ,
{ 0x01 , 0x76 , 0x56 } ,
{ 0x01 , 0x77 , 0x57 } ,
{ 0x01 , 0x78 , 0x58 } ,
{ 0x01 , 0x79 , 0x59 } ,
{ 0x01 , 0x7a , 0x5a } ,
{ 0x00 , 0x5b , 0x5b } ,
{ 0x00 , 0x5c , 0x5c } ,
{ 0x00 , 0x5d , 0x5d } ,
{ 0x00 , 0x5e , 0x5e } ,
{ 0x00 , 0x5f , 0x5f } ,
{ 0x00 , 0x60 , 0x60 } ,
{ 0x00 , 0x61 , 0x41 } ,
{ 0x00 , 0x62 , 0x42 } ,
{ 0x00 , 0x63 , 0x43 } ,
{ 0x00 , 0x64 , 0x44 } ,
{ 0x00 , 0x65 , 0x45 } ,
{ 0x00 , 0x66 , 0x46 } ,
{ 0x00 , 0x67 , 0x47 } ,
{ 0x00 , 0x68 , 0x48 } ,
{ 0x00 , 0x69 , 0x49 } ,
{ 0x00 , 0x6a , 0x4a } ,
{ 0x00 , 0x6b , 0x4b } ,
{ 0x00 , 0x6c , 0x4c } ,
{ 0x00 , 0x6d , 0x4d } ,
{ 0x00 , 0x6e , 0x4e } ,
{ 0x00 , 0x6f , 0x4f } ,
{ 0x00 , 0x70 , 0x50 } ,
{ 0x00 , 0x71 , 0x51 } ,
{ 0x00 , 0x72 , 0x52 } ,
{ 0x00 , 0x73 , 0x53 } ,
{ 0x00 , 0x74 , 0x54 } ,
{ 0x00 , 0x75 , 0x55 } ,
{ 0x00 , 0x76 , 0x56 } ,
{ 0x00 , 0x77 , 0x57 } ,
{ 0x00 , 0x78 , 0x58 } ,
{ 0x00 , 0x79 , 0x59 } ,
{ 0x00 , 0x7a , 0x5a } ,
{ 0x00 , 0x7b , 0x7b } ,
{ 0x00 , 0x7c , 0x7c } ,
{ 0x00 , 0x7d , 0x7d } ,
{ 0x00 , 0x7e , 0x7e } ,
{ 0x00 , 0x7f , 0x7f } ,
{ 0x00 , 0x80 , 0x80 } ,
{ 0x00 , 0x81 , 0x81 } ,
{ 0x00 , 0x82 , 0x82 } ,
{ 0x00 , 0x83 , 0x83 } ,
{ 0x00 , 0x84 , 0x84 } ,
{ 0x00 , 0x85 , 0x85 } ,
{ 0x00 , 0x86 , 0x86 } ,
{ 0x00 , 0x87 , 0x87 } ,
{ 0x00 , 0x88 , 0x88 } ,
{ 0x00 , 0x89 , 0x89 } ,
{ 0x00 , 0x8a , 0x8a } ,
{ 0x00 , 0x8b , 0x8b } ,
{ 0x00 , 0x8c , 0x8c } ,
{ 0x00 , 0x8d , 0x8d } ,
{ 0x00 , 0x8e , 0x8e } ,
{ 0x00 , 0x8f , 0x8f } ,
{ 0x00 , 0x90 , 0x90 } ,
{ 0x00 , 0x91 , 0x91 } ,
{ 0x00 , 0x92 , 0x92 } ,
{ 0x00 , 0x93 , 0x93 } ,
{ 0x00 , 0x94 , 0x94 } ,
{ 0x00 , 0x95 , 0x95 } ,
{ 0x00 , 0x96 , 0x96 } ,
{ 0x00 , 0x97 , 0x97 } ,
{ 0x00 , 0x98 , 0x98 } ,
{ 0x00 , 0x99 , 0x99 } ,
{ 0x00 , 0x9a , 0x9a } ,
{ 0x00 , 0x9b , 0x9b } ,
{ 0x00 , 0x9c , 0x9c } ,
{ 0x00 , 0x9d , 0x9d } ,
{ 0x00 , 0x9e , 0x9e } ,
{ 0x00 , 0x9f , 0x9f } ,
{ 0x00 , 0xa0 , 0xa0 } ,
{ 0x01 , 0xf1 , 0xa1 } ,
{ 0x01 , 0xf2 , 0xa2 } ,
{ 0x01 , 0xf3 , 0xa3 } ,
{ 0x01 , 0xf4 , 0xa4 } ,
{ 0x01 , 0xf5 , 0xa5 } ,
{ 0x01 , 0xf6 , 0xa6 } ,
{ 0x01 , 0xf7 , 0xa7 } ,
{ 0x01 , 0xf8 , 0xa8 } ,
{ 0x01 , 0xf9 , 0xa9 } ,
{ 0x01 , 0xfa , 0xaa } ,
{ 0x01 , 0xfb , 0xab } ,
{ 0x01 , 0xfc , 0xac } ,
{ 0x00 , 0xad , 0xad } ,
{ 0x01 , 0xfe , 0xae } ,
{ 0x01 , 0xff , 0xaf } ,
{ 0x01 , 0xd0 , 0xb0 } ,
{ 0x01 , 0xd1 , 0xb1 } ,
{ 0x01 , 0xd2 , 0xb2 } ,
{ 0x01 , 0xd3 , 0xb3 } ,
{ 0x01 , 0xd4 , 0xb4 } ,
{ 0x01 , 0xd5 , 0xb5 } ,
{ 0x01 , 0xd6 , 0xb6 } ,
{ 0x01 , 0xd7 , 0xb7 } ,
{ 0x01 , 0xd8 , 0xb8 } ,
{ 0x01 , 0xd9 , 0xb9 } ,
{ 0x01 , 0xda , 0xba } ,
{ 0x01 , 0xdb , 0xbb } ,
{ 0x01 , 0xdc , 0xbc } ,
{ 0x01 , 0xdd , 0xbd } ,
{ 0x01 , 0xde , 0xbe } ,
{ 0x01 , 0xdf , 0xbf } ,
{ 0x01 , 0xe0 , 0xc0 } ,
{ 0x01 , 0xe1 , 0xc1 } ,
{ 0x01 , 0xe2 , 0xc2 } ,
{ 0x01 , 0xe3 , 0xc3 } ,
{ 0x01 , 0xe4 , 0xc4 } ,
{ 0x01 , 0xe5 , 0xc5 } ,
{ 0x01 , 0xe6 , 0xc6 } ,
{ 0x01 , 0xe7 , 0xc7 } ,
{ 0x01 , 0xe8 , 0xc8 } ,
{ 0x01 , 0xe9 , 0xc9 } ,
{ 0x01 , 0xea , 0xca } ,
{ 0x01 , 0xeb , 0xcb } ,
{ 0x01 , 0xec , 0xcc } ,
{ 0x01 , 0xed , 0xcd } ,
{ 0x01 , 0xee , 0xce } ,
{ 0x01 , 0xef , 0xcf } ,
{ 0x00 , 0xd0 , 0xb0 } ,
{ 0x00 , 0xd1 , 0xb1 } ,
{ 0x00 , 0xd2 , 0xb2 } ,
{ 0x00 , 0xd3 , 0xb3 } ,
{ 0x00 , 0xd4 , 0xb4 } ,
{ 0x00 , 0xd5 , 0xb5 } ,
{ 0x00 , 0xd6 , 0xb6 } ,
{ 0x00 , 0xd7 , 0xb7 } ,
{ 0x00 , 0xd8 , 0xb8 } ,
{ 0x00 , 0xd9 , 0xb9 } ,
{ 0x00 , 0xda , 0xba } ,
{ 0x00 , 0xdb , 0xbb } ,
{ 0x00 , 0xdc , 0xbc } ,
{ 0x00 , 0xdd , 0xbd } ,
{ 0x00 , 0xde , 0xbe } ,
{ 0x00 , 0xdf , 0xbf } ,
{ 0x00 , 0xe0 , 0xc0 } ,
{ 0x00 , 0xe1 , 0xc1 } ,
{ 0x00 , 0xe2 , 0xc2 } ,
{ 0x00 , 0xe3 , 0xc3 } ,
{ 0x00 , 0xe4 , 0xc4 } ,
{ 0x00 , 0xe5 , 0xc5 } ,
{ 0x00 , 0xe6 , 0xc6 } ,
{ 0x00 , 0xe7 , 0xc7 } ,
{ 0x00 , 0xe8 , 0xc8 } ,
{ 0x00 , 0xe9 , 0xc9 } ,
{ 0x00 , 0xea , 0xca } ,
{ 0x00 , 0xeb , 0xcb } ,
{ 0x00 , 0xec , 0xcc } ,
{ 0x00 , 0xed , 0xcd } ,
{ 0x00 , 0xee , 0xce } ,
{ 0x00 , 0xef , 0xcf } ,
{ 0x00 , 0xf0 , 0xf0 } ,
{ 0x00 , 0xf1 , 0xa1 } ,
{ 0x00 , 0xf2 , 0xa2 } ,
{ 0x00 , 0xf3 , 0xa3 } ,
{ 0x00 , 0xf4 , 0xa4 } ,
{ 0x00 , 0xf5 , 0xa5 } ,
{ 0x00 , 0xf6 , 0xa6 } ,
{ 0x00 , 0xf7 , 0xa7 } ,
{ 0x00 , 0xf8 , 0xa8 } ,
{ 0x00 , 0xf9 , 0xa9 } ,
{ 0x00 , 0xfa , 0xaa } ,
{ 0x00 , 0xfb , 0xab } ,
{ 0x00 , 0xfc , 0xac } ,
{ 0x00 , 0xfd , 0xfd } ,
{ 0x00 , 0xfe , 0xae } ,
2008-11-04 14:05:31 -08:00
{ 0x00 , 0xff , 0xaf }
2007-07-02 10:29:22 -07:00
} ;
2010-06-08 23:06:40 -07:00
static struct cs_info iso6_tbl [ ] = {
2007-07-02 10:29:22 -07:00
{ 0x00 , 0x00 , 0x00 } ,
{ 0x00 , 0x01 , 0x01 } ,
{ 0x00 , 0x02 , 0x02 } ,
{ 0x00 , 0x03 , 0x03 } ,
{ 0x00 , 0x04 , 0x04 } ,
{ 0x00 , 0x05 , 0x05 } ,
{ 0x00 , 0x06 , 0x06 } ,
{ 0x00 , 0x07 , 0x07 } ,
{ 0x00 , 0x08 , 0x08 } ,
{ 0x00 , 0x09 , 0x09 } ,
{ 0x00 , 0x0a , 0x0a } ,
{ 0x00 , 0x0b , 0x0b } ,
{ 0x00 , 0x0c , 0x0c } ,
{ 0x00 , 0x0d , 0x0d } ,
{ 0x00 , 0x0e , 0x0e } ,
{ 0x00 , 0x0f , 0x0f } ,
{ 0x00 , 0x10 , 0x10 } ,
{ 0x00 , 0x11 , 0x11 } ,
{ 0x00 , 0x12 , 0x12 } ,
{ 0x00 , 0x13 , 0x13 } ,
{ 0x00 , 0x14 , 0x14 } ,
{ 0x00 , 0x15 , 0x15 } ,
{ 0x00 , 0x16 , 0x16 } ,
{ 0x00 , 0x17 , 0x17 } ,
{ 0x00 , 0x18 , 0x18 } ,
{ 0x00 , 0x19 , 0x19 } ,
{ 0x00 , 0x1a , 0x1a } ,
{ 0x00 , 0x1b , 0x1b } ,
{ 0x00 , 0x1c , 0x1c } ,
{ 0x00 , 0x1d , 0x1d } ,
{ 0x00 , 0x1e , 0x1e } ,
{ 0x00 , 0x1f , 0x1f } ,
{ 0x00 , 0x20 , 0x20 } ,
{ 0x00 , 0x21 , 0x21 } ,
{ 0x00 , 0x22 , 0x22 } ,
{ 0x00 , 0x23 , 0x23 } ,
{ 0x00 , 0x24 , 0x24 } ,
{ 0x00 , 0x25 , 0x25 } ,
{ 0x00 , 0x26 , 0x26 } ,
{ 0x00 , 0x27 , 0x27 } ,
{ 0x00 , 0x28 , 0x28 } ,
{ 0x00 , 0x29 , 0x29 } ,
{ 0x00 , 0x2a , 0x2a } ,
{ 0x00 , 0x2b , 0x2b } ,
{ 0x00 , 0x2c , 0x2c } ,
{ 0x00 , 0x2d , 0x2d } ,
{ 0x00 , 0x2e , 0x2e } ,
{ 0x00 , 0x2f , 0x2f } ,
{ 0x00 , 0x30 , 0x30 } ,
{ 0x00 , 0x31 , 0x31 } ,
{ 0x00 , 0x32 , 0x32 } ,
{ 0x00 , 0x33 , 0x33 } ,
{ 0x00 , 0x34 , 0x34 } ,
{ 0x00 , 0x35 , 0x35 } ,
{ 0x00 , 0x36 , 0x36 } ,
{ 0x00 , 0x37 , 0x37 } ,
{ 0x00 , 0x38 , 0x38 } ,
{ 0x00 , 0x39 , 0x39 } ,
{ 0x00 , 0x3a , 0x3a } ,
{ 0x00 , 0x3b , 0x3b } ,
{ 0x00 , 0x3c , 0x3c } ,
{ 0x00 , 0x3d , 0x3d } ,
{ 0x00 , 0x3e , 0x3e } ,
{ 0x00 , 0x3f , 0x3f } ,
{ 0x00 , 0x40 , 0x40 } ,
{ 0x01 , 0x61 , 0x41 } ,
{ 0x01 , 0x62 , 0x42 } ,
{ 0x01 , 0x63 , 0x43 } ,
{ 0x01 , 0x64 , 0x44 } ,
{ 0x01 , 0x65 , 0x45 } ,
{ 0x01 , 0x66 , 0x46 } ,
{ 0x01 , 0x67 , 0x47 } ,
{ 0x01 , 0x68 , 0x48 } ,
{ 0x01 , 0x69 , 0x49 } ,
{ 0x01 , 0x6a , 0x4a } ,
{ 0x01 , 0x6b , 0x4b } ,
{ 0x01 , 0x6c , 0x4c } ,
{ 0x01 , 0x6d , 0x4d } ,
{ 0x01 , 0x6e , 0x4e } ,
{ 0x01 , 0x6f , 0x4f } ,
{ 0x01 , 0x70 , 0x50 } ,
{ 0x01 , 0x71 , 0x51 } ,
{ 0x01 , 0x72 , 0x52 } ,
{ 0x01 , 0x73 , 0x53 } ,
{ 0x01 , 0x74 , 0x54 } ,
{ 0x01 , 0x75 , 0x55 } ,
{ 0x01 , 0x76 , 0x56 } ,
{ 0x01 , 0x77 , 0x57 } ,
{ 0x01 , 0x78 , 0x58 } ,
{ 0x01 , 0x79 , 0x59 } ,
{ 0x01 , 0x7a , 0x5a } ,
{ 0x00 , 0x5b , 0x5b } ,
{ 0x00 , 0x5c , 0x5c } ,
{ 0x00 , 0x5d , 0x5d } ,
{ 0x00 , 0x5e , 0x5e } ,
{ 0x00 , 0x5f , 0x5f } ,
{ 0x00 , 0x60 , 0x60 } ,
{ 0x00 , 0x61 , 0x41 } ,
{ 0x00 , 0x62 , 0x42 } ,
{ 0x00 , 0x63 , 0x43 } ,
{ 0x00 , 0x64 , 0x44 } ,
{ 0x00 , 0x65 , 0x45 } ,
{ 0x00 , 0x66 , 0x46 } ,
{ 0x00 , 0x67 , 0x47 } ,
{ 0x00 , 0x68 , 0x48 } ,
{ 0x00 , 0x69 , 0x49 } ,
{ 0x00 , 0x6a , 0x4a } ,
{ 0x00 , 0x6b , 0x4b } ,
{ 0x00 , 0x6c , 0x4c } ,
{ 0x00 , 0x6d , 0x4d } ,
{ 0x00 , 0x6e , 0x4e } ,
{ 0x00 , 0x6f , 0x4f } ,
{ 0x00 , 0x70 , 0x50 } ,
{ 0x00 , 0x71 , 0x51 } ,
{ 0x00 , 0x72 , 0x52 } ,
{ 0x00 , 0x73 , 0x53 } ,
{ 0x00 , 0x74 , 0x54 } ,
{ 0x00 , 0x75 , 0x55 } ,
{ 0x00 , 0x76 , 0x56 } ,
{ 0x00 , 0x77 , 0x57 } ,
{ 0x00 , 0x78 , 0x58 } ,
{ 0x00 , 0x79 , 0x59 } ,
{ 0x00 , 0x7a , 0x5a } ,
{ 0x00 , 0x7b , 0x7b } ,
{ 0x00 , 0x7c , 0x7c } ,
{ 0x00 , 0x7d , 0x7d } ,
{ 0x00 , 0x7e , 0x7e } ,
{ 0x00 , 0x7f , 0x7f } ,
{ 0x00 , 0x80 , 0x80 } ,
{ 0x00 , 0x81 , 0x81 } ,
{ 0x00 , 0x82 , 0x82 } ,
{ 0x00 , 0x83 , 0x83 } ,
{ 0x00 , 0x84 , 0x84 } ,
{ 0x00 , 0x85 , 0x85 } ,
{ 0x00 , 0x86 , 0x86 } ,
{ 0x00 , 0x87 , 0x87 } ,
{ 0x00 , 0x88 , 0x88 } ,
{ 0x00 , 0x89 , 0x89 } ,
{ 0x00 , 0x8a , 0x8a } ,
{ 0x00 , 0x8b , 0x8b } ,
{ 0x00 , 0x8c , 0x8c } ,
{ 0x00 , 0x8d , 0x8d } ,
{ 0x00 , 0x8e , 0x8e } ,
{ 0x00 , 0x8f , 0x8f } ,
{ 0x00 , 0x90 , 0x90 } ,
{ 0x00 , 0x91 , 0x91 } ,
{ 0x00 , 0x92 , 0x92 } ,
{ 0x00 , 0x93 , 0x93 } ,
{ 0x00 , 0x94 , 0x94 } ,
{ 0x00 , 0x95 , 0x95 } ,
{ 0x00 , 0x96 , 0x96 } ,
{ 0x00 , 0x97 , 0x97 } ,
{ 0x00 , 0x98 , 0x98 } ,
{ 0x00 , 0x99 , 0x99 } ,
{ 0x00 , 0x9a , 0x9a } ,
{ 0x00 , 0x9b , 0x9b } ,
{ 0x00 , 0x9c , 0x9c } ,
{ 0x00 , 0x9d , 0x9d } ,
{ 0x00 , 0x9e , 0x9e } ,
{ 0x00 , 0x9f , 0x9f } ,
{ 0x00 , 0xa0 , 0xa0 } ,
{ 0x00 , 0xa1 , 0xa1 } ,
{ 0x00 , 0xa2 , 0xa2 } ,
{ 0x00 , 0xa3 , 0xa3 } ,
{ 0x00 , 0xa4 , 0xa4 } ,
{ 0x00 , 0xa5 , 0xa5 } ,
{ 0x00 , 0xa6 , 0xa6 } ,
{ 0x00 , 0xa7 , 0xa7 } ,
{ 0x00 , 0xa8 , 0xa8 } ,
{ 0x00 , 0xa9 , 0xa9 } ,
{ 0x00 , 0xaa , 0xaa } ,
{ 0x00 , 0xab , 0xab } ,
{ 0x00 , 0xac , 0xac } ,
{ 0x00 , 0xad , 0xad } ,
{ 0x00 , 0xae , 0xae } ,
{ 0x00 , 0xaf , 0xaf } ,
{ 0x00 , 0xb0 , 0xb0 } ,
{ 0x00 , 0xb1 , 0xb1 } ,
{ 0x00 , 0xb2 , 0xb2 } ,
{ 0x00 , 0xb3 , 0xb3 } ,
{ 0x00 , 0xb4 , 0xb4 } ,
{ 0x00 , 0xb5 , 0xb5 } ,
{ 0x00 , 0xb6 , 0xb6 } ,
{ 0x00 , 0xb7 , 0xb7 } ,
{ 0x00 , 0xb8 , 0xb8 } ,
{ 0x00 , 0xb9 , 0xb9 } ,
{ 0x00 , 0xba , 0xba } ,
{ 0x00 , 0xbb , 0xbb } ,
{ 0x00 , 0xbc , 0xbc } ,
{ 0x00 , 0xbd , 0xbd } ,
{ 0x00 , 0xbe , 0xbe } ,
{ 0x00 , 0xbf , 0xbf } ,
{ 0x00 , 0xc0 , 0xc0 } ,
{ 0x00 , 0xc1 , 0xc1 } ,
{ 0x00 , 0xc2 , 0xc2 } ,
{ 0x00 , 0xc3 , 0xc3 } ,
{ 0x00 , 0xc4 , 0xc4 } ,
{ 0x00 , 0xc5 , 0xc5 } ,
{ 0x00 , 0xc6 , 0xc6 } ,
{ 0x00 , 0xc7 , 0xc7 } ,
{ 0x00 , 0xc8 , 0xc8 } ,
{ 0x00 , 0xc9 , 0xc9 } ,
{ 0x00 , 0xca , 0xca } ,
{ 0x00 , 0xcb , 0xcb } ,
{ 0x00 , 0xcc , 0xcc } ,
{ 0x00 , 0xcd , 0xcd } ,
{ 0x00 , 0xce , 0xce } ,
{ 0x00 , 0xcf , 0xcf } ,
{ 0x00 , 0xd0 , 0xd0 } ,
{ 0x00 , 0xd1 , 0xd1 } ,
{ 0x00 , 0xd2 , 0xd2 } ,
{ 0x00 , 0xd3 , 0xd3 } ,
{ 0x00 , 0xd4 , 0xd4 } ,
{ 0x00 , 0xd5 , 0xd5 } ,
{ 0x00 , 0xd6 , 0xd6 } ,
{ 0x00 , 0xd7 , 0xd7 } ,
{ 0x00 , 0xd8 , 0xd8 } ,
{ 0x00 , 0xd9 , 0xd9 } ,
{ 0x00 , 0xda , 0xda } ,
{ 0x00 , 0xdb , 0xdb } ,
{ 0x00 , 0xdc , 0xdc } ,
{ 0x00 , 0xdd , 0xdd } ,
{ 0x00 , 0xde , 0xde } ,
{ 0x00 , 0xdf , 0xdf } ,
{ 0x00 , 0xe0 , 0xe0 } ,
{ 0x00 , 0xe1 , 0xe1 } ,
{ 0x00 , 0xe2 , 0xe2 } ,
{ 0x00 , 0xe3 , 0xe3 } ,
{ 0x00 , 0xe4 , 0xe4 } ,
{ 0x00 , 0xe5 , 0xe5 } ,
{ 0x00 , 0xe6 , 0xe6 } ,
{ 0x00 , 0xe7 , 0xe7 } ,
{ 0x00 , 0xe8 , 0xe8 } ,
{ 0x00 , 0xe9 , 0xe9 } ,
{ 0x00 , 0xea , 0xea } ,
{ 0x00 , 0xeb , 0xeb } ,
{ 0x00 , 0xec , 0xec } ,
{ 0x00 , 0xed , 0xed } ,
{ 0x00 , 0xee , 0xee } ,
{ 0x00 , 0xef , 0xef } ,
{ 0x00 , 0xf0 , 0xf0 } ,
{ 0x00 , 0xf1 , 0xf1 } ,
{ 0x00 , 0xf2 , 0xf2 } ,
{ 0x00 , 0xf3 , 0xf3 } ,
{ 0x00 , 0xf4 , 0xf4 } ,
{ 0x00 , 0xf5 , 0xf5 } ,
{ 0x00 , 0xf6 , 0xf6 } ,
{ 0x00 , 0xf7 , 0xf7 } ,
{ 0x00 , 0xf8 , 0xf8 } ,
{ 0x00 , 0xf9 , 0xf9 } ,
{ 0x00 , 0xfa , 0xfa } ,
{ 0x00 , 0xfb , 0xfb } ,
{ 0x00 , 0xfc , 0xfc } ,
{ 0x00 , 0xfd , 0xfd } ,
{ 0x00 , 0xfe , 0xfe } ,
2008-11-04 14:05:31 -08:00
{ 0x00 , 0xff , 0xff }
2007-07-02 10:29:22 -07:00
} ;
2010-06-08 23:06:40 -07:00
static struct cs_info iso7_tbl [ ] = {
2007-07-02 10:29:22 -07:00
{ 0x00 , 0x00 , 0x00 } ,
{ 0x00 , 0x01 , 0x01 } ,
{ 0x00 , 0x02 , 0x02 } ,
{ 0x00 , 0x03 , 0x03 } ,
{ 0x00 , 0x04 , 0x04 } ,
{ 0x00 , 0x05 , 0x05 } ,
{ 0x00 , 0x06 , 0x06 } ,
{ 0x00 , 0x07 , 0x07 } ,
{ 0x00 , 0x08 , 0x08 } ,
{ 0x00 , 0x09 , 0x09 } ,
{ 0x00 , 0x0a , 0x0a } ,
{ 0x00 , 0x0b , 0x0b } ,
{ 0x00 , 0x0c , 0x0c } ,
{ 0x00 , 0x0d , 0x0d } ,
{ 0x00 , 0x0e , 0x0e } ,
{ 0x00 , 0x0f , 0x0f } ,
{ 0x00 , 0x10 , 0x10 } ,
{ 0x00 , 0x11 , 0x11 } ,
{ 0x00 , 0x12 , 0x12 } ,
{ 0x00 , 0x13 , 0x13 } ,
{ 0x00 , 0x14 , 0x14 } ,
{ 0x00 , 0x15 , 0x15 } ,
{ 0x00 , 0x16 , 0x16 } ,
{ 0x00 , 0x17 , 0x17 } ,
{ 0x00 , 0x18 , 0x18 } ,
{ 0x00 , 0x19 , 0x19 } ,
{ 0x00 , 0x1a , 0x1a } ,
{ 0x00 , 0x1b , 0x1b } ,
{ 0x00 , 0x1c , 0x1c } ,
{ 0x00 , 0x1d , 0x1d } ,
{ 0x00 , 0x1e , 0x1e } ,
{ 0x00 , 0x1f , 0x1f } ,
{ 0x00 , 0x20 , 0x20 } ,
{ 0x00 , 0x21 , 0x21 } ,
{ 0x00 , 0x22 , 0x22 } ,
{ 0x00 , 0x23 , 0x23 } ,
{ 0x00 , 0x24 , 0x24 } ,
{ 0x00 , 0x25 , 0x25 } ,
{ 0x00 , 0x26 , 0x26 } ,
{ 0x00 , 0x27 , 0x27 } ,
{ 0x00 , 0x28 , 0x28 } ,
{ 0x00 , 0x29 , 0x29 } ,
{ 0x00 , 0x2a , 0x2a } ,
{ 0x00 , 0x2b , 0x2b } ,
{ 0x00 , 0x2c , 0x2c } ,
{ 0x00 , 0x2d , 0x2d } ,
{ 0x00 , 0x2e , 0x2e } ,
{ 0x00 , 0x2f , 0x2f } ,
{ 0x00 , 0x30 , 0x30 } ,
{ 0x00 , 0x31 , 0x31 } ,
{ 0x00 , 0x32 , 0x32 } ,
{ 0x00 , 0x33 , 0x33 } ,
{ 0x00 , 0x34 , 0x34 } ,
{ 0x00 , 0x35 , 0x35 } ,
{ 0x00 , 0x36 , 0x36 } ,
{ 0x00 , 0x37 , 0x37 } ,
{ 0x00 , 0x38 , 0x38 } ,
{ 0x00 , 0x39 , 0x39 } ,
{ 0x00 , 0x3a , 0x3a } ,
{ 0x00 , 0x3b , 0x3b } ,
{ 0x00 , 0x3c , 0x3c } ,
{ 0x00 , 0x3d , 0x3d } ,
{ 0x00 , 0x3e , 0x3e } ,
{ 0x00 , 0x3f , 0x3f } ,
{ 0x00 , 0x40 , 0x40 } ,
{ 0x01 , 0x61 , 0x41 } ,
{ 0x01 , 0x62 , 0x42 } ,
{ 0x01 , 0x63 , 0x43 } ,
{ 0x01 , 0x64 , 0x44 } ,
{ 0x01 , 0x65 , 0x45 } ,
{ 0x01 , 0x66 , 0x46 } ,
{ 0x01 , 0x67 , 0x47 } ,
{ 0x01 , 0x68 , 0x48 } ,
{ 0x01 , 0x69 , 0x49 } ,
{ 0x01 , 0x6a , 0x4a } ,
{ 0x01 , 0x6b , 0x4b } ,
{ 0x01 , 0x6c , 0x4c } ,
{ 0x01 , 0x6d , 0x4d } ,
{ 0x01 , 0x6e , 0x4e } ,
{ 0x01 , 0x6f , 0x4f } ,
{ 0x01 , 0x70 , 0x50 } ,
{ 0x01 , 0x71 , 0x51 } ,
{ 0x01 , 0x72 , 0x52 } ,
{ 0x01 , 0x73 , 0x53 } ,
{ 0x01 , 0x74 , 0x54 } ,
{ 0x01 , 0x75 , 0x55 } ,
{ 0x01 , 0x76 , 0x56 } ,
{ 0x01 , 0x77 , 0x57 } ,
{ 0x01 , 0x78 , 0x58 } ,
{ 0x01 , 0x79 , 0x59 } ,
{ 0x01 , 0x7a , 0x5a } ,
{ 0x00 , 0x5b , 0x5b } ,
{ 0x00 , 0x5c , 0x5c } ,
{ 0x00 , 0x5d , 0x5d } ,
{ 0x00 , 0x5e , 0x5e } ,
{ 0x00 , 0x5f , 0x5f } ,
{ 0x00 , 0x60 , 0x60 } ,
{ 0x00 , 0x61 , 0x41 } ,
{ 0x00 , 0x62 , 0x42 } ,
{ 0x00 , 0x63 , 0x43 } ,
{ 0x00 , 0x64 , 0x44 } ,
{ 0x00 , 0x65 , 0x45 } ,
{ 0x00 , 0x66 , 0x46 } ,
{ 0x00 , 0x67 , 0x47 } ,
{ 0x00 , 0x68 , 0x48 } ,
{ 0x00 , 0x69 , 0x49 } ,
{ 0x00 , 0x6a , 0x4a } ,
{ 0x00 , 0x6b , 0x4b } ,
{ 0x00 , 0x6c , 0x4c } ,
{ 0x00 , 0x6d , 0x4d } ,
{ 0x00 , 0x6e , 0x4e } ,
{ 0x00 , 0x6f , 0x4f } ,
{ 0x00 , 0x70 , 0x50 } ,
{ 0x00 , 0x71 , 0x51 } ,
{ 0x00 , 0x72 , 0x52 } ,
{ 0x00 , 0x73 , 0x53 } ,
{ 0x00 , 0x74 , 0x54 } ,
{ 0x00 , 0x75 , 0x55 } ,
{ 0x00 , 0x76 , 0x56 } ,
{ 0x00 , 0x77 , 0x57 } ,
{ 0x00 , 0x78 , 0x58 } ,
{ 0x00 , 0x79 , 0x59 } ,
{ 0x00 , 0x7a , 0x5a } ,
{ 0x00 , 0x7b , 0x7b } ,
{ 0x00 , 0x7c , 0x7c } ,
{ 0x00 , 0x7d , 0x7d } ,
{ 0x00 , 0x7e , 0x7e } ,
{ 0x00 , 0x7f , 0x7f } ,
{ 0x00 , 0x80 , 0x80 } ,
{ 0x00 , 0x81 , 0x81 } ,
{ 0x00 , 0x82 , 0x82 } ,
{ 0x00 , 0x83 , 0x83 } ,
{ 0x00 , 0x84 , 0x84 } ,
{ 0x00 , 0x85 , 0x85 } ,
{ 0x00 , 0x86 , 0x86 } ,
{ 0x00 , 0x87 , 0x87 } ,
{ 0x00 , 0x88 , 0x88 } ,
{ 0x00 , 0x89 , 0x89 } ,
{ 0x00 , 0x8a , 0x8a } ,
{ 0x00 , 0x8b , 0x8b } ,
{ 0x00 , 0x8c , 0x8c } ,
{ 0x00 , 0x8d , 0x8d } ,
{ 0x00 , 0x8e , 0x8e } ,
{ 0x00 , 0x8f , 0x8f } ,
{ 0x00 , 0x90 , 0x90 } ,
{ 0x00 , 0x91 , 0x91 } ,
{ 0x00 , 0x92 , 0x92 } ,
{ 0x00 , 0x93 , 0x93 } ,
{ 0x00 , 0x94 , 0x94 } ,
{ 0x00 , 0x95 , 0x95 } ,
{ 0x00 , 0x96 , 0x96 } ,
{ 0x00 , 0x97 , 0x97 } ,
{ 0x00 , 0x98 , 0x98 } ,
{ 0x00 , 0x99 , 0x99 } ,
{ 0x00 , 0x9a , 0x9a } ,
{ 0x00 , 0x9b , 0x9b } ,
{ 0x00 , 0x9c , 0x9c } ,
{ 0x00 , 0x9d , 0x9d } ,
{ 0x00 , 0x9e , 0x9e } ,
{ 0x00 , 0x9f , 0x9f } ,
{ 0x00 , 0xa0 , 0xa0 } ,
{ 0x00 , 0xa1 , 0xa1 } ,
{ 0x00 , 0xa2 , 0xa2 } ,
{ 0x00 , 0xa3 , 0xa3 } ,
{ 0x00 , 0xa4 , 0xa4 } ,
{ 0x00 , 0xa5 , 0xa5 } ,
{ 0x00 , 0xa6 , 0xa6 } ,
{ 0x00 , 0xa7 , 0xa7 } ,
{ 0x00 , 0xa8 , 0xa8 } ,
{ 0x00 , 0xa9 , 0xa9 } ,
{ 0x00 , 0xaa , 0xaa } ,
{ 0x00 , 0xab , 0xab } ,
{ 0x00 , 0xac , 0xac } ,
{ 0x00 , 0xad , 0xad } ,
{ 0x00 , 0xae , 0xae } ,
{ 0x00 , 0xaf , 0xaf } ,
{ 0x00 , 0xb0 , 0xb0 } ,
{ 0x00 , 0xb1 , 0xb1 } ,
{ 0x00 , 0xb2 , 0xb2 } ,
{ 0x00 , 0xb3 , 0xb3 } ,
{ 0x00 , 0xb4 , 0xb4 } ,
{ 0x00 , 0xb5 , 0xb5 } ,
{ 0x01 , 0xdc , 0xb6 } ,
{ 0x00 , 0xb7 , 0xb7 } ,
{ 0x01 , 0xdd , 0xb8 } ,
{ 0x01 , 0xde , 0xb9 } ,
{ 0x01 , 0xdf , 0xba } ,
{ 0x00 , 0xbb , 0xbb } ,
{ 0x01 , 0xfc , 0xbc } ,
{ 0x00 , 0xbd , 0xbd } ,
{ 0x01 , 0xfd , 0xbe } ,
{ 0x01 , 0xfe , 0xbf } ,
{ 0x00 , 0xc0 , 0xc0 } ,
{ 0x01 , 0xe1 , 0xc1 } ,
{ 0x01 , 0xe2 , 0xc2 } ,
{ 0x01 , 0xe3 , 0xc3 } ,
{ 0x01 , 0xe4 , 0xc4 } ,
{ 0x01 , 0xe5 , 0xc5 } ,
{ 0x01 , 0xe6 , 0xc6 } ,
{ 0x01 , 0xe7 , 0xc7 } ,
{ 0x01 , 0xe8 , 0xc8 } ,
{ 0x01 , 0xe9 , 0xc9 } ,
{ 0x01 , 0xea , 0xca } ,
{ 0x01 , 0xeb , 0xcb } ,
{ 0x01 , 0xec , 0xcc } ,
{ 0x01 , 0xed , 0xcd } ,
{ 0x01 , 0xee , 0xce } ,
{ 0x01 , 0xef , 0xcf } ,
{ 0x01 , 0xf0 , 0xd0 } ,
{ 0x01 , 0xf1 , 0xd1 } ,
{ 0x00 , 0xd2 , 0xd2 } ,
{ 0x01 , 0xf3 , 0xd3 } ,
{ 0x01 , 0xf4 , 0xd4 } ,
{ 0x01 , 0xf5 , 0xd5 } ,
{ 0x01 , 0xf6 , 0xd6 } ,
{ 0x01 , 0xf7 , 0xd7 } ,
{ 0x01 , 0xf8 , 0xd8 } ,
{ 0x01 , 0xf9 , 0xd9 } ,
{ 0x01 , 0xfa , 0xda } ,
{ 0x01 , 0xfb , 0xdb } ,
{ 0x00 , 0xdc , 0xb6 } ,
{ 0x00 , 0xdd , 0xb8 } ,
{ 0x00 , 0xde , 0xb9 } ,
{ 0x00 , 0xdf , 0xba } ,
{ 0x00 , 0xe0 , 0xe0 } ,
{ 0x00 , 0xe1 , 0xc1 } ,
{ 0x00 , 0xe2 , 0xc2 } ,
{ 0x00 , 0xe3 , 0xc3 } ,
{ 0x00 , 0xe4 , 0xc4 } ,
{ 0x00 , 0xe5 , 0xc5 } ,
{ 0x00 , 0xe6 , 0xc6 } ,
{ 0x00 , 0xe7 , 0xc7 } ,
{ 0x00 , 0xe8 , 0xc8 } ,
{ 0x00 , 0xe9 , 0xc9 } ,
{ 0x00 , 0xea , 0xca } ,
{ 0x00 , 0xeb , 0xcb } ,
{ 0x00 , 0xec , 0xcc } ,
{ 0x00 , 0xed , 0xcd } ,
{ 0x00 , 0xee , 0xce } ,
{ 0x00 , 0xef , 0xcf } ,
{ 0x00 , 0xf0 , 0xd0 } ,
{ 0x00 , 0xf1 , 0xd1 } ,
{ 0x00 , 0xf2 , 0xd3 } ,
{ 0x00 , 0xf3 , 0xd3 } ,
{ 0x00 , 0xf4 , 0xd4 } ,
{ 0x00 , 0xf5 , 0xd5 } ,
{ 0x00 , 0xf6 , 0xd6 } ,
{ 0x00 , 0xf7 , 0xd7 } ,
{ 0x00 , 0xf8 , 0xd8 } ,
{ 0x00 , 0xf9 , 0xd9 } ,
{ 0x00 , 0xfa , 0xda } ,
{ 0x00 , 0xfb , 0xdb } ,
{ 0x00 , 0xfc , 0xbc } ,
{ 0x00 , 0xfd , 0xbe } ,
{ 0x00 , 0xfe , 0xbf } ,
2008-11-04 14:05:31 -08:00
{ 0x00 , 0xff , 0xff }
2007-07-02 10:29:22 -07:00
} ;
2010-06-08 23:06:40 -07:00
static struct cs_info iso8_tbl [ ] = {
2007-07-02 10:29:22 -07:00
{ 0x00 , 0x00 , 0x00 } ,
{ 0x00 , 0x01 , 0x01 } ,
{ 0x00 , 0x02 , 0x02 } ,
{ 0x00 , 0x03 , 0x03 } ,
{ 0x00 , 0x04 , 0x04 } ,
{ 0x00 , 0x05 , 0x05 } ,
{ 0x00 , 0x06 , 0x06 } ,
{ 0x00 , 0x07 , 0x07 } ,
{ 0x00 , 0x08 , 0x08 } ,
{ 0x00 , 0x09 , 0x09 } ,
{ 0x00 , 0x0a , 0x0a } ,
{ 0x00 , 0x0b , 0x0b } ,
{ 0x00 , 0x0c , 0x0c } ,
{ 0x00 , 0x0d , 0x0d } ,
{ 0x00 , 0x0e , 0x0e } ,
{ 0x00 , 0x0f , 0x0f } ,
{ 0x00 , 0x10 , 0x10 } ,
{ 0x00 , 0x11 , 0x11 } ,
{ 0x00 , 0x12 , 0x12 } ,
{ 0x00 , 0x13 , 0x13 } ,
{ 0x00 , 0x14 , 0x14 } ,
{ 0x00 , 0x15 , 0x15 } ,
{ 0x00 , 0x16 , 0x16 } ,
{ 0x00 , 0x17 , 0x17 } ,
{ 0x00 , 0x18 , 0x18 } ,
{ 0x00 , 0x19 , 0x19 } ,
{ 0x00 , 0x1a , 0x1a } ,
{ 0x00 , 0x1b , 0x1b } ,
{ 0x00 , 0x1c , 0x1c } ,
{ 0x00 , 0x1d , 0x1d } ,
{ 0x00 , 0x1e , 0x1e } ,
{ 0x00 , 0x1f , 0x1f } ,
{ 0x00 , 0x20 , 0x20 } ,
{ 0x00 , 0x21 , 0x21 } ,
{ 0x00 , 0x22 , 0x22 } ,
{ 0x00 , 0x23 , 0x23 } ,
{ 0x00 , 0x24 , 0x24 } ,
{ 0x00 , 0x25 , 0x25 } ,
{ 0x00 , 0x26 , 0x26 } ,
{ 0x00 , 0x27 , 0x27 } ,
{ 0x00 , 0x28 , 0x28 } ,
{ 0x00 , 0x29 , 0x29 } ,
{ 0x00 , 0x2a , 0x2a } ,
{ 0x00 , 0x2b , 0x2b } ,
{ 0x00 , 0x2c , 0x2c } ,
{ 0x00 , 0x2d , 0x2d } ,
{ 0x00 , 0x2e , 0x2e } ,
{ 0x00 , 0x2f , 0x2f } ,
{ 0x00 , 0x30 , 0x30 } ,
{ 0x00 , 0x31 , 0x31 } ,
{ 0x00 , 0x32 , 0x32 } ,
{ 0x00 , 0x33 , 0x33 } ,
{ 0x00 , 0x34 , 0x34 } ,
{ 0x00 , 0x35 , 0x35 } ,
{ 0x00 , 0x36 , 0x36 } ,
{ 0x00 , 0x37 , 0x37 } ,
{ 0x00 , 0x38 , 0x38 } ,
{ 0x00 , 0x39 , 0x39 } ,
{ 0x00 , 0x3a , 0x3a } ,
{ 0x00 , 0x3b , 0x3b } ,
{ 0x00 , 0x3c , 0x3c } ,
{ 0x00 , 0x3d , 0x3d } ,
{ 0x00 , 0x3e , 0x3e } ,
{ 0x00 , 0x3f , 0x3f } ,
{ 0x00 , 0x40 , 0x40 } ,
{ 0x01 , 0x61 , 0x41 } ,
{ 0x01 , 0x62 , 0x42 } ,
{ 0x01 , 0x63 , 0x43 } ,
{ 0x01 , 0x64 , 0x44 } ,
{ 0x01 , 0x65 , 0x45 } ,
{ 0x01 , 0x66 , 0x46 } ,
{ 0x01 , 0x67 , 0x47 } ,
{ 0x01 , 0x68 , 0x48 } ,
{ 0x01 , 0x69 , 0x49 } ,
{ 0x01 , 0x6a , 0x4a } ,
{ 0x01 , 0x6b , 0x4b } ,
{ 0x01 , 0x6c , 0x4c } ,
{ 0x01 , 0x6d , 0x4d } ,
{ 0x01 , 0x6e , 0x4e } ,
{ 0x01 , 0x6f , 0x4f } ,
{ 0x01 , 0x70 , 0x50 } ,
{ 0x01 , 0x71 , 0x51 } ,
{ 0x01 , 0x72 , 0x52 } ,
{ 0x01 , 0x73 , 0x53 } ,
{ 0x01 , 0x74 , 0x54 } ,
{ 0x01 , 0x75 , 0x55 } ,
{ 0x01 , 0x76 , 0x56 } ,
{ 0x01 , 0x77 , 0x57 } ,
{ 0x01 , 0x78 , 0x58 } ,
{ 0x01 , 0x79 , 0x59 } ,
{ 0x01 , 0x7a , 0x5a } ,
{ 0x00 , 0x5b , 0x5b } ,
{ 0x00 , 0x5c , 0x5c } ,
{ 0x00 , 0x5d , 0x5d } ,
{ 0x00 , 0x5e , 0x5e } ,
{ 0x00 , 0x5f , 0x5f } ,
{ 0x00 , 0x60 , 0x60 } ,
{ 0x00 , 0x61 , 0x41 } ,
{ 0x00 , 0x62 , 0x42 } ,
{ 0x00 , 0x63 , 0x43 } ,
{ 0x00 , 0x64 , 0x44 } ,
{ 0x00 , 0x65 , 0x45 } ,
{ 0x00 , 0x66 , 0x46 } ,
{ 0x00 , 0x67 , 0x47 } ,
{ 0x00 , 0x68 , 0x48 } ,
{ 0x00 , 0x69 , 0x49 } ,
{ 0x00 , 0x6a , 0x4a } ,
{ 0x00 , 0x6b , 0x4b } ,
{ 0x00 , 0x6c , 0x4c } ,
{ 0x00 , 0x6d , 0x4d } ,
{ 0x00 , 0x6e , 0x4e } ,
{ 0x00 , 0x6f , 0x4f } ,
{ 0x00 , 0x70 , 0x50 } ,
{ 0x00 , 0x71 , 0x51 } ,
{ 0x00 , 0x72 , 0x52 } ,
{ 0x00 , 0x73 , 0x53 } ,
{ 0x00 , 0x74 , 0x54 } ,
{ 0x00 , 0x75 , 0x55 } ,
{ 0x00 , 0x76 , 0x56 } ,
{ 0x00 , 0x77 , 0x57 } ,
{ 0x00 , 0x78 , 0x58 } ,
{ 0x00 , 0x79 , 0x59 } ,
{ 0x00 , 0x7a , 0x5a } ,
{ 0x00 , 0x7b , 0x7b } ,
{ 0x00 , 0x7c , 0x7c } ,
{ 0x00 , 0x7d , 0x7d } ,
{ 0x00 , 0x7e , 0x7e } ,
{ 0x00 , 0x7f , 0x7f } ,
{ 0x00 , 0x80 , 0x80 } ,
{ 0x00 , 0x81 , 0x81 } ,
{ 0x00 , 0x82 , 0x82 } ,
{ 0x00 , 0x83 , 0x83 } ,
{ 0x00 , 0x84 , 0x84 } ,
{ 0x00 , 0x85 , 0x85 } ,
{ 0x00 , 0x86 , 0x86 } ,
{ 0x00 , 0x87 , 0x87 } ,
{ 0x00 , 0x88 , 0x88 } ,
{ 0x00 , 0x89 , 0x89 } ,
{ 0x00 , 0x8a , 0x8a } ,
{ 0x00 , 0x8b , 0x8b } ,
{ 0x00 , 0x8c , 0x8c } ,
{ 0x00 , 0x8d , 0x8d } ,
{ 0x00 , 0x8e , 0x8e } ,
{ 0x00 , 0x8f , 0x8f } ,
{ 0x00 , 0x90 , 0x90 } ,
{ 0x00 , 0x91 , 0x91 } ,
{ 0x00 , 0x92 , 0x92 } ,
{ 0x00 , 0x93 , 0x93 } ,
{ 0x00 , 0x94 , 0x94 } ,
{ 0x00 , 0x95 , 0x95 } ,
{ 0x00 , 0x96 , 0x96 } ,
{ 0x00 , 0x97 , 0x97 } ,
{ 0x00 , 0x98 , 0x98 } ,
{ 0x00 , 0x99 , 0x99 } ,
{ 0x00 , 0x9a , 0x9a } ,
{ 0x00 , 0x9b , 0x9b } ,
{ 0x00 , 0x9c , 0x9c } ,
{ 0x00 , 0x9d , 0x9d } ,
{ 0x00 , 0x9e , 0x9e } ,
{ 0x00 , 0x9f , 0x9f } ,
{ 0x00 , 0xa0 , 0xa0 } ,
{ 0x00 , 0xa1 , 0xa1 } ,
{ 0x00 , 0xa2 , 0xa2 } ,
{ 0x00 , 0xa3 , 0xa3 } ,
{ 0x00 , 0xa4 , 0xa4 } ,
{ 0x00 , 0xa5 , 0xa5 } ,
{ 0x00 , 0xa6 , 0xa6 } ,
{ 0x00 , 0xa7 , 0xa7 } ,
{ 0x00 , 0xa8 , 0xa8 } ,
{ 0x00 , 0xa9 , 0xa9 } ,
{ 0x00 , 0xaa , 0xaa } ,
{ 0x00 , 0xab , 0xab } ,
{ 0x00 , 0xac , 0xac } ,
{ 0x00 , 0xad , 0xad } ,
{ 0x00 , 0xae , 0xae } ,
{ 0x00 , 0xaf , 0xaf } ,
{ 0x00 , 0xb0 , 0xb0 } ,
{ 0x00 , 0xb1 , 0xb1 } ,
{ 0x00 , 0xb2 , 0xb2 } ,
{ 0x00 , 0xb3 , 0xb3 } ,
{ 0x00 , 0xb4 , 0xb4 } ,
{ 0x00 , 0xb5 , 0xb5 } ,
{ 0x00 , 0xb6 , 0xb6 } ,
{ 0x00 , 0xb7 , 0xb7 } ,
{ 0x00 , 0xb8 , 0xb8 } ,
{ 0x00 , 0xb9 , 0xb9 } ,
{ 0x00 , 0xba , 0xba } ,
{ 0x00 , 0xbb , 0xbb } ,
{ 0x00 , 0xbc , 0xbc } ,
{ 0x00 , 0xbd , 0xbd } ,
{ 0x00 , 0xbe , 0xbe } ,
{ 0x00 , 0xbf , 0xbf } ,
{ 0x00 , 0xc0 , 0xc0 } ,
{ 0x00 , 0xc1 , 0xc1 } ,
{ 0x00 , 0xc2 , 0xc2 } ,
{ 0x00 , 0xc3 , 0xc3 } ,
{ 0x00 , 0xc4 , 0xc4 } ,
{ 0x00 , 0xc5 , 0xc5 } ,
{ 0x00 , 0xc6 , 0xc6 } ,
{ 0x00 , 0xc7 , 0xc7 } ,
{ 0x00 , 0xc8 , 0xc8 } ,
{ 0x00 , 0xc9 , 0xc9 } ,
{ 0x00 , 0xca , 0xca } ,
{ 0x00 , 0xcb , 0xcb } ,
{ 0x00 , 0xcc , 0xcc } ,
{ 0x00 , 0xcd , 0xcd } ,
{ 0x00 , 0xce , 0xce } ,
{ 0x00 , 0xcf , 0xcf } ,
{ 0x00 , 0xd0 , 0xd0 } ,
{ 0x00 , 0xd1 , 0xd1 } ,
{ 0x00 , 0xd2 , 0xd2 } ,
{ 0x00 , 0xd3 , 0xd3 } ,
{ 0x00 , 0xd4 , 0xd4 } ,
{ 0x00 , 0xd5 , 0xd5 } ,
{ 0x00 , 0xd6 , 0xd6 } ,
{ 0x00 , 0xd7 , 0xd7 } ,
{ 0x00 , 0xd8 , 0xd8 } ,
{ 0x00 , 0xd9 , 0xd9 } ,
{ 0x00 , 0xda , 0xda } ,
{ 0x00 , 0xdb , 0xdb } ,
{ 0x00 , 0xdc , 0xdc } ,
{ 0x00 , 0xdd , 0xdd } ,
{ 0x00 , 0xde , 0xde } ,
{ 0x00 , 0xdf , 0xdf } ,
{ 0x00 , 0xe0 , 0xe0 } ,
{ 0x00 , 0xe1 , 0xe1 } ,
{ 0x00 , 0xe2 , 0xe2 } ,
{ 0x00 , 0xe3 , 0xe3 } ,
{ 0x00 , 0xe4 , 0xe4 } ,
{ 0x00 , 0xe5 , 0xe5 } ,
{ 0x00 , 0xe6 , 0xe6 } ,
{ 0x00 , 0xe7 , 0xe7 } ,
{ 0x00 , 0xe8 , 0xe8 } ,
{ 0x00 , 0xe9 , 0xe9 } ,
{ 0x00 , 0xea , 0xea } ,
{ 0x00 , 0xeb , 0xeb } ,
{ 0x00 , 0xec , 0xec } ,
{ 0x00 , 0xed , 0xed } ,
{ 0x00 , 0xee , 0xee } ,
{ 0x00 , 0xef , 0xef } ,
{ 0x00 , 0xf0 , 0xf0 } ,
{ 0x00 , 0xf1 , 0xf1 } ,
{ 0x00 , 0xf2 , 0xf2 } ,
{ 0x00 , 0xf3 , 0xf3 } ,
{ 0x00 , 0xf4 , 0xf4 } ,
{ 0x00 , 0xf5 , 0xf5 } ,
{ 0x00 , 0xf6 , 0xf6 } ,
{ 0x00 , 0xf7 , 0xf7 } ,
{ 0x00 , 0xf8 , 0xf8 } ,
{ 0x00 , 0xf9 , 0xf9 } ,
{ 0x00 , 0xfa , 0xfa } ,
{ 0x00 , 0xfb , 0xfb } ,
{ 0x00 , 0xfc , 0xfc } ,
{ 0x00 , 0xfd , 0xfd } ,
{ 0x00 , 0xfe , 0xfe } ,
2008-11-04 14:05:31 -08:00
{ 0x00 , 0xff , 0xff }
2007-07-02 10:29:22 -07:00
} ;
2010-06-08 23:06:40 -07:00
static struct cs_info iso9_tbl [ ] = {
2007-07-02 10:29:22 -07:00
{ 0x00 , 0x00 , 0x00 } ,
{ 0x00 , 0x01 , 0x01 } ,
{ 0x00 , 0x02 , 0x02 } ,
{ 0x00 , 0x03 , 0x03 } ,
{ 0x00 , 0x04 , 0x04 } ,
{ 0x00 , 0x05 , 0x05 } ,
{ 0x00 , 0x06 , 0x06 } ,
{ 0x00 , 0x07 , 0x07 } ,
{ 0x00 , 0x08 , 0x08 } ,
{ 0x00 , 0x09 , 0x09 } ,
{ 0x00 , 0x0a , 0x0a } ,
{ 0x00 , 0x0b , 0x0b } ,
{ 0x00 , 0x0c , 0x0c } ,
{ 0x00 , 0x0d , 0x0d } ,
{ 0x00 , 0x0e , 0x0e } ,
{ 0x00 , 0x0f , 0x0f } ,
{ 0x00 , 0x10 , 0x10 } ,
{ 0x00 , 0x11 , 0x11 } ,
{ 0x00 , 0x12 , 0x12 } ,
{ 0x00 , 0x13 , 0x13 } ,
{ 0x00 , 0x14 , 0x14 } ,
{ 0x00 , 0x15 , 0x15 } ,
{ 0x00 , 0x16 , 0x16 } ,
{ 0x00 , 0x17 , 0x17 } ,
{ 0x00 , 0x18 , 0x18 } ,
{ 0x00 , 0x19 , 0x19 } ,
{ 0x00 , 0x1a , 0x1a } ,
{ 0x00 , 0x1b , 0x1b } ,
{ 0x00 , 0x1c , 0x1c } ,
{ 0x00 , 0x1d , 0x1d } ,
{ 0x00 , 0x1e , 0x1e } ,
{ 0x00 , 0x1f , 0x1f } ,
{ 0x00 , 0x20 , 0x20 } ,
{ 0x00 , 0x21 , 0x21 } ,
{ 0x00 , 0x22 , 0x22 } ,
{ 0x00 , 0x23 , 0x23 } ,
{ 0x00 , 0x24 , 0x24 } ,
{ 0x00 , 0x25 , 0x25 } ,
{ 0x00 , 0x26 , 0x26 } ,
{ 0x00 , 0x27 , 0x27 } ,
{ 0x00 , 0x28 , 0x28 } ,
{ 0x00 , 0x29 , 0x29 } ,
{ 0x00 , 0x2a , 0x2a } ,
{ 0x00 , 0x2b , 0x2b } ,
{ 0x00 , 0x2c , 0x2c } ,
{ 0x00 , 0x2d , 0x2d } ,
{ 0x00 , 0x2e , 0x2e } ,
{ 0x00 , 0x2f , 0x2f } ,
{ 0x00 , 0x30 , 0x30 } ,
{ 0x00 , 0x31 , 0x31 } ,
{ 0x00 , 0x32 , 0x32 } ,
{ 0x00 , 0x33 , 0x33 } ,
{ 0x00 , 0x34 , 0x34 } ,
{ 0x00 , 0x35 , 0x35 } ,
{ 0x00 , 0x36 , 0x36 } ,
{ 0x00 , 0x37 , 0x37 } ,
{ 0x00 , 0x38 , 0x38 } ,
{ 0x00 , 0x39 , 0x39 } ,
{ 0x00 , 0x3a , 0x3a } ,
{ 0x00 , 0x3b , 0x3b } ,
{ 0x00 , 0x3c , 0x3c } ,
{ 0x00 , 0x3d , 0x3d } ,
{ 0x00 , 0x3e , 0x3e } ,
{ 0x00 , 0x3f , 0x3f } ,
{ 0x00 , 0x40 , 0x40 } ,
{ 0x01 , 0x61 , 0x41 } ,
{ 0x01 , 0x62 , 0x42 } ,
{ 0x01 , 0x63 , 0x43 } ,
{ 0x01 , 0x64 , 0x44 } ,
{ 0x01 , 0x65 , 0x45 } ,
{ 0x01 , 0x66 , 0x46 } ,
{ 0x01 , 0x67 , 0x47 } ,
{ 0x01 , 0x68 , 0x48 } ,
{ 0x01 , 0xfd , 0x49 } ,
{ 0x01 , 0x6a , 0x4a } ,
{ 0x01 , 0x6b , 0x4b } ,
{ 0x01 , 0x6c , 0x4c } ,
{ 0x01 , 0x6d , 0x4d } ,
{ 0x01 , 0x6e , 0x4e } ,
{ 0x01 , 0x6f , 0x4f } ,
{ 0x01 , 0x70 , 0x50 } ,
{ 0x01 , 0x71 , 0x51 } ,
{ 0x01 , 0x72 , 0x52 } ,
{ 0x01 , 0x73 , 0x53 } ,
{ 0x01 , 0x74 , 0x54 } ,
{ 0x01 , 0x75 , 0x55 } ,
{ 0x01 , 0x76 , 0x56 } ,
{ 0x01 , 0x77 , 0x57 } ,
{ 0x01 , 0x78 , 0x58 } ,
{ 0x01 , 0x79 , 0x59 } ,
{ 0x01 , 0x7a , 0x5a } ,
{ 0x00 , 0x5b , 0x5b } ,
{ 0x00 , 0x5c , 0x5c } ,
{ 0x00 , 0x5d , 0x5d } ,
{ 0x00 , 0x5e , 0x5e } ,
{ 0x00 , 0x5f , 0x5f } ,
{ 0x00 , 0x60 , 0x60 } ,
{ 0x00 , 0x61 , 0x41 } ,
{ 0x00 , 0x62 , 0x42 } ,
{ 0x00 , 0x63 , 0x43 } ,
{ 0x00 , 0x64 , 0x44 } ,
{ 0x00 , 0x65 , 0x45 } ,
{ 0x00 , 0x66 , 0x46 } ,
{ 0x00 , 0x67 , 0x47 } ,
{ 0x00 , 0x68 , 0x48 } ,
{ 0x00 , 0x69 , 0xdd } ,
{ 0x00 , 0x6a , 0x4a } ,
{ 0x00 , 0x6b , 0x4b } ,
{ 0x00 , 0x6c , 0x4c } ,
{ 0x00 , 0x6d , 0x4d } ,
{ 0x00 , 0x6e , 0x4e } ,
{ 0x00 , 0x6f , 0x4f } ,
{ 0x00 , 0x70 , 0x50 } ,
{ 0x00 , 0x71 , 0x51 } ,
{ 0x00 , 0x72 , 0x52 } ,
{ 0x00 , 0x73 , 0x53 } ,
{ 0x00 , 0x74 , 0x54 } ,
{ 0x00 , 0x75 , 0x55 } ,
{ 0x00 , 0x76 , 0x56 } ,
{ 0x00 , 0x77 , 0x57 } ,
{ 0x00 , 0x78 , 0x58 } ,
{ 0x00 , 0x79 , 0x59 } ,
{ 0x00 , 0x7a , 0x5a } ,
{ 0x00 , 0x7b , 0x7b } ,
{ 0x00 , 0x7c , 0x7c } ,
{ 0x00 , 0x7d , 0x7d } ,
{ 0x00 , 0x7e , 0x7e } ,
{ 0x00 , 0x7f , 0x7f } ,
{ 0x00 , 0x80 , 0x80 } ,
{ 0x00 , 0x81 , 0x81 } ,
{ 0x00 , 0x82 , 0x82 } ,
{ 0x00 , 0x83 , 0x83 } ,
{ 0x00 , 0x84 , 0x84 } ,
{ 0x00 , 0x85 , 0x85 } ,
{ 0x00 , 0x86 , 0x86 } ,
{ 0x00 , 0x87 , 0x87 } ,
{ 0x00 , 0x88 , 0x88 } ,
{ 0x00 , 0x89 , 0x89 } ,
{ 0x00 , 0x8a , 0x8a } ,
{ 0x00 , 0x8b , 0x8b } ,
{ 0x00 , 0x8c , 0x8c } ,
{ 0x00 , 0x8d , 0x8d } ,
{ 0x00 , 0x8e , 0x8e } ,
{ 0x00 , 0x8f , 0x8f } ,
{ 0x00 , 0x90 , 0x90 } ,
{ 0x00 , 0x91 , 0x91 } ,
{ 0x00 , 0x92 , 0x92 } ,
{ 0x00 , 0x93 , 0x93 } ,
{ 0x00 , 0x94 , 0x94 } ,
{ 0x00 , 0x95 , 0x95 } ,
{ 0x00 , 0x96 , 0x96 } ,
{ 0x00 , 0x97 , 0x97 } ,
{ 0x00 , 0x98 , 0x98 } ,
{ 0x00 , 0x99 , 0x99 } ,
{ 0x00 , 0x9a , 0x9a } ,
{ 0x00 , 0x9b , 0x9b } ,
{ 0x00 , 0x9c , 0x9c } ,
{ 0x00 , 0x9d , 0x9d } ,
{ 0x00 , 0x9e , 0x9e } ,
{ 0x00 , 0x9f , 0x9f } ,
{ 0x00 , 0xa0 , 0xa0 } ,
{ 0x00 , 0xa1 , 0xa1 } ,
{ 0x00 , 0xa2 , 0xa2 } ,
{ 0x00 , 0xa3 , 0xa3 } ,
{ 0x00 , 0xa4 , 0xa4 } ,
{ 0x00 , 0xa5 , 0xa5 } ,
{ 0x00 , 0xa6 , 0xa6 } ,
{ 0x00 , 0xa7 , 0xa7 } ,
{ 0x00 , 0xa8 , 0xa8 } ,
{ 0x00 , 0xa9 , 0xa9 } ,
{ 0x00 , 0xaa , 0xaa } ,
{ 0x00 , 0xab , 0xab } ,
{ 0x00 , 0xac , 0xac } ,
{ 0x00 , 0xad , 0xad } ,
{ 0x00 , 0xae , 0xae } ,
{ 0x00 , 0xaf , 0xaf } ,
{ 0x00 , 0xb0 , 0xb0 } ,
{ 0x00 , 0xb1 , 0xb1 } ,
{ 0x00 , 0xb2 , 0xb2 } ,
{ 0x00 , 0xb3 , 0xb3 } ,
{ 0x00 , 0xb4 , 0xb4 } ,
{ 0x00 , 0xb5 , 0xb5 } ,
{ 0x00 , 0xb6 , 0xb6 } ,
{ 0x00 , 0xb7 , 0xb7 } ,
{ 0x00 , 0xb8 , 0xb8 } ,
{ 0x00 , 0xb9 , 0xb9 } ,
{ 0x00 , 0xba , 0xba } ,
{ 0x00 , 0xbb , 0xbb } ,
{ 0x00 , 0xbc , 0xbc } ,
{ 0x00 , 0xbd , 0xbd } ,
{ 0x00 , 0xbe , 0xbe } ,
{ 0x00 , 0xbf , 0xbf } ,
{ 0x01 , 0xe0 , 0xc0 } ,
{ 0x01 , 0xe1 , 0xc1 } ,
{ 0x01 , 0xe2 , 0xc2 } ,
{ 0x01 , 0xe3 , 0xc3 } ,
{ 0x01 , 0xe4 , 0xc4 } ,
{ 0x01 , 0xe5 , 0xc5 } ,
{ 0x01 , 0xe6 , 0xc6 } ,
{ 0x01 , 0xe7 , 0xc7 } ,
{ 0x01 , 0xe8 , 0xc8 } ,
{ 0x01 , 0xe9 , 0xc9 } ,
{ 0x01 , 0xea , 0xca } ,
{ 0x01 , 0xeb , 0xcb } ,
{ 0x01 , 0xec , 0xcc } ,
{ 0x01 , 0xed , 0xcd } ,
{ 0x01 , 0xee , 0xce } ,
{ 0x01 , 0xef , 0xcf } ,
{ 0x01 , 0xf0 , 0xd0 } ,
{ 0x01 , 0xf1 , 0xd1 } ,
{ 0x01 , 0xf2 , 0xd2 } ,
{ 0x01 , 0xf3 , 0xd3 } ,
{ 0x01 , 0xf4 , 0xd4 } ,
{ 0x01 , 0xf5 , 0xd5 } ,
{ 0x01 , 0xf6 , 0xd6 } ,
{ 0x00 , 0xd7 , 0xd7 } ,
{ 0x01 , 0xf8 , 0xd8 } ,
{ 0x01 , 0xf9 , 0xd9 } ,
{ 0x01 , 0xfa , 0xda } ,
{ 0x01 , 0xfb , 0xdb } ,
{ 0x01 , 0xfc , 0xdc } ,
{ 0x01 , 0x69 , 0xdd } ,
{ 0x01 , 0xfe , 0xde } ,
{ 0x00 , 0xdf , 0xdf } ,
{ 0x00 , 0xe0 , 0xc0 } ,
{ 0x00 , 0xe1 , 0xc1 } ,
{ 0x00 , 0xe2 , 0xc2 } ,
{ 0x00 , 0xe3 , 0xc3 } ,
{ 0x00 , 0xe4 , 0xc4 } ,
{ 0x00 , 0xe5 , 0xc5 } ,
{ 0x00 , 0xe6 , 0xc6 } ,
{ 0x00 , 0xe7 , 0xc7 } ,
{ 0x00 , 0xe8 , 0xc8 } ,
{ 0x00 , 0xe9 , 0xc9 } ,
{ 0x00 , 0xea , 0xca } ,
{ 0x00 , 0xeb , 0xcb } ,
{ 0x00 , 0xec , 0xcc } ,
{ 0x00 , 0xed , 0xcd } ,
{ 0x00 , 0xee , 0xce } ,
{ 0x00 , 0xef , 0xcf } ,
{ 0x00 , 0xf0 , 0xd0 } ,
{ 0x00 , 0xf1 , 0xd1 } ,
{ 0x00 , 0xf2 , 0xd2 } ,
{ 0x00 , 0xf3 , 0xd3 } ,
{ 0x00 , 0xf4 , 0xd4 } ,
{ 0x00 , 0xf5 , 0xd5 } ,
{ 0x00 , 0xf6 , 0xd6 } ,
{ 0x00 , 0xf7 , 0xf7 } ,
{ 0x00 , 0xf8 , 0xd8 } ,
{ 0x00 , 0xf9 , 0xd9 } ,
{ 0x00 , 0xfa , 0xda } ,
{ 0x00 , 0xfb , 0xdb } ,
{ 0x00 , 0xfc , 0xdc } ,
{ 0x00 , 0xfd , 0x49 } ,
{ 0x00 , 0xfe , 0xde } ,
2008-11-04 14:05:31 -08:00
{ 0x00 , 0xff , 0xff }
2007-07-02 10:29:22 -07:00
} ;
2010-06-08 23:06:40 -07:00
static struct cs_info iso10_tbl [ ] = {
2007-07-02 10:29:22 -07:00
{ 0x00 , 0x00 , 0x00 } ,
{ 0x00 , 0x01 , 0x01 } ,
{ 0x00 , 0x02 , 0x02 } ,
{ 0x00 , 0x03 , 0x03 } ,
{ 0x00 , 0x04 , 0x04 } ,
{ 0x00 , 0x05 , 0x05 } ,
{ 0x00 , 0x06 , 0x06 } ,
{ 0x00 , 0x07 , 0x07 } ,
{ 0x00 , 0x08 , 0x08 } ,
{ 0x00 , 0x09 , 0x09 } ,
{ 0x00 , 0x0a , 0x0a } ,
{ 0x00 , 0x0b , 0x0b } ,
{ 0x00 , 0x0c , 0x0c } ,
{ 0x00 , 0x0d , 0x0d } ,
{ 0x00 , 0x0e , 0x0e } ,
{ 0x00 , 0x0f , 0x0f } ,
{ 0x00 , 0x10 , 0x10 } ,
{ 0x00 , 0x11 , 0x11 } ,
{ 0x00 , 0x12 , 0x12 } ,
{ 0x00 , 0x13 , 0x13 } ,
{ 0x00 , 0x14 , 0x14 } ,
{ 0x00 , 0x15 , 0x15 } ,
{ 0x00 , 0x16 , 0x16 } ,
{ 0x00 , 0x17 , 0x17 } ,
{ 0x00 , 0x18 , 0x18 } ,
{ 0x00 , 0x19 , 0x19 } ,
{ 0x00 , 0x1a , 0x1a } ,
{ 0x00 , 0x1b , 0x1b } ,
{ 0x00 , 0x1c , 0x1c } ,
{ 0x00 , 0x1d , 0x1d } ,
{ 0x00 , 0x1e , 0x1e } ,
{ 0x00 , 0x1f , 0x1f } ,
{ 0x00 , 0x20 , 0x20 } ,
{ 0x00 , 0x21 , 0x21 } ,
{ 0x00 , 0x22 , 0x22 } ,
{ 0x00 , 0x23 , 0x23 } ,
{ 0x00 , 0x24 , 0x24 } ,
{ 0x00 , 0x25 , 0x25 } ,
{ 0x00 , 0x26 , 0x26 } ,
{ 0x00 , 0x27 , 0x27 } ,
{ 0x00 , 0x28 , 0x28 } ,
{ 0x00 , 0x29 , 0x29 } ,
{ 0x00 , 0x2a , 0x2a } ,
{ 0x00 , 0x2b , 0x2b } ,
{ 0x00 , 0x2c , 0x2c } ,
{ 0x00 , 0x2d , 0x2d } ,
{ 0x00 , 0x2e , 0x2e } ,
{ 0x00 , 0x2f , 0x2f } ,
{ 0x00 , 0x30 , 0x30 } ,
{ 0x00 , 0x31 , 0x31 } ,
{ 0x00 , 0x32 , 0x32 } ,
{ 0x00 , 0x33 , 0x33 } ,
{ 0x00 , 0x34 , 0x34 } ,
{ 0x00 , 0x35 , 0x35 } ,
{ 0x00 , 0x36 , 0x36 } ,
{ 0x00 , 0x37 , 0x37 } ,
{ 0x00 , 0x38 , 0x38 } ,
{ 0x00 , 0x39 , 0x39 } ,
{ 0x00 , 0x3a , 0x3a } ,
{ 0x00 , 0x3b , 0x3b } ,
{ 0x00 , 0x3c , 0x3c } ,
{ 0x00 , 0x3d , 0x3d } ,
{ 0x00 , 0x3e , 0x3e } ,
{ 0x00 , 0x3f , 0x3f } ,
{ 0x00 , 0x40 , 0x40 } ,
{ 0x01 , 0x61 , 0x41 } ,
{ 0x01 , 0x62 , 0x42 } ,
{ 0x01 , 0x63 , 0x43 } ,
{ 0x01 , 0x64 , 0x44 } ,
{ 0x01 , 0x65 , 0x45 } ,
{ 0x01 , 0x66 , 0x46 } ,
{ 0x01 , 0x67 , 0x47 } ,
{ 0x01 , 0x68 , 0x48 } ,
{ 0x01 , 0x69 , 0x49 } ,
{ 0x01 , 0x6a , 0x4a } ,
{ 0x01 , 0x6b , 0x4b } ,
{ 0x01 , 0x6c , 0x4c } ,
{ 0x01 , 0x6d , 0x4d } ,
{ 0x01 , 0x6e , 0x4e } ,
{ 0x01 , 0x6f , 0x4f } ,
{ 0x01 , 0x70 , 0x50 } ,
{ 0x01 , 0x71 , 0x51 } ,
{ 0x01 , 0x72 , 0x52 } ,
{ 0x01 , 0x73 , 0x53 } ,
{ 0x01 , 0x74 , 0x54 } ,
{ 0x01 , 0x75 , 0x55 } ,
{ 0x01 , 0x76 , 0x56 } ,
{ 0x01 , 0x77 , 0x57 } ,
{ 0x01 , 0x78 , 0x58 } ,
{ 0x01 , 0x79 , 0x59 } ,
{ 0x01 , 0x7a , 0x5a } ,
{ 0x00 , 0x5b , 0x5b } ,
{ 0x00 , 0x5c , 0x5c } ,
{ 0x00 , 0x5d , 0x5d } ,
{ 0x00 , 0x5e , 0x5e } ,
{ 0x00 , 0x5f , 0x5f } ,
{ 0x00 , 0x60 , 0x60 } ,
{ 0x00 , 0x61 , 0x41 } ,
{ 0x00 , 0x62 , 0x42 } ,
{ 0x00 , 0x63 , 0x43 } ,
{ 0x00 , 0x64 , 0x44 } ,
{ 0x00 , 0x65 , 0x45 } ,
{ 0x00 , 0x66 , 0x46 } ,
{ 0x00 , 0x67 , 0x47 } ,
{ 0x00 , 0x68 , 0x48 } ,
{ 0x00 , 0x69 , 0x49 } ,
{ 0x00 , 0x6a , 0x4a } ,
{ 0x00 , 0x6b , 0x4b } ,
{ 0x00 , 0x6c , 0x4c } ,
{ 0x00 , 0x6d , 0x4d } ,
{ 0x00 , 0x6e , 0x4e } ,
{ 0x00 , 0x6f , 0x4f } ,
{ 0x00 , 0x70 , 0x50 } ,
{ 0x00 , 0x71 , 0x51 } ,
{ 0x00 , 0x72 , 0x52 } ,
{ 0x00 , 0x73 , 0x53 } ,
{ 0x00 , 0x74 , 0x54 } ,
{ 0x00 , 0x75 , 0x55 } ,
{ 0x00 , 0x76 , 0x56 } ,
{ 0x00 , 0x77 , 0x57 } ,
{ 0x00 , 0x78 , 0x58 } ,
{ 0x00 , 0x79 , 0x59 } ,
{ 0x00 , 0x7a , 0x5a } ,
{ 0x00 , 0x7b , 0x7b } ,
{ 0x00 , 0x7c , 0x7c } ,
{ 0x00 , 0x7d , 0x7d } ,
{ 0x00 , 0x7e , 0x7e } ,
{ 0x00 , 0x7f , 0x7f } ,
{ 0x00 , 0x80 , 0x80 } ,
{ 0x00 , 0x81 , 0x81 } ,
{ 0x00 , 0x82 , 0x82 } ,
{ 0x00 , 0x83 , 0x83 } ,
{ 0x00 , 0x84 , 0x84 } ,
{ 0x00 , 0x85 , 0x85 } ,
{ 0x00 , 0x86 , 0x86 } ,
{ 0x00 , 0x87 , 0x87 } ,
{ 0x00 , 0x88 , 0x88 } ,
{ 0x00 , 0x89 , 0x89 } ,
{ 0x00 , 0x8a , 0x8a } ,
{ 0x00 , 0x8b , 0x8b } ,
{ 0x00 , 0x8c , 0x8c } ,
{ 0x00 , 0x8d , 0x8d } ,
{ 0x00 , 0x8e , 0x8e } ,
{ 0x00 , 0x8f , 0x8f } ,
{ 0x00 , 0x90 , 0x90 } ,
{ 0x00 , 0x91 , 0x91 } ,
{ 0x00 , 0x92 , 0x92 } ,
{ 0x00 , 0x93 , 0x93 } ,
{ 0x00 , 0x94 , 0x94 } ,
{ 0x00 , 0x95 , 0x95 } ,
{ 0x00 , 0x96 , 0x96 } ,
{ 0x00 , 0x97 , 0x97 } ,
{ 0x00 , 0x98 , 0x98 } ,
{ 0x00 , 0x99 , 0x99 } ,
{ 0x00 , 0x9a , 0x9a } ,
{ 0x00 , 0x9b , 0x9b } ,
{ 0x00 , 0x9c , 0x9c } ,
{ 0x00 , 0x9d , 0x9d } ,
{ 0x00 , 0x9e , 0x9e } ,
{ 0x00 , 0x9f , 0x9f } ,
{ 0x00 , 0xa0 , 0xa0 } ,
{ 0x00 , 0xa1 , 0xa1 } ,
{ 0x00 , 0xa2 , 0xa2 } ,
{ 0x00 , 0xa3 , 0xa3 } ,
{ 0x00 , 0xa4 , 0xa4 } ,
{ 0x00 , 0xa5 , 0xa5 } ,
{ 0x00 , 0xa6 , 0xa6 } ,
{ 0x00 , 0xa7 , 0xa7 } ,
{ 0x00 , 0xa8 , 0xa8 } ,
{ 0x00 , 0xa9 , 0xa9 } ,
{ 0x00 , 0xaa , 0xaa } ,
{ 0x00 , 0xab , 0xab } ,
{ 0x00 , 0xac , 0xac } ,
{ 0x00 , 0xad , 0xad } ,
{ 0x00 , 0xae , 0xae } ,
{ 0x00 , 0xaf , 0xaf } ,
{ 0x00 , 0xb0 , 0xb0 } ,
{ 0x00 , 0xb1 , 0xb1 } ,
{ 0x00 , 0xb2 , 0xb2 } ,
{ 0x00 , 0xb3 , 0xb3 } ,
{ 0x00 , 0xb4 , 0xb4 } ,
{ 0x00 , 0xb5 , 0xb5 } ,
{ 0x00 , 0xb6 , 0xb6 } ,
{ 0x00 , 0xb7 , 0xb7 } ,
{ 0x00 , 0xb8 , 0xb8 } ,
{ 0x00 , 0xb9 , 0xb9 } ,
{ 0x00 , 0xba , 0xba } ,
{ 0x00 , 0xbb , 0xbb } ,
{ 0x00 , 0xbc , 0xbc } ,
{ 0x00 , 0xbd , 0xbd } ,
{ 0x00 , 0xbe , 0xbe } ,
{ 0x00 , 0xbf , 0xbf } ,
{ 0x00 , 0xc0 , 0xc0 } ,
{ 0x00 , 0xc1 , 0xc1 } ,
{ 0x00 , 0xc2 , 0xc2 } ,
{ 0x00 , 0xc3 , 0xc3 } ,
{ 0x00 , 0xc4 , 0xc4 } ,
{ 0x00 , 0xc5 , 0xc5 } ,
{ 0x00 , 0xc6 , 0xc6 } ,
{ 0x00 , 0xc7 , 0xc7 } ,
{ 0x00 , 0xc8 , 0xc8 } ,
{ 0x00 , 0xc9 , 0xc9 } ,
{ 0x00 , 0xca , 0xca } ,
{ 0x00 , 0xcb , 0xcb } ,
{ 0x00 , 0xcc , 0xcc } ,
{ 0x00 , 0xcd , 0xcd } ,
{ 0x00 , 0xce , 0xce } ,
{ 0x00 , 0xcf , 0xcf } ,
{ 0x00 , 0xd0 , 0xd0 } ,
{ 0x00 , 0xd1 , 0xd1 } ,
{ 0x00 , 0xd2 , 0xd2 } ,
{ 0x00 , 0xd3 , 0xd3 } ,
{ 0x00 , 0xd4 , 0xd4 } ,
{ 0x00 , 0xd5 , 0xd5 } ,
{ 0x00 , 0xd6 , 0xd6 } ,
{ 0x00 , 0xd7 , 0xd7 } ,
{ 0x00 , 0xd8 , 0xd8 } ,
{ 0x00 , 0xd9 , 0xd9 } ,
{ 0x00 , 0xda , 0xda } ,
{ 0x00 , 0xdb , 0xdb } ,
{ 0x00 , 0xdc , 0xdc } ,
{ 0x00 , 0xdd , 0xdd } ,
{ 0x00 , 0xde , 0xde } ,
{ 0x00 , 0xdf , 0xdf } ,
{ 0x00 , 0xe0 , 0xe0 } ,
{ 0x00 , 0xe1 , 0xe1 } ,
{ 0x00 , 0xe2 , 0xe2 } ,
{ 0x00 , 0xe3 , 0xe3 } ,
{ 0x00 , 0xe4 , 0xe4 } ,
{ 0x00 , 0xe5 , 0xe5 } ,
{ 0x00 , 0xe6 , 0xe6 } ,
{ 0x00 , 0xe7 , 0xe7 } ,
{ 0x00 , 0xe8 , 0xe8 } ,
{ 0x00 , 0xe9 , 0xe9 } ,
{ 0x00 , 0xea , 0xea } ,
{ 0x00 , 0xeb , 0xeb } ,
{ 0x00 , 0xec , 0xec } ,
{ 0x00 , 0xed , 0xed } ,
{ 0x00 , 0xee , 0xee } ,
{ 0x00 , 0xef , 0xef } ,
{ 0x00 , 0xf0 , 0xf0 } ,
{ 0x00 , 0xf1 , 0xf1 } ,
{ 0x00 , 0xf2 , 0xf2 } ,
{ 0x00 , 0xf3 , 0xf3 } ,
{ 0x00 , 0xf4 , 0xf4 } ,
{ 0x00 , 0xf5 , 0xf5 } ,
{ 0x00 , 0xf6 , 0xf6 } ,
{ 0x00 , 0xf7 , 0xf7 } ,
{ 0x00 , 0xf8 , 0xf8 } ,
{ 0x00 , 0xf9 , 0xf9 } ,
{ 0x00 , 0xfa , 0xfa } ,
{ 0x00 , 0xfb , 0xfb } ,
{ 0x00 , 0xfc , 0xfc } ,
{ 0x00 , 0xfd , 0xfd } ,
{ 0x00 , 0xfe , 0xfe } ,
2008-11-04 14:05:31 -08:00
{ 0x00 , 0xff , 0xff }
2007-07-02 10:29:22 -07:00
} ;
2010-06-08 23:06:40 -07:00
static struct cs_info koi8r_tbl [ ] = {
2007-07-02 10:29:22 -07:00
{ 0x00 , 0x00 , 0x00 } ,
{ 0x00 , 0x01 , 0x01 } ,
{ 0x00 , 0x02 , 0x02 } ,
{ 0x00 , 0x03 , 0x03 } ,
{ 0x00 , 0x04 , 0x04 } ,
{ 0x00 , 0x05 , 0x05 } ,
{ 0x00 , 0x06 , 0x06 } ,
{ 0x00 , 0x07 , 0x07 } ,
{ 0x00 , 0x08 , 0x08 } ,
{ 0x00 , 0x09 , 0x09 } ,
{ 0x00 , 0x0a , 0x0a } ,
{ 0x00 , 0x0b , 0x0b } ,
{ 0x00 , 0x0c , 0x0c } ,
{ 0x00 , 0x0d , 0x0d } ,
{ 0x00 , 0x0e , 0x0e } ,
{ 0x00 , 0x0f , 0x0f } ,
{ 0x00 , 0x10 , 0x10 } ,
{ 0x00 , 0x11 , 0x11 } ,
{ 0x00 , 0x12 , 0x12 } ,
{ 0x00 , 0x13 , 0x13 } ,
{ 0x00 , 0x14 , 0x14 } ,
{ 0x00 , 0x15 , 0x15 } ,
{ 0x00 , 0x16 , 0x16 } ,
{ 0x00 , 0x17 , 0x17 } ,
{ 0x00 , 0x18 , 0x18 } ,
{ 0x00 , 0x19 , 0x19 } ,
{ 0x00 , 0x1a , 0x1a } ,
{ 0x00 , 0x1b , 0x1b } ,
{ 0x00 , 0x1c , 0x1c } ,
{ 0x00 , 0x1d , 0x1d } ,
{ 0x00 , 0x1e , 0x1e } ,
{ 0x00 , 0x1f , 0x1f } ,
{ 0x00 , 0x20 , 0x20 } ,
{ 0x00 , 0x21 , 0x21 } ,
{ 0x00 , 0x22 , 0x22 } ,
{ 0x00 , 0x23 , 0x23 } ,
{ 0x00 , 0x24 , 0x24 } ,
{ 0x00 , 0x25 , 0x25 } ,
{ 0x00 , 0x26 , 0x26 } ,
{ 0x00 , 0x27 , 0x27 } ,
{ 0x00 , 0x28 , 0x28 } ,
{ 0x00 , 0x29 , 0x29 } ,
{ 0x00 , 0x2a , 0x2a } ,
{ 0x00 , 0x2b , 0x2b } ,
{ 0x00 , 0x2c , 0x2c } ,
{ 0x00 , 0x2d , 0x2d } ,
{ 0x00 , 0x2e , 0x2e } ,
{ 0x00 , 0x2f , 0x2f } ,
{ 0x00 , 0x30 , 0x30 } ,
{ 0x00 , 0x31 , 0x31 } ,
{ 0x00 , 0x32 , 0x32 } ,
{ 0x00 , 0x33 , 0x33 } ,
{ 0x00 , 0x34 , 0x34 } ,
{ 0x00 , 0x35 , 0x35 } ,
{ 0x00 , 0x36 , 0x36 } ,
{ 0x00 , 0x37 , 0x37 } ,
{ 0x00 , 0x38 , 0x38 } ,
{ 0x00 , 0x39 , 0x39 } ,
{ 0x00 , 0x3a , 0x3a } ,
{ 0x00 , 0x3b , 0x3b } ,
{ 0x00 , 0x3c , 0x3c } ,
{ 0x00 , 0x3d , 0x3d } ,
{ 0x00 , 0x3e , 0x3e } ,
{ 0x00 , 0x3f , 0x3f } ,
{ 0x00 , 0x40 , 0x40 } ,
{ 0x01 , 0x61 , 0x41 } ,
{ 0x01 , 0x62 , 0x42 } ,
{ 0x01 , 0x63 , 0x43 } ,
{ 0x01 , 0x64 , 0x44 } ,
{ 0x01 , 0x65 , 0x45 } ,
{ 0x01 , 0x66 , 0x46 } ,
{ 0x01 , 0x67 , 0x47 } ,
{ 0x01 , 0x68 , 0x48 } ,
{ 0x01 , 0x69 , 0x49 } ,
{ 0x01 , 0x6a , 0x4a } ,
{ 0x01 , 0x6b , 0x4b } ,
{ 0x01 , 0x6c , 0x4c } ,
{ 0x01 , 0x6d , 0x4d } ,
{ 0x01 , 0x6e , 0x4e } ,
{ 0x01 , 0x6f , 0x4f } ,
{ 0x01 , 0x70 , 0x50 } ,
{ 0x01 , 0x71 , 0x51 } ,
{ 0x01 , 0x72 , 0x52 } ,
{ 0x01 , 0x73 , 0x53 } ,
{ 0x01 , 0x74 , 0x54 } ,
{ 0x01 , 0x75 , 0x55 } ,
{ 0x01 , 0x76 , 0x56 } ,
{ 0x01 , 0x77 , 0x57 } ,
{ 0x01 , 0x78 , 0x58 } ,
{ 0x01 , 0x79 , 0x59 } ,
{ 0x01 , 0x7a , 0x5a } ,
{ 0x00 , 0x5b , 0x5b } ,
{ 0x00 , 0x5c , 0x5c } ,
{ 0x00 , 0x5d , 0x5d } ,
{ 0x00 , 0x5e , 0x5e } ,
{ 0x00 , 0x5f , 0x5f } ,
{ 0x00 , 0x60 , 0x60 } ,
{ 0x00 , 0x61 , 0x41 } ,
{ 0x00 , 0x62 , 0x42 } ,
{ 0x00 , 0x63 , 0x43 } ,
{ 0x00 , 0x64 , 0x44 } ,
{ 0x00 , 0x65 , 0x45 } ,
{ 0x00 , 0x66 , 0x46 } ,
{ 0x00 , 0x67 , 0x47 } ,
{ 0x00 , 0x68 , 0x48 } ,
{ 0x00 , 0x69 , 0x49 } ,
{ 0x00 , 0x6a , 0x4a } ,
{ 0x00 , 0x6b , 0x4b } ,
{ 0x00 , 0x6c , 0x4c } ,
{ 0x00 , 0x6d , 0x4d } ,
{ 0x00 , 0x6e , 0x4e } ,
{ 0x00 , 0x6f , 0x4f } ,
{ 0x00 , 0x70 , 0x50 } ,
{ 0x00 , 0x71 , 0x51 } ,
{ 0x00 , 0x72 , 0x52 } ,
{ 0x00 , 0x73 , 0x53 } ,
{ 0x00 , 0x74 , 0x54 } ,
{ 0x00 , 0x75 , 0x55 } ,
{ 0x00 , 0x76 , 0x56 } ,
{ 0x00 , 0x77 , 0x57 } ,
{ 0x00 , 0x78 , 0x58 } ,
{ 0x00 , 0x79 , 0x59 } ,
{ 0x00 , 0x7a , 0x5a } ,
{ 0x00 , 0x7b , 0x7b } ,
{ 0x00 , 0x7c , 0x7c } ,
{ 0x00 , 0x7d , 0x7d } ,
{ 0x00 , 0x7e , 0x7e } ,
{ 0x00 , 0x7f , 0x7f } ,
{ 0x00 , 0x80 , 0x80 } ,
{ 0x00 , 0x81 , 0x81 } ,
{ 0x00 , 0x82 , 0x82 } ,
{ 0x00 , 0x83 , 0x83 } ,
{ 0x00 , 0x84 , 0x84 } ,
{ 0x00 , 0x85 , 0x85 } ,
{ 0x00 , 0x86 , 0x86 } ,
{ 0x00 , 0x87 , 0x87 } ,
{ 0x00 , 0x88 , 0x88 } ,
{ 0x00 , 0x89 , 0x89 } ,
{ 0x00 , 0x8a , 0x8a } ,
{ 0x00 , 0x8b , 0x8b } ,
{ 0x00 , 0x8c , 0x8c } ,
{ 0x00 , 0x8d , 0x8d } ,
{ 0x00 , 0x8e , 0x8e } ,
{ 0x00 , 0x8f , 0x8f } ,
{ 0x00 , 0x90 , 0x90 } ,
{ 0x00 , 0x91 , 0x91 } ,
{ 0x00 , 0x92 , 0x92 } ,
{ 0x00 , 0x93 , 0x93 } ,
{ 0x00 , 0x94 , 0x94 } ,
{ 0x00 , 0x95 , 0x95 } ,
{ 0x00 , 0x96 , 0x96 } ,
{ 0x00 , 0x97 , 0x97 } ,
{ 0x00 , 0x98 , 0x98 } ,
{ 0x00 , 0x99 , 0x99 } ,
{ 0x00 , 0x9a , 0x9a } ,
{ 0x00 , 0x9b , 0x9b } ,
{ 0x00 , 0x9c , 0x9c } ,
{ 0x00 , 0x9d , 0x9d } ,
{ 0x00 , 0x9e , 0x9e } ,
{ 0x00 , 0x9f , 0x9f } ,
{ 0x00 , 0xa0 , 0xa0 } ,
{ 0x00 , 0xa1 , 0xa1 } ,
{ 0x00 , 0xa2 , 0xa2 } ,
{ 0x00 , 0xa3 , 0xb3 } ,
{ 0x00 , 0xa4 , 0xa4 } ,
{ 0x00 , 0xa5 , 0xa5 } ,
{ 0x00 , 0xa6 , 0xa6 } ,
{ 0x00 , 0xa7 , 0xa7 } ,
{ 0x00 , 0xa8 , 0xa8 } ,
{ 0x00 , 0xa9 , 0xa9 } ,
{ 0x00 , 0xaa , 0xaa } ,
{ 0x00 , 0xab , 0xab } ,
{ 0x00 , 0xac , 0xac } ,
{ 0x00 , 0xad , 0xad } ,
{ 0x00 , 0xae , 0xae } ,
{ 0x00 , 0xaf , 0xaf } ,
{ 0x00 , 0xb0 , 0xb0 } ,
{ 0x00 , 0xb1 , 0xb1 } ,
{ 0x00 , 0xb2 , 0xb2 } ,
{ 0x01 , 0xa3 , 0xb3 } ,
{ 0x00 , 0xb4 , 0xb4 } ,
{ 0x00 , 0xb5 , 0xb5 } ,
{ 0x00 , 0xb6 , 0xb6 } ,
{ 0x00 , 0xb7 , 0xb7 } ,
{ 0x00 , 0xb8 , 0xb8 } ,
{ 0x00 , 0xb9 , 0xb9 } ,
{ 0x00 , 0xba , 0xba } ,
{ 0x00 , 0xbb , 0xbb } ,
{ 0x00 , 0xbc , 0xbc } ,
{ 0x00 , 0xbd , 0xbd } ,
{ 0x00 , 0xbe , 0xbe } ,
{ 0x00 , 0xbf , 0xbf } ,
{ 0x00 , 0xc0 , 0xe0 } ,
{ 0x00 , 0xc1 , 0xe1 } ,
{ 0x00 , 0xc2 , 0xe2 } ,
{ 0x00 , 0xc3 , 0xe3 } ,
{ 0x00 , 0xc4 , 0xe4 } ,
{ 0x00 , 0xc5 , 0xe5 } ,
{ 0x00 , 0xc6 , 0xe6 } ,
{ 0x00 , 0xc7 , 0xe7 } ,
{ 0x00 , 0xc8 , 0xe8 } ,
{ 0x00 , 0xc9 , 0xe9 } ,
{ 0x00 , 0xca , 0xea } ,
{ 0x00 , 0xcb , 0xeb } ,
{ 0x00 , 0xcc , 0xec } ,
{ 0x00 , 0xcd , 0xed } ,
{ 0x00 , 0xce , 0xee } ,
{ 0x00 , 0xcf , 0xef } ,
{ 0x00 , 0xd0 , 0xf0 } ,
{ 0x00 , 0xd1 , 0xf1 } ,
{ 0x00 , 0xd2 , 0xf2 } ,
{ 0x00 , 0xd3 , 0xf3 } ,
{ 0x00 , 0xd4 , 0xf4 } ,
{ 0x00 , 0xd5 , 0xf5 } ,
{ 0x00 , 0xd6 , 0xf6 } ,
{ 0x00 , 0xd7 , 0xf7 } ,
{ 0x00 , 0xd8 , 0xf8 } ,
{ 0x00 , 0xd9 , 0xf9 } ,
{ 0x00 , 0xda , 0xfa } ,
{ 0x00 , 0xdb , 0xfb } ,
{ 0x00 , 0xdc , 0xfc } ,
{ 0x00 , 0xdd , 0xfd } ,
{ 0x00 , 0xde , 0xfe } ,
{ 0x00 , 0xdf , 0xff } ,
{ 0x01 , 0xc0 , 0xe0 } ,
{ 0x01 , 0xc1 , 0xe1 } ,
{ 0x01 , 0xc2 , 0xe2 } ,
{ 0x01 , 0xc3 , 0xe3 } ,
{ 0x01 , 0xc4 , 0xe4 } ,
{ 0x01 , 0xc5 , 0xe5 } ,
{ 0x01 , 0xc6 , 0xe6 } ,
{ 0x01 , 0xc7 , 0xe7 } ,
{ 0x01 , 0xc8 , 0xe8 } ,
{ 0x01 , 0xc9 , 0xe9 } ,
{ 0x01 , 0xca , 0xea } ,
{ 0x01 , 0xcb , 0xeb } ,
{ 0x01 , 0xcc , 0xec } ,
{ 0x01 , 0xcd , 0xed } ,
{ 0x01 , 0xce , 0xee } ,
{ 0x01 , 0xcf , 0xef } ,
{ 0x01 , 0xd0 , 0xf0 } ,
{ 0x01 , 0xd1 , 0xf1 } ,
{ 0x01 , 0xd2 , 0xf2 } ,
{ 0x01 , 0xd3 , 0xf3 } ,
{ 0x01 , 0xd4 , 0xf4 } ,
{ 0x01 , 0xd5 , 0xf5 } ,
{ 0x01 , 0xd6 , 0xf6 } ,
{ 0x01 , 0xd7 , 0xf7 } ,
{ 0x01 , 0xd8 , 0xf8 } ,
{ 0x01 , 0xd9 , 0xf9 } ,
{ 0x01 , 0xda , 0xfa } ,
{ 0x01 , 0xdb , 0xfb } ,
{ 0x01 , 0xdc , 0xfc } ,
{ 0x01 , 0xdd , 0xfd } ,
{ 0x01 , 0xde , 0xfe } ,
2008-11-04 14:05:31 -08:00
{ 0x01 , 0xdf , 0xff }
2007-07-02 10:29:22 -07:00
} ;
2010-06-08 23:06:40 -07:00
static struct cs_info koi8u_tbl [ ] = {
2007-07-02 10:29:22 -07:00
{ 0x00 , 0x00 , 0x00 } ,
{ 0x00 , 0x01 , 0x01 } ,
{ 0x00 , 0x02 , 0x02 } ,
{ 0x00 , 0x03 , 0x03 } ,
{ 0x00 , 0x04 , 0x04 } ,
{ 0x00 , 0x05 , 0x05 } ,
{ 0x00 , 0x06 , 0x06 } ,
{ 0x00 , 0x07 , 0x07 } ,
{ 0x00 , 0x08 , 0x08 } ,
{ 0x00 , 0x09 , 0x09 } ,
{ 0x00 , 0x0a , 0x0a } ,
{ 0x00 , 0x0b , 0x0b } ,
{ 0x00 , 0x0c , 0x0c } ,
{ 0x00 , 0x0d , 0x0d } ,
{ 0x00 , 0x0e , 0x0e } ,
{ 0x00 , 0x0f , 0x0f } ,
{ 0x00 , 0x10 , 0x10 } ,
{ 0x00 , 0x11 , 0x11 } ,
{ 0x00 , 0x12 , 0x12 } ,
{ 0x00 , 0x13 , 0x13 } ,
{ 0x00 , 0x14 , 0x14 } ,
{ 0x00 , 0x15 , 0x15 } ,
{ 0x00 , 0x16 , 0x16 } ,
{ 0x00 , 0x17 , 0x17 } ,
{ 0x00 , 0x18 , 0x18 } ,
{ 0x00 , 0x19 , 0x19 } ,
{ 0x00 , 0x1a , 0x1a } ,
{ 0x00 , 0x1b , 0x1b } ,
{ 0x00 , 0x1c , 0x1c } ,
{ 0x00 , 0x1d , 0x1d } ,
{ 0x00 , 0x1e , 0x1e } ,
{ 0x00 , 0x1f , 0x1f } ,
{ 0x00 , 0x20 , 0x20 } ,
{ 0x00 , 0x21 , 0x21 } ,
{ 0x00 , 0x22 , 0x22 } ,
{ 0x00 , 0x23 , 0x23 } ,
{ 0x00 , 0x24 , 0x24 } ,
{ 0x00 , 0x25 , 0x25 } ,
{ 0x00 , 0x26 , 0x26 } ,
{ 0x00 , 0x27 , 0x27 } ,
{ 0x00 , 0x28 , 0x28 } ,
{ 0x00 , 0x29 , 0x29 } ,
{ 0x00 , 0x2a , 0x2a } ,
{ 0x00 , 0x2b , 0x2b } ,
{ 0x00 , 0x2c , 0x2c } ,
{ 0x00 , 0x2d , 0x2d } ,
{ 0x00 , 0x2e , 0x2e } ,
{ 0x00 , 0x2f , 0x2f } ,
{ 0x00 , 0x30 , 0x30 } ,
{ 0x00 , 0x31 , 0x31 } ,
{ 0x00 , 0x32 , 0x32 } ,
{ 0x00 , 0x33 , 0x33 } ,
{ 0x00 , 0x34 , 0x34 } ,
{ 0x00 , 0x35 , 0x35 } ,
{ 0x00 , 0x36 , 0x36 } ,
{ 0x00 , 0x37 , 0x37 } ,
{ 0x00 , 0x38 , 0x38 } ,
{ 0x00 , 0x39 , 0x39 } ,
{ 0x00 , 0x3a , 0x3a } ,
{ 0x00 , 0x3b , 0x3b } ,
{ 0x00 , 0x3c , 0x3c } ,
{ 0x00 , 0x3d , 0x3d } ,
{ 0x00 , 0x3e , 0x3e } ,
{ 0x00 , 0x3f , 0x3f } ,
{ 0x00 , 0x40 , 0x40 } ,
{ 0x01 , 0x61 , 0x41 } ,
{ 0x01 , 0x62 , 0x42 } ,
{ 0x01 , 0x63 , 0x43 } ,
{ 0x01 , 0x64 , 0x44 } ,
{ 0x01 , 0x65 , 0x45 } ,
{ 0x01 , 0x66 , 0x46 } ,
{ 0x01 , 0x67 , 0x47 } ,
{ 0x01 , 0x68 , 0x48 } ,
{ 0x01 , 0x69 , 0x49 } ,
{ 0x01 , 0x6a , 0x4a } ,
{ 0x01 , 0x6b , 0x4b } ,
{ 0x01 , 0x6c , 0x4c } ,
{ 0x01 , 0x6d , 0x4d } ,
{ 0x01 , 0x6e , 0x4e } ,
{ 0x01 , 0x6f , 0x4f } ,
{ 0x01 , 0x70 , 0x50 } ,
{ 0x01 , 0x71 , 0x51 } ,
{ 0x01 , 0x72 , 0x52 } ,
{ 0x01 , 0x73 , 0x53 } ,
{ 0x01 , 0x74 , 0x54 } ,
{ 0x01 , 0x75 , 0x55 } ,
{ 0x01 , 0x76 , 0x56 } ,
{ 0x01 , 0x77 , 0x57 } ,
{ 0x01 , 0x78 , 0x58 } ,
{ 0x01 , 0x79 , 0x59 } ,
{ 0x01 , 0x7a , 0x5a } ,
{ 0x00 , 0x5b , 0x5b } ,
{ 0x00 , 0x5c , 0x5c } ,
{ 0x00 , 0x5d , 0x5d } ,
{ 0x00 , 0x5e , 0x5e } ,
{ 0x00 , 0x5f , 0x5f } ,
{ 0x00 , 0x60 , 0x60 } ,
{ 0x00 , 0x61 , 0x41 } ,
{ 0x00 , 0x62 , 0x42 } ,
{ 0x00 , 0x63 , 0x43 } ,
{ 0x00 , 0x64 , 0x44 } ,
{ 0x00 , 0x65 , 0x45 } ,
{ 0x00 , 0x66 , 0x46 } ,
{ 0x00 , 0x67 , 0x47 } ,
{ 0x00 , 0x68 , 0x48 } ,
{ 0x00 , 0x69 , 0x49 } ,
{ 0x00 , 0x6a , 0x4a } ,
{ 0x00 , 0x6b , 0x4b } ,
{ 0x00 , 0x6c , 0x4c } ,
{ 0x00 , 0x6d , 0x4d } ,
{ 0x00 , 0x6e , 0x4e } ,
{ 0x00 , 0x6f , 0x4f } ,
{ 0x00 , 0x70 , 0x50 } ,
{ 0x00 , 0x71 , 0x51 } ,
{ 0x00 , 0x72 , 0x52 } ,
{ 0x00 , 0x73 , 0x53 } ,
{ 0x00 , 0x74 , 0x54 } ,
{ 0x00 , 0x75 , 0x55 } ,
{ 0x00 , 0x76 , 0x56 } ,
{ 0x00 , 0x77 , 0x57 } ,
{ 0x00 , 0x78 , 0x58 } ,
{ 0x00 , 0x79 , 0x59 } ,
{ 0x00 , 0x7a , 0x5a } ,
{ 0x00 , 0x7b , 0x7b } ,
{ 0x00 , 0x7c , 0x7c } ,
{ 0x00 , 0x7d , 0x7d } ,
{ 0x00 , 0x7e , 0x7e } ,
{ 0x00 , 0x7f , 0x7f } ,
{ 0x00 , 0x80 , 0x80 } ,
{ 0x00 , 0x81 , 0x81 } ,
{ 0x00 , 0x82 , 0x82 } ,
{ 0x00 , 0x83 , 0x83 } ,
{ 0x00 , 0x84 , 0x84 } ,
{ 0x00 , 0x85 , 0x85 } ,
{ 0x00 , 0x86 , 0x86 } ,
{ 0x00 , 0x87 , 0x87 } ,
{ 0x00 , 0x88 , 0x88 } ,
{ 0x00 , 0x89 , 0x89 } ,
{ 0x00 , 0x8a , 0x8a } ,
{ 0x00 , 0x8b , 0x8b } ,
{ 0x00 , 0x8c , 0x8c } ,
{ 0x00 , 0x8d , 0x8d } ,
{ 0x00 , 0x8e , 0x8e } ,
{ 0x00 , 0x8f , 0x8f } ,
{ 0x00 , 0x90 , 0x90 } ,
{ 0x00 , 0x91 , 0x91 } ,
{ 0x00 , 0x92 , 0x92 } ,
{ 0x00 , 0x93 , 0x93 } ,
{ 0x00 , 0x94 , 0x94 } ,
{ 0x00 , 0x95 , 0x95 } ,
{ 0x00 , 0x96 , 0x96 } ,
{ 0x00 , 0x97 , 0x97 } ,
{ 0x00 , 0x98 , 0x98 } ,
{ 0x00 , 0x99 , 0x99 } ,
{ 0x00 , 0x9a , 0x9a } ,
{ 0x00 , 0x9b , 0x9b } ,
{ 0x00 , 0x9c , 0x9c } ,
{ 0x00 , 0x9d , 0x9d } ,
{ 0x00 , 0x9e , 0x9e } ,
{ 0x00 , 0x9f , 0x9f } ,
{ 0x00 , 0xa0 , 0xa0 } ,
{ 0x00 , 0xa1 , 0xa1 } ,
{ 0x00 , 0xa2 , 0xa2 } ,
{ 0x00 , 0xa3 , 0xb3 } ,
{ 0x00 , 0xa4 , 0xb4 } , /* ie */
{ 0x00 , 0xa5 , 0xa5 } ,
{ 0x00 , 0xa6 , 0xb6 } , /* i */
{ 0x00 , 0xa7 , 0xb7 } , /* ii */
{ 0x00 , 0xa8 , 0xa8 } ,
{ 0x00 , 0xa9 , 0xa9 } ,
{ 0x00 , 0xaa , 0xaa } ,
{ 0x00 , 0xab , 0xab } ,
{ 0x00 , 0xac , 0xac } ,
{ 0x00 , 0xad , 0xbd } , /* g'' */
{ 0x00 , 0xae , 0xae } ,
{ 0x00 , 0xaf , 0xaf } ,
{ 0x00 , 0xb0 , 0xb0 } ,
{ 0x00 , 0xb1 , 0xb1 } ,
{ 0x00 , 0xb2 , 0xb2 } ,
{ 0x01 , 0xa3 , 0xb3 } ,
{ 0x00 , 0xb4 , 0xb4 } , /* IE */
{ 0x00 , 0xb5 , 0xb5 } ,
{ 0x00 , 0xb6 , 0xb6 } , /* I */
{ 0x00 , 0xb7 , 0xb7 } , /* II */
{ 0x00 , 0xb8 , 0xb8 } ,
{ 0x00 , 0xb9 , 0xb9 } ,
{ 0x00 , 0xba , 0xba } ,
{ 0x00 , 0xbb , 0xbb } ,
{ 0x00 , 0xbc , 0xbc } ,
{ 0x00 , 0xbd , 0xbd } ,
{ 0x00 , 0xbe , 0xbe } ,
{ 0x00 , 0xbf , 0xbf } ,
{ 0x00 , 0xc0 , 0xe0 } ,
{ 0x00 , 0xc1 , 0xe1 } ,
{ 0x00 , 0xc2 , 0xe2 } ,
{ 0x00 , 0xc3 , 0xe3 } ,
{ 0x00 , 0xc4 , 0xe4 } ,
{ 0x00 , 0xc5 , 0xe5 } ,
{ 0x00 , 0xc6 , 0xe6 } ,
{ 0x00 , 0xc7 , 0xe7 } ,
{ 0x00 , 0xc8 , 0xe8 } ,
{ 0x00 , 0xc9 , 0xe9 } ,
{ 0x00 , 0xca , 0xea } ,
{ 0x00 , 0xcb , 0xeb } ,
{ 0x00 , 0xcc , 0xec } ,
{ 0x00 , 0xcd , 0xed } ,
{ 0x00 , 0xce , 0xee } ,
{ 0x00 , 0xcf , 0xef } ,
{ 0x00 , 0xd0 , 0xf0 } ,
{ 0x00 , 0xd1 , 0xf1 } ,
{ 0x00 , 0xd2 , 0xf2 } ,
{ 0x00 , 0xd3 , 0xf3 } ,
{ 0x00 , 0xd4 , 0xf4 } ,
{ 0x00 , 0xd5 , 0xf5 } ,
{ 0x00 , 0xd6 , 0xf6 } ,
{ 0x00 , 0xd7 , 0xf7 } ,
{ 0x00 , 0xd8 , 0xf8 } ,
{ 0x00 , 0xd9 , 0xf9 } ,
{ 0x00 , 0xda , 0xfa } ,
{ 0x00 , 0xdb , 0xfb } ,
{ 0x00 , 0xdc , 0xfc } ,
{ 0x00 , 0xdd , 0xfd } ,
{ 0x00 , 0xde , 0xfe } ,
{ 0x00 , 0xdf , 0xff } ,
{ 0x01 , 0xc0 , 0xe0 } ,
{ 0x01 , 0xc1 , 0xe1 } ,
{ 0x01 , 0xc2 , 0xe2 } ,
{ 0x01 , 0xc3 , 0xe3 } ,
{ 0x01 , 0xc4 , 0xe4 } ,
{ 0x01 , 0xc5 , 0xe5 } ,
{ 0x01 , 0xc6 , 0xe6 } ,
{ 0x01 , 0xc7 , 0xe7 } ,
{ 0x01 , 0xc8 , 0xe8 } ,
{ 0x01 , 0xc9 , 0xe9 } ,
{ 0x01 , 0xca , 0xea } ,
{ 0x01 , 0xcb , 0xeb } ,
{ 0x01 , 0xcc , 0xec } ,
{ 0x01 , 0xcd , 0xed } ,
{ 0x01 , 0xce , 0xee } ,
{ 0x01 , 0xcf , 0xef } ,
{ 0x01 , 0xd0 , 0xf0 } ,
{ 0x01 , 0xd1 , 0xf1 } ,
{ 0x01 , 0xd2 , 0xf2 } ,
{ 0x01 , 0xd3 , 0xf3 } ,
{ 0x01 , 0xd4 , 0xf4 } ,
{ 0x01 , 0xd5 , 0xf5 } ,
{ 0x01 , 0xd6 , 0xf6 } ,
{ 0x01 , 0xd7 , 0xf7 } ,
{ 0x01 , 0xd8 , 0xf8 } ,
{ 0x01 , 0xd9 , 0xf9 } ,
{ 0x01 , 0xda , 0xfa } ,
{ 0x01 , 0xdb , 0xfb } ,
{ 0x01 , 0xdc , 0xfc } ,
{ 0x01 , 0xdd , 0xfd } ,
{ 0x01 , 0xde , 0xfe } ,
2008-11-04 14:05:31 -08:00
{ 0x01 , 0xdf , 0xff }
2007-07-02 10:29:22 -07:00
} ;
2010-06-08 23:06:40 -07:00
static struct cs_info cp1251_tbl [ ] = {
2007-07-02 10:29:22 -07:00
{ 0x00 , 0x00 , 0x00 } ,
{ 0x00 , 0x01 , 0x01 } ,
{ 0x00 , 0x02 , 0x02 } ,
{ 0x00 , 0x03 , 0x03 } ,
{ 0x00 , 0x04 , 0x04 } ,
{ 0x00 , 0x05 , 0x05 } ,
{ 0x00 , 0x06 , 0x06 } ,
{ 0x00 , 0x07 , 0x07 } ,
{ 0x00 , 0x08 , 0x08 } ,
{ 0x00 , 0x09 , 0x09 } ,
{ 0x00 , 0x0a , 0x0a } ,
{ 0x00 , 0x0b , 0x0b } ,
{ 0x00 , 0x0c , 0x0c } ,
{ 0x00 , 0x0d , 0x0d } ,
{ 0x00 , 0x0e , 0x0e } ,
{ 0x00 , 0x0f , 0x0f } ,
{ 0x00 , 0x10 , 0x10 } ,
{ 0x00 , 0x11 , 0x11 } ,
{ 0x00 , 0x12 , 0x12 } ,
{ 0x00 , 0x13 , 0x13 } ,
{ 0x00 , 0x14 , 0x14 } ,
{ 0x00 , 0x15 , 0x15 } ,
{ 0x00 , 0x16 , 0x16 } ,
{ 0x00 , 0x17 , 0x17 } ,
{ 0x00 , 0x18 , 0x18 } ,
{ 0x00 , 0x19 , 0x19 } ,
{ 0x00 , 0x1a , 0x1a } ,
{ 0x00 , 0x1b , 0x1b } ,
{ 0x00 , 0x1c , 0x1c } ,
{ 0x00 , 0x1d , 0x1d } ,
{ 0x00 , 0x1e , 0x1e } ,
{ 0x00 , 0x1f , 0x1f } ,
{ 0x00 , 0x20 , 0x20 } ,
{ 0x00 , 0x21 , 0x21 } ,
{ 0x00 , 0x22 , 0x22 } ,
{ 0x00 , 0x23 , 0x23 } ,
{ 0x00 , 0x24 , 0x24 } ,
{ 0x00 , 0x25 , 0x25 } ,
{ 0x00 , 0x26 , 0x26 } ,
{ 0x00 , 0x27 , 0x27 } ,
{ 0x00 , 0x28 , 0x28 } ,
{ 0x00 , 0x29 , 0x29 } ,
{ 0x00 , 0x2a , 0x2a } ,
{ 0x00 , 0x2b , 0x2b } ,
{ 0x00 , 0x2c , 0x2c } ,
{ 0x00 , 0x2d , 0x2d } ,
{ 0x00 , 0x2e , 0x2e } ,
{ 0x00 , 0x2f , 0x2f } ,
{ 0x00 , 0x30 , 0x30 } ,
{ 0x00 , 0x31 , 0x31 } ,
{ 0x00 , 0x32 , 0x32 } ,
{ 0x00 , 0x33 , 0x33 } ,
{ 0x00 , 0x34 , 0x34 } ,
{ 0x00 , 0x35 , 0x35 } ,
{ 0x00 , 0x36 , 0x36 } ,
{ 0x00 , 0x37 , 0x37 } ,
{ 0x00 , 0x38 , 0x38 } ,
{ 0x00 , 0x39 , 0x39 } ,
{ 0x00 , 0x3a , 0x3a } ,
{ 0x00 , 0x3b , 0x3b } ,
{ 0x00 , 0x3c , 0x3c } ,
{ 0x00 , 0x3d , 0x3d } ,
{ 0x00 , 0x3e , 0x3e } ,
{ 0x00 , 0x3f , 0x3f } ,
{ 0x00 , 0x40 , 0x40 } ,
{ 0x01 , 0x61 , 0x41 } ,
{ 0x01 , 0x62 , 0x42 } ,
{ 0x01 , 0x63 , 0x43 } ,
{ 0x01 , 0x64 , 0x44 } ,
{ 0x01 , 0x65 , 0x45 } ,
{ 0x01 , 0x66 , 0x46 } ,
{ 0x01 , 0x67 , 0x47 } ,
{ 0x01 , 0x68 , 0x48 } ,
{ 0x01 , 0x69 , 0x49 } ,
{ 0x01 , 0x6a , 0x4a } ,
{ 0x01 , 0x6b , 0x4b } ,
{ 0x01 , 0x6c , 0x4c } ,
{ 0x01 , 0x6d , 0x4d } ,
{ 0x01 , 0x6e , 0x4e } ,
{ 0x01 , 0x6f , 0x4f } ,
{ 0x01 , 0x70 , 0x50 } ,
{ 0x01 , 0x71 , 0x51 } ,
{ 0x01 , 0x72 , 0x52 } ,
{ 0x01 , 0x73 , 0x53 } ,
{ 0x01 , 0x74 , 0x54 } ,
{ 0x01 , 0x75 , 0x55 } ,
{ 0x01 , 0x76 , 0x56 } ,
{ 0x01 , 0x77 , 0x57 } ,
{ 0x01 , 0x78 , 0x58 } ,
{ 0x01 , 0x79 , 0x59 } ,
{ 0x01 , 0x7a , 0x5a } ,
{ 0x00 , 0x5b , 0x5b } ,
{ 0x00 , 0x5c , 0x5c } ,
{ 0x00 , 0x5d , 0x5d } ,
{ 0x00 , 0x5e , 0x5e } ,
{ 0x00 , 0x5f , 0x5f } ,
{ 0x00 , 0x60 , 0x60 } ,
{ 0x00 , 0x61 , 0x41 } ,
{ 0x00 , 0x62 , 0x42 } ,
{ 0x00 , 0x63 , 0x43 } ,
{ 0x00 , 0x64 , 0x44 } ,
{ 0x00 , 0x65 , 0x45 } ,
{ 0x00 , 0x66 , 0x46 } ,
{ 0x00 , 0x67 , 0x47 } ,
{ 0x00 , 0x68 , 0x48 } ,
{ 0x00 , 0x69 , 0x49 } ,
{ 0x00 , 0x6a , 0x4a } ,
{ 0x00 , 0x6b , 0x4b } ,
{ 0x00 , 0x6c , 0x4c } ,
{ 0x00 , 0x6d , 0x4d } ,
{ 0x00 , 0x6e , 0x4e } ,
{ 0x00 , 0x6f , 0x4f } ,
{ 0x00 , 0x70 , 0x50 } ,
{ 0x00 , 0x71 , 0x51 } ,
{ 0x00 , 0x72 , 0x52 } ,
{ 0x00 , 0x73 , 0x53 } ,
{ 0x00 , 0x74 , 0x54 } ,
{ 0x00 , 0x75 , 0x55 } ,
{ 0x00 , 0x76 , 0x56 } ,
{ 0x00 , 0x77 , 0x57 } ,
{ 0x00 , 0x78 , 0x58 } ,
{ 0x00 , 0x79 , 0x59 } ,
{ 0x00 , 0x7a , 0x5a } ,
{ 0x00 , 0x7b , 0x7b } ,
{ 0x00 , 0x7c , 0x7c } ,
{ 0x00 , 0x7d , 0x7d } ,
{ 0x00 , 0x7e , 0x7e } ,
{ 0x00 , 0x7f , 0x7f } ,
{ 0x01 , 0x90 , 0x80 } ,
{ 0x01 , 0x83 , 0x81 } ,
{ 0x00 , 0x82 , 0x82 } ,
{ 0x00 , 0x83 , 0x81 } ,
{ 0x00 , 0x84 , 0x84 } ,
{ 0x00 , 0x85 , 0x85 } ,
{ 0x00 , 0x86 , 0x86 } ,
{ 0x00 , 0x87 , 0x87 } ,
{ 0x00 , 0x88 , 0x88 } ,
{ 0x00 , 0x89 , 0x89 } ,
{ 0x01 , 0x9a , 0x8a } ,
{ 0x00 , 0x8b , 0x8b } ,
{ 0x01 , 0x9c , 0x8c } ,
{ 0x01 , 0x9d , 0x8d } ,
{ 0x01 , 0x9e , 0x8e } ,
{ 0x01 , 0x9f , 0x8f } ,
{ 0x00 , 0x90 , 0x80 } ,
{ 0x00 , 0x91 , 0x91 } ,
{ 0x00 , 0x92 , 0x92 } ,
{ 0x00 , 0x93 , 0x93 } ,
{ 0x00 , 0x94 , 0x94 } ,
{ 0x00 , 0x95 , 0x95 } ,
{ 0x00 , 0x96 , 0x96 } ,
{ 0x00 , 0x97 , 0x97 } ,
{ 0x00 , 0x98 , 0x98 } ,
{ 0x00 , 0x99 , 0x99 } ,
{ 0x00 , 0x9a , 0x8a } ,
{ 0x00 , 0x9b , 0x9b } ,
{ 0x00 , 0x9c , 0x8c } ,
{ 0x00 , 0x9d , 0x8d } ,
{ 0x00 , 0x9e , 0x8e } ,
{ 0x00 , 0x9f , 0x8f } ,
{ 0x00 , 0xa0 , 0xa0 } ,
{ 0x01 , 0xa2 , 0xa1 } ,
{ 0x00 , 0xa2 , 0xa1 } ,
{ 0x01 , 0xbc , 0xa3 } ,
{ 0x00 , 0xa4 , 0xa4 } ,
{ 0x01 , 0xb4 , 0xa5 } ,
{ 0x00 , 0xa6 , 0xa6 } ,
{ 0x00 , 0xa7 , 0xa7 } ,
{ 0x01 , 0xb8 , 0xa8 } ,
{ 0x00 , 0xa9 , 0xa9 } ,
{ 0x01 , 0xba , 0xaa } ,
{ 0x00 , 0xab , 0xab } ,
{ 0x00 , 0xac , 0xac } ,
{ 0x00 , 0xad , 0xad } ,
{ 0x00 , 0xae , 0xae } ,
{ 0x01 , 0xbf , 0xaf } ,
{ 0x00 , 0xb0 , 0xb0 } ,
{ 0x00 , 0xb1 , 0xb1 } ,
{ 0x01 , 0xb3 , 0xb2 } ,
{ 0x00 , 0xb3 , 0xb2 } ,
{ 0x00 , 0xb4 , 0xa5 } ,
{ 0x00 , 0xb5 , 0xb5 } ,
{ 0x00 , 0xb6 , 0xb6 } ,
{ 0x00 , 0xb7 , 0xb7 } ,
{ 0x00 , 0xb8 , 0xa8 } ,
{ 0x00 , 0xb9 , 0xb9 } ,
{ 0x00 , 0xba , 0xaa } ,
{ 0x00 , 0xbb , 0xbb } ,
{ 0x00 , 0xbc , 0xa3 } ,
{ 0x01 , 0xbe , 0xbd } ,
{ 0x00 , 0xbe , 0xbd } ,
{ 0x00 , 0xbf , 0xaf } ,
{ 0x01 , 0xe0 , 0xc0 } ,
{ 0x01 , 0xe1 , 0xc1 } ,
{ 0x01 , 0xe2 , 0xc2 } ,
{ 0x01 , 0xe3 , 0xc3 } ,
{ 0x01 , 0xe4 , 0xc4 } ,
{ 0x01 , 0xe5 , 0xc5 } ,
{ 0x01 , 0xe6 , 0xc6 } ,
{ 0x01 , 0xe7 , 0xc7 } ,
{ 0x01 , 0xe8 , 0xc8 } ,
{ 0x01 , 0xe9 , 0xc9 } ,
{ 0x01 , 0xea , 0xca } ,
{ 0x01 , 0xeb , 0xcb } ,
{ 0x01 , 0xec , 0xcc } ,
{ 0x01 , 0xed , 0xcd } ,
{ 0x01 , 0xee , 0xce } ,
{ 0x01 , 0xef , 0xcf } ,
{ 0x01 , 0xf0 , 0xd0 } ,
{ 0x01 , 0xf1 , 0xd1 } ,
{ 0x01 , 0xf2 , 0xd2 } ,
{ 0x01 , 0xf3 , 0xd3 } ,
{ 0x01 , 0xf4 , 0xd4 } ,
{ 0x01 , 0xf5 , 0xd5 } ,
{ 0x01 , 0xf6 , 0xd6 } ,
{ 0x01 , 0xf7 , 0xd7 } ,
{ 0x01 , 0xf8 , 0xd8 } ,
{ 0x01 , 0xf9 , 0xd9 } ,
{ 0x01 , 0xfa , 0xda } ,
{ 0x01 , 0xfb , 0xdb } ,
{ 0x01 , 0xfc , 0xdc } ,
{ 0x01 , 0xfd , 0xdd } ,
{ 0x01 , 0xfe , 0xde } ,
{ 0x01 , 0xff , 0xdf } ,
{ 0x00 , 0xe0 , 0xc0 } ,
{ 0x00 , 0xe1 , 0xc1 } ,
{ 0x00 , 0xe2 , 0xc2 } ,
{ 0x00 , 0xe3 , 0xc3 } ,
{ 0x00 , 0xe4 , 0xc4 } ,
{ 0x00 , 0xe5 , 0xc5 } ,
{ 0x00 , 0xe6 , 0xc6 } ,
{ 0x00 , 0xe7 , 0xc7 } ,
{ 0x00 , 0xe8 , 0xc8 } ,
{ 0x00 , 0xe9 , 0xc9 } ,
{ 0x00 , 0xea , 0xca } ,
{ 0x00 , 0xeb , 0xcb } ,
{ 0x00 , 0xec , 0xcc } ,
{ 0x00 , 0xed , 0xcd } ,
{ 0x00 , 0xee , 0xce } ,
{ 0x00 , 0xef , 0xcf } ,
{ 0x00 , 0xf0 , 0xd0 } ,
{ 0x00 , 0xf1 , 0xd1 } ,
{ 0x00 , 0xf2 , 0xd2 } ,
{ 0x00 , 0xf3 , 0xd3 } ,
{ 0x00 , 0xf4 , 0xd4 } ,
{ 0x00 , 0xf5 , 0xd5 } ,
{ 0x00 , 0xf6 , 0xd6 } ,
{ 0x00 , 0xf7 , 0xd7 } ,
{ 0x00 , 0xf8 , 0xd8 } ,
{ 0x00 , 0xf9 , 0xd9 } ,
{ 0x00 , 0xfa , 0xda } ,
{ 0x00 , 0xfb , 0xdb } ,
{ 0x00 , 0xfc , 0xdc } ,
{ 0x00 , 0xfd , 0xdd } ,
{ 0x00 , 0xfe , 0xde } ,
2008-11-04 14:05:31 -08:00
{ 0x00 , 0xff , 0xdf }
2007-07-02 10:29:22 -07:00
} ;
2010-06-08 23:06:40 -07:00
static struct cs_info iso13_tbl [ ] = {
2007-07-02 10:29:22 -07:00
{ 0x00 , 0x00 , 0x00 } ,
{ 0x00 , 0x01 , 0x01 } ,
{ 0x00 , 0x02 , 0x02 } ,
{ 0x00 , 0x03 , 0x03 } ,
{ 0x00 , 0x04 , 0x04 } ,
{ 0x00 , 0x05 , 0x05 } ,
{ 0x00 , 0x06 , 0x06 } ,
{ 0x00 , 0x07 , 0x07 } ,
{ 0x00 , 0x08 , 0x08 } ,
{ 0x00 , 0x09 , 0x09 } ,
{ 0x00 , 0x0A , 0x0A } ,
{ 0x00 , 0x0B , 0x0B } ,
{ 0x00 , 0x0C , 0x0C } ,
{ 0x00 , 0x0D , 0x0D } ,
{ 0x00 , 0x0E , 0x0E } ,
{ 0x00 , 0x0F , 0x0F } ,
{ 0x00 , 0x10 , 0x10 } ,
{ 0x00 , 0x11 , 0x11 } ,
{ 0x00 , 0x12 , 0x12 } ,
{ 0x00 , 0x13 , 0x13 } ,
{ 0x00 , 0x14 , 0x14 } ,
{ 0x00 , 0x15 , 0x15 } ,
{ 0x00 , 0x16 , 0x16 } ,
{ 0x00 , 0x17 , 0x17 } ,
{ 0x00 , 0x18 , 0x18 } ,
{ 0x00 , 0x19 , 0x19 } ,
{ 0x00 , 0x1A , 0x1A } ,
{ 0x00 , 0x1B , 0x1B } ,
{ 0x00 , 0x1C , 0x1C } ,
{ 0x00 , 0x1D , 0x1D } ,
{ 0x00 , 0x1E , 0x1E } ,
{ 0x00 , 0x1F , 0x1F } ,
{ 0x00 , 0x20 , 0x20 } ,
{ 0x00 , 0x21 , 0x21 } ,
{ 0x00 , 0x22 , 0x22 } ,
{ 0x00 , 0x23 , 0x23 } ,
{ 0x00 , 0x24 , 0x24 } ,
{ 0x00 , 0x25 , 0x25 } ,
{ 0x00 , 0x26 , 0x26 } ,
{ 0x00 , 0x27 , 0x27 } ,
{ 0x00 , 0x28 , 0x28 } ,
{ 0x00 , 0x29 , 0x29 } ,
{ 0x00 , 0x2A , 0x2A } ,
{ 0x00 , 0x2B , 0x2B } ,
{ 0x00 , 0x2C , 0x2C } ,
{ 0x00 , 0x2D , 0x2D } ,
{ 0x00 , 0x2E , 0x2E } ,
{ 0x00 , 0x2F , 0x2F } ,
{ 0x00 , 0x30 , 0x30 } ,
{ 0x00 , 0x31 , 0x31 } ,
{ 0x00 , 0x32 , 0x32 } ,
{ 0x00 , 0x33 , 0x33 } ,
{ 0x00 , 0x34 , 0x34 } ,
{ 0x00 , 0x35 , 0x35 } ,
{ 0x00 , 0x36 , 0x36 } ,
{ 0x00 , 0x37 , 0x37 } ,
{ 0x00 , 0x38 , 0x38 } ,
{ 0x00 , 0x39 , 0x39 } ,
{ 0x00 , 0x3A , 0x3A } ,
{ 0x00 , 0x3B , 0x3B } ,
{ 0x00 , 0x3C , 0x3C } ,
{ 0x00 , 0x3D , 0x3D } ,
{ 0x00 , 0x3E , 0x3E } ,
{ 0x00 , 0x3F , 0x3F } ,
{ 0x00 , 0x40 , 0x40 } ,
{ 0x01 , 0x61 , 0x41 } ,
{ 0x01 , 0x62 , 0x42 } ,
{ 0x01 , 0x63 , 0x43 } ,
{ 0x01 , 0x64 , 0x44 } ,
{ 0x01 , 0x65 , 0x45 } ,
{ 0x01 , 0x66 , 0x46 } ,
{ 0x01 , 0x67 , 0x47 } ,
{ 0x01 , 0x68 , 0x48 } ,
{ 0x01 , 0x69 , 0x49 } ,
{ 0x01 , 0x6A , 0x4A } ,
{ 0x01 , 0x6B , 0x4B } ,
{ 0x01 , 0x6C , 0x4C } ,
{ 0x01 , 0x6D , 0x4D } ,
{ 0x01 , 0x6E , 0x4E } ,
{ 0x01 , 0x6F , 0x4F } ,
{ 0x01 , 0x70 , 0x50 } ,
{ 0x01 , 0x71 , 0x51 } ,
{ 0x01 , 0x72 , 0x52 } ,
{ 0x01 , 0x73 , 0x53 } ,
{ 0x01 , 0x74 , 0x54 } ,
{ 0x01 , 0x75 , 0x55 } ,
{ 0x01 , 0x76 , 0x56 } ,
{ 0x01 , 0x77 , 0x57 } ,
{ 0x01 , 0x78 , 0x58 } ,
{ 0x01 , 0x79 , 0x59 } ,
{ 0x01 , 0x7A , 0x5A } ,
{ 0x00 , 0x5B , 0x5B } ,
{ 0x00 , 0x5C , 0x5C } ,
{ 0x00 , 0x5D , 0x5D } ,
{ 0x00 , 0x5E , 0x5E } ,
{ 0x00 , 0x5F , 0x5F } ,
{ 0x00 , 0x60 , 0x60 } ,
{ 0x00 , 0x61 , 0x41 } ,
{ 0x00 , 0x62 , 0x42 } ,
{ 0x00 , 0x63 , 0x43 } ,
{ 0x00 , 0x64 , 0x44 } ,
{ 0x00 , 0x65 , 0x45 } ,
{ 0x00 , 0x66 , 0x46 } ,
{ 0x00 , 0x67 , 0x47 } ,
{ 0x00 , 0x68 , 0x48 } ,
{ 0x00 , 0x69 , 0x49 } ,
{ 0x00 , 0x6A , 0x4A } ,
{ 0x00 , 0x6B , 0x4B } ,
{ 0x00 , 0x6C , 0x4C } ,
{ 0x00 , 0x6D , 0x4D } ,
{ 0x00 , 0x6E , 0x4E } ,
{ 0x00 , 0x6F , 0x4F } ,
{ 0x00 , 0x70 , 0x50 } ,
{ 0x00 , 0x71 , 0x51 } ,
{ 0x00 , 0x72 , 0x52 } ,
{ 0x00 , 0x73 , 0x53 } ,
{ 0x00 , 0x74 , 0x54 } ,
{ 0x00 , 0x75 , 0x55 } ,
{ 0x00 , 0x76 , 0x56 } ,
{ 0x00 , 0x77 , 0x57 } ,
{ 0x00 , 0x78 , 0x58 } ,
{ 0x00 , 0x79 , 0x59 } ,
{ 0x00 , 0x7A , 0x5A } ,
{ 0x00 , 0x7B , 0x7B } ,
{ 0x00 , 0x7C , 0x7C } ,
{ 0x00 , 0x7D , 0x7D } ,
{ 0x00 , 0x7E , 0x7E } ,
{ 0x00 , 0x7F , 0x7F } ,
{ 0x00 , 0x80 , 0x80 } ,
{ 0x00 , 0x81 , 0x81 } ,
{ 0x00 , 0x82 , 0x82 } ,
{ 0x00 , 0x83 , 0x83 } ,
{ 0x00 , 0x84 , 0x84 } ,
{ 0x00 , 0x85 , 0x85 } ,
{ 0x00 , 0x86 , 0x86 } ,
{ 0x00 , 0x87 , 0x87 } ,
{ 0x00 , 0x88 , 0x88 } ,
{ 0x00 , 0x89 , 0x89 } ,
{ 0x00 , 0x8A , 0x8A } ,
{ 0x00 , 0x8B , 0x8B } ,
{ 0x00 , 0x8C , 0x8C } ,
{ 0x00 , 0x8D , 0x8D } ,
{ 0x00 , 0x8E , 0x8E } ,
{ 0x00 , 0x8F , 0x8F } ,
{ 0x00 , 0x90 , 0x90 } ,
{ 0x00 , 0x91 , 0x91 } ,
{ 0x00 , 0x92 , 0x92 } ,
{ 0x00 , 0x93 , 0x93 } ,
{ 0x00 , 0x94 , 0x94 } ,
{ 0x00 , 0x95 , 0x95 } ,
{ 0x00 , 0x96 , 0x96 } ,
{ 0x00 , 0x97 , 0x97 } ,
{ 0x00 , 0x98 , 0x98 } ,
{ 0x00 , 0x99 , 0x99 } ,
{ 0x00 , 0x9A , 0x9A } ,
{ 0x00 , 0x9B , 0x9B } ,
{ 0x00 , 0x9C , 0x9C } ,
{ 0x00 , 0x9D , 0x9D } ,
{ 0x00 , 0x9E , 0x9E } ,
{ 0x00 , 0x9F , 0x9F } ,
{ 0x00 , 0xA0 , 0xA0 } ,
{ 0x00 , 0xA1 , 0xA1 } ,
{ 0x00 , 0xA2 , 0xA2 } ,
{ 0x00 , 0xA3 , 0xA3 } ,
{ 0x00 , 0xA4 , 0xA4 } ,
{ 0x00 , 0xA5 , 0xA5 } ,
{ 0x00 , 0xA6 , 0xA6 } ,
{ 0x00 , 0xA7 , 0xA7 } ,
{ 0x01 , 0xB8 , 0xA8 } ,
{ 0x00 , 0xA9 , 0xA9 } ,
{ 0x01 , 0xBA , 0xAA } ,
{ 0x00 , 0xAB , 0xAB } ,
{ 0x00 , 0xAC , 0xAC } ,
{ 0x00 , 0xAD , 0xAD } ,
{ 0x00 , 0xAE , 0xAE } ,
{ 0x01 , 0xBF , 0xAF } ,
{ 0x00 , 0xB0 , 0xB0 } ,
{ 0x00 , 0xB1 , 0xB1 } ,
{ 0x00 , 0xB2 , 0xB2 } ,
{ 0x00 , 0xB3 , 0xB3 } ,
{ 0x00 , 0xB4 , 0xB4 } ,
{ 0x00 , 0xB5 , 0xB5 } ,
{ 0x00 , 0xB6 , 0xB6 } ,
{ 0x00 , 0xB7 , 0xB7 } ,
{ 0x00 , 0xB8 , 0xA8 } ,
{ 0x00 , 0xB9 , 0xB9 } ,
{ 0x00 , 0xBA , 0xAA } ,
{ 0x00 , 0xBB , 0xBB } ,
{ 0x00 , 0xBC , 0xBC } ,
{ 0x00 , 0xBD , 0xBD } ,
{ 0x00 , 0xBE , 0xBE } ,
{ 0x00 , 0xBF , 0xAF } ,
{ 0x01 , 0xE0 , 0xC0 } ,
{ 0x01 , 0xE1 , 0xC1 } ,
{ 0x01 , 0xE2 , 0xC2 } ,
{ 0x01 , 0xE3 , 0xC3 } ,
{ 0x01 , 0xE4 , 0xC4 } ,
{ 0x01 , 0xE5 , 0xC5 } ,
{ 0x01 , 0xE6 , 0xC6 } ,
{ 0x01 , 0xE7 , 0xC7 } ,
{ 0x01 , 0xE8 , 0xC8 } ,
{ 0x01 , 0xE9 , 0xC9 } ,
{ 0x01 , 0xEA , 0xCA } ,
{ 0x01 , 0xEB , 0xCB } ,
{ 0x01 , 0xEC , 0xCC } ,
{ 0x01 , 0xED , 0xCD } ,
{ 0x01 , 0xEE , 0xCE } ,
{ 0x01 , 0xEF , 0xCF } ,
{ 0x01 , 0xF0 , 0xD0 } ,
{ 0x01 , 0xF1 , 0xD1 } ,
{ 0x01 , 0xF2 , 0xD2 } ,
{ 0x01 , 0xF3 , 0xD3 } ,
{ 0x01 , 0xF4 , 0xD4 } ,
{ 0x01 , 0xF5 , 0xD5 } ,
{ 0x01 , 0xF6 , 0xD6 } ,
{ 0x00 , 0xD7 , 0xD7 } ,
{ 0x01 , 0xF8 , 0xD8 } ,
{ 0x01 , 0xF9 , 0xD9 } ,
{ 0x01 , 0xFA , 0xDA } ,
{ 0x01 , 0xFB , 0xDB } ,
{ 0x01 , 0xFC , 0xDC } ,
{ 0x01 , 0xFD , 0xDD } ,
{ 0x01 , 0xFE , 0xDE } ,
{ 0x00 , 0xDF , 0xDF } ,
{ 0x00 , 0xE0 , 0xC0 } ,
{ 0x00 , 0xE1 , 0xC1 } ,
{ 0x00 , 0xE2 , 0xC2 } ,
{ 0x00 , 0xE3 , 0xC3 } ,
{ 0x00 , 0xE4 , 0xC4 } ,
{ 0x00 , 0xE5 , 0xC5 } ,
{ 0x00 , 0xE6 , 0xC6 } ,
{ 0x00 , 0xE7 , 0xC7 } ,
{ 0x00 , 0xE8 , 0xC8 } ,
{ 0x00 , 0xE9 , 0xC9 } ,
{ 0x00 , 0xEA , 0xCA } ,
{ 0x00 , 0xEB , 0xCB } ,
{ 0x00 , 0xEC , 0xCC } ,
{ 0x00 , 0xED , 0xCD } ,
{ 0x00 , 0xEE , 0xCE } ,
{ 0x00 , 0xEF , 0xCF } ,
{ 0x00 , 0xF0 , 0xD0 } ,
{ 0x00 , 0xF1 , 0xD1 } ,
{ 0x00 , 0xF2 , 0xD2 } ,
{ 0x00 , 0xF3 , 0xD3 } ,
{ 0x00 , 0xF4 , 0xD4 } ,
{ 0x00 , 0xF5 , 0xD5 } ,
{ 0x00 , 0xF6 , 0xD6 } ,
{ 0x00 , 0xF7 , 0xF7 } ,
{ 0x00 , 0xF8 , 0xD8 } ,
{ 0x00 , 0xF9 , 0xD9 } ,
{ 0x00 , 0xFA , 0xDA } ,
{ 0x00 , 0xFB , 0xDB } ,
{ 0x00 , 0xFC , 0xDC } ,
{ 0x00 , 0xFD , 0xDD } ,
{ 0x00 , 0xFE , 0xDE } ,
2008-11-04 14:05:31 -08:00
{ 0x00 , 0xFF , 0xFF }
2007-07-02 10:29:22 -07:00
} ;
2010-06-08 23:06:40 -07:00
static struct cs_info iso14_tbl [ ] = {
2007-07-02 10:29:22 -07:00
{ 0x00 , 0x00 , 0x00 } ,
{ 0x00 , 0x01 , 0x01 } ,
{ 0x00 , 0x02 , 0x02 } ,
{ 0x00 , 0x03 , 0x03 } ,
{ 0x00 , 0x04 , 0x04 } ,
{ 0x00 , 0x05 , 0x05 } ,
{ 0x00 , 0x06 , 0x06 } ,
{ 0x00 , 0x07 , 0x07 } ,
{ 0x00 , 0x08 , 0x08 } ,
{ 0x00 , 0x09 , 0x09 } ,
{ 0x00 , 0x0a , 0x0a } ,
{ 0x00 , 0x0b , 0x0b } ,
{ 0x00 , 0x0c , 0x0c } ,
{ 0x00 , 0x0d , 0x0d } ,
{ 0x00 , 0x0e , 0x0e } ,
{ 0x00 , 0x0f , 0x0f } ,
{ 0x00 , 0x10 , 0x10 } ,
{ 0x00 , 0x11 , 0x11 } ,
{ 0x00 , 0x12 , 0x12 } ,
{ 0x00 , 0x13 , 0x13 } ,
{ 0x00 , 0x14 , 0x14 } ,
{ 0x00 , 0x15 , 0x15 } ,
{ 0x00 , 0x16 , 0x16 } ,
{ 0x00 , 0x17 , 0x17 } ,
{ 0x00 , 0x18 , 0x18 } ,
{ 0x00 , 0x19 , 0x19 } ,
{ 0x00 , 0x1a , 0x1a } ,
{ 0x00 , 0x1b , 0x1b } ,
{ 0x00 , 0x1c , 0x1c } ,
{ 0x00 , 0x1d , 0x1d } ,
{ 0x00 , 0x1e , 0x1e } ,
{ 0x00 , 0x1f , 0x1f } ,
{ 0x00 , 0x20 , 0x20 } ,
{ 0x00 , 0x21 , 0x21 } ,
{ 0x00 , 0x22 , 0x22 } ,
{ 0x00 , 0x23 , 0x23 } ,
{ 0x00 , 0x24 , 0x24 } ,
{ 0x00 , 0x25 , 0x25 } ,
{ 0x00 , 0x26 , 0x26 } ,
{ 0x00 , 0x27 , 0x27 } ,
{ 0x00 , 0x28 , 0x28 } ,
{ 0x00 , 0x29 , 0x29 } ,
{ 0x00 , 0x2a , 0x2a } ,
{ 0x00 , 0x2b , 0x2b } ,
{ 0x00 , 0x2c , 0x2c } ,
{ 0x00 , 0x2d , 0x2d } ,
{ 0x00 , 0x2e , 0x2e } ,
{ 0x00 , 0x2f , 0x2f } ,
{ 0x00 , 0x30 , 0x30 } ,
{ 0x00 , 0x31 , 0x31 } ,
{ 0x00 , 0x32 , 0x32 } ,
{ 0x00 , 0x33 , 0x33 } ,
{ 0x00 , 0x34 , 0x34 } ,
{ 0x00 , 0x35 , 0x35 } ,
{ 0x00 , 0x36 , 0x36 } ,
{ 0x00 , 0x37 , 0x37 } ,
{ 0x00 , 0x38 , 0x38 } ,
{ 0x00 , 0x39 , 0x39 } ,
{ 0x00 , 0x3a , 0x3a } ,
{ 0x00 , 0x3b , 0x3b } ,
{ 0x00 , 0x3c , 0x3c } ,
{ 0x00 , 0x3d , 0x3d } ,
{ 0x00 , 0x3e , 0x3e } ,
{ 0x00 , 0x3f , 0x3f } ,
{ 0x00 , 0x40 , 0x40 } ,
{ 0x01 , 0x61 , 0x41 } ,
{ 0x01 , 0x62 , 0x42 } ,
{ 0x01 , 0x63 , 0x43 } ,
{ 0x01 , 0x64 , 0x44 } ,
{ 0x01 , 0x65 , 0x45 } ,
{ 0x01 , 0x66 , 0x46 } ,
{ 0x01 , 0x67 , 0x47 } ,
{ 0x01 , 0x68 , 0x48 } ,
{ 0x01 , 0x69 , 0x49 } ,
{ 0x01 , 0x6a , 0x4a } ,
{ 0x01 , 0x6b , 0x4b } ,
{ 0x01 , 0x6c , 0x4c } ,
{ 0x01 , 0x6d , 0x4d } ,
{ 0x01 , 0x6e , 0x4e } ,
{ 0x01 , 0x6f , 0x4f } ,
{ 0x01 , 0x70 , 0x50 } ,
{ 0x01 , 0x71 , 0x51 } ,
{ 0x01 , 0x72 , 0x52 } ,
{ 0x01 , 0x73 , 0x53 } ,
{ 0x01 , 0x74 , 0x54 } ,
{ 0x01 , 0x75 , 0x55 } ,
{ 0x01 , 0x76 , 0x56 } ,
{ 0x01 , 0x77 , 0x57 } ,
{ 0x01 , 0x78 , 0x58 } ,
{ 0x01 , 0x79 , 0x59 } ,
{ 0x01 , 0x7a , 0x5a } ,
{ 0x00 , 0x5b , 0x5b } ,
{ 0x00 , 0x5c , 0x5c } ,
{ 0x00 , 0x5d , 0x5d } ,
{ 0x00 , 0x5e , 0x5e } ,
{ 0x00 , 0x5f , 0x5f } ,
{ 0x00 , 0x60 , 0x60 } ,
{ 0x00 , 0x61 , 0x41 } ,
{ 0x00 , 0x62 , 0x42 } ,
{ 0x00 , 0x63 , 0x43 } ,
{ 0x00 , 0x64 , 0x44 } ,
{ 0x00 , 0x65 , 0x45 } ,
{ 0x00 , 0x66 , 0x46 } ,
{ 0x00 , 0x67 , 0x47 } ,
{ 0x00 , 0x68 , 0x48 } ,
{ 0x00 , 0x69 , 0x49 } ,
{ 0x00 , 0x6a , 0x4a } ,
{ 0x00 , 0x6b , 0x4b } ,
{ 0x00 , 0x6c , 0x4c } ,
{ 0x00 , 0x6d , 0x4d } ,
{ 0x00 , 0x6e , 0x4e } ,
{ 0x00 , 0x6f , 0x4f } ,
{ 0x00 , 0x70 , 0x50 } ,
{ 0x00 , 0x71 , 0x51 } ,
{ 0x00 , 0x72 , 0x52 } ,
{ 0x00 , 0x73 , 0x53 } ,
{ 0x00 , 0x74 , 0x54 } ,
{ 0x00 , 0x75 , 0x55 } ,
{ 0x00 , 0x76 , 0x56 } ,
{ 0x00 , 0x77 , 0x57 } ,
{ 0x00 , 0x78 , 0x58 } ,
{ 0x00 , 0x79 , 0x59 } ,
{ 0x00 , 0x7a , 0x5a } ,
{ 0x00 , 0x7b , 0x7b } ,
{ 0x00 , 0x7c , 0x7c } ,
{ 0x00 , 0x7d , 0x7d } ,
{ 0x00 , 0x7e , 0x7e } ,
{ 0x00 , 0x7f , 0x7f } ,
{ 0x00 , 0x80 , 0x80 } ,
{ 0x00 , 0x81 , 0x81 } ,
{ 0x00 , 0x82 , 0x82 } ,
{ 0x00 , 0x83 , 0x83 } ,
{ 0x00 , 0x84 , 0x84 } ,
{ 0x00 , 0x85 , 0x85 } ,
{ 0x00 , 0x86 , 0x86 } ,
{ 0x00 , 0x87 , 0x87 } ,
{ 0x00 , 0x88 , 0x88 } ,
{ 0x00 , 0x89 , 0x89 } ,
{ 0x00 , 0x8a , 0x8a } ,
{ 0x00 , 0x8b , 0x8b } ,
{ 0x00 , 0x8c , 0x8c } ,
{ 0x00 , 0x8d , 0x8d } ,
{ 0x00 , 0x8e , 0x8e } ,
{ 0x00 , 0x8f , 0x8f } ,
{ 0x00 , 0x90 , 0x90 } ,
{ 0x00 , 0x91 , 0x91 } ,
{ 0x00 , 0x92 , 0x92 } ,
{ 0x00 , 0x93 , 0x93 } ,
{ 0x00 , 0x94 , 0x94 } ,
{ 0x00 , 0x95 , 0x95 } ,
{ 0x00 , 0x96 , 0x96 } ,
{ 0x00 , 0x97 , 0x97 } ,
{ 0x00 , 0x98 , 0x98 } ,
{ 0x00 , 0x99 , 0x99 } ,
{ 0x00 , 0x9a , 0x9a } ,
{ 0x00 , 0x9b , 0x9b } ,
{ 0x00 , 0x9c , 0x9c } ,
{ 0x00 , 0x9d , 0x9d } ,
{ 0x00 , 0x9e , 0x9e } ,
{ 0x00 , 0x9f , 0x9f } ,
{ 0x00 , 0xa0 , 0xa0 } ,
{ 0x01 , 0xa2 , 0xa1 } ,
{ 0x00 , 0xa2 , 0xa1 } ,
{ 0x00 , 0xa3 , 0xa3 } ,
{ 0x01 , 0xa5 , 0xa4 } ,
{ 0x00 , 0xa5 , 0xa4 } ,
{ 0x01 , 0xa6 , 0xab } ,
{ 0x00 , 0xa7 , 0xa7 } ,
{ 0x01 , 0xb8 , 0xa8 } ,
{ 0x00 , 0xa9 , 0xa9 } ,
{ 0x01 , 0xba , 0xaa } ,
{ 0x00 , 0xab , 0xa6 } ,
{ 0x01 , 0xbc , 0xac } ,
{ 0x00 , 0xad , 0xad } ,
{ 0x00 , 0xae , 0xae } ,
{ 0x01 , 0xff , 0xaf } ,
{ 0x01 , 0xb1 , 0xb0 } ,
{ 0x00 , 0xb1 , 0xb0 } ,
{ 0x01 , 0xb3 , 0xb2 } ,
{ 0x00 , 0xb3 , 0xb2 } ,
{ 0x01 , 0xb5 , 0xb4 } ,
{ 0x00 , 0xb5 , 0xb4 } ,
{ 0x00 , 0xb6 , 0xb6 } ,
{ 0x01 , 0xb9 , 0xb7 } ,
{ 0x00 , 0xb8 , 0xa8 } ,
{ 0x00 , 0xb9 , 0xb6 } ,
{ 0x00 , 0xba , 0xaa } ,
{ 0x01 , 0xbf , 0xbb } ,
{ 0x00 , 0xbc , 0xac } ,
{ 0x01 , 0xbe , 0xbd } ,
{ 0x00 , 0xbe , 0xbd } ,
{ 0x00 , 0xbf , 0xbb } ,
{ 0x01 , 0xe0 , 0xc0 } ,
{ 0x01 , 0xe1 , 0xc1 } ,
{ 0x01 , 0xe2 , 0xc2 } ,
{ 0x01 , 0xe3 , 0xc3 } ,
{ 0x01 , 0xe4 , 0xc4 } ,
{ 0x01 , 0xe5 , 0xc5 } ,
{ 0x01 , 0xe6 , 0xc6 } ,
{ 0x01 , 0xe7 , 0xc7 } ,
{ 0x01 , 0xe8 , 0xc8 } ,
{ 0x01 , 0xe9 , 0xc9 } ,
{ 0x01 , 0xea , 0xca } ,
{ 0x01 , 0xeb , 0xcb } ,
{ 0x01 , 0xec , 0xcc } ,
{ 0x01 , 0xed , 0xcd } ,
{ 0x01 , 0xee , 0xce } ,
{ 0x01 , 0xef , 0xcf } ,
{ 0x01 , 0xf0 , 0xd0 } ,
{ 0x01 , 0xf1 , 0xd1 } ,
{ 0x01 , 0xf2 , 0xd2 } ,
{ 0x01 , 0xf3 , 0xd3 } ,
{ 0x01 , 0xf4 , 0xd4 } ,
{ 0x01 , 0xf5 , 0xd5 } ,
{ 0x01 , 0xf6 , 0xd6 } ,
{ 0x01 , 0xf7 , 0xd7 } ,
{ 0x01 , 0xf8 , 0xd8 } ,
{ 0x01 , 0xf9 , 0xd9 } ,
{ 0x01 , 0xfa , 0xda } ,
{ 0x01 , 0xfb , 0xdb } ,
{ 0x01 , 0xfc , 0xdc } ,
{ 0x01 , 0xfd , 0xdd } ,
{ 0x01 , 0xfe , 0xde } ,
{ 0x00 , 0xdf , 0xdf } ,
{ 0x00 , 0xe0 , 0xc0 } ,
{ 0x00 , 0xe1 , 0xc1 } ,
{ 0x00 , 0xe2 , 0xc2 } ,
{ 0x00 , 0xe3 , 0xc3 } ,
{ 0x00 , 0xe4 , 0xc4 } ,
{ 0x00 , 0xe5 , 0xc5 } ,
{ 0x00 , 0xe6 , 0xc6 } ,
{ 0x00 , 0xe7 , 0xc7 } ,
{ 0x00 , 0xe8 , 0xc8 } ,
{ 0x00 , 0xe9 , 0xc9 } ,
{ 0x00 , 0xea , 0xca } ,
{ 0x00 , 0xeb , 0xcb } ,
{ 0x00 , 0xec , 0xcc } ,
{ 0x00 , 0xed , 0xcd } ,
{ 0x00 , 0xee , 0xce } ,
{ 0x00 , 0xef , 0xcf } ,
{ 0x00 , 0xf0 , 0xd0 } ,
{ 0x00 , 0xf1 , 0xd1 } ,
{ 0x00 , 0xf2 , 0xd2 } ,
{ 0x00 , 0xf3 , 0xd3 } ,
{ 0x00 , 0xf4 , 0xd4 } ,
{ 0x00 , 0xf5 , 0xd5 } ,
{ 0x00 , 0xf6 , 0xd6 } ,
{ 0x00 , 0xf7 , 0xd7 } ,
{ 0x00 , 0xf8 , 0xd8 } ,
{ 0x00 , 0xf9 , 0xd9 } ,
{ 0x00 , 0xfa , 0xda } ,
{ 0x00 , 0xfb , 0xdb } ,
{ 0x00 , 0xfc , 0xdc } ,
{ 0x00 , 0xfd , 0xdd } ,
{ 0x00 , 0xfe , 0xde } ,
2008-11-04 14:05:31 -08:00
{ 0x00 , 0xff , 0xff }
2007-07-02 10:29:22 -07:00
} ;
2010-06-08 23:06:40 -07:00
static struct cs_info iso15_tbl [ ] = {
2007-07-02 10:29:22 -07:00
{ 0x00 , 0x00 , 0x00 } ,
{ 0x00 , 0x01 , 0x01 } ,
{ 0x00 , 0x02 , 0x02 } ,
{ 0x00 , 0x03 , 0x03 } ,
{ 0x00 , 0x04 , 0x04 } ,
{ 0x00 , 0x05 , 0x05 } ,
{ 0x00 , 0x06 , 0x06 } ,
{ 0x00 , 0x07 , 0x07 } ,
{ 0x00 , 0x08 , 0x08 } ,
{ 0x00 , 0x09 , 0x09 } ,
{ 0x00 , 0x0a , 0x0a } ,
{ 0x00 , 0x0b , 0x0b } ,
{ 0x00 , 0x0c , 0x0c } ,
{ 0x00 , 0x0d , 0x0d } ,
{ 0x00 , 0x0e , 0x0e } ,
{ 0x00 , 0x0f , 0x0f } ,
{ 0x00 , 0x10 , 0x10 } ,
{ 0x00 , 0x11 , 0x11 } ,
{ 0x00 , 0x12 , 0x12 } ,
{ 0x00 , 0x13 , 0x13 } ,
{ 0x00 , 0x14 , 0x14 } ,
{ 0x00 , 0x15 , 0x15 } ,
{ 0x00 , 0x16 , 0x16 } ,
{ 0x00 , 0x17 , 0x17 } ,
{ 0x00 , 0x18 , 0x18 } ,
{ 0x00 , 0x19 , 0x19 } ,
{ 0x00 , 0x1a , 0x1a } ,
{ 0x00 , 0x1b , 0x1b } ,
{ 0x00 , 0x1c , 0x1c } ,
{ 0x00 , 0x1d , 0x1d } ,
{ 0x00 , 0x1e , 0x1e } ,
{ 0x00 , 0x1f , 0x1f } ,
{ 0x00 , 0x20 , 0x20 } ,
{ 0x00 , 0x21 , 0x21 } ,
{ 0x00 , 0x22 , 0x22 } ,
{ 0x00 , 0x23 , 0x23 } ,
{ 0x00 , 0x24 , 0x24 } ,
{ 0x00 , 0x25 , 0x25 } ,
{ 0x00 , 0x26 , 0x26 } ,
{ 0x00 , 0x27 , 0x27 } ,
{ 0x00 , 0x28 , 0x28 } ,
{ 0x00 , 0x29 , 0x29 } ,
{ 0x00 , 0x2a , 0x2a } ,
{ 0x00 , 0x2b , 0x2b } ,
{ 0x00 , 0x2c , 0x2c } ,
{ 0x00 , 0x2d , 0x2d } ,
{ 0x00 , 0x2e , 0x2e } ,
{ 0x00 , 0x2f , 0x2f } ,
{ 0x00 , 0x30 , 0x30 } ,
{ 0x00 , 0x31 , 0x31 } ,
{ 0x00 , 0x32 , 0x32 } ,
{ 0x00 , 0x33 , 0x33 } ,
{ 0x00 , 0x34 , 0x34 } ,
{ 0x00 , 0x35 , 0x35 } ,
{ 0x00 , 0x36 , 0x36 } ,
{ 0x00 , 0x37 , 0x37 } ,
{ 0x00 , 0x38 , 0x38 } ,
{ 0x00 , 0x39 , 0x39 } ,
{ 0x00 , 0x3a , 0x3a } ,
{ 0x00 , 0x3b , 0x3b } ,
{ 0x00 , 0x3c , 0x3c } ,
{ 0x00 , 0x3d , 0x3d } ,
{ 0x00 , 0x3e , 0x3e } ,
{ 0x00 , 0x3f , 0x3f } ,
{ 0x00 , 0x40 , 0x40 } ,
{ 0x01 , 0x61 , 0x41 } ,
{ 0x01 , 0x62 , 0x42 } ,
{ 0x01 , 0x63 , 0x43 } ,
{ 0x01 , 0x64 , 0x44 } ,
{ 0x01 , 0x65 , 0x45 } ,
{ 0x01 , 0x66 , 0x46 } ,
{ 0x01 , 0x67 , 0x47 } ,
{ 0x01 , 0x68 , 0x48 } ,
{ 0x01 , 0x69 , 0x49 } ,
{ 0x01 , 0x6a , 0x4a } ,
{ 0x01 , 0x6b , 0x4b } ,
{ 0x01 , 0x6c , 0x4c } ,
{ 0x01 , 0x6d , 0x4d } ,
{ 0x01 , 0x6e , 0x4e } ,
{ 0x01 , 0x6f , 0x4f } ,
{ 0x01 , 0x70 , 0x50 } ,
{ 0x01 , 0x71 , 0x51 } ,
{ 0x01 , 0x72 , 0x52 } ,
{ 0x01 , 0x73 , 0x53 } ,
{ 0x01 , 0x74 , 0x54 } ,
{ 0x01 , 0x75 , 0x55 } ,
{ 0x01 , 0x76 , 0x56 } ,
{ 0x01 , 0x77 , 0x57 } ,
{ 0x01 , 0x78 , 0x58 } ,
{ 0x01 , 0x79 , 0x59 } ,
{ 0x01 , 0x7a , 0x5a } ,
{ 0x00 , 0x5b , 0x5b } ,
{ 0x00 , 0x5c , 0x5c } ,
{ 0x00 , 0x5d , 0x5d } ,
{ 0x00 , 0x5e , 0x5e } ,
{ 0x00 , 0x5f , 0x5f } ,
{ 0x00 , 0x60 , 0x60 } ,
{ 0x00 , 0x61 , 0x41 } ,
{ 0x00 , 0x62 , 0x42 } ,
{ 0x00 , 0x63 , 0x43 } ,
{ 0x00 , 0x64 , 0x44 } ,
{ 0x00 , 0x65 , 0x45 } ,
{ 0x00 , 0x66 , 0x46 } ,
{ 0x00 , 0x67 , 0x47 } ,
{ 0x00 , 0x68 , 0x48 } ,
{ 0x00 , 0x69 , 0x49 } ,
{ 0x00 , 0x6a , 0x4a } ,
{ 0x00 , 0x6b , 0x4b } ,
{ 0x00 , 0x6c , 0x4c } ,
{ 0x00 , 0x6d , 0x4d } ,
{ 0x00 , 0x6e , 0x4e } ,
{ 0x00 , 0x6f , 0x4f } ,
{ 0x00 , 0x70 , 0x50 } ,
{ 0x00 , 0x71 , 0x51 } ,
{ 0x00 , 0x72 , 0x52 } ,
{ 0x00 , 0x73 , 0x53 } ,
{ 0x00 , 0x74 , 0x54 } ,
{ 0x00 , 0x75 , 0x55 } ,
{ 0x00 , 0x76 , 0x56 } ,
{ 0x00 , 0x77 , 0x57 } ,
{ 0x00 , 0x78 , 0x58 } ,
{ 0x00 , 0x79 , 0x59 } ,
{ 0x00 , 0x7a , 0x5a } ,
{ 0x00 , 0x7b , 0x7b } ,
{ 0x00 , 0x7c , 0x7c } ,
{ 0x00 , 0x7d , 0x7d } ,
{ 0x00 , 0x7e , 0x7e } ,
{ 0x00 , 0x7f , 0x7f } ,
{ 0x00 , 0x80 , 0x80 } ,
{ 0x00 , 0x81 , 0x81 } ,
{ 0x00 , 0x82 , 0x82 } ,
{ 0x00 , 0x83 , 0x83 } ,
{ 0x00 , 0x84 , 0x84 } ,
{ 0x00 , 0x85 , 0x85 } ,
{ 0x00 , 0x86 , 0x86 } ,
{ 0x00 , 0x87 , 0x87 } ,
{ 0x00 , 0x88 , 0x88 } ,
{ 0x00 , 0x89 , 0x89 } ,
{ 0x00 , 0x8a , 0x8a } ,
{ 0x00 , 0x8b , 0x8b } ,
{ 0x00 , 0x8c , 0x8c } ,
{ 0x00 , 0x8d , 0x8d } ,
{ 0x00 , 0x8e , 0x8e } ,
{ 0x00 , 0x8f , 0x8f } ,
{ 0x00 , 0x90 , 0x90 } ,
{ 0x00 , 0x91 , 0x91 } ,
{ 0x00 , 0x92 , 0x92 } ,
{ 0x00 , 0x93 , 0x93 } ,
{ 0x00 , 0x94 , 0x94 } ,
{ 0x00 , 0x95 , 0x95 } ,
{ 0x00 , 0x96 , 0x96 } ,
{ 0x00 , 0x97 , 0x97 } ,
{ 0x00 , 0x98 , 0x98 } ,
{ 0x00 , 0x99 , 0x99 } ,
{ 0x00 , 0x9a , 0x9a } ,
{ 0x00 , 0x9b , 0x9b } ,
{ 0x00 , 0x9c , 0x9c } ,
{ 0x00 , 0x9d , 0x9d } ,
{ 0x00 , 0x9e , 0x9e } ,
{ 0x00 , 0x9f , 0x9f } ,
{ 0x00 , 0xa0 , 0xa0 } ,
{ 0x00 , 0xa1 , 0xa1 } ,
{ 0x00 , 0xa2 , 0xa2 } ,
{ 0x00 , 0xa3 , 0xa3 } ,
{ 0x00 , 0xa4 , 0xa4 } ,
{ 0x00 , 0xa5 , 0xa5 } ,
{ 0x01 , 0xa8 , 0xa6 } ,
{ 0x00 , 0xa7 , 0xa7 } ,
{ 0x00 , 0xa8 , 0xa6 } ,
{ 0x00 , 0xa9 , 0xa9 } ,
{ 0x00 , 0xaa , 0xaa } ,
{ 0x00 , 0xab , 0xab } ,
{ 0x00 , 0xac , 0xac } ,
{ 0x00 , 0xad , 0xad } ,
{ 0x00 , 0xae , 0xae } ,
{ 0x00 , 0xaf , 0xaf } ,
{ 0x00 , 0xb0 , 0xb0 } ,
{ 0x00 , 0xb1 , 0xb1 } ,
{ 0x00 , 0xb2 , 0xb2 } ,
{ 0x00 , 0xb3 , 0xb3 } ,
{ 0x01 , 0xb8 , 0xb4 } ,
{ 0x00 , 0xb5 , 0xb5 } ,
{ 0x00 , 0xb6 , 0xb6 } ,
{ 0x00 , 0xb7 , 0xb7 } ,
{ 0x00 , 0xb8 , 0xb4 } ,
{ 0x00 , 0xb9 , 0xb9 } ,
{ 0x00 , 0xba , 0xba } ,
{ 0x00 , 0xbb , 0xbb } ,
{ 0x01 , 0xbd , 0xbc } ,
{ 0x00 , 0xbd , 0xbc } ,
{ 0x01 , 0xff , 0xbe } ,
{ 0x00 , 0xbf , 0xbf } ,
{ 0x01 , 0xe0 , 0xc0 } ,
{ 0x01 , 0xe1 , 0xc1 } ,
{ 0x01 , 0xe2 , 0xc2 } ,
{ 0x01 , 0xe3 , 0xc3 } ,
{ 0x01 , 0xe4 , 0xc4 } ,
{ 0x01 , 0xe5 , 0xc5 } ,
{ 0x01 , 0xe6 , 0xc6 } ,
{ 0x01 , 0xe7 , 0xc7 } ,
{ 0x01 , 0xe8 , 0xc8 } ,
{ 0x01 , 0xe9 , 0xc9 } ,
{ 0x01 , 0xea , 0xca } ,
{ 0x01 , 0xeb , 0xcb } ,
{ 0x01 , 0xec , 0xcc } ,
{ 0x01 , 0xed , 0xcd } ,
{ 0x01 , 0xee , 0xce } ,
{ 0x01 , 0xef , 0xcf } ,
{ 0x01 , 0xf0 , 0xd0 } ,
{ 0x01 , 0xf1 , 0xd1 } ,
{ 0x01 , 0xf2 , 0xd2 } ,
{ 0x01 , 0xf3 , 0xd3 } ,
{ 0x01 , 0xf4 , 0xd4 } ,
{ 0x01 , 0xf5 , 0xd5 } ,
{ 0x01 , 0xf6 , 0xd6 } ,
{ 0x00 , 0xd7 , 0xd7 } ,
{ 0x01 , 0xf8 , 0xd8 } ,
{ 0x01 , 0xf9 , 0xd9 } ,
{ 0x01 , 0xfa , 0xda } ,
{ 0x01 , 0xfb , 0xdb } ,
{ 0x01 , 0xfc , 0xdc } ,
{ 0x01 , 0xfd , 0xdd } ,
{ 0x01 , 0xfe , 0xde } ,
{ 0x00 , 0xdf , 0xdf } ,
{ 0x00 , 0xe0 , 0xc0 } ,
{ 0x00 , 0xe1 , 0xc1 } ,
{ 0x00 , 0xe2 , 0xc2 } ,
{ 0x00 , 0xe3 , 0xc3 } ,
{ 0x00 , 0xe4 , 0xc4 } ,
{ 0x00 , 0xe5 , 0xc5 } ,
{ 0x00 , 0xe6 , 0xc6 } ,
{ 0x00 , 0xe7 , 0xc7 } ,
{ 0x00 , 0xe8 , 0xc8 } ,
{ 0x00 , 0xe9 , 0xc9 } ,
{ 0x00 , 0xea , 0xca } ,
{ 0x00 , 0xeb , 0xcb } ,
{ 0x00 , 0xec , 0xcc } ,
{ 0x00 , 0xed , 0xcd } ,
{ 0x00 , 0xee , 0xce } ,
{ 0x00 , 0xef , 0xcf } ,
{ 0x00 , 0xf0 , 0xd0 } ,
{ 0x00 , 0xf1 , 0xd1 } ,
{ 0x00 , 0xf2 , 0xd2 } ,
{ 0x00 , 0xf3 , 0xd3 } ,
{ 0x00 , 0xf4 , 0xd4 } ,
{ 0x00 , 0xf5 , 0xd5 } ,
{ 0x00 , 0xf6 , 0xd6 } ,
{ 0x00 , 0xf7 , 0xf7 } ,
{ 0x00 , 0xf8 , 0xd8 } ,
{ 0x00 , 0xf9 , 0xd9 } ,
{ 0x00 , 0xfa , 0xda } ,
{ 0x00 , 0xfb , 0xdb } ,
{ 0x00 , 0xfc , 0xdc } ,
{ 0x00 , 0xfd , 0xdd } ,
{ 0x00 , 0xfe , 0xde } ,
2008-11-04 14:05:31 -08:00
{ 0x00 , 0xff , 0xbe }
2007-07-02 10:29:22 -07:00
} ;
2010-06-08 23:06:40 -07:00
static struct cs_info iscii_devanagari_tbl [ ] = {
2007-07-02 10:29:22 -07:00
{ 0x00 , 0x00 , 0x00 } ,
{ 0x00 , 0x01 , 0x01 } ,
{ 0x00 , 0x02 , 0x02 } ,
{ 0x00 , 0x03 , 0x03 } ,
{ 0x00 , 0x04 , 0x04 } ,
{ 0x00 , 0x05 , 0x05 } ,
{ 0x00 , 0x06 , 0x06 } ,
{ 0x00 , 0x07 , 0x07 } ,
{ 0x00 , 0x08 , 0x08 } ,
{ 0x00 , 0x09 , 0x09 } ,
{ 0x00 , 0x0a , 0x0a } ,
{ 0x00 , 0x0b , 0x0b } ,
{ 0x00 , 0x0c , 0x0c } ,
{ 0x00 , 0x0d , 0x0d } ,
{ 0x00 , 0x0e , 0x0e } ,
{ 0x00 , 0x0f , 0x0f } ,
{ 0x00 , 0x10 , 0x10 } ,
{ 0x00 , 0x11 , 0x11 } ,
{ 0x00 , 0x12 , 0x12 } ,
{ 0x00 , 0x13 , 0x13 } ,
{ 0x00 , 0x14 , 0x14 } ,
{ 0x00 , 0x15 , 0x15 } ,
{ 0x00 , 0x16 , 0x16 } ,
{ 0x00 , 0x17 , 0x17 } ,
{ 0x00 , 0x18 , 0x18 } ,
{ 0x00 , 0x19 , 0x19 } ,
{ 0x00 , 0x1a , 0x1a } ,
{ 0x00 , 0x1b , 0x1b } ,
{ 0x00 , 0x1c , 0x1c } ,
{ 0x00 , 0x1d , 0x1d } ,
{ 0x00 , 0x1e , 0x1e } ,
{ 0x00 , 0x1f , 0x1f } ,
{ 0x00 , 0x20 , 0x20 } ,
{ 0x00 , 0x21 , 0x21 } ,
{ 0x00 , 0x22 , 0x22 } ,
{ 0x00 , 0x23 , 0x23 } ,
{ 0x00 , 0x24 , 0x24 } ,
{ 0x00 , 0x25 , 0x25 } ,
{ 0x00 , 0x26 , 0x26 } ,
{ 0x00 , 0x27 , 0x27 } ,
{ 0x00 , 0x28 , 0x28 } ,
{ 0x00 , 0x29 , 0x29 } ,
{ 0x00 , 0x2a , 0x2a } ,
{ 0x00 , 0x2b , 0x2b } ,
{ 0x00 , 0x2c , 0x2c } ,
{ 0x00 , 0x2d , 0x2d } ,
{ 0x00 , 0x2e , 0x2e } ,
{ 0x00 , 0x2f , 0x2f } ,
{ 0x00 , 0x30 , 0x30 } ,
{ 0x00 , 0x31 , 0x31 } ,
{ 0x00 , 0x32 , 0x32 } ,
{ 0x00 , 0x33 , 0x33 } ,
{ 0x00 , 0x34 , 0x34 } ,
{ 0x00 , 0x35 , 0x35 } ,
{ 0x00 , 0x36 , 0x36 } ,
{ 0x00 , 0x37 , 0x37 } ,
{ 0x00 , 0x38 , 0x38 } ,
{ 0x00 , 0x39 , 0x39 } ,
{ 0x00 , 0x3a , 0x3a } ,
{ 0x00 , 0x3b , 0x3b } ,
{ 0x00 , 0x3c , 0x3c } ,
{ 0x00 , 0x3d , 0x3d } ,
{ 0x00 , 0x3e , 0x3e } ,
{ 0x00 , 0x3f , 0x3f } ,
{ 0x00 , 0x40 , 0x40 } ,
{ 0x01 , 0x61 , 0x41 } ,
{ 0x01 , 0x62 , 0x42 } ,
{ 0x01 , 0x63 , 0x43 } ,
{ 0x01 , 0x64 , 0x44 } ,
{ 0x01 , 0x65 , 0x45 } ,
{ 0x01 , 0x66 , 0x46 } ,
{ 0x01 , 0x67 , 0x47 } ,
{ 0x01 , 0x68 , 0x48 } ,
{ 0x01 , 0x69 , 0x49 } ,
{ 0x01 , 0x6a , 0x4a } ,
{ 0x01 , 0x6b , 0x4b } ,
{ 0x01 , 0x6c , 0x4c } ,
{ 0x01 , 0x6d , 0x4d } ,
{ 0x01 , 0x6e , 0x4e } ,
{ 0x01 , 0x6f , 0x4f } ,
{ 0x01 , 0x70 , 0x50 } ,
{ 0x01 , 0x71 , 0x51 } ,
{ 0x01 , 0x72 , 0x52 } ,
{ 0x01 , 0x73 , 0x53 } ,
{ 0x01 , 0x74 , 0x54 } ,
{ 0x01 , 0x75 , 0x55 } ,
{ 0x01 , 0x76 , 0x56 } ,
{ 0x01 , 0x77 , 0x57 } ,
{ 0x01 , 0x78 , 0x58 } ,
{ 0x01 , 0x79 , 0x59 } ,
{ 0x01 , 0x7a , 0x5a } ,
{ 0x00 , 0x5b , 0x5b } ,
{ 0x00 , 0x5c , 0x5c } ,
{ 0x00 , 0x5d , 0x5d } ,
{ 0x00 , 0x5e , 0x5e } ,
{ 0x00 , 0x5f , 0x5f } ,
{ 0x00 , 0x60 , 0x60 } ,
{ 0x00 , 0x61 , 0x41 } ,
{ 0x00 , 0x62 , 0x42 } ,
{ 0x00 , 0x63 , 0x43 } ,
{ 0x00 , 0x64 , 0x44 } ,
{ 0x00 , 0x65 , 0x45 } ,
{ 0x00 , 0x66 , 0x46 } ,
{ 0x00 , 0x67 , 0x47 } ,
{ 0x00 , 0x68 , 0x48 } ,
{ 0x00 , 0x69 , 0x49 } ,
{ 0x00 , 0x6a , 0x4a } ,
{ 0x00 , 0x6b , 0x4b } ,
{ 0x00 , 0x6c , 0x4c } ,
{ 0x00 , 0x6d , 0x4d } ,
{ 0x00 , 0x6e , 0x4e } ,
{ 0x00 , 0x6f , 0x4f } ,
{ 0x00 , 0x70 , 0x50 } ,
{ 0x00 , 0x71 , 0x51 } ,
{ 0x00 , 0x72 , 0x52 } ,
{ 0x00 , 0x73 , 0x53 } ,
{ 0x00 , 0x74 , 0x54 } ,
{ 0x00 , 0x75 , 0x55 } ,
{ 0x00 , 0x76 , 0x56 } ,
{ 0x00 , 0x77 , 0x57 } ,
{ 0x00 , 0x78 , 0x58 } ,
{ 0x00 , 0x79 , 0x59 } ,
{ 0x00 , 0x7a , 0x5a } ,
{ 0x00 , 0x7b , 0x7b } ,
{ 0x00 , 0x7c , 0x7c } ,
{ 0x00 , 0x7d , 0x7d } ,
{ 0x00 , 0x7e , 0x7e } ,
{ 0x00 , 0x7f , 0x7f } ,
{ 0x00 , 0x80 , 0x80 } ,
{ 0x00 , 0x81 , 0x81 } ,
{ 0x00 , 0x82 , 0x82 } ,
{ 0x00 , 0x83 , 0x83 } ,
{ 0x00 , 0x84 , 0x84 } ,
{ 0x00 , 0x85 , 0x85 } ,
{ 0x00 , 0x86 , 0x86 } ,
{ 0x00 , 0x87 , 0x87 } ,
{ 0x00 , 0x88 , 0x88 } ,
{ 0x00 , 0x89 , 0x89 } ,
{ 0x00 , 0x8a , 0x8a } ,
{ 0x00 , 0x8b , 0x8b } ,
{ 0x00 , 0x8c , 0x8c } ,
{ 0x00 , 0x8d , 0x8d } ,
{ 0x00 , 0x8e , 0x8e } ,
{ 0x00 , 0x8f , 0x8f } ,
{ 0x00 , 0x90 , 0x90 } ,
{ 0x00 , 0x91 , 0x91 } ,
{ 0x00 , 0x92 , 0x92 } ,
{ 0x00 , 0x93 , 0x93 } ,
{ 0x00 , 0x94 , 0x94 } ,
{ 0x00 , 0x95 , 0x95 } ,
{ 0x00 , 0x96 , 0x96 } ,
{ 0x00 , 0x97 , 0x97 } ,
{ 0x00 , 0x98 , 0x98 } ,
{ 0x00 , 0x99 , 0x99 } ,
{ 0x00 , 0x9a , 0x9a } ,
{ 0x00 , 0x9b , 0x9b } ,
{ 0x00 , 0x9c , 0x9c } ,
{ 0x00 , 0x9d , 0x9d } ,
{ 0x00 , 0x9e , 0x9e } ,
{ 0x00 , 0x9f , 0x9f } ,
{ 0x00 , 0xa0 , 0xa0 } ,
{ 0x00 , 0xa1 , 0xa1 } ,
{ 0x00 , 0xa2 , 0xa2 } ,
{ 0x00 , 0xa3 , 0xa3 } ,
{ 0x00 , 0xa4 , 0xa4 } ,
{ 0x00 , 0xa5 , 0xa5 } ,
{ 0x00 , 0xa6 , 0xa6 } ,
{ 0x00 , 0xa7 , 0xa7 } ,
{ 0x00 , 0xa8 , 0xa8 } ,
{ 0x00 , 0xa9 , 0xa9 } ,
{ 0x00 , 0xaa , 0xaa } ,
{ 0x00 , 0xab , 0xab } ,
{ 0x00 , 0xac , 0xac } ,
{ 0x00 , 0xad , 0xad } ,
{ 0x00 , 0xae , 0xae } ,
{ 0x00 , 0xaf , 0xaf } ,
{ 0x00 , 0xb0 , 0xb0 } ,
{ 0x00 , 0xb1 , 0xb1 } ,
{ 0x00 , 0xb2 , 0xb2 } ,
{ 0x00 , 0xb3 , 0xb3 } ,
{ 0x00 , 0xb4 , 0xb4 } ,
{ 0x00 , 0xb5 , 0xb5 } ,
{ 0x00 , 0xb6 , 0xb6 } ,
{ 0x00 , 0xb7 , 0xb7 } ,
{ 0x00 , 0xb8 , 0xb8 } ,
{ 0x00 , 0xb9 , 0xb9 } ,
{ 0x00 , 0xba , 0xba } ,
{ 0x00 , 0xbb , 0xbb } ,
{ 0x00 , 0xbc , 0xbc } ,
{ 0x00 , 0xbd , 0xbd } ,
{ 0x00 , 0xbe , 0xbe } ,
{ 0x00 , 0xbf , 0xbf } ,
{ 0x00 , 0xc0 , 0xc0 } ,
{ 0x00 , 0xc1 , 0xc1 } ,
{ 0x00 , 0xc2 , 0xc2 } ,
{ 0x00 , 0xc3 , 0xc3 } ,
{ 0x00 , 0xc4 , 0xc4 } ,
{ 0x00 , 0xc5 , 0xc5 } ,
{ 0x00 , 0xc6 , 0xc6 } ,
{ 0x00 , 0xc7 , 0xc7 } ,
{ 0x00 , 0xc8 , 0xc8 } ,
{ 0x00 , 0xc9 , 0xc9 } ,
{ 0x00 , 0xca , 0xca } ,
{ 0x00 , 0xcb , 0xcb } ,
{ 0x00 , 0xcc , 0xcc } ,
{ 0x00 , 0xcd , 0xcd } ,
{ 0x00 , 0xce , 0xce } ,
{ 0x00 , 0xcf , 0xcf } ,
{ 0x00 , 0xd0 , 0xd0 } ,
{ 0x00 , 0xd1 , 0xd1 } ,
{ 0x00 , 0xd2 , 0xd2 } ,
{ 0x00 , 0xd3 , 0xd3 } ,
{ 0x00 , 0xd4 , 0xd4 } ,
{ 0x00 , 0xd5 , 0xd5 } ,
{ 0x00 , 0xd6 , 0xd6 } ,
{ 0x00 , 0xd7 , 0xd7 } ,
{ 0x00 , 0xd8 , 0xd8 } ,
{ 0x00 , 0xd9 , 0xd9 } ,
{ 0x00 , 0xda , 0xda } ,
{ 0x00 , 0xdb , 0xdb } ,
{ 0x00 , 0xdc , 0xdc } ,
{ 0x00 , 0xdd , 0xdd } ,
{ 0x00 , 0xde , 0xde } ,
{ 0x00 , 0xdf , 0xdf } ,
{ 0x00 , 0xe0 , 0xe0 } ,
{ 0x00 , 0xe1 , 0xe1 } ,
{ 0x00 , 0xe2 , 0xe2 } ,
{ 0x00 , 0xe3 , 0xe3 } ,
{ 0x00 , 0xe4 , 0xe4 } ,
{ 0x00 , 0xe5 , 0xe5 } ,
{ 0x00 , 0xe6 , 0xe6 } ,
{ 0x00 , 0xe7 , 0xe7 } ,
{ 0x00 , 0xe8 , 0xe8 } ,
{ 0x00 , 0xe9 , 0xe9 } ,
{ 0x00 , 0xea , 0xea } ,
{ 0x00 , 0xeb , 0xeb } ,
{ 0x00 , 0xec , 0xec } ,
{ 0x00 , 0xed , 0xed } ,
{ 0x00 , 0xee , 0xee } ,
{ 0x00 , 0xef , 0xef } ,
{ 0x00 , 0xf0 , 0xf0 } ,
{ 0x00 , 0xf1 , 0xf1 } ,
{ 0x00 , 0xf2 , 0xf2 } ,
{ 0x00 , 0xf3 , 0xf3 } ,
{ 0x00 , 0xf4 , 0xf4 } ,
{ 0x00 , 0xf5 , 0xf5 } ,
{ 0x00 , 0xf6 , 0xf6 } ,
{ 0x00 , 0xf7 , 0xf7 } ,
{ 0x00 , 0xf8 , 0xf8 } ,
{ 0x00 , 0xf9 , 0xf9 } ,
{ 0x00 , 0xfa , 0xfa } ,
{ 0x00 , 0xfb , 0xfb } ,
{ 0x00 , 0xfc , 0xfc } ,
{ 0x00 , 0xfd , 0xfd } ,
{ 0x00 , 0xfe , 0xfe } ,
2008-11-04 14:05:31 -08:00
{ 0x00 , 0xff , 0xff }
2007-07-02 10:29:22 -07:00
} ;
2008-11-04 14:05:31 -08:00
static struct enc_entry encds [ ] = {
2007-07-02 10:29:22 -07:00
{ " ISO8859-1 " , iso1_tbl } ,
{ " ISO8859-2 " , iso2_tbl } ,
{ " ISO8859-3 " , iso3_tbl } ,
{ " ISO8859-4 " , iso4_tbl } ,
{ " ISO8859-5 " , iso5_tbl } ,
{ " ISO8859-6 " , iso6_tbl } ,
{ " ISO8859-7 " , iso7_tbl } ,
{ " ISO8859-8 " , iso8_tbl } ,
{ " ISO8859-9 " , iso9_tbl } ,
{ " ISO8859-10 " , iso10_tbl } ,
{ " KOI8-R " , koi8r_tbl } ,
{ " KOI8-U " , koi8u_tbl } ,
{ " microsoft-cp1251 " , cp1251_tbl } ,
{ " ISO8859-13 " , iso13_tbl } ,
{ " ISO8859-14 " , iso14_tbl } ,
{ " ISO8859-15 " , iso15_tbl } ,
2008-11-04 14:05:31 -08:00
{ " ISCII-DEVANAGARI " , iscii_devanagari_tbl }
2007-07-02 10:29:22 -07:00
} ;
struct cs_info * get_current_cs ( const char * es ) {
struct cs_info * ccs = encds [ 0 ] . cs_table ;
int n = sizeof ( encds ) / sizeof ( encds [ 0 ] ) ;
for ( int i = 0 ; i < n ; i + + ) {
if ( strcmp ( es , encds [ i ] . enc_name ) = = 0 ) {
ccs = encds [ i ] . cs_table ;
2008-11-04 14:05:31 -08:00
break ;
2007-07-02 10:29:22 -07:00
}
}
return ccs ;
}
# else
// XXX This function was rewritten for mozilla. Instead of storing the
// conversion tables static in this file, create them when needed
// with help the mozilla backend.
struct cs_info * get_current_cs ( const char * es ) {
struct cs_info * ccs ;
nsCOMPtr < nsIUnicodeEncoder > encoder ;
nsCOMPtr < nsIUnicodeDecoder > decoder ;
nsresult rv ;
nsCOMPtr < nsICharsetConverterManager > ccm = do_GetService ( kCharsetConverterManagerCID , & rv ) ;
if ( NS_FAILED ( rv ) )
return nsnull ;
rv = ccm - > GetUnicodeEncoder ( es , getter_AddRefs ( encoder ) ) ;
if ( NS_FAILED ( rv ) )
return nsnull ;
2009-11-20 17:21:12 -08:00
encoder - > SetOutputErrorBehavior ( encoder - > kOnError_Signal , nsnull , ' ? ' ) ;
2007-07-02 10:29:22 -07:00
rv = ccm - > GetUnicodeDecoder ( es , getter_AddRefs ( decoder ) ) ;
2009-11-20 17:21:12 -08:00
if ( NS_FAILED ( rv ) )
return nsnull ;
decoder - > SetInputErrorBehavior ( decoder - > kOnError_Signal ) ;
2007-07-02 10:29:22 -07:00
2010-06-08 23:06:40 -07:00
ccs = new cs_info [ 256 ] ;
2007-07-02 10:29:22 -07:00
2009-11-20 17:21:12 -08:00
for ( unsigned int i = 0 ; i < = 0xff ; + + i ) {
PRBool success = PR_FALSE ;
// We want to find the upper/lowercase equivalents of each byte
// in this 1-byte character encoding. Call our encoding/decoding
// APIs separately for each byte since they may reject some of the
// bytes, and we want to handle errors separately for each byte.
char lower , upper ;
do {
if ( i = = 0 )
break ;
const char source = char ( i ) ;
PRUnichar uni , uniCased ;
PRInt32 charLength = 1 , uniLength = 1 ;
2007-07-02 10:29:22 -07:00
2009-11-20 17:21:12 -08:00
rv = decoder - > Convert ( & source , & charLength , & uni , & uniLength ) ;
// Explicitly check NS_OK because we don't want to allow
// NS_OK_UDEC_MOREOUTPUT or NS_OK_UDEC_MOREINPUT.
if ( rv ! = NS_OK | | charLength ! = 1 | | uniLength ! = 1 )
break ;
2010-07-29 12:22:16 -07:00
uniCased = ToLowerCase ( uni ) ;
2009-11-20 17:21:12 -08:00
rv = encoder - > Convert ( & uniCased , & uniLength , & lower , & charLength ) ;
// Explicitly check NS_OK because we don't want to allow
// NS_OK_UDEC_MOREOUTPUT or NS_OK_UDEC_MOREINPUT.
if ( rv ! = NS_OK | | charLength ! = 1 | | uniLength ! = 1 )
break ;
2007-07-02 10:29:22 -07:00
2010-07-29 12:22:16 -07:00
uniCased = ToUpperCase ( uni ) ;
2009-11-20 17:21:12 -08:00
rv = encoder - > Convert ( & uniCased , & uniLength , & upper , & charLength ) ;
// Explicitly check NS_OK because we don't want to allow
// NS_OK_UDEC_MOREOUTPUT or NS_OK_UDEC_MOREINPUT.
if ( rv ! = NS_OK | | charLength ! = 1 | | uniLength ! = 1 )
break ;
2007-07-02 10:29:22 -07:00
2009-11-20 17:21:12 -08:00
success = PR_TRUE ;
} while ( 0 ) ;
2007-07-02 10:29:22 -07:00
2009-11-20 17:21:12 -08:00
if ( success ) {
ccs [ i ] . cupper = upper ;
ccs [ i ] . clower = lower ;
} else {
ccs [ i ] . cupper = i ;
ccs [ i ] . clower = i ;
}
2007-07-02 10:29:22 -07:00
if ( ccs [ i ] . clower ! = ( unsigned char ) i )
ccs [ i ] . ccase = true ;
else
ccs [ i ] . ccase = false ;
}
return ccs ;
}
# endif
// primitive isalpha() replacement for tokenization
char * get_casechars ( const char * enc ) {
struct cs_info * csconv = get_current_cs ( enc ) ;
char expw [ MAXLNLEN ] ;
char * p = expw ;
for ( int i = 0 ; i < = 255 ; i + + ) {
if ( ( csconv [ i ] . cupper ! = csconv [ i ] . clower ) ) {
* p = ( char ) i ;
p + + ;
}
}
* p = ' \0 ' ;
# ifdef MOZILLA_CLIENT
2010-06-08 23:06:40 -07:00
delete [ ] csconv ;
2007-07-02 10:29:22 -07:00
# endif
return mystrdup ( expw ) ;
}
2010-06-08 23:06:40 -07:00
static struct lang_map lang2enc [ ] = {
2007-07-02 10:29:22 -07:00
{ " ar " , " UTF-8 " , LANG_ar } ,
{ " az " , " UTF-8 " , LANG_az } ,
{ " bg " , " microsoft-cp1251 " , LANG_bg } ,
{ " ca " , " ISO8859-1 " , LANG_ca } ,
{ " cs " , " ISO8859-2 " , LANG_cs } ,
{ " da " , " ISO8859-1 " , LANG_da } ,
{ " de " , " ISO8859-1 " , LANG_de } ,
{ " el " , " ISO8859-7 " , LANG_el } ,
{ " en " , " ISO8859-1 " , LANG_en } ,
{ " es " , " ISO8859-1 " , LANG_es } ,
{ " eu " , " ISO8859-1 " , LANG_eu } ,
{ " gl " , " ISO8859-1 " , LANG_gl } ,
{ " fr " , " ISO8859-15 " , LANG_fr } ,
{ " hr " , " ISO8859-2 " , LANG_hr } ,
{ " hu " , " ISO8859-2 " , LANG_hu } ,
{ " it " , " ISO8859-1 " , LANG_it } ,
{ " la " , " ISO8859-1 " , LANG_la } ,
{ " lv " , " ISO8859-13 " , LANG_lv } ,
{ " nl " , " ISO8859-1 " , LANG_nl } ,
{ " pl " , " ISO8859-2 " , LANG_pl } ,
{ " pt " , " ISO8859-1 " , LANG_pt } ,
{ " sv " , " ISO8859-1 " , LANG_sv } ,
{ " tr " , " UTF-8 " , LANG_tr } ,
{ " ru " , " KOI8-R " , LANG_ru } ,
{ " uk " , " KOI8-U " , LANG_uk }
} ;
const char * get_default_enc ( const char * lang ) {
int n = sizeof ( lang2enc ) / sizeof ( lang2enc [ 0 ] ) ;
for ( int i = 0 ; i < n ; i + + ) {
if ( strcmp ( lang , lang2enc [ i ] . lang ) = = 0 ) {
return lang2enc [ i ] . def_enc ;
}
}
return NULL ;
}
int get_lang_num ( const char * lang ) {
int n = sizeof ( lang2enc ) / sizeof ( lang2enc [ 0 ] ) ;
for ( int i = 0 ; i < n ; i + + ) {
if ( strncmp ( lang , lang2enc [ i ] . lang , 2 ) = = 0 ) {
return lang2enc [ i ] . num ;
}
}
return LANG_xx ;
}
# ifndef OPENOFFICEORG
# ifndef MOZILLA_CLIENT
int initialize_utf_tbl ( ) {
utf_tbl_count + + ;
if ( utf_tbl ) return 0 ;
utf_tbl = ( unicode_info2 * ) malloc ( CONTSIZE * sizeof ( unicode_info2 ) ) ;
if ( utf_tbl ) {
2010-06-08 23:06:40 -07:00
size_t j ;
2007-07-02 10:29:22 -07:00
for ( j = 0 ; j < CONTSIZE ; j + + ) {
utf_tbl [ j ] . cletter = 0 ;
utf_tbl [ j ] . clower = ( unsigned short ) j ;
utf_tbl [ j ] . cupper = ( unsigned short ) j ;
}
for ( j = 0 ; j < UTF_LST_LEN ; j + + ) {
utf_tbl [ utf_lst [ j ] . c ] . cletter = 1 ;
utf_tbl [ utf_lst [ j ] . c ] . clower = utf_lst [ j ] . clower ;
utf_tbl [ utf_lst [ j ] . c ] . cupper = utf_lst [ j ] . cupper ;
}
} else return 1 ;
return 0 ;
}
# endif
# endif
void free_utf_tbl ( ) {
2007-07-18 15:22:33 -07:00
if ( utf_tbl_count > 0 ) utf_tbl_count - - ;
2007-07-02 10:29:22 -07:00
if ( utf_tbl & & ( utf_tbl_count = = 0 ) ) {
free ( utf_tbl ) ;
utf_tbl = NULL ;
}
}
unsigned short unicodetoupper ( unsigned short c , int langnum )
{
// In Azeri and Turkish, I and i dictinct letters:
// There are a dotless lower case i pair of upper `I',
// and an upper I with dot pair of lower `i'.
if ( c = = 0x0069 & & ( ( langnum = = LANG_az ) | | ( langnum = = LANG_tr ) ) )
return 0x0130 ;
# ifdef OPENOFFICEORG
return u_toupper ( c ) ;
# else
# ifdef MOZILLA_CLIENT
2010-07-29 12:22:16 -07:00
return ToUpperCase ( ( PRUnichar ) c ) ;
2007-07-02 10:29:22 -07:00
# else
return ( utf_tbl ) ? utf_tbl [ c ] . cupper : c ;
# endif
# endif
}
unsigned short unicodetolower ( unsigned short c , int langnum )
{
// In Azeri and Turkish, I and i dictinct letters:
// There are a dotless lower case i pair of upper `I',
// and an upper I with dot pair of lower `i'.
if ( c = = 0x0049 & & ( ( langnum = = LANG_az ) | | ( langnum = = LANG_tr ) ) )
return 0x0131 ;
# ifdef OPENOFFICEORG
return u_tolower ( c ) ;
# else
# ifdef MOZILLA_CLIENT
2010-07-29 12:22:16 -07:00
return ToLowerCase ( ( PRUnichar ) c ) ;
2007-07-02 10:29:22 -07:00
# else
return ( utf_tbl ) ? utf_tbl [ c ] . clower : c ;
# endif
# endif
}
int unicodeisalpha ( unsigned short c )
{
# ifdef OPENOFFICEORG
return u_isalpha ( c ) ;
# else
return ( utf_tbl ) ? utf_tbl [ c ] . cletter : 0 ;
# endif
}
/* get type of capitalization */
int get_captype ( char * word , int nl , cs_info * csconv ) {
// now determine the capitalization type of the first nl letters
int ncap = 0 ;
int nneutral = 0 ;
int firstcap = 0 ;
2008-11-04 14:05:31 -08:00
if ( csconv = = NULL ) return NOCAP ;
for ( char * q = word ; * q ! = ' \0 ' ; q + + ) {
if ( csconv [ * ( ( unsigned char * ) q ) ] . ccase ) ncap + + ;
if ( csconv [ * ( ( unsigned char * ) q ) ] . cupper = = csconv [ * ( ( unsigned char * ) q ) ] . clower ) nneutral + + ;
}
if ( ncap ) {
firstcap = csconv [ * ( ( unsigned char * ) word ) ] . ccase ;
}
2007-07-02 10:29:22 -07:00
// now finally set the captype
if ( ncap = = 0 ) {
return NOCAP ;
} else if ( ( ncap = = 1 ) & & firstcap ) {
return INITCAP ;
} else if ( ( ncap = = nl ) | | ( ( ncap + nneutral ) = = nl ) ) {
return ALLCAP ;
} else if ( ( ncap > 1 ) & & firstcap ) {
return HUHINITCAP ;
}
return HUHCAP ;
}
2007-09-06 06:04:27 -07:00
int get_captype_utf8 ( w_char * word , int nl , int langnum ) {
2007-07-02 10:29:22 -07:00
// now determine the capitalization type of the first nl letters
int ncap = 0 ;
int nneutral = 0 ;
int firstcap = 0 ;
2007-09-06 06:04:27 -07:00
unsigned short idx ;
// don't check too long words
if ( nl > = MAXWORDLEN ) return 0 ;
// big Unicode character (non BMP area)
if ( nl = = - 1 ) return NOCAP ;
for ( int i = 0 ; i < nl ; i + + ) {
idx = ( word [ i ] . h < < 8 ) + word [ i ] . l ;
if ( idx ! = unicodetolower ( idx , langnum ) ) ncap + + ;
if ( unicodetoupper ( idx , langnum ) = = unicodetolower ( idx , langnum ) ) nneutral + + ;
}
if ( ncap ) {
idx = ( word [ 0 ] . h < < 8 ) + word [ 0 ] . l ;
firstcap = ( idx ! = unicodetolower ( idx , langnum ) ) ;
}
2007-07-02 10:29:22 -07:00
// now finally set the captype
if ( ncap = = 0 ) {
return NOCAP ;
} else if ( ( ncap = = 1 ) & & firstcap ) {
return INITCAP ;
} else if ( ( ncap = = nl ) | | ( ( ncap + nneutral ) = = nl ) ) {
return ALLCAP ;
} else if ( ( ncap > 1 ) & & firstcap ) {
return HUHINITCAP ;
}
return HUHCAP ;
}
// strip all ignored characters in the string
void remove_ignored_chars_utf ( char * word , unsigned short ignored_chars [ ] , int ignored_len )
{
w_char w [ MAXWORDLEN ] ;
w_char w2 [ MAXWORDLEN ] ;
int i ;
int j ;
int len = u8_u16 ( w , MAXWORDLEN , word ) ;
for ( i = 0 , j = 0 ; i < len ; i + + ) {
if ( ! flag_bsearch ( ignored_chars , ( ( unsigned short * ) w ) [ i ] , ignored_len ) ) {
w2 [ j ] = w [ i ] ;
j + + ;
}
}
if ( j < i ) u16_u8 ( word , MAXWORDUTF8LEN , w2 , j ) ;
}
// strip all ignored characters in the string
void remove_ignored_chars ( char * word , char * ignored_chars )
{
for ( char * p = word ; * p ! = ' \0 ' ; p + + ) {
if ( ! strchr ( ignored_chars , * p ) ) {
* word = * p ;
word + + ;
}
}
* word = ' \0 ' ;
}
2008-11-04 14:05:31 -08:00
int parse_string ( char * line , char * * out , int ln )
2007-07-02 10:29:22 -07:00
{
char * tp = line ;
char * piece ;
int i = 0 ;
int np = 0 ;
if ( * out ) {
2008-11-04 14:05:31 -08:00
HUNSPELL_WARNING ( stderr , " error: line %d: multiple definitions \n " , ln ) ;
2007-07-02 10:29:22 -07:00
return 1 ;
}
piece = mystrsep ( & tp , 0 ) ;
while ( piece ) {
if ( * piece ! = ' \0 ' ) {
switch ( i ) {
case 0 : { np + + ; break ; }
case 1 : {
* out = mystrdup ( piece ) ;
2008-11-04 14:05:31 -08:00
if ( ! * out ) return 1 ;
2007-07-02 10:29:22 -07:00
np + + ;
break ;
}
default : break ;
}
i + + ;
}
2008-11-04 14:05:31 -08:00
// free(piece);
2007-07-02 10:29:22 -07:00
piece = mystrsep ( & tp , 0 ) ;
}
if ( np ! = 2 ) {
2008-11-04 14:05:31 -08:00
HUNSPELL_WARNING ( stderr , " error: line %d: missing data \n " , ln ) ;
2007-07-02 10:29:22 -07:00
return 1 ;
}
return 0 ;
}
2008-11-04 14:05:31 -08:00
int parse_array ( char * line , char * * out , unsigned short * * out_utf16 ,
int * out_utf16_len , int utf8 , int ln ) {
if ( parse_string ( line , out , ln ) ) return 1 ;
2007-07-02 10:29:22 -07:00
if ( utf8 ) {
w_char w [ MAXWORDLEN ] ;
int n = u8_u16 ( w , MAXWORDLEN , * out ) ;
if ( n > 0 ) {
flag_qsort ( ( unsigned short * ) w , 0 , n ) ;
* out_utf16 = ( unsigned short * ) malloc ( n * sizeof ( unsigned short ) ) ;
if ( ! * out_utf16 ) return 1 ;
memcpy ( * out_utf16 , w , n * sizeof ( unsigned short ) ) ;
}
* out_utf16_len = n ;
}
return 0 ;
}