Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2246 lines
80 KiB

  1. /*
  2. * NLSTABS.C - Tables for search data
  3. *
  4. */
  5. // Don't need this, but it keeps the precompiled headers from getting dumped.
  6. #include <_apipch.h>
  7. #if !defined(DOS)
  8. /**************************************************************************/
  9. /* Case and Diacritic Insensitive Weight Table (WIN16 ANSI) */
  10. /**************************************************************************/
  11. unsigned char rgchCidi[] =
  12. {
  13. 0, /* (unprintable) */
  14. 1, /* (unprintable) */
  15. 2, /* (unprintable) */
  16. 3, /* (unprintable) */
  17. 4, /* (unprintable) */
  18. 5, /* (unprintable) */
  19. 6, /* (unprintable) */
  20. 7, /* (unprintable) */
  21. 8, /* (unprintable) */
  22. 9, /* (unprintable) */
  23. 10, /* (unprintable) */
  24. 11, /* (unprintable) */
  25. 12, /* (unprintable) */
  26. 13, /* (unprintable) */
  27. 14, /* (unprintable) */
  28. 15, /* (unprintable) */
  29. 16, /* (unprintable) */
  30. 17, /* (unprintable) */
  31. 18, /* (unprintable) */
  32. 19, /* (unprintable) */
  33. 20, /* (unprintable) */
  34. 21, /* (unprintable) */
  35. 22, /* (unprintable) */
  36. 23, /* (unprintable) */
  37. 24, /* (unprintable) */
  38. 25, /* (unprintable) */
  39. 26, /* (unprintable) */
  40. 27, /* (unprintable) */
  41. 28, /* (unprintable) */
  42. 29, /* (unprintable) */
  43. 30, /* (unprintable) */
  44. 31, /* (unprintable) */
  45. 32, /* space */
  46. 33, /* ! */
  47. 34, /* " */
  48. 35, /* # */
  49. 36, /* $ */
  50. 37, /* % */
  51. 38, /* & */
  52. 39, /* ' */
  53. 40, /* ( */
  54. 41, /* ) */
  55. 42, /* * */
  56. 43, /* + */
  57. 44, /* , */
  58. 45, /* - */
  59. 46, /* . */
  60. 47, /* / */
  61. 79, /* 0 */
  62. 80, /* 1 */
  63. 81, /* 2 */
  64. 82, /* 3 */
  65. 83, /* 4 */
  66. 84, /* 5 */
  67. 85, /* 6 */
  68. 86, /* 7 */
  69. 87, /* 8 */
  70. 88, /* 9 */
  71. 48, /* : */
  72. 49, /* ; */
  73. 50, /* < */
  74. 51, /* = */
  75. 52, /* > */
  76. 53, /* ? */
  77. 54, /* @ */
  78. 89, /* A */
  79. 106, /* B */
  80. 108, /* C */
  81. 112, /* D */
  82. 116, /* E */
  83. 126, /* F */
  84. 128, /* G */
  85. 130, /* H */
  86. 132, /* I */
  87. 143, /* J */
  88. 145, /* K */
  89. 147, /* L */
  90. 149, /* M */
  91. 152, /* N */
  92. 156, /* O */
  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. 60, /* back quote */
  110. 89, /* a */
  111. 106, /* b */
  112. 108, /* c */
  113. 112, /* d */
  114. 116, /* e */
  115. 126, /* f */
  116. 128, /* g */
  117. 130, /* h */
  118. 132, /* i */
  119. 143, /* j */
  120. 145, /* k */
  121. 147, /* l */
  122. 149, /* m */
  123. 152, /* n */
  124. 156, /* o */
  125. 171, /* p */
  126. 175, /* q */
  127. 177, /* r */
  128. 179, /* s */
  129. 182, /* t */
  130. 184, /* u */
  131. 194, /* v */
  132. 196, /* w */
  133. 198, /* x */
  134. 200, /* y */
  135. 205, /* z */
  136. 61, /* { */
  137. 62, /* | */
  138. 63, /* } */
  139. 64, /* ~ */
  140. 65, /* (graphic) */
  141. 68, /* undefined (function symbol) */
  142. 208, /* undefined (graphic 1) */
  143. 209, /* undefined (graphic 2) */
  144. 210, /* undefined (graphic 3) */
  145. 211, /* undefined (graphic 4) */
  146. 212, /* undefined (graphic 5) */
  147. 213, /* undefined (graphic 6) */
  148. 214, /* undefined (graphic 7) */
  149. 215, /* undefined (graphic 8) */
  150. 216, /* undefined (graphic 9) */
  151. 217, /* undefined (graphic 10) */
  152. 218, /* undefined (graphic 11) */
  153. 219, /* undefined (graphic 12) */
  154. 220, /* undefined (graphic 13) */
  155. 221, /* undefined (graphic 14) */
  156. 222, /* undefined (graphic 15) */
  157. 223, /* undefined (graphic 16) 90 */
  158. 224, /* undefined (graphic 17) */
  159. 225, /* undefined (graphic 18) */
  160. 226, /* undefined (graphic 19) */
  161. 227, /* undefined (graphic 20) */
  162. 228, /* undefined (graphic 21) */
  163. 229, /* undefined (graphic 22) */
  164. 230, /* undefined (graphic 23) */
  165. 132, /* undefined (i no dot) */
  166. 232, /* undefined (graphic 24) */
  167. 233, /* undefined (graphic 25) */
  168. 234, /* undefined (graphic 26) */
  169. 235, /* undefined (graphic 27) */
  170. 237, /* undefined (graphic 28) */
  171. 242, /* undefined (equal sign) */
  172. 254, /* undefined (graphic 29) */
  173. 255, /* blank A0 */
  174. 73, /* inverted ! */
  175. 77, /* cent sign */
  176. 66, /* pound sign */
  177. 231, /* currency sign */
  178. 78, /* yen sign */
  179. 236, /* | */
  180. 245, /* section sign */
  181. 249, /* umlaut */
  182. 76, /* copyright sign */
  183. 103, /* a underscore */
  184. 74, /* << */
  185. 207, /* logical not sign */
  186. 240, /* middle line */
  187. 70, /* registered sign */
  188. 238, /* upper line */
  189. 248, /* degree sign B0 */
  190. 241, /* +/- sign */
  191. 252, /* 2 superscript */
  192. 253, /* 3 superscript */
  193. 239, /* acute accent */
  194. 151, /* micron */
  195. 244, /* paragraph sign */
  196. 250, /* middle dot */
  197. 247, /* cedilla */
  198. 251, /* superscript 1 */
  199. 170, /* o underscore */
  200. 75, /* >> */
  201. 72, /* 1/4 */
  202. 71, /* 1/2 */
  203. 243, /* 3/4 */
  204. 69, /* inverted ? */
  205. 89, /* A grave C0 */
  206. 89, /* A acute */
  207. 89, /* A circumflex */
  208. 89, /* A tilde */
  209. 89, /* A umlaut */
  210. 89, /* A dot */
  211. 104, /* AE ligature */
  212. 108, /* C cedilla */
  213. 116, /* E grave */
  214. 116, /* E acute */
  215. 116, /* E circumflex */
  216. 116, /* E umlaut */
  217. 132, /* I grave */
  218. 132, /* I acute */
  219. 132, /* I circumflex */
  220. 132, /* I umlaut */
  221. 114, /* D bar D0 */
  222. 152, /* N tilde */
  223. 156, /* O grave */
  224. 156, /* O acute */
  225. 156, /* O circumflex */
  226. 156, /* O tilde */
  227. 156, /* O umlaut */
  228. 67, /* multiplication sign */
  229. 156, /* O slash */
  230. 184, /* U grave */
  231. 184, /* U acute */
  232. 184, /* U circumflex */
  233. 184, /* U umlaut */
  234. 200, /* Y acute */
  235. 173, /* P bar */
  236. 181, /* double ss */
  237. 89, /* a grave E0 */
  238. 89, /* a acute */
  239. 89, /* a circumflex */
  240. 89, /* a tilde */
  241. 89, /* a umlaut */
  242. 89, /* a dot */
  243. 104, /* ae ligature */
  244. 108, /* c cedilla */
  245. 116, /* e grave */
  246. 116, /* e acute */
  247. 116, /* e circumflex */
  248. 116, /* e umlaut */
  249. 132, /* i grave */
  250. 132, /* i acute */
  251. 132, /* i circumflex */
  252. 132, /* i umlaut */
  253. 114, /* d bar F0 */
  254. 152, /* n tilde */
  255. 156, /* o grave */
  256. 156, /* o acute */
  257. 156, /* o circumflex */
  258. 156, /* o tilde */
  259. 156, /* o umlaut */
  260. 246, /* division sign */
  261. 156, /* o slash */
  262. 184, /* u grave */
  263. 184, /* u acute */
  264. 184, /* u circumflex */
  265. 184, /* u umlaut */
  266. 200, /* y acute */
  267. 173, /* p bar */
  268. 200 /* y umlaut */
  269. };
  270. /**************************************************************************/
  271. /* Case Insensitive and Diacritic Sensitive Weight Table (WIN16 ANSI)*/
  272. /**************************************************************************/
  273. unsigned char rgchCids[] =
  274. {
  275. 0, /* (unprintable) */
  276. 1, /* (unprintable) */
  277. 2, /* (unprintable) */
  278. 3, /* (unprintable) */
  279. 4, /* (unprintable) */
  280. 5, /* (unprintable) */
  281. 6, /* (unprintable) */
  282. 7, /* (unprintable) */
  283. 8, /* (unprintable) */
  284. 9, /* (unprintable) */
  285. 10, /* (unprintable) */
  286. 11, /* (unprintable) */
  287. 12, /* (unprintable) */
  288. 13, /* (unprintable) */
  289. 14, /* (unprintable) */
  290. 15, /* (unprintable) */
  291. 16, /* (unprintable) */
  292. 17, /* (unprintable) */
  293. 18, /* (unprintable) */
  294. 19, /* (unprintable) */
  295. 20, /* (unprintable) */
  296. 21, /* (unprintable) */
  297. 22, /* (unprintable) */
  298. 23, /* (unprintable) */
  299. 24, /* (unprintable) */
  300. 25, /* (unprintable) */
  301. 26, /* (unprintable) */
  302. 27, /* (unprintable) */
  303. 28, /* (unprintable) */
  304. 29, /* (unprintable) */
  305. 30, /* (unprintable) */
  306. 31, /* (unprintable) */
  307. 32, /* space */
  308. 33, /* ! */
  309. 34, /* " */
  310. 35, /* # */
  311. 36, /* $ */
  312. 37, /* % */
  313. 38, /* & */
  314. 39, /* ' */
  315. 40, /* ( */
  316. 41, /* ) */
  317. 42, /* * */
  318. 43, /* + */
  319. 44, /* , */
  320. 45, /* - */
  321. 46, /* . */
  322. 47, /* / */
  323. 79, /* 0 */
  324. 80, /* 1 */
  325. 81, /* 2 */
  326. 82, /* 3 */
  327. 83, /* 4 */
  328. 84, /* 5 */
  329. 85, /* 6 */
  330. 86, /* 7 */
  331. 87, /* 8 */
  332. 88, /* 9 */
  333. 48, /* : */
  334. 49, /* ; */
  335. 50, /* < */
  336. 51, /* = */
  337. 52, /* > */
  338. 53, /* ? */
  339. 54, /* @ */
  340. 89, /* A */
  341. 106, /* B */
  342. 108, /* C */
  343. 112, /* D */
  344. 116, /* E */
  345. 126, /* F */
  346. 128, /* G */
  347. 130, /* H */
  348. 132, /* I */
  349. 143, /* J */
  350. 145, /* K */
  351. 147, /* L */
  352. 149, /* M */
  353. 152, /* N */
  354. 156, /* O */
  355. 171, /* P */
  356. 175, /* Q */
  357. 177, /* R */
  358. 179, /* S */
  359. 182, /* T */
  360. 184, /* U */
  361. 194, /* V */
  362. 196, /* W */
  363. 198, /* X */
  364. 200, /* Y */
  365. 205, /* Z */
  366. 55, /* [ */
  367. 56, /* \ */
  368. 57, /* ] */
  369. 58, /* ^ */
  370. 59, /* _ */
  371. 60, /* back quote */
  372. 89, /* a */
  373. 106, /* b */
  374. 108, /* c */
  375. 112, /* d */
  376. 116, /* e */
  377. 126, /* f */
  378. 128, /* g */
  379. 130, /* h */
  380. 132, /* i */
  381. 143, /* j */
  382. 145, /* k */
  383. 147, /* l */
  384. 149, /* m */
  385. 152, /* n */
  386. 156, /* o */
  387. 171, /* p */
  388. 175, /* q */
  389. 177, /* r */
  390. 179, /* s */
  391. 182, /* t */
  392. 184, /* u */
  393. 194, /* v */
  394. 196, /* w */
  395. 198, /* x */
  396. 200, /* y */
  397. 205, /* z */
  398. 61, /* { */
  399. 62, /* | */
  400. 63, /* } */
  401. 64, /* ~ */
  402. 65, /* (graphic) */
  403. 68, /* undefined (function symbol) */
  404. 208, /* undefined (graphic 1) */
  405. 209, /* undefined (graphic 2) */
  406. 210, /* undefined (graphic 3) */
  407. 211, /* undefined (graphic 4) */
  408. 212, /* undefined (graphic 5) */
  409. 213, /* undefined (graphic 6) */
  410. 214, /* undefined (graphic 7) */
  411. 215, /* undefined (graphic 8) */
  412. 216, /* undefined (graphic 9) */
  413. 217, /* undefined (graphic 10) */
  414. 218, /* undefined (graphic 11) */
  415. 219, /* undefined (graphic 12) */
  416. 220, /* undefined (graphic 13) */
  417. 221, /* undefined (graphic 14) */
  418. 222, /* undefined (graphic 15) */
  419. 223, /* undefined (graphic 16) 90 */
  420. 224, /* undefined (graphic 17) */
  421. 225, /* undefined (graphic 18) */
  422. 226, /* undefined (graphic 19) */
  423. 227, /* undefined (graphic 20) */
  424. 228, /* undefined (graphic 21) */
  425. 229, /* undefined (graphic 22) */
  426. 230, /* undefined (graphic 23) */
  427. 134, /* undefined (i no dot) */
  428. 232, /* undefined (graphic 24) */
  429. 233, /* undefined (graphic 25) */
  430. 234, /* undefined (graphic 26) */
  431. 235, /* undefined (graphic 27) */
  432. 237, /* undefined (graphic 28) */
  433. 242, /* undefined (equal sign) */
  434. 254, /* undefined (graphic 29) */
  435. 255, /* blank A0 */
  436. 73, /* inverted ! */
  437. 77, /* cent sign */
  438. 66, /* pound sign */
  439. 231, /* currency sign */
  440. 78, /* yen sign */
  441. 236, /* | */
  442. 245, /* section sign */
  443. 249, /* umlaut */
  444. 76, /* copyright sign */
  445. 103, /* a underscore */
  446. 74, /* << */
  447. 207, /* logical not sign */
  448. 240, /* middle line */
  449. 70, /* registered sign */
  450. 238, /* upper line */
  451. 248, /* degree sign B0 */
  452. 241, /* +/- sign */
  453. 252, /* 2 superscript */
  454. 253, /* 3 superscript */
  455. 239, /* acute accent */
  456. 151, /* micron */
  457. 244, /* paragraph sign */
  458. 250, /* middle dot */
  459. 247, /* cedilla */
  460. 251, /* superscript 1 */
  461. 170, /* o underscore */
  462. 75, /* >> */
  463. 72, /* 1/4 */
  464. 71, /* 1/2 */
  465. 243, /* 3/4 */
  466. 69, /* inverted ? */
  467. 93, /* A grave C0 */
  468. 91, /* A acute */
  469. 97, /* A circumflex */
  470. 101, /* A tilde */
  471. 95, /* A umlaut */
  472. 99, /* A dot */
  473. 104, /* AE ligature */
  474. 110, /* C cedilla */
  475. 120, /* E grave */
  476. 118, /* E acute */
  477. 124, /* E circumflex */
  478. 122, /* E umlaut */
  479. 137, /* I grave */
  480. 135, /* I acute */
  481. 141, /* I circumflex */
  482. 139, /* I umlaut */
  483. 114, /* D bar D0 */
  484. 154, /* N tilde */
  485. 160, /* O grave */
  486. 158, /* O acute */
  487. 164, /* O circumflex */
  488. 166, /* O tilde */
  489. 162, /* O umlaut */
  490. 67, /* multiplication sign */
  491. 168, /* O slash */
  492. 188, /* U grave */
  493. 186, /* U acute */
  494. 192, /* U circumflex */
  495. 190, /* U umlaut */
  496. 202, /* Y acute */
  497. 173, /* P bar */
  498. 181, /* double ss */
  499. 93, /* a grave E0 */
  500. 91, /* a acute */
  501. 97, /* a circumflex */
  502. 101, /* a tilde */
  503. 95, /* a umlaut */
  504. 99, /* a dot */
  505. 104, /* ae ligature */
  506. 110, /* c cedilla */
  507. 120, /* e grave */
  508. 118, /* e acute */
  509. 124, /* e circumflex */
  510. 122, /* e umlaut */
  511. 137, /* i grave */
  512. 135, /* i acute */
  513. 141, /* i circumflex */
  514. 139, /* i umlaut */
  515. 114, /* d bar F0 */
  516. 154, /* n tilde */
  517. 160, /* o grave */
  518. 158, /* o acute */
  519. 164, /* o circumflex */
  520. 166, /* o tilde */
  521. 162, /* o umlaut */
  522. 246, /* division sign */
  523. 168, /* o slash */
  524. 188, /* u grave */
  525. 186, /* u acute */
  526. 192, /* u circumflex */
  527. 190, /* u umlaut */
  528. 202, /* y acute */
  529. 173, /* p bar */
  530. 204 /* y umlaut */
  531. };
  532. /**************************************************************************/
  533. /* Case Sensitive and Diacritic Insenstive Weight Table (WIN16 ANSI) */
  534. /**************************************************************************/
  535. unsigned char rgchCsdi[] =
  536. {
  537. 0, /* (unprintable) */
  538. 1, /* (unprintable) */
  539. 2, /* (unprintable) */
  540. 3, /* (unprintable) */
  541. 4, /* (unprintable) */
  542. 5, /* (unprintable) */
  543. 6, /* (unprintable) */
  544. 7, /* (unprintable) */
  545. 8, /* (unprintable) */
  546. 9, /* (unprintable) */
  547. 10, /* (unprintable) */
  548. 11, /* (unprintable) */
  549. 12, /* (unprintable) */
  550. 13, /* (unprintable) */
  551. 14, /* (unprintable) */
  552. 15, /* (unprintable) */
  553. 16, /* (unprintable) */
  554. 17, /* (unprintable) */
  555. 18, /* (unprintable) */
  556. 19, /* (unprintable) */
  557. 20, /* (unprintable) */
  558. 21, /* (unprintable) */
  559. 22, /* (unprintable) */
  560. 23, /* (unprintable) */
  561. 24, /* (unprintable) */
  562. 25, /* (unprintable) */
  563. 26, /* (unprintable) */
  564. 27, /* (unprintable) */
  565. 28, /* (unprintable) */
  566. 29, /* (unprintable) */
  567. 30, /* (unprintable) */
  568. 31, /* (unprintable) */
  569. 32, /* space */
  570. 33, /* ! */
  571. 34, /* " */
  572. 35, /* # */
  573. 36, /* $ */
  574. 37, /* % */
  575. 38, /* & */
  576. 39, /* ' */
  577. 40, /* ( */
  578. 41, /* ) */
  579. 42, /* * */
  580. 43, /* + */
  581. 44, /* , */
  582. 45, /* - */
  583. 46, /* . */
  584. 47, /* / */
  585. 79, /* 0 */
  586. 80, /* 1 */
  587. 81, /* 2 */
  588. 82, /* 3 */
  589. 83, /* 4 */
  590. 84, /* 5 */
  591. 85, /* 6 */
  592. 86, /* 7 */
  593. 87, /* 8 */
  594. 88, /* 9 */
  595. 48, /* : */
  596. 49, /* ; */
  597. 50, /* < */
  598. 51, /* = */
  599. 52, /* > */
  600. 53, /* ? */
  601. 54, /* @ */
  602. 90, /* A */
  603. 107, /* B */
  604. 109, /* C */
  605. 113, /* D */
  606. 117, /* E */
  607. 127, /* F */
  608. 129, /* G */
  609. 131, /* H */
  610. 133, /* I */
  611. 144, /* J */
  612. 146, /* K */
  613. 148, /* L */
  614. 150, /* M */
  615. 153, /* N */
  616. 157, /* O */
  617. 172, /* P */
  618. 176, /* Q */
  619. 178, /* R */
  620. 180, /* S */
  621. 183, /* T */
  622. 185, /* U */
  623. 195, /* V */
  624. 197, /* W */
  625. 199, /* X */
  626. 201, /* Y */
  627. 206, /* Z */
  628. 55, /* [ */
  629. 56, /* \ */
  630. 57, /* ] */
  631. 58, /* ^ */
  632. 59, /* _ */
  633. 60, /* back quote */
  634. 89, /* a */
  635. 106, /* b */
  636. 108, /* c */
  637. 112, /* d */
  638. 116, /* e */
  639. 126, /* f */
  640. 128, /* g */
  641. 130, /* h */
  642. 132, /* i */
  643. 143, /* j */
  644. 145, /* k */
  645. 147, /* l */
  646. 149, /* m */
  647. 152, /* n */
  648. 156, /* o */
  649. 171, /* p */
  650. 175, /* q */
  651. 177, /* r */
  652. 179, /* s */
  653. 182, /* t */
  654. 184, /* u */
  655. 194, /* v */
  656. 196, /* w */
  657. 198, /* x */
  658. 200, /* y */
  659. 205, /* z */
  660. 61, /* { */
  661. 62, /* | */
  662. 63, /* } */
  663. 64, /* ~ */
  664. 65, /* (graphic) */
  665. 68, /* undefined (function symbol) */
  666. 208, /* undefined (graphic 1) */
  667. 209, /* undefined (graphic 2) */
  668. 210, /* undefined (graphic 3) */
  669. 211, /* undefined (graphic 4) */
  670. 212, /* undefined (graphic 5) */
  671. 213, /* undefined (graphic 6) */
  672. 214, /* undefined (graphic 7) */
  673. 215, /* undefined (graphic 8) */
  674. 216, /* undefined (graphic 9) */
  675. 217, /* undefined (graphic 10) */
  676. 218, /* undefined (graphic 11) */
  677. 219, /* undefined (graphic 12) */
  678. 220, /* undefined (graphic 13) */
  679. 221, /* undefined (graphic 14) */
  680. 222, /* undefined (graphic 15) */
  681. 223, /* undefined (graphic 16) 90 */
  682. 224, /* undefined (graphic 17) */
  683. 225, /* undefined (graphic 18) */
  684. 226, /* undefined (graphic 19) */
  685. 227, /* undefined (graphic 20) */
  686. 228, /* undefined (graphic 21) */
  687. 229, /* undefined (graphic 22) */
  688. 230, /* undefined (graphic 23) */
  689. 132, /* undefined (i no dot) */
  690. 232, /* undefined (graphic 24) */
  691. 233, /* undefined (graphic 25) */
  692. 234, /* undefined (graphic 26) */
  693. 235, /* undefined (graphic 27) */
  694. 237, /* undefined (graphic 28) */
  695. 242, /* undefined (equal sign) */
  696. 254, /* undefined (graphic 29) */
  697. 255, /* blank A0 */
  698. 73, /* inverted ! */
  699. 77, /* cent sign */
  700. 66, /* pound sign */
  701. 231, /* currency sign */
  702. 78, /* yen sign */
  703. 236, /* | */
  704. 245, /* section sign */
  705. 249, /* umlaut */
  706. 76, /* copyright sign */
  707. 103, /* a underscore */
  708. 74, /* << */
  709. 207, /* logical not sign */
  710. 240, /* middle line */
  711. 70, /* registered sign */
  712. 238, /* upper line */
  713. 248, /* degree sign B0 */
  714. 241, /* +/- sign */
  715. 252, /* 2 superscript */
  716. 253, /* 3 superscript */
  717. 239, /* acute accent */
  718. 151, /* micron */
  719. 244, /* paragraph sign */
  720. 250, /* middle dot */
  721. 247, /* cedilla */
  722. 251, /* superscript 1 */
  723. 170, /* o underscore */
  724. 75, /* >> */
  725. 72, /* 1/4 */
  726. 71, /* 1/2 */
  727. 243, /* 3/4 */
  728. 69, /* inverted ? */
  729. 90, /* A grave C0 */
  730. 90, /* A acute */
  731. 90, /* A circumflex */
  732. 90, /* A tilde */
  733. 90, /* A umlaut */
  734. 89, /* A dot */
  735. 105, /* AE ligature */
  736. 109, /* C cedilla */
  737. 117, /* E grave */
  738. 117, /* E acute */
  739. 117, /* E circumflex */
  740. 117, /* E umlaut */
  741. 133, /* I grave */
  742. 133, /* I acute */
  743. 133, /* I circumflex */
  744. 133, /* I umlaut */
  745. 115, /* D bar D0 */
  746. 153, /* N tilde */
  747. 157, /* O grave */
  748. 157, /* O acute */
  749. 157, /* O circumflex */
  750. 157, /* O tilde */
  751. 157, /* O umlaut */
  752. 67, /* multiplication sign */
  753. 157, /* O slash */
  754. 185, /* U grave */
  755. 185, /* U acute */
  756. 185, /* U circumflex */
  757. 185, /* U umlaut */
  758. 201, /* Y acute */
  759. 174, /* P bar */
  760. 181, /* double ss */
  761. 89, /* a grave E0 */
  762. 89, /* a acute */
  763. 89, /* a circumflex */
  764. 89, /* a tilde */
  765. 89, /* a umlaut */
  766. 89, /* a dot */
  767. 104, /* ae ligature */
  768. 108, /* c cedilla */
  769. 116, /* e grave */
  770. 116, /* e acute */
  771. 116, /* e circumflex */
  772. 116, /* e umlaut */
  773. 132, /* i grave */
  774. 132, /* i acute */
  775. 132, /* i circumflex */
  776. 132, /* i umlaut */
  777. 114, /* d bar F0 */
  778. 152, /* n tilde */
  779. 156, /* o grave */
  780. 156, /* o acute */
  781. 156, /* o circumflex */
  782. 156, /* o tilde */
  783. 156, /* o umlaut */
  784. 246, /* division sign */
  785. 156, /* o slash */
  786. 184, /* u grave */
  787. 184, /* u acute */
  788. 184, /* u circumflex */
  789. 184, /* u umlaut */
  790. 200, /* y acute */
  791. 173, /* p bar */
  792. 200 /* y umlaut */
  793. };
  794. /**************************************************************************/
  795. /* Case and Diacritic Senstive Weight Table (WIN16 ANSI) */
  796. /**************************************************************************/
  797. unsigned char rgchCsds[] =
  798. {
  799. 0, /* (unprintable) */
  800. 1, /* (unprintable) */
  801. 2, /* (unprintable) */
  802. 3, /* (unprintable) */
  803. 4, /* (unprintable) */
  804. 5, /* (unprintable) */
  805. 6, /* (unprintable) */
  806. 7, /* (unprintable) */
  807. 8, /* (unprintable) */
  808. 9, /* (unprintable) */
  809. 10, /* (unprintable) */
  810. 11, /* (unprintable) */
  811. 12, /* (unprintable) */
  812. 13, /* (unprintable) */
  813. 14, /* (unprintable) */
  814. 15, /* (unprintable) */
  815. 16, /* (unprintable) */
  816. 17, /* (unprintable) */
  817. 18, /* (unprintable) */
  818. 19, /* (unprintable) */
  819. 20, /* (unprintable) */
  820. 21, /* (unprintable) */
  821. 22, /* (unprintable) */
  822. 23, /* (unprintable) */
  823. 24, /* (unprintable) */
  824. 25, /* (unprintable) */
  825. 26, /* (unprintable) */
  826. 27, /* (unprintable) */
  827. 28, /* (unprintable) */
  828. 29, /* (unprintable) */
  829. 30, /* (unprintable) */
  830. 31, /* (unprintable) */
  831. 32, /* space */
  832. 33, /* ! */
  833. 34, /* " */
  834. 35, /* # */
  835. 36, /* $ */
  836. 37, /* % */
  837. 38, /* & */
  838. 39, /* ' */
  839. 40, /* ( */
  840. 41, /* ) */
  841. 42, /* * */
  842. 43, /* + */
  843. 44, /* , */
  844. 45, /* - */
  845. 46, /* . */
  846. 47, /* / */
  847. 79, /* 0 */
  848. 80, /* 1 */
  849. 81, /* 2 */
  850. 82, /* 3 */
  851. 83, /* 4 */
  852. 84, /* 5 */
  853. 85, /* 6 */
  854. 86, /* 7 */
  855. 87, /* 8 */
  856. 88, /* 9 */
  857. 48, /* : */
  858. 49, /* ; */
  859. 50, /* < */
  860. 51, /* = */
  861. 52, /* > */
  862. 53, /* ? */
  863. 54, /* @ */
  864. 90, /* A */
  865. 107, /* B */
  866. 109, /* C */
  867. 113, /* D */
  868. 117, /* E */
  869. 127, /* F */
  870. 129, /* G */
  871. 131, /* H */
  872. 133, /* I */
  873. 144, /* J */
  874. 146, /* K */
  875. 148, /* L */
  876. 150, /* M */
  877. 153, /* N */
  878. 157, /* O */
  879. 172, /* P */
  880. 176, /* Q */
  881. 178, /* R */
  882. 180, /* S */
  883. 183, /* T */
  884. 185, /* U */
  885. 195, /* V */
  886. 197, /* W */
  887. 199, /* X */
  888. 201, /* Y */
  889. 206, /* Z */
  890. 55, /* [ */
  891. 56, /* \ */
  892. 57, /* ] */
  893. 58, /* ^ */
  894. 59, /* _ */
  895. 60, /* back quote */
  896. 89, /* a */
  897. 106, /* b */
  898. 108, /* c */
  899. 112, /* d */
  900. 116, /* e */
  901. 126, /* f */
  902. 128, /* g */
  903. 130, /* h */
  904. 132, /* i */
  905. 143, /* j */
  906. 145, /* k */
  907. 147, /* l */
  908. 149, /* m */
  909. 152, /* n */
  910. 156, /* o */
  911. 171, /* p */
  912. 175, /* q */
  913. 177, /* r */
  914. 179, /* s */
  915. 182, /* t */
  916. 184, /* u */
  917. 194, /* v */
  918. 196, /* w */
  919. 198, /* x */
  920. 200, /* y */
  921. 205, /* z */
  922. 61, /* { */
  923. 62, /* | */
  924. 63, /* } */
  925. 64, /* ~ */
  926. 65, /* (graphic) */
  927. 68, /* undefined (function symbol) */
  928. 208, /* undefined (graphic 1) */
  929. 209, /* undefined (graphic 2) */
  930. 210, /* undefined (graphic 3) */
  931. 211, /* undefined (graphic 4) */
  932. 212, /* undefined (graphic 5) */
  933. 213, /* undefined (graphic 6) */
  934. 214, /* undefined (graphic 7) */
  935. 215, /* undefined (graphic 8) */
  936. 216, /* undefined (graphic 9) */
  937. 217, /* undefined (graphic 10) */
  938. 218, /* undefined (graphic 11) */
  939. 219, /* undefined (graphic 12) */
  940. 220, /* undefined (graphic 13) */
  941. 221, /* undefined (graphic 14) */
  942. 222, /* undefined (graphic 15) */
  943. 223, /* undefined (graphic 16) 90 */
  944. 224, /* undefined (graphic 17) */
  945. 225, /* undefined (graphic 18) */
  946. 226, /* undefined (graphic 19) */
  947. 227, /* undefined (graphic 20) */
  948. 228, /* undefined (graphic 21) */
  949. 229, /* undefined (graphic 22) */
  950. 230, /* undefined (graphic 23) */
  951. 134, /* undefined (i no dot) */
  952. 232, /* undefined (graphic 24) */
  953. 233, /* undefined (graphic 25) */
  954. 234, /* undefined (graphic 26) */
  955. 235, /* undefined (graphic 27) */
  956. 237, /* undefined (graphic 28) */
  957. 242, /* undefined (equal sign) */
  958. 254, /* undefined (graphic 29) */
  959. 255, /* blank A0 */
  960. 73, /* inverted ! */
  961. 77, /* cent sign */
  962. 66, /* pound sign */
  963. 231, /* currency sign */
  964. 78, /* yen sign */
  965. 236, /* | */
  966. 245, /* section sign */
  967. 249, /* umlaut */
  968. 76, /* copyright sign */
  969. 103, /* a underscore */
  970. 74, /* << */
  971. 207, /* logical not sign */
  972. 240, /* middle line */
  973. 70, /* registered sign */
  974. 238, /* upper line */
  975. 248, /* degree sign B0 */
  976. 241, /* +/- sign */
  977. 253, /* 2 superscript */
  978. 252, /* 3 superscript */
  979. 239, /* acute accent */
  980. 151, /* micron */
  981. 244, /* paragraph sign */
  982. 250, /* middle dot */
  983. 247, /* cedilla */
  984. 251, /* superscript 1 */
  985. 170, /* o underscore */
  986. 75, /* >> */
  987. 72, /* 1/4 */
  988. 71, /* 1/2 */
  989. 243, /* 3/4 */
  990. 69, /* inverted ? */
  991. 94, /* A grave C0 */
  992. 92, /* A acute */
  993. 98, /* A circumflex */
  994. 102, /* A tilde */
  995. 96, /* A umlaut */
  996. 100, /* A dot */
  997. 105, /* AE ligature */
  998. 111, /* C cedilla */
  999. 121, /* E grave */
  1000. 119, /* E acute */
  1001. 125, /* E circumflex */
  1002. 123, /* E umlaut */
  1003. 138, /* I grave */
  1004. 136, /* I acute */
  1005. 142, /* I circumflex */
  1006. 140, /* I umlaut */
  1007. 115, /* D bar D0 */
  1008. 155, /* N tilde */
  1009. 161, /* O grave */
  1010. 159, /* O acute */
  1011. 165, /* O circumflex */
  1012. 167, /* O tilde */
  1013. 163, /* O umlaut */
  1014. 67, /* multiplication sign */
  1015. 169, /* O slash */
  1016. 189, /* U grave */
  1017. 187, /* U acute */
  1018. 193, /* U circumflex */
  1019. 191, /* U umlaut */
  1020. 203, /* Y acute */
  1021. 174, /* P bar */
  1022. 181, /* double ss */
  1023. 93, /* a grave E0 */
  1024. 91, /* a acute */
  1025. 97, /* a circumflex */
  1026. 101, /* a tilde */
  1027. 95, /* a umlaut */
  1028. 99, /* a dot */
  1029. 104, /* ae ligature */
  1030. 110, /* c cedilla */
  1031. 120, /* e grave */
  1032. 118, /* e acute */
  1033. 124, /* e circumflex */
  1034. 122, /* e umlaut */
  1035. 137, /* i grave */
  1036. 135, /* i acute */
  1037. 141, /* i circumflex */
  1038. 139, /* i umlaut */
  1039. 114, /* d bar F0 */
  1040. 154, /* n tilde */
  1041. 160, /* o grave */
  1042. 158, /* o acute */
  1043. 164, /* o circumflex */
  1044. 166, /* o tilde */
  1045. 162, /* o umlaut */
  1046. 246, /* division sign */
  1047. 168, /* o slash */
  1048. 188, /* u grave */
  1049. 186, /* u acute */
  1050. 192, /* u circumflex */
  1051. 190, /* u umlaut */
  1052. 202, /* y acute */
  1053. 173, /* p bar */
  1054. 204 /* y umlaut */
  1055. };
  1056. #else
  1057. /**************************************************************************/
  1058. /* Case and Diacritic Insensitive Weight Table (DOS 850) */
  1059. /**************************************************************************/
  1060. unsigned char rgchCidi[] =
  1061. {
  1062. 0, /* (unprintable) */
  1063. 1, /* (unprintable) */
  1064. 2, /* (unprintable) */
  1065. 3, /* (unprintable) */
  1066. 4, /* (unprintable) */
  1067. 5, /* (unprintable) */
  1068. 6, /* (unprintable) */
  1069. 7, /* (unprintable) */
  1070. 8, /* (unprintable) */
  1071. 9, /* (unprintable) */
  1072. 10, /* (unprintable) */
  1073. 11, /* (unprintable) */
  1074. 12, /* (unprintable) */
  1075. 13, /* (unprintable) */
  1076. 14, /* (unprintable) */
  1077. 15, /* (unprintable) */
  1078. 16, /* (unprintable) */
  1079. 17, /* (unprintable) */
  1080. 18, /* (unprintable) */
  1081. 19, /* (unprintable) */
  1082. 20, /* (unprintable) */
  1083. 21, /* (unprintable) */
  1084. 22, /* (unprintable) */
  1085. 23, /* (unprintable) */
  1086. 24, /* (unprintable) */
  1087. 25, /* (unprintable) */
  1088. 26, /* (unprintable) */
  1089. 27, /* (unprintable) */
  1090. 28, /* (unprintable) */
  1091. 29, /* (unprintable) */
  1092. 30, /* (unprintable) */
  1093. 31, /* (unprintable) */
  1094. 32, /* space */
  1095. 33, /* ! */
  1096. 34, /* " */
  1097. 35, /* # */
  1098. 36, /* $ */
  1099. 37, /* % */
  1100. 38, /* & */
  1101. 39, /* ' */
  1102. 40, /* ( */
  1103. 41, /* ) */
  1104. 42, /* * */
  1105. 43, /* + */
  1106. 44, /* , */
  1107. 45, /* - */
  1108. 46, /* . */
  1109. 47, /* / */
  1110. 79, /* 0 */
  1111. 80, /* 1 */
  1112. 81, /* 2 */
  1113. 82, /* 3 */
  1114. 83, /* 4 */
  1115. 84, /* 5 */
  1116. 85, /* 6 */
  1117. 86, /* 7 */
  1118. 87, /* 8 */
  1119. 88, /* 9 */
  1120. 48, /* : */
  1121. 49, /* ; */
  1122. 50, /* < */
  1123. 51, /* = */
  1124. 52, /* > */
  1125. 53, /* ? */
  1126. 54, /* @ */
  1127. 89, /* A */
  1128. 106, /* B */
  1129. 108, /* C */
  1130. 112, /* D */
  1131. 116, /* E */
  1132. 126, /* F */
  1133. 128, /* G */
  1134. 130, /* H */
  1135. 132, /* I */
  1136. 143, /* J */
  1137. 145, /* K */
  1138. 147, /* L */
  1139. 149, /* M */
  1140. 152, /* N */
  1141. 156, /* O */
  1142. 171, /* P */
  1143. 175, /* Q */
  1144. 177, /* R */
  1145. 179, /* S */
  1146. 182, /* T */
  1147. 184, /* U */
  1148. 194, /* V */
  1149. 196, /* W */
  1150. 198, /* X */
  1151. 200, /* Y */
  1152. 205, /* Z */
  1153. 55, /* [ */
  1154. 56, /* \ */
  1155. 57, /* ] */
  1156. 58, /* ^ */
  1157. 59, /* _ */
  1158. 60, /* back quote */
  1159. 89, /* a */
  1160. 106, /* b */
  1161. 108, /* c */
  1162. 112, /* d */
  1163. 116, /* e */
  1164. 126, /* f */
  1165. 128, /* g */
  1166. 130, /* h */
  1167. 132, /* i */
  1168. 143, /* j */
  1169. 145, /* k */
  1170. 147, /* l */
  1171. 149, /* m */
  1172. 152, /* n */
  1173. 156, /* o */
  1174. 171, /* p */
  1175. 175, /* q */
  1176. 177, /* r */
  1177. 179, /* s */
  1178. 182, /* t */
  1179. 184, /* u */
  1180. 194, /* v */
  1181. 196, /* w */
  1182. 198, /* x */
  1183. 200, /* y */
  1184. 205, /* z */
  1185. 61, /* { */
  1186. 62, /* | */
  1187. 63, /* } */
  1188. 64, /* ~ */
  1189. 65, /* (graphic) */
  1190. 108, /* C cedilla */
  1191. 184, /* u umlaut */
  1192. 116, /* e acute */
  1193. 89, /* a circumflex */
  1194. 89, /* a umlaut */
  1195. 89, /* a grave */
  1196. 89, /* a dot */
  1197. 108, /* c cedilla */
  1198. 116, /* e circumflex */
  1199. 116, /* e umlaut */
  1200. 116, /* e grave */
  1201. 132, /* i umlaut */
  1202. 132, /* i circumflex */
  1203. 132, /* i grave */
  1204. 89, /* A umlaut */
  1205. 89, /* A dot */
  1206. 116, /* E acute */
  1207. 104, /* ae ligature */
  1208. 104, /* AE ligature */
  1209. 156, /* o circumflex */
  1210. 156, /* o umlaut */
  1211. 156, /* o grave */
  1212. 184, /* u circumflex */
  1213. 184, /* u grave */
  1214. 200, /* y umlaut */
  1215. 156, /* O umlaut */
  1216. 184, /* U umlaut */
  1217. 156, /* o slash */
  1218. 66, /* pound sign */
  1219. 156, /* O slash */
  1220. 67, /* multiplication sign */
  1221. 68, /* function sign */
  1222. 89, /* a acute */
  1223. 132, /* i acute */
  1224. 156, /* o acute */
  1225. 184, /* u acute */
  1226. 152, /* n tilde */
  1227. 152, /* N tilde */
  1228. 103, /* a underscore */
  1229. 170, /* o underscore */
  1230. 69, /* inverted ? */
  1231. 70, /* registered sign */
  1232. 207, /* logical not sign */
  1233. 71, /* 1/2 */
  1234. 72, /* 1/4 */
  1235. 73, /* inverted ! */
  1236. 74, /* << */
  1237. 75, /* >> */
  1238. 208, /* graphic 1 */
  1239. 209, /* graphic 2 */
  1240. 210, /* graphic 3 */
  1241. 211, /* graphic 4 */
  1242. 212, /* graphic 5 */
  1243. 89, /* A acute */
  1244. 89, /* A circumflex */
  1245. 89, /* A grave */
  1246. 76, /* copyright sign */
  1247. 213, /* graphic 6 */
  1248. 214, /* graphic 7 */
  1249. 215, /* graphic 8 */
  1250. 216, /* graphic 9 */
  1251. 77, /* cent sign */
  1252. 78, /* yen sign */
  1253. 217, /* graphic 10 */
  1254. 218, /* graphic 11 */
  1255. 219, /* graphic 12 */
  1256. 220, /* graphic 13 */
  1257. 221, /* graphic 14 */
  1258. 222, /* graphic 15 */
  1259. 223, /* graphic 16 */
  1260. 89, /* a tilde */
  1261. 89, /* A tilde */
  1262. 224, /* graphic 17 */
  1263. 225, /* graphic 18 */
  1264. 226, /* graphic 19 */
  1265. 227, /* graphic 20 */
  1266. 228, /* graphic 21 */
  1267. 229, /* graphic 22 */
  1268. 230, /* graphic 23 */
  1269. 231, /* currency sign */
  1270. 114, /* d bar */
  1271. 114, /* D bar */
  1272. 116, /* E circumflex */
  1273. 116, /* E umlaut */
  1274. 116, /* E grave */
  1275. 132, /* i no dot */
  1276. 132, /* I acute */
  1277. 132, /* I circumflex */
  1278. 132, /* I umlaut */
  1279. 232, /* graphic 24 */
  1280. 233, /* graphic 25 */
  1281. 234, /* graphic 26 */
  1282. 235, /* graphic 27 */
  1283. 236, /* | */
  1284. 132, /* I grave */
  1285. 237, /* graphic 28 */
  1286. 156, /* O acute */
  1287. 181, /* double ss */
  1288. 156, /* O circumflex */
  1289. 156, /* O grave */
  1290. 156, /* o tilde */
  1291. 156, /* O tilde */
  1292. 151, /* micron */
  1293. 173, /* p bar */
  1294. 173, /* P bar */
  1295. 184, /* U acute */
  1296. 184, /* U circumflex */
  1297. 184, /* U grave */
  1298. 200, /* y acute */
  1299. 200, /* Y acute */
  1300. 238, /* upper line */
  1301. 239, /* acute accent */
  1302. 240, /* middle line */
  1303. 241, /* +/- sign */
  1304. 242, /* equal sign */
  1305. 243, /* 3/4 */
  1306. 244, /* paragraph sign */
  1307. 245, /* section sign */
  1308. 246, /* division sign */
  1309. 247, /* cedilla */
  1310. 248, /* degree sign */
  1311. 249, /* umlaut */
  1312. 250, /* middle dot */
  1313. 251, /* 1 superscript */
  1314. 253, /* 3 superscript */
  1315. 252, /* 2 superscript */
  1316. 254, /* graphic 29 */
  1317. 255 /* blank */
  1318. };
  1319. /**************************************************************************/
  1320. /* Case Insensitive and Diacritic Sensitive Weight Table (DOS 850) */
  1321. /**************************************************************************/
  1322. unsigned char rgchCids[] =
  1323. {
  1324. 0, /* (unprintable) */
  1325. 1, /* (unprintable) */
  1326. 2, /* (unprintable) */
  1327. 3, /* (unprintable) */
  1328. 4, /* (unprintable) */
  1329. 5, /* (unprintable) */
  1330. 6, /* (unprintable) */
  1331. 7, /* (unprintable) */
  1332. 8, /* (unprintable) */
  1333. 9, /* (unprintable) */
  1334. 10, /* (unprintable) */
  1335. 11, /* (unprintable) */
  1336. 12, /* (unprintable) */
  1337. 13, /* (unprintable) */
  1338. 14, /* (unprintable) */
  1339. 15, /* (unprintable) */
  1340. 16, /* (unprintable) */
  1341. 17, /* (unprintable) */
  1342. 18, /* (unprintable) */
  1343. 19, /* (unprintable) */
  1344. 20, /* (unprintable) */
  1345. 21, /* (unprintable) */
  1346. 22, /* (unprintable) */
  1347. 23, /* (unprintable) */
  1348. 24, /* (unprintable) */
  1349. 25, /* (unprintable) */
  1350. 26, /* (unprintable) */
  1351. 27, /* (unprintable) */
  1352. 28, /* (unprintable) */
  1353. 29, /* (unprintable) */
  1354. 30, /* (unprintable) */
  1355. 31, /* (unprintable) */
  1356. 32, /* space */
  1357. 33, /* ! */
  1358. 34, /* " */
  1359. 35, /* # */
  1360. 36, /* $ */
  1361. 37, /* % */
  1362. 38, /* & */
  1363. 39, /* ' */
  1364. 40, /* ( */
  1365. 41, /* ) */
  1366. 42, /* * */
  1367. 43, /* + */
  1368. 44, /* , */
  1369. 45, /* - */
  1370. 46, /* . */
  1371. 47, /* / */
  1372. 79, /* 0 */
  1373. 80, /* 1 */
  1374. 81, /* 2 */
  1375. 82, /* 3 */
  1376. 83, /* 4 */
  1377. 84, /* 5 */
  1378. 85, /* 6 */
  1379. 86, /* 7 */
  1380. 87, /* 8 */
  1381. 88, /* 9 */
  1382. 48, /* : */
  1383. 49, /* ; */
  1384. 50, /* < */
  1385. 51, /* = */
  1386. 52, /* > */
  1387. 53, /* ? */
  1388. 54, /* @ */
  1389. 89, /* A */
  1390. 106, /* B */
  1391. 108, /* C */
  1392. 112, /* D */
  1393. 116, /* E */
  1394. 126, /* F */
  1395. 128, /* G */
  1396. 130, /* H */
  1397. 132, /* I */
  1398. 143, /* J */
  1399. 145, /* K */
  1400. 147, /* L */
  1401. 149, /* M */
  1402. 152, /* N */
  1403. 156, /* O */
  1404. 171, /* P */
  1405. 175, /* Q */
  1406. 177, /* R */
  1407. 179, /* S */
  1408. 182, /* T */
  1409. 184, /* U */
  1410. 194, /* V */
  1411. 196, /* W */
  1412. 198, /* X */
  1413. 200, /* Y */
  1414. 205, /* Z */
  1415. 55, /* [ */
  1416. 56, /* \ */
  1417. 57, /* ] */
  1418. 58, /* ^ */
  1419. 59, /* _ */
  1420. 60, /* back quote */
  1421. 89, /* a */
  1422. 106, /* b */
  1423. 108, /* c */
  1424. 112, /* d */
  1425. 116, /* e */
  1426. 126, /* f */
  1427. 128, /* g */
  1428. 130, /* h */
  1429. 132, /* i */
  1430. 143, /* j */
  1431. 145, /* k */
  1432. 147, /* l */
  1433. 149, /* m */
  1434. 152, /* n */
  1435. 156, /* o */
  1436. 171, /* p */
  1437. 175, /* q */
  1438. 177, /* r */
  1439. 179, /* s */
  1440. 182, /* t */
  1441. 184, /* u */
  1442. 194, /* v */
  1443. 196, /* w */
  1444. 198, /* x */
  1445. 200, /* y */
  1446. 205, /* z */
  1447. 61, /* { */
  1448. 62, /* | */
  1449. 63, /* } */
  1450. 64, /* ~ */
  1451. 65, /* (graphic) */
  1452. 110, /* C cedilla */
  1453. 190, /* u umlaut */
  1454. 118, /* e acute */
  1455. 97, /* a circumflex */
  1456. 95, /* a umlaut */
  1457. 93, /* a grave */
  1458. 99, /* a dot */
  1459. 110, /* c cedilla */
  1460. 124, /* e circumflex */
  1461. 122, /* e umlaut */
  1462. 120, /* e grave */
  1463. 139, /* i umlaut */
  1464. 141, /* i circumflex */
  1465. 137, /* i grave */
  1466. 95, /* A umlaut */
  1467. 99, /* A dot */
  1468. 118, /* E acute */
  1469. 104, /* ae ligature */
  1470. 104, /* AE ligature */
  1471. 164, /* o circumflex */
  1472. 162, /* o umlaut */
  1473. 160, /* o grave */
  1474. 192, /* u circumflex */
  1475. 188, /* u grave */
  1476. 204, /* y umlaut */
  1477. 162, /* O umlaut */
  1478. 190, /* U umlaut */
  1479. 168, /* o slash */
  1480. 66, /* pound sign */
  1481. 168, /* O slash */
  1482. 67, /* multiplication sign */
  1483. 68, /* function sign */
  1484. 91, /* a acute */
  1485. 135, /* i acute */
  1486. 158, /* o acute */
  1487. 186, /* u acute */
  1488. 154, /* n tilde */
  1489. 154, /* N tilde */
  1490. 103, /* a underscore */
  1491. 170, /* o underscore */
  1492. 69, /* inverted ? */
  1493. 70, /* registered sign */
  1494. 207, /* logical not sign */
  1495. 71, /* 1/2 */
  1496. 72, /* 1/4 */
  1497. 73, /* inverted ! */
  1498. 74, /* << */
  1499. 75, /* >> */
  1500. 208, /* graphic 1 */
  1501. 209, /* graphic 2 */
  1502. 210, /* graphic 3 */
  1503. 211, /* graphic 4 */
  1504. 212, /* graphic 5 */
  1505. 91, /* A acute */
  1506. 97, /* A circumflex */
  1507. 93, /* A grave */
  1508. 76, /* copyright sign */
  1509. 213, /* graphic 6 */
  1510. 214, /* graphic 7 */
  1511. 215, /* graphic 8 */
  1512. 216, /* graphic 9 */
  1513. 77, /* cent sign */
  1514. 78, /* yen sign */
  1515. 217, /* graphic 10 */
  1516. 218, /* graphic 11 */
  1517. 219, /* graphic 12 */
  1518. 220, /* graphic 13 */
  1519. 221, /* graphic 14 */
  1520. 222, /* graphic 15 */
  1521. 223, /* graphic 16 */
  1522. 101, /* a tilde */
  1523. 101, /* A tilde */
  1524. 224, /* graphic 17 */
  1525. 225, /* graphic 18 */
  1526. 226, /* graphic 19 */
  1527. 227, /* graphic 20 */
  1528. 228, /* graphic 21 */
  1529. 229, /* graphic 22 */
  1530. 230, /* graphic 23 */
  1531. 231, /* currency sign */
  1532. 114, /* d bar */
  1533. 114, /* D bar */
  1534. 124, /* E circumflex */
  1535. 122, /* E umlaut */
  1536. 120, /* E grave */
  1537. 134, /* i no dot */
  1538. 135, /* I acute */
  1539. 141, /* I circumflex */
  1540. 139, /* I umlaut */
  1541. 232, /* graphic 24 */
  1542. 233, /* graphic 25 */
  1543. 234, /* graphic 26 */
  1544. 235, /* graphic 27 */
  1545. 236, /* | */
  1546. 137, /* I grave */
  1547. 237, /* graphic 28 */
  1548. 158, /* O acute */
  1549. 181, /* double ss */
  1550. 164, /* O circumflex */
  1551. 160, /* O grave */
  1552. 166, /* o tilde */
  1553. 166, /* O tilde */
  1554. 151, /* micron */
  1555. 173, /* p bar */
  1556. 173, /* P bar */
  1557. 186, /* U acute */
  1558. 192, /* U circumflex */
  1559. 188, /* U grave */
  1560. 202, /* y acute */
  1561. 202, /* Y acute */
  1562. 238, /* upper line */
  1563. 239, /* acute accent */
  1564. 240, /* middle line */
  1565. 241, /* +/- sign */
  1566. 242, /* equal sign */
  1567. 243, /* 3/4 */
  1568. 244, /* paragraph sign */
  1569. 245, /* section sign */
  1570. 246, /* division sign */
  1571. 247, /* cedilla */
  1572. 248, /* degree sign */
  1573. 249, /* umlaut */
  1574. 250, /* middle dot */
  1575. 251, /* 1 superscript */
  1576. 253, /* 3 superscript */
  1577. 252, /* 2 superscript */
  1578. 254, /* graphic 29 */
  1579. 255 /* blank */
  1580. };
  1581. /**************************************************************************/
  1582. /* Case Sensitive and Diacritic Insenstive Weight Table (DOS 850) */
  1583. /**************************************************************************/
  1584. unsigned char rgchCsdi[] =
  1585. {
  1586. 0, /* (unprintable) */
  1587. 1, /* (unprintable) */
  1588. 2, /* (unprintable) */
  1589. 3, /* (unprintable) */
  1590. 4, /* (unprintable) */
  1591. 5, /* (unprintable) */
  1592. 6, /* (unprintable) */
  1593. 7, /* (unprintable) */
  1594. 8, /* (unprintable) */
  1595. 9, /* (unprintable) */
  1596. 10, /* (unprintable) */
  1597. 11, /* (unprintable) */
  1598. 12, /* (unprintable) */
  1599. 13, /* (unprintable) */
  1600. 14, /* (unprintable) */
  1601. 15, /* (unprintable) */
  1602. 16, /* (unprintable) */
  1603. 17, /* (unprintable) */
  1604. 18, /* (unprintable) */
  1605. 19, /* (unprintable) */
  1606. 20, /* (unprintable) */
  1607. 21, /* (unprintable) */
  1608. 22, /* (unprintable) */
  1609. 23, /* (unprintable) */
  1610. 24, /* (unprintable) */
  1611. 25, /* (unprintable) */
  1612. 26, /* (unprintable) */
  1613. 27, /* (unprintable) */
  1614. 28, /* (unprintable) */
  1615. 29, /* (unprintable) */
  1616. 30, /* (unprintable) */
  1617. 31, /* (unprintable) */
  1618. 32, /* space */
  1619. 33, /* ! */
  1620. 34, /* " */
  1621. 35, /* # */
  1622. 36, /* $ */
  1623. 37, /* % */
  1624. 38, /* & */
  1625. 39, /* ' */
  1626. 40, /* ( */
  1627. 41, /* ) */
  1628. 42, /* * */
  1629. 43, /* + */
  1630. 44, /* , */
  1631. 45, /* - */
  1632. 46, /* . */
  1633. 47, /* / */
  1634. 79, /* 0 */
  1635. 80, /* 1 */
  1636. 81, /* 2 */
  1637. 82, /* 3 */
  1638. 83, /* 4 */
  1639. 84, /* 5 */
  1640. 85, /* 6 */
  1641. 86, /* 7 */
  1642. 87, /* 8 */
  1643. 88, /* 9 */
  1644. 48, /* : */
  1645. 49, /* ; */
  1646. 50, /* < */
  1647. 51, /* = */
  1648. 52, /* > */
  1649. 53, /* ? */
  1650. 54, /* @ */
  1651. 90, /* A */
  1652. 107, /* B */
  1653. 109, /* C */
  1654. 113, /* D */
  1655. 117, /* E */
  1656. 127, /* F */
  1657. 129, /* G */
  1658. 131, /* H */
  1659. 133, /* I */
  1660. 144, /* J */
  1661. 146, /* K */
  1662. 148, /* L */
  1663. 150, /* M */
  1664. 153, /* N */
  1665. 157, /* O */
  1666. 172, /* P */
  1667. 176, /* Q */
  1668. 178, /* R */
  1669. 180, /* S */
  1670. 183, /* T */
  1671. 185, /* U */
  1672. 195, /* V */
  1673. 197, /* W */
  1674. 199, /* X */
  1675. 201, /* Y */
  1676. 206, /* Z */
  1677. 55, /* [ */
  1678. 56, /* \ */
  1679. 57, /* ] */
  1680. 58, /* ^ */
  1681. 59, /* _ */
  1682. 60, /* back quote */
  1683. 89, /* a */
  1684. 106, /* b */
  1685. 108, /* c */
  1686. 112, /* d */
  1687. 116, /* e */
  1688. 126, /* f */
  1689. 128, /* g */
  1690. 130, /* h */
  1691. 132, /* i */
  1692. 143, /* j */
  1693. 145, /* k */
  1694. 147, /* l */
  1695. 149, /* m */
  1696. 152, /* n */
  1697. 156, /* o */
  1698. 171, /* p */
  1699. 175, /* q */
  1700. 177, /* r */
  1701. 179, /* s */
  1702. 182, /* t */
  1703. 184, /* u */
  1704. 194, /* v */
  1705. 196, /* w */
  1706. 198, /* x */
  1707. 200, /* y */
  1708. 205, /* z */
  1709. 61, /* { */
  1710. 62, /* | */
  1711. 63, /* } */
  1712. 64, /* ~ */
  1713. 65, /* (graphic) */
  1714. 109, /* C cedilla */
  1715. 184, /* u umlaut */
  1716. 116, /* e acute */
  1717. 89, /* a circumflex */
  1718. 89, /* a umlaut */
  1719. 89, /* a grave */
  1720. 89, /* a dot */
  1721. 108, /* c cedilla */
  1722. 116, /* e circumflex */
  1723. 116, /* e umlaut */
  1724. 116, /* e grave */
  1725. 132, /* i umlaut */
  1726. 132, /* i circumflex */
  1727. 132, /* i grave */
  1728. 90, /* A umlaut */
  1729. 90, /* A dot */
  1730. 117, /* E acute */
  1731. 104, /* ae ligature */
  1732. 105, /* AE ligature */
  1733. 156, /* o circumflex */
  1734. 156, /* o umlaut */
  1735. 156, /* o grave */
  1736. 184, /* u circumflex */
  1737. 184, /* u grave */
  1738. 200, /* y umlaut */
  1739. 157, /* O umlaut */
  1740. 185, /* U umlaut */
  1741. 156, /* o slash */
  1742. 66, /* pound sign */
  1743. 157, /* O slash */
  1744. 67, /* multiplication sign */
  1745. 68, /* function sign */
  1746. 89, /* a acute */
  1747. 132, /* i acute */
  1748. 156, /* o acute */
  1749. 184, /* u acute */
  1750. 152, /* n tilde */
  1751. 153, /* N tilde */
  1752. 103, /* a underscore */
  1753. 170, /* o underscore */
  1754. 69, /* inverted ? */
  1755. 70, /* registered sign */
  1756. 207, /* logical not sign */
  1757. 71, /* 1/2 */
  1758. 72, /* 1/4 */
  1759. 73, /* inverted ! */
  1760. 74, /* << */
  1761. 75, /* >> */
  1762. 208, /* graphic 1 */
  1763. 209, /* graphic 2 */
  1764. 210, /* graphic 3 */
  1765. 211, /* graphic 4 */
  1766. 212, /* graphic 5 */
  1767. 90, /* A acute */
  1768. 90, /* A circumflex */
  1769. 90, /* A grave */
  1770. 76, /* copyright sign */
  1771. 213, /* graphic 6 */
  1772. 214, /* graphic 7 */
  1773. 215, /* graphic 8 */
  1774. 216, /* graphic 9 */
  1775. 77, /* cent sign */
  1776. 78, /* yen sign */
  1777. 217, /* graphic 10 */
  1778. 218, /* graphic 11 */
  1779. 219, /* graphic 12 */
  1780. 220, /* graphic 13 */
  1781. 221, /* graphic 14 */
  1782. 222, /* graphic 15 */
  1783. 223, /* graphic 16 */
  1784. 89, /* a tilde */
  1785. 90, /* A tilde */
  1786. 224, /* graphic 17 */
  1787. 225, /* graphic 18 */
  1788. 226, /* graphic 19 */
  1789. 227, /* graphic 20 */
  1790. 228, /* graphic 21 */
  1791. 229, /* graphic 22 */
  1792. 230, /* graphic 23 */
  1793. 231, /* currency sign */
  1794. 114, /* d bar */
  1795. 114, /* D bar */
  1796. 117, /* E circumflex */
  1797. 117, /* E umlaut */
  1798. 117, /* E grave */
  1799. 132, /* i no dot */
  1800. 133, /* I acute */
  1801. 133, /* I circumflex */
  1802. 133, /* I umlaut */
  1803. 232, /* graphic 24 */
  1804. 233, /* graphic 25 */
  1805. 234, /* graphic 26 */
  1806. 235, /* graphic 27 */
  1807. 236, /* | */
  1808. 133, /* I grave */
  1809. 237, /* graphic 28 */
  1810. 157, /* O acute */
  1811. 181, /* double ss */
  1812. 157, /* O circumflex */
  1813. 157, /* O grave */
  1814. 156, /* o tilde */
  1815. 157, /* O tilde */
  1816. 151, /* micron */
  1817. 173, /* p bar */
  1818. 174, /* P bar */
  1819. 185, /* U acute */
  1820. 185, /* U circumflex */
  1821. 185, /* U grave */
  1822. 200, /* y acute */
  1823. 201, /* Y acute */
  1824. 238, /* upper line */
  1825. 239, /* acute accent */
  1826. 240, /* middle line */
  1827. 241, /* +/- sign */
  1828. 242, /* equal sign */
  1829. 243, /* 3/4 */
  1830. 244, /* paragraph sign */
  1831. 245, /* section sign */
  1832. 246, /* division sign */
  1833. 247, /* cedilla */
  1834. 248, /* degree sign */
  1835. 249, /* umlaut */
  1836. 250, /* middle dot */
  1837. 251, /* 1 superscript */
  1838. 253, /* 3 superscript */
  1839. 252, /* 2 superscript */
  1840. 254, /* graphic 29 */
  1841. 255 /* blank */
  1842. };
  1843. /**************************************************************************/
  1844. /* Case and Diacritic Senstive Weight Table (DOS 850) */
  1845. /**************************************************************************/
  1846. unsigned char rgchCsds[] =
  1847. {
  1848. 0, /* (unprintable) */
  1849. 1, /* (unprintable) */
  1850. 2, /* (unprintable) */
  1851. 3, /* (unprintable) */
  1852. 4, /* (unprintable) */
  1853. 5, /* (unprintable) */
  1854. 6, /* (unprintable) */
  1855. 7, /* (unprintable) */
  1856. 8, /* (unprintable) */
  1857. 9, /* (unprintable) */
  1858. 10, /* (unprintable) */
  1859. 11, /* (unprintable) */
  1860. 12, /* (unprintable) */
  1861. 13, /* (unprintable) */
  1862. 14, /* (unprintable) */
  1863. 15, /* (unprintable) */
  1864. 16, /* (unprintable) */
  1865. 17, /* (unprintable) */
  1866. 18, /* (unprintable) */
  1867. 19, /* (unprintable) */
  1868. 20, /* (unprintable) */
  1869. 21, /* (unprintable) */
  1870. 22, /* (unprintable) */
  1871. 23, /* (unprintable) */
  1872. 24, /* (unprintable) */
  1873. 25, /* (unprintable) */
  1874. 26, /* (unprintable) */
  1875. 27, /* (unprintable) */
  1876. 28, /* (unprintable) */
  1877. 29, /* (unprintable) */
  1878. 30, /* (unprintable) */
  1879. 31, /* (unprintable) */
  1880. 32, /* space */
  1881. 33, /* ! */
  1882. 34, /* " */
  1883. 35, /* # */
  1884. 36, /* $ */
  1885. 37, /* % */
  1886. 38, /* & */
  1887. 39, /* ' */
  1888. 40, /* ( */
  1889. 41, /* ) */
  1890. 42, /* * */
  1891. 43, /* + */
  1892. 44, /* , */
  1893. 45, /* - */
  1894. 46, /* . */
  1895. 47, /* / */
  1896. 79, /* 0 */
  1897. 80, /* 1 */
  1898. 81, /* 2 */
  1899. 82, /* 3 */
  1900. 83, /* 4 */
  1901. 84, /* 5 */
  1902. 85, /* 6 */
  1903. 86, /* 7 */
  1904. 87, /* 8 */
  1905. 88, /* 9 */
  1906. 48, /* : */
  1907. 49, /* ; */
  1908. 50, /* < */
  1909. 51, /* = */
  1910. 52, /* > */
  1911. 53, /* ? */
  1912. 54, /* @ */
  1913. 90, /* A */
  1914. 107, /* B */
  1915. 109, /* C */
  1916. 113, /* D */
  1917. 117, /* E */
  1918. 127, /* F */
  1919. 129, /* G */
  1920. 131, /* H */
  1921. 133, /* I */
  1922. 144, /* J */
  1923. 146, /* K */
  1924. 148, /* L */
  1925. 150, /* M */
  1926. 153, /* N */
  1927. 157, /* O */
  1928. 172, /* P */
  1929. 176, /* Q */
  1930. 178, /* R */
  1931. 180, /* S */
  1932. 183, /* T */
  1933. 185, /* U */
  1934. 195, /* V */
  1935. 197, /* W */
  1936. 199, /* X */
  1937. 201, /* Y */
  1938. 206, /* Z */
  1939. 55, /* [ */
  1940. 56, /* \ */
  1941. 57, /* ] */
  1942. 58, /* ^ */
  1943. 59, /* _ */
  1944. 60, /* back quote */
  1945. 89, /* a */
  1946. 106, /* b */
  1947. 108, /* c */
  1948. 112, /* d */
  1949. 116, /* e */
  1950. 126, /* f */
  1951. 128, /* g */
  1952. 130, /* h */
  1953. 132, /* i */
  1954. 143, /* j */
  1955. 145, /* k */
  1956. 147, /* l */
  1957. 149, /* m */
  1958. 152, /* n */
  1959. 156, /* o */
  1960. 171, /* p */
  1961. 175, /* q */
  1962. 177, /* r */
  1963. 179, /* s */
  1964. 182, /* t */
  1965. 184, /* u */
  1966. 194, /* v */
  1967. 196, /* w */
  1968. 198, /* x */
  1969. 200, /* y */
  1970. 205, /* z */
  1971. 61, /* { */
  1972. 62, /* | */
  1973. 63, /* } */
  1974. 64, /* ~ */
  1975. 65, /* (graphic) */
  1976. 111, /* C cedilla */
  1977. 190, /* u umlaut */
  1978. 118, /* e acute */
  1979. 97, /* a circumflex */
  1980. 95, /* a umlaut */
  1981. 93, /* a grave */
  1982. 99, /* a dot */
  1983. 110, /* c cedilla */
  1984. 124, /* e circumflex */
  1985. 122, /* e umlaut */
  1986. 120, /* e grave */
  1987. 139, /* i umlaut */
  1988. 141, /* i circumflex */
  1989. 137, /* i grave */
  1990. 96, /* A umlaut */
  1991. 100, /* A dot */
  1992. 119, /* E acute */
  1993. 104, /* ae ligature */
  1994. 105, /* AE ligature */
  1995. 164, /* o circumflex */
  1996. 162, /* o umlaut */
  1997. 160, /* o grave */
  1998. 192, /* u circumflex */
  1999. 188, /* u grave */
  2000. 204, /* y umlaut */
  2001. 163, /* O umlaut */
  2002. 191, /* U umlaut */
  2003. 168, /* o slash */
  2004. 66, /* pound sign */
  2005. 169, /* O slash */
  2006. 67, /* multiplication sign */
  2007. 68, /* function sign */
  2008. 91, /* a acute */
  2009. 135, /* i acute */
  2010. 158, /* o acute */
  2011. 186, /* u acute */
  2012. 154, /* n tilde */
  2013. 155, /* N tilde */
  2014. 103, /* a underscore */
  2015. 170, /* o underscore */
  2016. 69, /* inverted ? */
  2017. 70, /* registered sign */
  2018. 207, /* logical not sign */
  2019. 71, /* 1/2 */
  2020. 72, /* 1/4 */
  2021. 73, /* inverted ! */
  2022. 74, /* << */
  2023. 75, /* >> */
  2024. 208, /* graphic 1 */
  2025. 209, /* graphic 2 */
  2026. 210, /* graphic 3 */
  2027. 211, /* graphic 4 */
  2028. 212, /* graphic 5 */
  2029. 92, /* A acute */
  2030. 98, /* A circumflex */
  2031. 94, /* A grave */
  2032. 76, /* copyright sign */
  2033. 213, /* graphic 6 */
  2034. 214, /* graphic 7 */
  2035. 215, /* graphic 8 */
  2036. 216, /* graphic 9 */
  2037. 77, /* cent sign */
  2038. 78, /* yen sign */
  2039. 217, /* graphic 10 */
  2040. 218, /* graphic 11 */
  2041. 219, /* graphic 12 */
  2042. 220, /* graphic 13 */
  2043. 221, /* graphic 14 */
  2044. 222, /* graphic 15 */
  2045. 223, /* graphic 16 */
  2046. 101, /* a tilde */
  2047. 102, /* A tilde */
  2048. 224, /* graphic 17 */
  2049. 225, /* graphic 18 */
  2050. 226, /* graphic 19 */
  2051. 227, /* graphic 20 */
  2052. 228, /* graphic 21 */
  2053. 229, /* graphic 22 */
  2054. 230, /* graphic 23 */
  2055. 231, /* currency sign */
  2056. 114, /* d bar */
  2057. 115, /* D bar */
  2058. 125, /* E circumflex */
  2059. 123, /* E umlaut */
  2060. 121, /* E grave */
  2061. 134, /* i no dot */
  2062. 136, /* I acute */
  2063. 142, /* I circumflex */
  2064. 140, /* I umlaut */
  2065. 232, /* graphic 24 */
  2066. 233, /* graphic 25 */
  2067. 234, /* graphic 26 */
  2068. 235, /* graphic 27 */
  2069. 236, /* | */
  2070. 138, /* I grave */
  2071. 237, /* graphic 28 */
  2072. 159, /* O acute */
  2073. 181, /* double ss */
  2074. 165, /* O circumflex */
  2075. 161, /* O grave */
  2076. 166, /* o tilde */
  2077. 167, /* O tilde */
  2078. 151, /* micron */
  2079. 173, /* p bar */
  2080. 174, /* P bar */
  2081. 187, /* U acute */
  2082. 193, /* U circumflex */
  2083. 189, /* U grave */
  2084. 202, /* y acute */
  2085. 203, /* Y acute */
  2086. 238, /* upper line */
  2087. 239, /* acute accent */
  2088. 240, /* middle line */
  2089. 241, /* +/- sign */
  2090. 242, /* equal sign */
  2091. 243, /* 3/4 */
  2092. 244, /* paragraph sign */
  2093. 245, /* section sign */
  2094. 246, /* division sign */
  2095. 247, /* cedilla */
  2096. 248, /* degree sign */
  2097. 249, /* umlaut */
  2098. 250, /* middle dot */
  2099. 251, /* 1 superscript */
  2100. 252, /* 3 superscript */
  2101. 253, /* 2 superscript */
  2102. 254, /* graphic 29 */
  2103. 255 /* blank */
  2104. };
  2105. #endif