home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / msdn_vcb / samples / vc98 / sdk / dbmsg / mapi / manager.sh / smhnls.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-04-11  |  38.2 KB  |  1,117 lines

  1. /**************************************************************************/
  2. /*      Case and Diacritic Insensitive Weight Table (DOS 850)             */
  3. /**************************************************************************/
  4.  
  5. #pragma warning(disable:4305)
  6. unsigned char rgchCidi[] =
  7. {
  8.       0,  /* (unprintable)       */
  9.       1,  /* (unprintable)       */
  10.       2,  /* (unprintable)       */
  11.       3,  /* (unprintable)       */
  12.       4,  /* (unprintable)       */
  13.       5,  /* (unprintable)       */
  14.       6,  /* (unprintable)       */
  15.       7,  /* (unprintable)       */
  16.       8,  /* (unprintable)       */
  17.       9,  /* (unprintable)       */
  18.      10,  /* (unprintable)       */
  19.      11,  /* (unprintable)       */
  20.      12,  /* (unprintable)       */
  21.      13,  /* (unprintable)       */
  22.      14,  /* (unprintable)       */
  23.      15,  /* (unprintable)       */
  24.  
  25.      16,  /* (unprintable)       */
  26.      17,  /* (unprintable)       */
  27.      18,  /* (unprintable)       */
  28.      19,  /* (unprintable)       */
  29.      20,  /* (unprintable)       */
  30.      21,  /* (unprintable)       */
  31.      22,  /* (unprintable)       */
  32.      23,  /* (unprintable)       */
  33.      24,  /* (unprintable)       */
  34.      25,  /* (unprintable)       */
  35.      26,  /* (unprintable)       */
  36.      27,  /* (unprintable)       */
  37.      28,  /* (unprintable)       */
  38.      29,  /* (unprintable)       */
  39.      30,  /* (unprintable)       */
  40.      31,  /* (unprintable)       */
  41.  
  42.      32,  /* space               */
  43.      33,  /* !                   */
  44.      34,  /* "                   */
  45.      35,  /* #                   */
  46.      36,  /* $                   */
  47.      37,  /* %                   */
  48.      38,  /* &                   */
  49.      39,  /* '                   */
  50.      40,  /* (                   */
  51.      41,  /* )                   */
  52.      42,  /* *                   */
  53.      43,  /* +                   */
  54.      44,  /* ,                   */
  55.      45,  /* -                   */
  56.      46,  /* .                   */
  57.      47,  /* /                   */
  58.  
  59.      79,  /* 0                   */
  60.      80,  /* 1                   */
  61.      81,  /* 2                   */
  62.      82,  /* 3                   */
  63.      83,  /* 4                   */
  64.      84,  /* 5                   */
  65.      85,  /* 6                   */
  66.      86,  /* 7                   */
  67.      87,  /* 8                   */
  68.      88,  /* 9                   */
  69.      48,  /* :                   */
  70.      49,  /* ;                   */
  71.      50,  /* <                   */
  72.      51,  /* =                   */
  73.      52,  /* >                   */
  74.      53,  /* ?                   */
  75.  
  76.      54,  /* @                   */
  77.      89,  /* A                   */
  78.     106,  /* B                   */
  79.     108,  /* C                   */
  80.     112,  /* D                   */
  81.     116,  /* E                   */
  82.     126,  /* F                   */
  83.     128,  /* G                   */
  84.     130,  /* H                   */
  85.     132,  /* I                   */
  86.     143,  /* J                   */
  87.     145,  /* K                   */
  88.     147,  /* L                   */
  89.     149,  /* M                   */
  90.     152,  /* N                   */
  91.     156,  /* O                   */
  92.  
  93.     171,  /* P                   */
  94.     175,  /* Q                   */
  95.     177,  /* R                   */
  96.     179,  /* S                   */
  97.     182,  /* T                   */
  98.     184,  /* U                   */
  99.     194,  /* V                   */
  100.     196,  /* W                   */
  101.     198,  /* X                   */
  102.     200,  /* Y                   */
  103.     205,  /* Z                   */
  104.      55,  /* [                   */
  105.      56,  /* \                   */
  106.      57,  /* ]                   */
  107.      58,  /* ^                   */
  108.      59,  /* _                   */
  109.  
  110.      60,  /* back quote          */
  111.      89,  /* a                   */
  112.     106,  /* b                   */
  113.     108,  /* c                   */
  114.     112,  /* d                   */
  115.     116,  /* e                   */
  116.     126,  /* f                   */
  117.     128,  /* g                   */
  118.     130,  /* h                   */
  119.     132,  /* i                   */
  120.     143,  /* j                   */
  121.     145,  /* k                   */
  122.     147,  /* l                   */
  123.     149,  /* m                   */
  124.     152,  /* n                   */
  125.     156,  /* o                   */
  126.  
  127.     171,  /* p                   */
  128.     175,  /* q                   */
  129.     177,  /* r                   */
  130.     179,  /* s                   */
  131.     182,  /* t                   */
  132.     184,  /* u                   */
  133.     194,  /* v                   */
  134.     196,  /* w                   */
  135.     198,  /* x                   */
  136.     200,  /* y                   */
  137.     205,  /* z                   */
  138.      61,  /* {                   */
  139.      62,  /* |                   */
  140.      63,  /* }                   */
  141.      64,  /* ~                   */
  142.      65,  /* (graphic)           */
  143.  
  144.     108,  /* C cedilla           */
  145.     184,  /* u umlaut            */
  146.     116,  /* e acute             */
  147.      89,  /* a circumflex        */
  148.      89,  /* a umlaut            */
  149.      89,  /* a grave             */
  150.      89,  /* a dot               */
  151.     108,  /* c cedilla           */
  152.     116,  /* e circumflex        */
  153.     116,  /* e umlaut            */
  154.     116,  /* e grave             */
  155.     132,  /* i umlaut            */
  156.     132,  /* i circumflex        */
  157.     132,  /* i grave             */
  158.      89,  /* A umlaut            */
  159.      89,  /* A dot               */
  160.  
  161.     116,  /* E acute             */
  162.     104,  /* ae ligature         */
  163.     104,  /* AE ligature         */
  164.     156,  /* o circumflex        */
  165.     156,  /* o umlaut            */
  166.     156,  /* o grave             */
  167.     184,  /* u circumflex        */
  168.     184,  /* u grave             */
  169.     200,  /* y umlaut            */
  170.     156,  /* O umlaut            */
  171.     184,  /* U umlaut            */
  172.     156,  /* o slash             */
  173.      66,  /* pound sign          */
  174.     156,  /* O slash             */
  175.      67,  /* multiplication sign */
  176.      68,  /* function sign       */
  177.  
  178.      89,  /* a acute             */
  179.     132,  /* i acute             */
  180.     156,  /* o acute             */
  181.     184,  /* u acute             */
  182.     152,  /* n tilde             */
  183.     152,  /* N tilde             */
  184.     103,  /* a underscore        */
  185.     170,  /* o underscore        */
  186.      69,  /* inverted ?          */
  187.      70,  /* registered sign     */
  188.     207,  /* logical not sign    */
  189.      71,  /* 1/2                 */
  190.      72,  /* 1/4                 */
  191.      73,  /* inverted !          */
  192.      74,  /* <<                  */
  193.      75,  /* >>                  */
  194.  
  195.     208,  /* graphic 1           */
  196.     209,  /* graphic 2           */
  197.     210,  /* graphic 3           */
  198.     211,  /* graphic 4           */
  199.     212,  /* graphic 5           */
  200.      89,  /* A acute             */
  201.      89,  /* A circumflex        */
  202.      89,  /* A grave             */
  203.      76,  /* copyright sign      */
  204.     213,  /* graphic 6           */
  205.     214,  /* graphic 7           */
  206.     215,  /* graphic 8           */
  207.     216,  /* graphic 9           */
  208.      77,  /* cent sign           */
  209.      78,  /* yen sign            */
  210.     217,  /* graphic 10          */
  211.  
  212.     218,  /* graphic 11          */
  213.     219,  /* graphic 12          */
  214.     220,  /* graphic 13          */
  215.     221,  /* graphic 14          */
  216.     222,  /* graphic 15          */
  217.     223,  /* graphic 16          */
  218.      89,  /* a tilde             */
  219.      89,  /* A tilde             */
  220.     224,  /* graphic 17          */
  221.     225,  /* graphic 18          */
  222.     226,  /* graphic 19          */
  223.     227,  /* graphic 20          */
  224.     228,  /* graphic 21          */
  225.     229,  /* graphic 22          */
  226.     230,  /* graphic 23          */
  227.     231,  /* currency sign       */
  228.  
  229.     114,  /* d bar               */
  230.     114,  /* D bar               */
  231.     116,  /* E circumflex        */
  232.     116,  /* E umlaut            */
  233.     116,  /* E grave             */
  234.     132,  /* i no dot            */
  235.     132,  /* I acute             */
  236.     132,  /* I circumflex        */
  237.     132,  /* I umlaut            */
  238.     232,  /* graphic 24          */
  239.     233,  /* graphic 25          */
  240.     234,  /* graphic 26          */
  241.     235,  /* graphic 27          */
  242.     236,  /* |                   */
  243.     132,  /* I grave             */
  244.     237,  /* graphic 28          */
  245.  
  246.     156,  /* O acute             */
  247.     181,  /* double ss           */
  248.     156,  /* O circumflex        */
  249.     156,  /* O grave             */
  250.     156,  /* o tilde             */
  251.     156,  /* O tilde             */
  252.     151,  /* micron              */
  253.     173,  /* p bar               */
  254.     173,  /* P bar               */
  255.     184,  /* U acute             */
  256.     184,  /* U circumflex        */
  257.     184,  /* U grave             */
  258.     200,  /* y acute             */
  259.     200,  /* Y acute             */
  260.     238,  /* upper line          */
  261.     239,  /* acute accent        */
  262.  
  263.     240,  /* middle line         */
  264.     241,  /* +/- sign            */
  265.     242,  /* equal sign          */
  266.     243,  /* 3/4                 */
  267.     244,  /* paragraph sign      */
  268.     245,  /* section sign        */
  269.     246,  /* division sign       */
  270.     247,  /* cedilla             */
  271.     248,  /* degree sign         */
  272.     249,  /* umlaut              */
  273.     250,  /* middle dot          */
  274.     251,  /* 1 superscript       */
  275.     253,  /* 3 superscript       */
  276.     252,  /* 2 superscript       */
  277.     254,  /* graphic 29          */
  278.     255   /* blank               */
  279. };
  280.  
  281. /**************************************************************************/
  282. /*      Case Insensitive and Diacritic Sensitive Weight Table   (DOS 850) */
  283. /**************************************************************************/
  284.  
  285. unsigned char rgchCids[] =
  286. {
  287.       0,  /* (unprintable)       */
  288.       1,  /* (unprintable)       */
  289.       2,  /* (unprintable)       */
  290.       3,  /* (unprintable)       */
  291.       4,  /* (unprintable)       */
  292.       5,  /* (unprintable)       */
  293.       6,  /* (unprintable)       */
  294.       7,  /* (unprintable)       */
  295.       8,  /* (unprintable)       */
  296.       9,  /* (unprintable)       */
  297.      10,  /* (unprintable)       */
  298.      11,  /* (unprintable)       */
  299.      12,  /* (unprintable)       */
  300.      13,  /* (unprintable)       */
  301.      14,  /* (unprintable)       */
  302.      15,  /* (unprintable)       */
  303.  
  304.      16,  /* (unprintable)       */
  305.      17,  /* (unprintable)       */
  306.      18,  /* (unprintable)       */
  307.      19,  /* (unprintable)       */
  308.      20,  /* (unprintable)       */
  309.      21,  /* (unprintable)       */
  310.      22,  /* (unprintable)       */
  311.      23,  /* (unprintable)       */
  312.      24,  /* (unprintable)       */
  313.      25,  /* (unprintable)       */
  314.      26,  /* (unprintable)       */
  315.      27,  /* (unprintable)       */
  316.      28,  /* (unprintable)       */
  317.      29,  /* (unprintable)       */
  318.      30,  /* (unprintable)       */
  319.      31,  /* (unprintable)       */
  320.  
  321.      32,  /* space               */
  322.      33,  /* !                   */
  323.      34,  /* "                   */
  324.      35,  /* #                   */
  325.      36,  /* $                   */
  326.      37,  /* %                   */
  327.      38,  /* &                   */
  328.      39,  /* '                   */
  329.      40,  /* (                   */
  330.      41,  /* )                   */
  331.      42,  /* *                   */
  332.      43,  /* +                   */
  333.      44,  /* ,                   */
  334.      45,  /* -                   */
  335.      46,  /* .                   */
  336.      47,  /* /                   */
  337.  
  338.      79,  /* 0                   */
  339.      80,  /* 1                   */
  340.      81,  /* 2                   */
  341.      82,  /* 3                   */
  342.      83,  /* 4                   */
  343.      84,  /* 5                   */
  344.      85,  /* 6                   */
  345.      86,  /* 7                   */
  346.      87,  /* 8                   */
  347.      88,  /* 9                   */
  348.      48,  /* :                   */
  349.      49,  /* ;                   */
  350.      50,  /* <                   */
  351.      51,  /* =                   */
  352.      52,  /* >                   */
  353.      53,  /* ?                   */
  354.  
  355.      54,  /* @                   */
  356.      89,  /* A                   */
  357.     106,  /* B                   */
  358.     108,  /* C                   */
  359.     112,  /* D                   */
  360.     116,  /* E                   */
  361.     126,  /* F                   */
  362.     128,  /* G                   */
  363.     130,  /* H                   */
  364.     132,  /* I                   */
  365.     143,  /* J                   */
  366.     145,  /* K                   */
  367.     147,  /* L                   */
  368.     149,  /* M                   */
  369.     152,  /* N                   */
  370.     156,  /* O                   */
  371.  
  372.     171,  /* P                   */
  373.     175,  /* Q                   */
  374.     177,  /* R                   */
  375.     179,  /* S                   */
  376.     182,  /* T                   */
  377.     184,  /* U                   */
  378.     194,  /* V                   */
  379.     196,  /* W                   */
  380.     198,  /* X                   */
  381.     200,  /* Y                   */
  382.     205,  /* Z                   */
  383.      55,  /* [                   */
  384.      56,  /* \                   */
  385.      57,  /* ]                   */
  386.      58,  /* ^                   */
  387.      59,  /* _                   */
  388.  
  389.      60,  /* back quote          */
  390.      89,  /* a                   */
  391.     106,  /* b                   */
  392.     108,  /* c                   */
  393.     112,  /* d                   */
  394.     116,  /* e                   */
  395.     126,  /* f                   */
  396.     128,  /* g                   */
  397.     130,  /* h                   */
  398.     132,  /* i                   */
  399.     143,  /* j                   */
  400.     145,  /* k                   */
  401.     147,  /* l                   */
  402.     149,  /* m                   */
  403.     152,  /* n                   */
  404.     156,  /* o                   */
  405.  
  406.     171,  /* p                   */
  407.     175,  /* q                   */
  408.     177,  /* r                   */
  409.     179,  /* s                   */
  410.     182,  /* t                   */
  411.     184,  /* u                   */
  412.     194,  /* v                   */
  413.     196,  /* w                   */
  414.     198,  /* x                   */
  415.     200,  /* y                   */
  416.     205,  /* z                   */
  417.      61,  /* {                   */
  418.      62,  /* |                   */
  419.      63,  /* }                   */
  420.      64,  /* ~                   */
  421.      65,  /* (graphic)           */
  422.  
  423.     110,  /* C cedilla           */
  424.     190,  /* u umlaut            */
  425.     118,  /* e acute             */
  426.      97,  /* a circumflex        */
  427.      95,  /* a umlaut            */
  428.      93,  /* a grave             */
  429.      99,  /* a dot               */
  430.     110,  /* c cedilla           */
  431.     124,  /* e circumflex        */
  432.     122,  /* e umlaut            */
  433.     120,  /* e grave             */
  434.     139,  /* i umlaut            */
  435.     141,  /* i circumflex        */
  436.     137,  /* i grave             */
  437.      95,  /* A umlaut            */
  438.      99,  /* A dot               */
  439.  
  440.     118,  /* E acute             */
  441.     104,  /* ae ligature         */
  442.     104,  /* AE ligature         */
  443.     164,  /* o circumflex        */
  444.     162,  /* o umlaut            */
  445.     160,  /* o grave             */
  446.     192,  /* u circumflex        */
  447.     188,  /* u grave             */
  448.     204,  /* y umlaut            */
  449.     162,  /* O umlaut            */
  450.     190,  /* U umlaut            */
  451.     168,  /* o slash             */
  452.      66,  /* pound sign          */
  453.     168,  /* O slash             */
  454.      67,  /* multiplication sign */
  455.      68,  /* function sign       */
  456.  
  457.      91,  /* a acute             */
  458.     135,  /* i acute             */
  459.     158,  /* o acute             */
  460.     186,  /* u acute             */
  461.     154,  /* n tilde             */
  462.     154,  /* N tilde             */
  463.     103,  /* a underscore        */
  464.     170,  /* o underscore        */
  465.      69,  /* inverted ?          */
  466.      70,  /* registered sign     */
  467.     207,  /* logical not sign    */
  468.      71,  /* 1/2                 */
  469.      72,  /* 1/4                 */
  470.      73,  /* inverted !          */
  471.      74,  /* <<                  */
  472.      75,  /* >>                  */
  473.  
  474.     208,  /* graphic 1           */
  475.     209,  /* graphic 2           */
  476.     210,  /* graphic 3           */
  477.     211,  /* graphic 4           */
  478.     212,  /* graphic 5           */
  479.      91,  /* A acute             */
  480.      97,  /* A circumflex        */
  481.      93,  /* A grave             */
  482.      76,  /* copyright sign      */
  483.     213,  /* graphic 6           */
  484.     214,  /* graphic 7           */
  485.     215,  /* graphic 8           */
  486.     216,  /* graphic 9           */
  487.      77,  /* cent sign           */
  488.      78,  /* yen sign            */
  489.     217,  /* graphic 10          */
  490.  
  491.     218,  /* graphic 11          */
  492.     219,  /* graphic 12          */
  493.     220,  /* graphic 13          */
  494.     221,  /* graphic 14          */
  495.     222,  /* graphic 15          */
  496.     223,  /* graphic 16          */
  497.     101,  /* a tilde             */
  498.     101,  /* A tilde             */
  499.     224,  /* graphic 17          */
  500.     225,  /* graphic 18          */
  501.     226,  /* graphic 19          */
  502.     227,  /* graphic 20          */
  503.     228,  /* graphic 21          */
  504.     229,  /* graphic 22          */
  505.     230,  /* graphic 23          */
  506.     231,  /* currency sign       */
  507.  
  508.     114,  /* d bar               */
  509.     114,  /* D bar               */
  510.     124,  /* E circumflex        */
  511.     122,  /* E umlaut            */
  512.     120,  /* E grave             */
  513.     134,  /* i no dot            */
  514.     135,  /* I acute             */
  515.     141,  /* I circumflex        */
  516.     139,  /* I umlaut            */
  517.     232,  /* graphic 24          */
  518.     233,  /* graphic 25          */
  519.     234,  /* graphic 26          */
  520.     235,  /* graphic 27          */
  521.     236,  /* |                   */
  522.     137,  /* I grave             */
  523.     237,  /* graphic 28          */
  524.  
  525.     158,  /* O acute             */
  526.     181,  /* double ss           */
  527.     164,  /* O circumflex        */
  528.     160,  /* O grave             */
  529.     166,  /* o tilde             */
  530.     166,  /* O tilde             */
  531.     151,  /* micron              */
  532.     173,  /* p bar               */
  533.     173,  /* P bar               */
  534.     186,  /* U acute             */
  535.     192,  /* U circumflex        */
  536.     188,  /* U grave             */
  537.     202,  /* y acute             */
  538.     202,  /* Y acute             */
  539.     238,  /* upper line          */
  540.     239,  /* acute accent        */
  541.  
  542.     240,  /* middle line         */
  543.     241,  /* +/- sign            */
  544.     242,  /* equal sign          */
  545.     243,  /* 3/4                 */
  546.     244,  /* paragraph sign      */
  547.     245,  /* section sign        */
  548.     246,  /* division sign       */
  549.     247,  /* cedilla             */
  550.     248,  /* degree sign         */
  551.     249,  /* umlaut              */
  552.     250,  /* middle dot          */
  553.     251,  /* 1 superscript       */
  554.     253,  /* 3 superscript       */
  555.     252,  /* 2 superscript       */
  556.     254,  /* graphic 29          */
  557.     255   /* blank               */
  558. };
  559.  
  560. /**************************************************************************/
  561. /*      Case Sensitive and Diacritic Insenstive Weight Table    (DOS 850) */
  562. /**************************************************************************/
  563.  
  564. unsigned char rgchCsdi[] =
  565. {
  566.       0,  /* (unprintable)       */
  567.       1,  /* (unprintable)       */
  568.       2,  /* (unprintable)       */
  569.       3,  /* (unprintable)       */
  570.       4,  /* (unprintable)       */
  571.       5,  /* (unprintable)       */
  572.       6,  /* (unprintable)       */
  573.       7,  /* (unprintable)       */
  574.       8,  /* (unprintable)       */
  575.       9,  /* (unprintable)       */
  576.      10,  /* (unprintable)       */
  577.      11,  /* (unprintable)       */
  578.      12,  /* (unprintable)       */
  579.      13,  /* (unprintable)       */
  580.      14,  /* (unprintable)       */
  581.      15,  /* (unprintable)       */
  582.  
  583.      16,  /* (unprintable)       */
  584.      17,  /* (unprintable)       */
  585.      18,  /* (unprintable)       */
  586.      19,  /* (unprintable)       */
  587.      20,  /* (unprintable)       */
  588.      21,  /* (unprintable)       */
  589.      22,  /* (unprintable)       */
  590.      23,  /* (unprintable)       */
  591.      24,  /* (unprintable)       */
  592.      25,  /* (unprintable)       */
  593.      26,  /* (unprintable)       */
  594.      27,  /* (unprintable)       */
  595.      28,  /* (unprintable)       */
  596.      29,  /* (unprintable)       */
  597.      30,  /* (unprintable)       */
  598.      31,  /* (unprintable)       */
  599.  
  600.      32,  /* space               */
  601.      33,  /* !                   */
  602.      34,  /* "                   */
  603.      35,  /* #                   */
  604.      36,  /* $                   */
  605.      37,  /* %                   */
  606.      38,  /* &                   */
  607.      39,  /* '                   */
  608.      40,  /* (                   */
  609.      41,  /* )                   */
  610.      42,  /* *                   */
  611.      43,  /* +                   */
  612.      44,  /* ,                   */
  613.      45,  /* -                   */
  614.      46,  /* .                   */
  615.      47,  /* /                   */
  616.  
  617.      79,  /* 0                   */
  618.      80,  /* 1                   */
  619.      81,  /* 2                   */
  620.      82,  /* 3                   */
  621.      83,  /* 4                   */
  622.      84,  /* 5                   */
  623.      85,  /* 6                   */
  624.      86,  /* 7                   */
  625.      87,  /* 8                   */
  626.      88,  /* 9                   */
  627.      48,  /* :                   */
  628.      49,  /* ;                   */
  629.      50,  /* <                   */
  630.      51,  /* =                   */
  631.      52,  /* >                   */
  632.      53,  /* ?                   */
  633.  
  634.      54,  /* @                   */
  635.      90,  /* A                   */
  636.     107,  /* B                   */
  637.     109,  /* C                   */
  638.     113,  /* D                   */
  639.     117,  /* E                   */
  640.     127,  /* F                   */
  641.     129,  /* G                   */
  642.     131,  /* H                   */
  643.     133,  /* I                   */
  644.     144,  /* J                   */
  645.     146,  /* K                   */
  646.     148,  /* L                   */
  647.     150,  /* M                   */
  648.     153,  /* N                   */
  649.     157,  /* O                   */
  650.  
  651.     172,  /* P                   */
  652.     176,  /* Q                   */
  653.     178,  /* R                   */
  654.     180,  /* S                   */
  655.     183,  /* T                   */
  656.     185,  /* U                   */
  657.     195,  /* V                   */
  658.     197,  /* W                   */
  659.     199,  /* X                   */
  660.     201,  /* Y                   */
  661.     206,  /* Z                   */
  662.      55,  /* [                   */
  663.      56,  /* \                   */
  664.      57,  /* ]                   */
  665.      58,  /* ^                   */
  666.      59,  /* _                   */
  667.  
  668.      60,  /* back quote          */
  669.      89,  /* a                   */
  670.     106,  /* b                   */
  671.     108,  /* c                   */
  672.     112,  /* d                   */
  673.     116,  /* e                   */
  674.     126,  /* f                   */
  675.     128,  /* g                   */
  676.     130,  /* h                   */
  677.     132,  /* i                   */
  678.     143,  /* j                   */
  679.     145,  /* k                   */
  680.     147,  /* l                   */
  681.     149,  /* m                   */
  682.     152,  /* n                   */
  683.     156,  /* o                   */
  684.  
  685.     171,  /* p                   */
  686.     175,  /* q                   */
  687.     177,  /* r                   */
  688.     179,  /* s                   */
  689.     182,  /* t                   */
  690.     184,  /* u                   */
  691.     194,  /* v                   */
  692.     196,  /* w                   */
  693.     198,  /* x                   */
  694.     200,  /* y                   */
  695.     205,  /* z                   */
  696.      61,  /* {                   */
  697.      62,  /* |                   */
  698.      63,  /* }                   */
  699.      64,  /* ~                   */
  700.      65,  /* (graphic)           */
  701.  
  702.     109,  /* C cedilla           */
  703.     184,  /* u umlaut            */
  704.     116,  /* e acute             */
  705.      89,  /* a circumflex        */
  706.      89,  /* a umlaut            */
  707.      89,  /* a grave             */
  708.      89,  /* a dot               */
  709.     108,  /* c cedilla           */
  710.     116,  /* e circumflex        */
  711.     116,  /* e umlaut            */
  712.     116,  /* e grave             */
  713.     132,  /* i umlaut            */
  714.     132,  /* i circumflex        */
  715.     132,  /* i grave             */
  716.      90,  /* A umlaut            */
  717.      90,  /* A dot               */
  718.  
  719.     117,  /* E acute             */
  720.     104,  /* ae ligature         */
  721.     105,  /* AE ligature         */
  722.     156,  /* o circumflex        */
  723.     156,  /* o umlaut            */
  724.     156,  /* o grave             */
  725.     184,  /* u circumflex        */
  726.     184,  /* u grave             */
  727.     200,  /* y umlaut            */
  728.     157,  /* O umlaut            */
  729.     185,  /* U umlaut            */
  730.     156,  /* o slash             */
  731.      66,  /* pound sign          */
  732.     157,  /* O slash             */
  733.      67,  /* multiplication sign */
  734.      68,  /* function sign       */
  735.  
  736.      89,  /* a acute             */
  737.     132,  /* i acute             */
  738.     156,  /* o acute             */
  739.     184,  /* u acute             */
  740.     152,  /* n tilde             */
  741.     153,  /* N tilde             */
  742.     103,  /* a underscore        */
  743.     170,  /* o underscore        */
  744.      69,  /* inverted ?          */
  745.      70,  /* registered sign     */
  746.     207,  /* logical not sign    */
  747.      71,  /* 1/2                 */
  748.      72,  /* 1/4                 */
  749.      73,  /* inverted !          */
  750.      74,  /* <<                  */
  751.      75,  /* >>                  */
  752.  
  753.     208,  /* graphic 1           */
  754.     209,  /* graphic 2           */
  755.     210,  /* graphic 3           */
  756.     211,  /* graphic 4           */
  757.     212,  /* graphic 5           */
  758.      90,  /* A acute             */
  759.      90,  /* A circumflex        */
  760.      90,  /* A grave             */
  761.      76,  /* copyright sign      */
  762.     213,  /* graphic 6           */
  763.     214,  /* graphic 7           */
  764.     215,  /* graphic 8           */
  765.     216,  /* graphic 9           */
  766.      77,  /* cent sign           */
  767.      78,  /* yen sign            */
  768.     217,  /* graphic 10          */
  769.  
  770.     218,  /* graphic 11          */
  771.     219,  /* graphic 12          */
  772.     220,  /* graphic 13          */
  773.     221,  /* graphic 14          */
  774.     222,  /* graphic 15          */
  775.     223,  /* graphic 16          */
  776.      89,  /* a tilde             */
  777.      90,  /* A tilde             */
  778.     224,  /* graphic 17          */
  779.     225,  /* graphic 18          */
  780.     226,  /* graphic 19          */
  781.     227,  /* graphic 20          */
  782.     228,  /* graphic 21          */
  783.     229,  /* graphic 22          */
  784.     230,  /* graphic 23          */
  785.     231,  /* currency sign       */
  786.  
  787.     114,  /* d bar               */
  788.     114,  /* D bar               */
  789.     117,  /* E circumflex        */
  790.     117,  /* E umlaut            */
  791.     117,  /* E grave             */
  792.     132,  /* i no dot            */
  793.     133,  /* I acute             */
  794.     133,  /* I circumflex        */
  795.     133,  /* I umlaut            */
  796.     232,  /* graphic 24          */
  797.     233,  /* graphic 25          */
  798.     234,  /* graphic 26          */
  799.     235,  /* graphic 27          */
  800.     236,  /* |                   */
  801.     133,  /* I grave             */
  802.     237,  /* graphic 28          */
  803.  
  804.     157,  /* O acute             */
  805.     181,  /* double ss           */
  806.     157,  /* O circumflex        */
  807.     157,  /* O grave             */
  808.     156,  /* o tilde             */
  809.     157,  /* O tilde             */
  810.     151,  /* micron              */
  811.     173,  /* p bar               */
  812.     174,  /* P bar               */
  813.     185,  /* U acute             */
  814.     185,  /* U circumflex        */
  815.     185,  /* U grave             */
  816.     200,  /* y acute             */
  817.     201,  /* Y acute             */
  818.     238,  /* upper line          */
  819.     239,  /* acute accent        */
  820.  
  821.     240,  /* middle line         */
  822.     241,  /* +/- sign            */
  823.     242,  /* equal sign          */
  824.     243,  /* 3/4                 */
  825.     244,  /* paragraph sign      */
  826.     245,  /* section sign        */
  827.     246,  /* division sign       */
  828.     247,  /* cedilla             */
  829.     248,  /* degree sign         */
  830.     249,  /* umlaut              */
  831.     250,  /* middle dot          */
  832.     251,  /* 1 superscript       */
  833.     253,  /* 3 superscript       */
  834.     252,  /* 2 superscript       */
  835.     254,  /* graphic 29          */
  836.     255   /* blank               */
  837. };
  838.  
  839. /**************************************************************************/
  840. /*      Case and Diacritic Senstive Weight Table                (DOS 850) */
  841. /**************************************************************************/
  842.  
  843. unsigned char rgchCsds[] =
  844. {
  845.       0,  /* (unprintable)       */
  846.       1,  /* (unprintable)       */
  847.       2,  /* (unprintable)       */
  848.       3,  /* (unprintable)       */
  849.       4,  /* (unprintable)       */
  850.       5,  /* (unprintable)       */
  851.       6,  /* (unprintable)       */
  852.       7,  /* (unprintable)       */
  853.       8,  /* (unprintable)       */
  854.       9,  /* (unprintable)       */
  855.      10,  /* (unprintable)       */
  856.      11,  /* (unprintable)       */
  857.      12,  /* (unprintable)       */
  858.      13,  /* (unprintable)       */
  859.      14,  /* (unprintable)       */
  860.      15,  /* (unprintable)       */
  861.  
  862.      16,  /* (unprintable)       */
  863.      17,  /* (unprintable)       */
  864.      18,  /* (unprintable)       */
  865.      19,  /* (unprintable)       */
  866.      20,  /* (unprintable)       */
  867.      21,  /* (unprintable)       */
  868.      22,  /* (unprintable)       */
  869.      23,  /* (unprintable)       */
  870.      24,  /* (unprintable)       */
  871.      25,  /* (unprintable)       */
  872.      26,  /* (unprintable)       */
  873.      27,  /* (unprintable)       */
  874.      28,  /* (unprintable)       */
  875.      29,  /* (unprintable)       */
  876.      30,  /* (unprintable)       */
  877.      31,  /* (unprintable)       */
  878.  
  879.      32,  /* space               */
  880.      33,  /* !                   */
  881.      34,  /* "                   */
  882.      35,  /* #                   */
  883.      36,  /* $                   */
  884.      37,  /* %                   */
  885.      38,  /* &                   */
  886.      39,  /* '                   */
  887.      40,  /* (                   */
  888.      41,  /* )                   */
  889.      42,  /* *                   */
  890.      43,  /* +                   */
  891.      44,  /* ,                   */
  892.      45,  /* -                   */
  893.      46,  /* .                   */
  894.      47,  /* /                   */
  895.  
  896.      79,  /* 0                   */
  897.      80,  /* 1                   */
  898.      81,  /* 2                   */
  899.      82,  /* 3                   */
  900.      83,  /* 4                   */
  901.      84,  /* 5                   */
  902.      85,  /* 6                   */
  903.      86,  /* 7                   */
  904.      87,  /* 8                   */
  905.      88,  /* 9                   */
  906.      48,  /* :                   */
  907.      49,  /* ;                   */
  908.      50,  /* <                   */
  909.      51,  /* =                   */
  910.      52,  /* >                   */
  911.      53,  /* ?                   */
  912.  
  913.      54,  /* @                   */
  914.      90,  /* A                   */
  915.     107,  /* B                   */
  916.     109,  /* C                   */
  917.     113,  /* D                   */
  918.     117,  /* E                   */
  919.     127,  /* F                   */
  920.     129,  /* G                   */
  921.     131,  /* H                   */
  922.     133,  /* I                   */
  923.     144,  /* J                   */
  924.     146,  /* K                   */
  925.     148,  /* L                   */
  926.     150,  /* M                   */
  927.     153,  /* N                   */
  928.     157,  /* O                   */
  929.  
  930.     172,  /* P                   */
  931.     176,  /* Q                   */
  932.     178,  /* R                   */
  933.     180,  /* S                   */
  934.     183,  /* T                   */
  935.     185,  /* U                   */
  936.     195,  /* V                   */
  937.     197,  /* W                   */
  938.     199,  /* X                   */
  939.     201,  /* Y                   */
  940.     206,  /* Z                   */
  941.      55,  /* [                   */
  942.      56,  /* \                   */
  943.      57,  /* ]                   */
  944.      58,  /* ^                   */
  945.      59,  /* _                   */
  946.  
  947.      60,  /* back quote          */
  948.      89,  /* a                   */
  949.     106,  /* b                   */
  950.     108,  /* c                   */
  951.     112,  /* d                   */
  952.     116,  /* e                   */
  953.     126,  /* f                   */
  954.     128,  /* g                   */
  955.     130,  /* h                   */
  956.     132,  /* i                   */
  957.     143,  /* j                   */
  958.     145,  /* k                   */
  959.     147,  /* l                   */
  960.     149,  /* m                   */
  961.     152,  /* n                   */
  962.     156,  /* o                   */
  963.  
  964.     171,  /* p                   */
  965.     175,  /* q                   */
  966.     177,  /* r                   */
  967.     179,  /* s                   */
  968.     182,  /* t                   */
  969.     184,  /* u                   */
  970.     194,  /* v                   */
  971.     196,  /* w                   */
  972.     198,  /* x                   */
  973.     200,  /* y                   */
  974.     205,  /* z                   */
  975.      61,  /* {                   */
  976.      62,  /* |                   */
  977.      63,  /* }                   */
  978.      64,  /* ~                   */
  979.      65,  /* (graphic)           */
  980.  
  981.     111,  /* C cedilla           */
  982.     190,  /* u umlaut            */
  983.     118,  /* e acute             */
  984.      97,  /* a circumflex        */
  985.      95,  /* a umlaut            */
  986.      93,  /* a grave             */
  987.      99,  /* a dot               */
  988.     110,  /* c cedilla           */
  989.     124,  /* e circumflex        */
  990.     122,  /* e umlaut            */
  991.     120,  /* e grave             */
  992.     139,  /* i umlaut            */
  993.     141,  /* i circumflex        */
  994.     137,  /* i grave             */
  995.      96,  /* A umlaut            */
  996.     100,  /* A dot               */
  997.  
  998.     119,  /* E acute             */
  999.     104,  /* ae ligature         */
  1000.     105,  /* AE ligature         */
  1001.     164,  /* o circumflex        */
  1002.     162,  /* o umlaut            */
  1003.     160,  /* o grave             */
  1004.     192,  /* u circumflex        */
  1005.     188,  /* u grave             */
  1006.     204,  /* y umlaut            */
  1007.     163,  /* O umlaut            */
  1008.     191,  /* U umlaut            */
  1009.     168,  /* o slash             */
  1010.      66,  /* pound sign          */
  1011.     169,  /* O slash             */
  1012.      67,  /* multiplication sign */
  1013.      68,  /* function sign       */
  1014.  
  1015.      91,  /* a acute             */
  1016.     135,  /* i acute             */
  1017.     158,  /* o acute             */
  1018.     186,  /* u acute             */
  1019.     154,  /* n tilde             */
  1020.     155,  /* N tilde             */
  1021.     103,  /* a underscore        */
  1022.     170,  /* o underscore        */
  1023.      69,  /* inverted ?          */
  1024.      70,  /* registered sign     */
  1025.     207,  /* logical not sign    */
  1026.      71,  /* 1/2                 */
  1027.      72,  /* 1/4                 */
  1028.      73,  /* inverted !          */
  1029.      74,  /* <<                  */
  1030.      75,  /* >>                  */
  1031.  
  1032.     208,  /* graphic 1           */
  1033.     209,  /* graphic 2           */
  1034.     210,  /* graphic 3           */
  1035.     211,  /* graphic 4           */
  1036.     212,  /* graphic 5           */
  1037.      92,  /* A acute             */
  1038.      98,  /* A circumflex        */
  1039.      94,  /* A grave             */
  1040.      76,  /* copyright sign      */
  1041.     213,  /* graphic 6           */
  1042.     214,  /* graphic 7           */
  1043.     215,  /* graphic 8           */
  1044.     216,  /* graphic 9           */
  1045.      77,  /* cent sign           */
  1046.      78,  /* yen sign            */
  1047.     217,  /* graphic 10          */
  1048.  
  1049.     218,  /* graphic 11          */
  1050.     219,  /* graphic 12          */
  1051.     220,  /* graphic 13          */
  1052.     221,  /* graphic 14          */
  1053.     222,  /* graphic 15          */
  1054.     223,  /* graphic 16          */
  1055.     101,  /* a tilde             */
  1056.     102,  /* A tilde             */
  1057.     224,  /* graphic 17          */
  1058.     225,  /* graphic 18          */
  1059.     226,  /* graphic 19          */
  1060.     227,  /* graphic 20          */
  1061.     228,  /* graphic 21          */
  1062.     229,  /* graphic 22          */
  1063.     230,  /* graphic 23          */
  1064.     231,  /* currency sign       */
  1065.  
  1066.     114,  /* d bar               */
  1067.     115,  /* D bar               */
  1068.     125,  /* E circumflex        */
  1069.     123,  /* E umlaut            */
  1070.     121,  /* E grave             */
  1071.     134,  /* i no dot            */
  1072.     136,  /* I acute             */
  1073.     142,  /* I circumflex        */
  1074.     140,  /* I umlaut            */
  1075.     232,  /* graphic 24          */
  1076.     233,  /* graphic 25          */
  1077.     234,  /* graphic 26          */
  1078.     235,  /* graphic 27          */
  1079.     236,  /* |                   */
  1080.     138,  /* I grave             */
  1081.     237,  /* graphic 28          */
  1082.  
  1083.     159,  /* O acute             */
  1084.     181,  /* double ss           */
  1085.     165,  /* O circumflex        */
  1086.     161,  /* O grave             */
  1087.     166,  /* o tilde             */
  1088.     167,  /* O tilde             */
  1089.     151,  /* micron              */
  1090.     173,  /* p bar               */
  1091.     174,  /* P bar               */
  1092.     187,  /* U acute             */
  1093.     193,  /* U circumflex        */
  1094.     189,  /* U grave             */
  1095.     202,  /* y acute             */
  1096.     203,  /* Y acute             */
  1097.     238,  /* upper line          */
  1098.     239,  /* acute accent        */
  1099.  
  1100.     240,  /* middle line         */
  1101.     241,  /* +/- sign            */
  1102.     242,  /* equal sign          */
  1103.     243,  /* 3/4                 */
  1104.     244,  /* paragraph sign      */
  1105.     245,  /* section sign        */
  1106.     246,  /* division sign       */
  1107.     247,  /* cedilla             */
  1108.     248,  /* degree sign         */
  1109.     249,  /* umlaut              */
  1110.     250,  /* middle dot          */
  1111.     251,  /* 1 superscript       */
  1112.     252,  /* 3 superscript       */
  1113.     253,  /* 2 superscript       */
  1114.     254,  /* graphic 29          */
  1115.     255   /* blank               */
  1116. };
  1117.