SMHNLS.H
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:38k
源码类别:

Windows编程

开发平台:

Visual C++

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