Source code of Windows XP (NT5)
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.

90 lines
2.5 KiB

  1. // factoid.h
  2. #ifndef __INC_FACTOID_REGEXP_H
  3. #define __INC_FACTOID_REGEXP_H
  4. //#define FACTOID_DEFAULT 0
  5. #define FACTOID_SYSDICT 1
  6. #define FACTOID_WORDLIST 2
  7. #define FACTOID_EMAIL 3
  8. #define FACTOID_WEB 4
  9. /* all of the 10 number classes, see below */
  10. #define FACTOID_NUMBER 5
  11. /* sequence of leading punctuation */
  12. #define FACTOID_LPUNC 6
  13. /* sequence of trailing punctuation */
  14. #define FACTOID_TPUNC 7
  15. /* stand-alone sequence of punctuation characters */
  16. #define FACTOID_PUNC 8
  17. /* '-' or '/' */
  18. #define FACTOID_HYPHEN 9
  19. /* optional-sign integer-part optional-fractional-part */
  20. #define FACTOID_NUMSIMPLE 10
  21. /* integer followed by a rank like st, nd, rd, th */
  22. #define FACTOID_NUMNTH 11
  23. /* number followed by a common unit like km */
  24. #define FACTOID_NUMUNIT 12
  25. /* the "#" sign followed by an integer */
  26. #define FACTOID_NUMNUM 13
  27. /* number followed by a "%" sign */
  28. #define FACTOID_NUMPERCENT 14
  29. #define FACTOID_NUMDATE 15
  30. #define FACTOID_NUMTIME 16
  31. #define FACTOID_NUMCURRENCY 17
  32. #define FACTOID_NUMPHONE 18
  33. /* simple math expression or (in)equation */
  34. #define FACTOID_NUMMATH 19
  35. /* single uppercase alphabetic character */
  36. #define FACTOID_UPPERCHAR 20
  37. /* single lowercase alphabetic character */
  38. #define FACTOID_LOWERCHAR 21
  39. /* single digit */
  40. #define FACTOID_DIGITCHAR 22
  41. /* single punctuation character */
  42. #define FACTOID_PUNCCHAR 23
  43. /* any single character */
  44. #define FACTOID_ONECHAR 24
  45. #define FACTOID_ZIP 25
  46. #define FACTOID_CREDITCARD 26
  47. #define FACTOID_DAYOFMONTH 27
  48. #define FACTOID_MONTHNUM 28
  49. #define FACTOID_YEAR 29
  50. #define FACTOID_SECOND 30
  51. #define FACTOID_MINUTE 31
  52. #define FACTOID_HOUR 32
  53. /* social security number */
  54. #define FACTOID_SSN 33
  55. #define FACTOID_DAYOFWEEK 34
  56. #define FACTOID_MONTH 35
  57. #define FACTOID_GENDER 36
  58. #define FACTOID_BULLET 37
  59. #define FACTOID_FILENAME 38
  60. #define FACTOID_NONE 39
  61. /* EA factoid IDs */
  62. #define FACTOID_JPN_COMMON 100
  63. #define FACTOID_CHS_COMMON 101
  64. #define FACTOID_CHT_COMMON 102
  65. #define FACTOID_KOR_COMMON 103
  66. #define FACTOID_HIRAGANA 104
  67. #define FACTOID_KATAKANA 105
  68. #define FACTOID_KANJI_COMMON 106
  69. #define FACTOID_KANJI_RARE 107
  70. #define FACTOID_BOPOMOFO 108
  71. #define FACTOID_JAMO 109
  72. #define FACTOID_HANGUL_COMMON 110
  73. #define FACTOID_HANGUL_RARE 111
  74. #endif
  75. #ifdef __cplusplus
  76. extern "C" {
  77. #endif
  78. int StringToFactoid(WCHAR *wsz, int iLength);
  79. int ParseFactoidString(WCHAR *wsz, int cMaxFactoid, DWORD *aFactoidID);
  80. void SortFactoidLists(DWORD *a, int c);
  81. #ifdef __cplusplus
  82. }
  83. #endif