/**************************************************************************/ 
/*      Case and Diacritic Insensitive Weight Table (DOS 850)             */ 
/**************************************************************************/ 
 
#pragma warning(disable:4305) 
unsigned char rgchCidi[] = 
{ 
      0,  /* (unprintable)       */ 
      1,  /* (unprintable)       */ 
      2,  /* (unprintable)       */ 
      3,  /* (unprintable)       */ 
      4,  /* (unprintable)       */ 
      5,  /* (unprintable)       */ 
      6,  /* (unprintable)       */ 
      7,  /* (unprintable)       */ 
      8,  /* (unprintable)       */ 
      9,  /* (unprintable)       */ 
     10,  /* (unprintable)       */ 
     11,  /* (unprintable)       */ 
     12,  /* (unprintable)       */ 
     13,  /* (unprintable)       */ 
     14,  /* (unprintable)       */ 
     15,  /* (unprintable)       */ 
 
     16,  /* (unprintable)       */ 
     17,  /* (unprintable)       */ 
     18,  /* (unprintable)       */ 
     19,  /* (unprintable)       */ 
     20,  /* (unprintable)       */ 
     21,  /* (unprintable)       */ 
     22,  /* (unprintable)       */ 
     23,  /* (unprintable)       */ 
     24,  /* (unprintable)       */ 
     25,  /* (unprintable)       */ 
     26,  /* (unprintable)       */ 
     27,  /* (unprintable)       */ 
     28,  /* (unprintable)       */ 
     29,  /* (unprintable)       */ 
     30,  /* (unprintable)       */ 
     31,  /* (unprintable)       */ 
 
     32,  /* space               */ 
     33,  /* !                   */ 
     34,  /* "                   */ 
     35,  /* #                   */ 
     36,  /* $                   */ 
     37,  /* %                   */ 
     38,  /* &                   */ 
     39,  /* '                   */ 
     40,  /* (                   */ 
     41,  /* )                   */ 
     42,  /* *                   */ 
     43,  /* +                   */ 
     44,  /* ,                   */ 
     45,  /* -                   */ 
     46,  /* .                   */ 
     47,  /* /                   */ 
 
     79,  /* 0                   */ 
     80,  /* 1                   */ 
     81,  /* 2                   */ 
     82,  /* 3                   */ 
     83,  /* 4                   */ 
     84,  /* 5                   */ 
     85,  /* 6                   */ 
     86,  /* 7                   */ 
     87,  /* 8                   */ 
     88,  /* 9                   */ 
     48,  /* :                   */ 
     49,  /* ;                   */ 
     50,  /* <                   */ 
     51,  /* =                   */ 
     52,  /* >                   */ 
     53,  /* ?                   */ 
 
     54,  /* @                   */ 
     89,  /* A                   */ 
    106,  /* B                   */ 
    108,  /* C                   */ 
    112,  /* D                   */ 
    116,  /* E                   */ 
    126,  /* F                   */ 
    128,  /* G                   */ 
    130,  /* H                   */ 
    132,  /* I                   */ 
    143,  /* J                   */ 
    145,  /* K                   */ 
    147,  /* L                   */ 
    149,  /* M                   */ 
    152,  /* N                   */ 
    156,  /* O                   */ 
 
    171,  /* P                   */ 
    175,  /* Q                   */ 
    177,  /* R                   */ 
    179,  /* S                   */ 
    182,  /* T                   */ 
    184,  /* U                   */ 
    194,  /* V                   */ 
    196,  /* W                   */ 
    198,  /* X                   */ 
    200,  /* Y                   */ 
    205,  /* Z                   */ 
     55,  /* [                   */ 
     56,  /* \                   */ 
     57,  /* ]                   */ 
     58,  /* ^                   */ 
     59,  /* _                   */ 
 
     60,  /* back quote          */ 
     89,  /* a                   */ 
    106,  /* b                   */ 
    108,  /* c                   */ 
    112,  /* d                   */ 
    116,  /* e                   */ 
    126,  /* f                   */ 
    128,  /* g                   */ 
    130,  /* h                   */ 
    132,  /* i                   */ 
    143,  /* j                   */ 
    145,  /* k                   */ 
    147,  /* l                   */ 
    149,  /* m                   */ 
    152,  /* n                   */ 
    156,  /* o                   */ 
 
    171,  /* p                   */ 
    175,  /* q                   */ 
    177,  /* r                   */ 
    179,  /* s                   */ 
    182,  /* t                   */ 
    184,  /* u                   */ 
    194,  /* v                   */ 
    196,  /* w                   */ 
    198,  /* x                   */ 
    200,  /* y                   */ 
    205,  /* z                   */ 
     61,  /* {                   */ 
     62,  /* |                   */ 
     63,  /* }                   */ 
     64,  /* ~                   */ 
     65,  /* (graphic)           */ 
 
    108,  /* C cedilla           */ 
    184,  /* u umlaut            */ 
    116,  /* e acute             */ 
     89,  /* a circumflex        */ 
     89,  /* a umlaut            */ 
     89,  /* a grave             */ 
     89,  /* a dot               */ 
    108,  /* c cedilla           */ 
    116,  /* e circumflex        */ 
    116,  /* e umlaut            */ 
    116,  /* e grave             */ 
    132,  /* i umlaut            */ 
    132,  /* i circumflex        */ 
    132,  /* i grave             */ 
     89,  /* A umlaut            */ 
     89,  /* A dot               */ 
 
    116,  /* E acute             */ 
    104,  /* ae ligature         */ 
    104,  /* AE ligature         */ 
    156,  /* o circumflex        */ 
    156,  /* o umlaut            */ 
    156,  /* o grave             */ 
    184,  /* u circumflex        */ 
    184,  /* u grave             */ 
    200,  /* y umlaut            */ 
    156,  /* O umlaut            */ 
    184,  /* U umlaut            */ 
    156,  /* o slash             */ 
     66,  /* pound sign          */ 
    156,  /* O slash             */ 
     67,  /* multiplication sign */ 
     68,  /* function sign       */ 
 
     89,  /* a acute             */ 
    132,  /* i acute             */ 
    156,  /* o acute             */ 
    184,  /* u acute             */ 
    152,  /* n tilde             */ 
    152,  /* N tilde             */ 
    103,  /* a underscore        */ 
    170,  /* o underscore        */ 
     69,  /* inverted ?          */ 
     70,  /* registered sign     */ 
    207,  /* logical not sign    */ 
     71,  /* 1/2                 */ 
     72,  /* 1/4                 */ 
     73,  /* inverted !          */ 
     74,  /* <<                  */ 
     75,  /* >>                  */ 
 
    208,  /* graphic 1           */ 
    209,  /* graphic 2           */ 
    210,  /* graphic 3           */ 
    211,  /* graphic 4           */ 
    212,  /* graphic 5           */ 
     89,  /* A acute             */ 
     89,  /* A circumflex        */ 
     89,  /* A grave             */ 
     76,  /* copyright sign      */ 
    213,  /* graphic 6           */ 
    214,  /* graphic 7           */ 
    215,  /* graphic 8           */ 
    216,  /* graphic 9           */ 
     77,  /* cent sign           */ 
     78,  /* yen sign            */ 
    217,  /* graphic 10          */ 
 
    218,  /* graphic 11          */ 
    219,  /* graphic 12          */ 
    220,  /* graphic 13          */ 
    221,  /* graphic 14          */ 
    222,  /* graphic 15          */ 
    223,  /* graphic 16          */ 
     89,  /* a tilde             */ 
     89,  /* A tilde             */ 
    224,  /* graphic 17          */ 
    225,  /* graphic 18          */ 
    226,  /* graphic 19          */ 
    227,  /* graphic 20          */ 
    228,  /* graphic 21          */ 
    229,  /* graphic 22          */ 
    230,  /* graphic 23          */ 
    231,  /* currency sign       */ 
 
    114,  /* d bar               */ 
    114,  /* D bar               */ 
    116,  /* E circumflex        */ 
    116,  /* E umlaut            */ 
    116,  /* E grave             */ 
    132,  /* i no dot            */ 
    132,  /* I acute             */ 
    132,  /* I circumflex        */ 
    132,  /* I umlaut            */ 
    232,  /* graphic 24          */ 
    233,  /* graphic 25          */ 
    234,  /* graphic 26          */ 
    235,  /* graphic 27          */ 
    236,  /* |                   */ 
    132,  /* I grave             */ 
    237,  /* graphic 28          */ 
 
    156,  /* O acute             */ 
    181,  /* double ss           */ 
    156,  /* O circumflex        */ 
    156,  /* O grave             */ 
    156,  /* o tilde             */ 
    156,  /* O tilde             */ 
    151,  /* micron              */ 
    173,  /* p bar               */ 
    173,  /* P bar               */ 
    184,  /* U acute             */ 
    184,  /* U circumflex        */ 
    184,  /* U grave             */ 
    200,  /* y acute             */ 
    200,  /* Y acute             */ 
    238,  /* upper line          */ 
    239,  /* acute accent        */ 
 
    240,  /* middle line         */ 
    241,  /* +/- sign            */ 
    242,  /* equal sign          */ 
    243,  /* 3/4                 */ 
    244,  /* paragraph sign      */ 
    245,  /* section sign        */ 
    246,  /* division sign       */ 
    247,  /* cedilla             */ 
    248,  /* degree sign         */ 
    249,  /* umlaut              */ 
    250,  /* middle dot          */ 
    251,  /* 1 superscript       */ 
    253,  /* 3 superscript       */ 
    252,  /* 2 superscript       */ 
    254,  /* graphic 29          */ 
    255   /* blank               */ 
}; 
 
/**************************************************************************/ 
/*      Case Insensitive and Diacritic Sensitive Weight Table   (DOS 850) */ 
/**************************************************************************/ 
 
unsigned char rgchCids[] = 
{ 
      0,  /* (unprintable)       */ 
      1,  /* (unprintable)       */ 
      2,  /* (unprintable)       */ 
      3,  /* (unprintable)       */ 
      4,  /* (unprintable)       */ 
      5,  /* (unprintable)       */ 
      6,  /* (unprintable)       */ 
      7,  /* (unprintable)       */ 
      8,  /* (unprintable)       */ 
      9,  /* (unprintable)       */ 
     10,  /* (unprintable)       */ 
     11,  /* (unprintable)       */ 
     12,  /* (unprintable)       */ 
     13,  /* (unprintable)       */ 
     14,  /* (unprintable)       */ 
     15,  /* (unprintable)       */ 
 
     16,  /* (unprintable)       */ 
     17,  /* (unprintable)       */ 
     18,  /* (unprintable)       */ 
     19,  /* (unprintable)       */ 
     20,  /* (unprintable)       */ 
     21,  /* (unprintable)       */ 
     22,  /* (unprintable)       */ 
     23,  /* (unprintable)       */ 
     24,  /* (unprintable)       */ 
     25,  /* (unprintable)       */ 
     26,  /* (unprintable)       */ 
     27,  /* (unprintable)       */ 
     28,  /* (unprintable)       */ 
     29,  /* (unprintable)       */ 
     30,  /* (unprintable)       */ 
     31,  /* (unprintable)       */ 
 
     32,  /* space               */ 
     33,  /* !                   */ 
     34,  /* "                   */ 
     35,  /* #                   */ 
     36,  /* $                   */ 
     37,  /* %                   */ 
     38,  /* &                   */ 
     39,  /* '                   */ 
     40,  /* (                   */ 
     41,  /* )                   */ 
     42,  /* *                   */ 
     43,  /* +                   */ 
     44,  /* ,                   */ 
     45,  /* -                   */ 
     46,  /* .                   */ 
     47,  /* /                   */ 
 
     79,  /* 0                   */ 
     80,  /* 1                   */ 
     81,  /* 2                   */ 
     82,  /* 3                   */ 
     83,  /* 4                   */ 
     84,  /* 5                   */ 
     85,  /* 6                   */ 
     86,  /* 7                   */ 
     87,  /* 8                   */ 
     88,  /* 9                   */ 
     48,  /* :                   */ 
     49,  /* ;                   */ 
     50,  /* <                   */ 
     51,  /* =                   */ 
     52,  /* >                   */ 
     53,  /* ?                   */ 
 
     54,  /* @                   */ 
     89,  /* A                   */ 
    106,  /* B                   */ 
    108,  /* C                   */ 
    112,  /* D                   */ 
    116,  /* E                   */ 
    126,  /* F                   */ 
    128,  /* G                   */ 
    130,  /* H                   */ 
    132,  /* I                   */ 
    143,  /* J                   */ 
    145,  /* K                   */ 
    147,  /* L                   */ 
    149,  /* M                   */ 
    152,  /* N                   */ 
    156,  /* O                   */ 
 
    171,  /* P                   */ 
    175,  /* Q                   */ 
    177,  /* R                   */ 
    179,  /* S                   */ 
    182,  /* T                   */ 
    184,  /* U                   */ 
    194,  /* V                   */ 
    196,  /* W                   */ 
    198,  /* X                   */ 
    200,  /* Y                   */ 
    205,  /* Z                   */ 
     55,  /* [                   */ 
     56,  /* \                   */ 
     57,  /* ]                   */ 
     58,  /* ^                   */ 
     59,  /* _                   */ 
 
     60,  /* back quote          */ 
     89,  /* a                   */ 
    106,  /* b                   */ 
    108,  /* c                   */ 
    112,  /* d                   */ 
    116,  /* e                   */ 
    126,  /* f                   */ 
    128,  /* g                   */ 
    130,  /* h                   */ 
    132,  /* i                   */ 
    143,  /* j                   */ 
    145,  /* k                   */ 
    147,  /* l                   */ 
    149,  /* m                   */ 
    152,  /* n                   */ 
    156,  /* o                   */ 
 
    171,  /* p                   */ 
    175,  /* q                   */ 
    177,  /* r                   */ 
    179,  /* s                   */ 
    182,  /* t                   */ 
    184,  /* u                   */ 
    194,  /* v                   */ 
    196,  /* w                   */ 
    198,  /* x                   */ 
    200,  /* y                   */ 
    205,  /* z                   */ 
     61,  /* {                   */ 
     62,  /* |                   */ 
     63,  /* }                   */ 
     64,  /* ~                   */ 
     65,  /* (graphic)           */ 
 
    110,  /* C cedilla           */ 
    190,  /* u umlaut            */ 
    118,  /* e acute             */ 
     97,  /* a circumflex        */ 
     95,  /* a umlaut            */ 
     93,  /* a grave             */ 
     99,  /* a dot               */ 
    110,  /* c cedilla           */ 
    124,  /* e circumflex        */ 
    122,  /* e umlaut            */ 
    120,  /* e grave             */ 
    139,  /* i umlaut            */ 
    141,  /* i circumflex        */ 
    137,  /* i grave             */ 
     95,  /* A umlaut            */ 
     99,  /* A dot               */ 
 
    118,  /* E acute             */ 
    104,  /* ae ligature         */ 
    104,  /* AE ligature         */ 
    164,  /* o circumflex        */ 
    162,  /* o umlaut            */ 
    160,  /* o grave             */ 
    192,  /* u circumflex        */ 
    188,  /* u grave             */ 
    204,  /* y umlaut            */ 
    162,  /* O umlaut            */ 
    190,  /* U umlaut            */ 
    168,  /* o slash             */ 
     66,  /* pound sign          */ 
    168,  /* O slash             */ 
     67,  /* multiplication sign */ 
     68,  /* function sign       */ 
 
     91,  /* a acute             */ 
    135,  /* i acute             */ 
    158,  /* o acute             */ 
    186,  /* u acute             */ 
    154,  /* n tilde             */ 
    154,  /* N tilde             */ 
    103,  /* a underscore        */ 
    170,  /* o underscore        */ 
     69,  /* inverted ?          */ 
     70,  /* registered sign     */ 
    207,  /* logical not sign    */ 
     71,  /* 1/2                 */ 
     72,  /* 1/4                 */ 
     73,  /* inverted !          */ 
     74,  /* <<                  */ 
     75,  /* >>                  */ 
 
    208,  /* graphic 1           */ 
    209,  /* graphic 2           */ 
    210,  /* graphic 3           */ 
    211,  /* graphic 4           */ 
    212,  /* graphic 5           */ 
     91,  /* A acute             */ 
     97,  /* A circumflex        */ 
     93,  /* A grave             */ 
     76,  /* copyright sign      */ 
    213,  /* graphic 6           */ 
    214,  /* graphic 7           */ 
    215,  /* graphic 8           */ 
    216,  /* graphic 9           */ 
     77,  /* cent sign           */ 
     78,  /* yen sign            */ 
    217,  /* graphic 10          */ 
 
    218,  /* graphic 11          */ 
    219,  /* graphic 12          */ 
    220,  /* graphic 13          */ 
    221,  /* graphic 14          */ 
    222,  /* graphic 15          */ 
    223,  /* graphic 16          */ 
    101,  /* a tilde             */ 
    101,  /* A tilde             */ 
    224,  /* graphic 17          */ 
    225,  /* graphic 18          */ 
    226,  /* graphic 19          */ 
    227,  /* graphic 20          */ 
    228,  /* graphic 21          */ 
    229,  /* graphic 22          */ 
    230,  /* graphic 23          */ 
    231,  /* currency sign       */ 
 
    114,  /* d bar               */ 
    114,  /* D bar               */ 
    124,  /* E circumflex        */ 
    122,  /* E umlaut            */ 
    120,  /* E grave             */ 
    134,  /* i no dot            */ 
    135,  /* I acute             */ 
    141,  /* I circumflex        */ 
    139,  /* I umlaut            */ 
    232,  /* graphic 24          */ 
    233,  /* graphic 25          */ 
    234,  /* graphic 26          */ 
    235,  /* graphic 27          */ 
    236,  /* |                   */ 
    137,  /* I grave             */ 
    237,  /* graphic 28          */ 
 
    158,  /* O acute             */ 
    181,  /* double ss           */ 
    164,  /* O circumflex        */ 
    160,  /* O grave             */ 
    166,  /* o tilde             */ 
    166,  /* O tilde             */ 
    151,  /* micron              */ 
    173,  /* p bar               */ 
    173,  /* P bar               */ 
    186,  /* U acute             */ 
    192,  /* U circumflex        */ 
    188,  /* U grave             */ 
    202,  /* y acute             */ 
    202,  /* Y acute             */ 
    238,  /* upper line          */ 
    239,  /* acute accent        */ 
 
    240,  /* middle line         */ 
    241,  /* +/- sign            */ 
    242,  /* equal sign          */ 
    243,  /* 3/4                 */ 
    244,  /* paragraph sign      */ 
    245,  /* section sign        */ 
    246,  /* division sign       */ 
    247,  /* cedilla             */ 
    248,  /* degree sign         */ 
    249,  /* umlaut              */ 
    250,  /* middle dot          */ 
    251,  /* 1 superscript       */ 
    253,  /* 3 superscript       */ 
    252,  /* 2 superscript       */ 
    254,  /* graphic 29          */ 
    255   /* blank               */ 
}; 
 
/**************************************************************************/ 
/*      Case Sensitive and Diacritic Insenstive Weight Table    (DOS 850) */ 
/**************************************************************************/ 
 
unsigned char rgchCsdi[] = 
{ 
      0,  /* (unprintable)       */ 
      1,  /* (unprintable)       */ 
      2,  /* (unprintable)       */ 
      3,  /* (unprintable)       */ 
      4,  /* (unprintable)       */ 
      5,  /* (unprintable)       */ 
      6,  /* (unprintable)       */ 
      7,  /* (unprintable)       */ 
      8,  /* (unprintable)       */ 
      9,  /* (unprintable)       */ 
     10,  /* (unprintable)       */ 
     11,  /* (unprintable)       */ 
     12,  /* (unprintable)       */ 
     13,  /* (unprintable)       */ 
     14,  /* (unprintable)       */ 
     15,  /* (unprintable)       */ 
 
     16,  /* (unprintable)       */ 
     17,  /* (unprintable)       */ 
     18,  /* (unprintable)       */ 
     19,  /* (unprintable)       */ 
     20,  /* (unprintable)       */ 
     21,  /* (unprintable)       */ 
     22,  /* (unprintable)       */ 
     23,  /* (unprintable)       */ 
     24,  /* (unprintable)       */ 
     25,  /* (unprintable)       */ 
     26,  /* (unprintable)       */ 
     27,  /* (unprintable)       */ 
     28,  /* (unprintable)       */ 
     29,  /* (unprintable)       */ 
     30,  /* (unprintable)       */ 
     31,  /* (unprintable)       */ 
 
     32,  /* space               */ 
     33,  /* !                   */ 
     34,  /* "                   */ 
     35,  /* #                   */ 
     36,  /* $                   */ 
     37,  /* %                   */ 
     38,  /* &                   */ 
     39,  /* '                   */ 
     40,  /* (                   */ 
     41,  /* )                   */ 
     42,  /* *                   */ 
     43,  /* +                   */ 
     44,  /* ,                   */ 
     45,  /* -                   */ 
     46,  /* .                   */ 
     47,  /* /                   */ 
 
     79,  /* 0                   */ 
     80,  /* 1                   */ 
     81,  /* 2                   */ 
     82,  /* 3                   */ 
     83,  /* 4                   */ 
     84,  /* 5                   */ 
     85,  /* 6                   */ 
     86,  /* 7                   */ 
     87,  /* 8                   */ 
     88,  /* 9                   */ 
     48,  /* :                   */ 
     49,  /* ;                   */ 
     50,  /* <                   */ 
     51,  /* =                   */ 
     52,  /* >                   */ 
     53,  /* ?                   */ 
 
     54,  /* @                   */ 
     90,  /* A                   */ 
    107,  /* B                   */ 
    109,  /* C                   */ 
    113,  /* D                   */ 
    117,  /* E                   */ 
    127,  /* F                   */ 
    129,  /* G                   */ 
    131,  /* H                   */ 
    133,  /* I                   */ 
    144,  /* J                   */ 
    146,  /* K                   */ 
    148,  /* L                   */ 
    150,  /* M                   */ 
    153,  /* N                   */ 
    157,  /* O                   */ 
 
    172,  /* P                   */ 
    176,  /* Q                   */ 
    178,  /* R                   */ 
    180,  /* S                   */ 
    183,  /* T                   */ 
    185,  /* U                   */ 
    195,  /* V                   */ 
    197,  /* W                   */ 
    199,  /* X                   */ 
    201,  /* Y                   */ 
    206,  /* Z                   */ 
     55,  /* [                   */ 
     56,  /* \                   */ 
     57,  /* ]                   */ 
     58,  /* ^                   */ 
     59,  /* _                   */ 
 
     60,  /* back quote          */ 
     89,  /* a                   */ 
    106,  /* b                   */ 
    108,  /* c                   */ 
    112,  /* d                   */ 
    116,  /* e                   */ 
    126,  /* f                   */ 
    128,  /* g                   */ 
    130,  /* h                   */ 
    132,  /* i                   */ 
    143,  /* j                   */ 
    145,  /* k                   */ 
    147,  /* l                   */ 
    149,  /* m                   */ 
    152,  /* n                   */ 
    156,  /* o                   */ 
 
    171,  /* p                   */ 
    175,  /* q                   */ 
    177,  /* r                   */ 
    179,  /* s                   */ 
    182,  /* t                   */ 
    184,  /* u                   */ 
    194,  /* v                   */ 
    196,  /* w                   */ 
    198,  /* x                   */ 
    200,  /* y                   */ 
    205,  /* z                   */ 
     61,  /* {                   */ 
     62,  /* |                   */ 
     63,  /* }                   */ 
     64,  /* ~                   */ 
     65,  /* (graphic)           */ 
 
    109,  /* C cedilla           */ 
    184,  /* u umlaut            */ 
    116,  /* e acute             */ 
     89,  /* a circumflex        */ 
     89,  /* a umlaut            */ 
     89,  /* a grave             */ 
     89,  /* a dot               */ 
    108,  /* c cedilla           */ 
    116,  /* e circumflex        */ 
    116,  /* e umlaut            */ 
    116,  /* e grave             */ 
    132,  /* i umlaut            */ 
    132,  /* i circumflex        */ 
    132,  /* i grave             */ 
     90,  /* A umlaut            */ 
     90,  /* A dot               */ 
 
    117,  /* E acute             */ 
    104,  /* ae ligature         */ 
    105,  /* AE ligature         */ 
    156,  /* o circumflex        */ 
    156,  /* o umlaut            */ 
    156,  /* o grave             */ 
    184,  /* u circumflex        */ 
    184,  /* u grave             */ 
    200,  /* y umlaut            */ 
    157,  /* O umlaut            */ 
    185,  /* U umlaut            */ 
    156,  /* o slash             */ 
     66,  /* pound sign          */ 
    157,  /* O slash             */ 
     67,  /* multiplication sign */ 
     68,  /* function sign       */ 
 
     89,  /* a acute             */ 
    132,  /* i acute             */ 
    156,  /* o acute             */ 
    184,  /* u acute             */ 
    152,  /* n tilde             */ 
    153,  /* N tilde             */ 
    103,  /* a underscore        */ 
    170,  /* o underscore        */ 
     69,  /* inverted ?          */ 
     70,  /* registered sign     */ 
    207,  /* logical not sign    */ 
     71,  /* 1/2                 */ 
     72,  /* 1/4                 */ 
     73,  /* inverted !          */ 
     74,  /* <<                  */ 
     75,  /* >>                  */ 
 
    208,  /* graphic 1           */ 
    209,  /* graphic 2           */ 
    210,  /* graphic 3           */ 
    211,  /* graphic 4           */ 
    212,  /* graphic 5           */ 
     90,  /* A acute             */ 
     90,  /* A circumflex        */ 
     90,  /* A grave             */ 
     76,  /* copyright sign      */ 
    213,  /* graphic 6           */ 
    214,  /* graphic 7           */ 
    215,  /* graphic 8           */ 
    216,  /* graphic 9           */ 
     77,  /* cent sign           */ 
     78,  /* yen sign            */ 
    217,  /* graphic 10          */ 
 
    218,  /* graphic 11          */ 
    219,  /* graphic 12          */ 
    220,  /* graphic 13          */ 
    221,  /* graphic 14          */ 
    222,  /* graphic 15          */ 
    223,  /* graphic 16          */ 
     89,  /* a tilde             */ 
     90,  /* A tilde             */ 
    224,  /* graphic 17          */ 
    225,  /* graphic 18          */ 
    226,  /* graphic 19          */ 
    227,  /* graphic 20          */ 
    228,  /* graphic 21          */ 
    229,  /* graphic 22          */ 
    230,  /* graphic 23          */ 
    231,  /* currency sign       */ 
 
    114,  /* d bar               */ 
    114,  /* D bar               */ 
    117,  /* E circumflex        */ 
    117,  /* E umlaut            */ 
    117,  /* E grave             */ 
    132,  /* i no dot            */ 
    133,  /* I acute             */ 
    133,  /* I circumflex        */ 
    133,  /* I umlaut            */ 
    232,  /* graphic 24          */ 
    233,  /* graphic 25          */ 
    234,  /* graphic 26          */ 
    235,  /* graphic 27          */ 
    236,  /* |                   */ 
    133,  /* I grave             */ 
    237,  /* graphic 28          */ 
 
    157,  /* O acute             */ 
    181,  /* double ss           */ 
    157,  /* O circumflex        */ 
    157,  /* O grave             */ 
    156,  /* o tilde             */ 
    157,  /* O tilde             */ 
    151,  /* micron              */ 
    173,  /* p bar               */ 
    174,  /* P bar               */ 
    185,  /* U acute             */ 
    185,  /* U circumflex        */ 
    185,  /* U grave             */ 
    200,  /* y acute             */ 
    201,  /* Y acute             */ 
    238,  /* upper line          */ 
    239,  /* acute accent        */ 
 
    240,  /* middle line         */ 
    241,  /* +/- sign            */ 
    242,  /* equal sign          */ 
    243,  /* 3/4                 */ 
    244,  /* paragraph sign      */ 
    245,  /* section sign        */ 
    246,  /* division sign       */ 
    247,  /* cedilla             */ 
    248,  /* degree sign         */ 
    249,  /* umlaut              */ 
    250,  /* middle dot          */ 
    251,  /* 1 superscript       */ 
    253,  /* 3 superscript       */ 
    252,  /* 2 superscript       */ 
    254,  /* graphic 29          */ 
    255   /* blank               */ 
}; 
 
/**************************************************************************/ 
/*      Case and Diacritic Senstive Weight Table                (DOS 850) */ 
/**************************************************************************/ 
 
unsigned char rgchCsds[] = 
{ 
      0,  /* (unprintable)       */ 
      1,  /* (unprintable)       */ 
      2,  /* (unprintable)       */ 
      3,  /* (unprintable)       */ 
      4,  /* (unprintable)       */ 
      5,  /* (unprintable)       */ 
      6,  /* (unprintable)       */ 
      7,  /* (unprintable)       */ 
      8,  /* (unprintable)       */ 
      9,  /* (unprintable)       */ 
     10,  /* (unprintable)       */ 
     11,  /* (unprintable)       */ 
     12,  /* (unprintable)       */ 
     13,  /* (unprintable)       */ 
     14,  /* (unprintable)       */ 
     15,  /* (unprintable)       */ 
 
     16,  /* (unprintable)       */ 
     17,  /* (unprintable)       */ 
     18,  /* (unprintable)       */ 
     19,  /* (unprintable)       */ 
     20,  /* (unprintable)       */ 
     21,  /* (unprintable)       */ 
     22,  /* (unprintable)       */ 
     23,  /* (unprintable)       */ 
     24,  /* (unprintable)       */ 
     25,  /* (unprintable)       */ 
     26,  /* (unprintable)       */ 
     27,  /* (unprintable)       */ 
     28,  /* (unprintable)       */ 
     29,  /* (unprintable)       */ 
     30,  /* (unprintable)       */ 
     31,  /* (unprintable)       */ 
 
     32,  /* space               */ 
     33,  /* !                   */ 
     34,  /* "                   */ 
     35,  /* #                   */ 
     36,  /* $                   */ 
     37,  /* %                   */ 
     38,  /* &                   */ 
     39,  /* '                   */ 
     40,  /* (                   */ 
     41,  /* )                   */ 
     42,  /* *                   */ 
     43,  /* +                   */ 
     44,  /* ,                   */ 
     45,  /* -                   */ 
     46,  /* .                   */ 
     47,  /* /                   */ 
 
     79,  /* 0                   */ 
     80,  /* 1                   */ 
     81,  /* 2                   */ 
     82,  /* 3                   */ 
     83,  /* 4                   */ 
     84,  /* 5                   */ 
     85,  /* 6                   */ 
     86,  /* 7                   */ 
     87,  /* 8                   */ 
     88,  /* 9                   */ 
     48,  /* :                   */ 
     49,  /* ;                   */ 
     50,  /* <                   */ 
     51,  /* =                   */ 
     52,  /* >                   */ 
     53,  /* ?                   */ 
 
     54,  /* @                   */ 
     90,  /* A                   */ 
    107,  /* B                   */ 
    109,  /* C                   */ 
    113,  /* D                   */ 
    117,  /* E                   */ 
    127,  /* F                   */ 
    129,  /* G                   */ 
    131,  /* H                   */ 
    133,  /* I                   */ 
    144,  /* J                   */ 
    146,  /* K                   */ 
    148,  /* L                   */ 
    150,  /* M                   */ 
    153,  /* N                   */ 
    157,  /* O                   */ 
 
    172,  /* P                   */ 
    176,  /* Q                   */ 
    178,  /* R                   */ 
    180,  /* S                   */ 
    183,  /* T                   */ 
    185,  /* U                   */ 
    195,  /* V                   */ 
    197,  /* W                   */ 
    199,  /* X                   */ 
    201,  /* Y                   */ 
    206,  /* Z                   */ 
     55,  /* [                   */ 
     56,  /* \                   */ 
     57,  /* ]                   */ 
     58,  /* ^                   */ 
     59,  /* _                   */ 
 
     60,  /* back quote          */ 
     89,  /* a                   */ 
    106,  /* b                   */ 
    108,  /* c                   */ 
    112,  /* d                   */ 
    116,  /* e                   */ 
    126,  /* f                   */ 
    128,  /* g                   */ 
    130,  /* h                   */ 
    132,  /* i                   */ 
    143,  /* j                   */ 
    145,  /* k                   */ 
    147,  /* l                   */ 
    149,  /* m                   */ 
    152,  /* n                   */ 
    156,  /* o                   */ 
 
    171,  /* p                   */ 
    175,  /* q                   */ 
    177,  /* r                   */ 
    179,  /* s                   */ 
    182,  /* t                   */ 
    184,  /* u                   */ 
    194,  /* v                   */ 
    196,  /* w                   */ 
    198,  /* x                   */ 
    200,  /* y                   */ 
    205,  /* z                   */ 
     61,  /* {                   */ 
     62,  /* |                   */ 
     63,  /* }                   */ 
     64,  /* ~                   */ 
     65,  /* (graphic)           */ 
 
    111,  /* C cedilla           */ 
    190,  /* u umlaut            */ 
    118,  /* e acute             */ 
     97,  /* a circumflex        */ 
     95,  /* a umlaut            */ 
     93,  /* a grave             */ 
     99,  /* a dot               */ 
    110,  /* c cedilla           */ 
    124,  /* e circumflex        */ 
    122,  /* e umlaut            */ 
    120,  /* e grave             */ 
    139,  /* i umlaut            */ 
    141,  /* i circumflex        */ 
    137,  /* i grave             */ 
     96,  /* A umlaut            */ 
    100,  /* A dot               */ 
 
    119,  /* E acute             */ 
    104,  /* ae ligature         */ 
    105,  /* AE ligature         */ 
    164,  /* o circumflex        */ 
    162,  /* o umlaut            */ 
    160,  /* o grave             */ 
    192,  /* u circumflex        */ 
    188,  /* u grave             */ 
    204,  /* y umlaut            */ 
    163,  /* O umlaut            */ 
    191,  /* U umlaut            */ 
    168,  /* o slash             */ 
     66,  /* pound sign          */ 
    169,  /* O slash             */ 
     67,  /* multiplication sign */ 
     68,  /* function sign       */ 
 
     91,  /* a acute             */ 
    135,  /* i acute             */ 
    158,  /* o acute             */ 
    186,  /* u acute             */ 
    154,  /* n tilde             */ 
    155,  /* N tilde             */ 
    103,  /* a underscore        */ 
    170,  /* o underscore        */ 
     69,  /* inverted ?          */ 
     70,  /* registered sign     */ 
    207,  /* logical not sign    */ 
     71,  /* 1/2                 */ 
     72,  /* 1/4                 */ 
     73,  /* inverted !          */ 
     74,  /* <<                  */ 
     75,  /* >>                  */ 
 
    208,  /* graphic 1           */ 
    209,  /* graphic 2           */ 
    210,  /* graphic 3           */ 
    211,  /* graphic 4           */ 
    212,  /* graphic 5           */ 
     92,  /* A acute             */ 
     98,  /* A circumflex        */ 
     94,  /* A grave             */ 
     76,  /* copyright sign      */ 
    213,  /* graphic 6           */ 
    214,  /* graphic 7           */ 
    215,  /* graphic 8           */ 
    216,  /* graphic 9           */ 
     77,  /* cent sign           */ 
     78,  /* yen sign            */ 
    217,  /* graphic 10          */ 
 
    218,  /* graphic 11          */ 
    219,  /* graphic 12          */ 
    220,  /* graphic 13          */ 
    221,  /* graphic 14          */ 
    222,  /* graphic 15          */ 
    223,  /* graphic 16          */ 
    101,  /* a tilde             */ 
    102,  /* A tilde             */ 
    224,  /* graphic 17          */ 
    225,  /* graphic 18          */ 
    226,  /* graphic 19          */ 
    227,  /* graphic 20          */ 
    228,  /* graphic 21          */ 
    229,  /* graphic 22          */ 
    230,  /* graphic 23          */ 
    231,  /* currency sign       */ 
 
    114,  /* d bar               */ 
    115,  /* D bar               */ 
    125,  /* E circumflex        */ 
    123,  /* E umlaut            */ 
    121,  /* E grave             */ 
    134,  /* i no dot            */ 
    136,  /* I acute             */ 
    142,  /* I circumflex        */ 
    140,  /* I umlaut            */ 
    232,  /* graphic 24          */ 
    233,  /* graphic 25          */ 
    234,  /* graphic 26          */ 
    235,  /* graphic 27          */ 
    236,  /* |                   */ 
    138,  /* I grave             */ 
    237,  /* graphic 28          */ 
 
    159,  /* O acute             */ 
    181,  /* double ss           */ 
    165,  /* O circumflex        */ 
    161,  /* O grave             */ 
    166,  /* o tilde             */ 
    167,  /* O tilde             */ 
    151,  /* micron              */ 
    173,  /* p bar               */ 
    174,  /* P bar               */ 
    187,  /* U acute             */ 
    193,  /* U circumflex        */ 
    189,  /* U grave             */ 
    202,  /* y acute             */ 
    203,  /* Y acute             */ 
    238,  /* upper line          */ 
    239,  /* acute accent        */ 
 
    240,  /* middle line         */ 
    241,  /* +/- sign            */ 
    242,  /* equal sign          */ 
    243,  /* 3/4                 */ 
    244,  /* paragraph sign      */ 
    245,  /* section sign        */ 
    246,  /* division sign       */ 
    247,  /* cedilla             */ 
    248,  /* degree sign         */ 
    249,  /* umlaut              */ 
    250,  /* middle dot          */ 
    251,  /* 1 superscript       */ 
    252,  /* 3 superscript       */ 
    253,  /* 2 superscript       */ 
    254,  /* graphic 29          */ 
    255   /* blank               */ 
};