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.

96 lines
2.0 KiB

  1. /*++
  2. Copyright (c) 1991-1999, Microsoft Corporation All rights reserved.
  3. Module Name:
  4. c_iscii.h
  5. Abstract:
  6. This file contains the header information for this module.
  7. Revision History:
  8. 2-28-98 KChang Created.
  9. --*/
  10. //
  11. // Include Files.
  12. //
  13. //
  14. // Typedefs.
  15. //
  16. typedef struct
  17. {
  18. BYTE mb;
  19. WCHAR wc;
  20. } ExtMB;
  21. //
  22. // Extern Declarations.
  23. // Pointers to access tables.
  24. //
  25. extern WCHAR* ppwcIndic[];
  26. extern WCHAR* ppwcIndic2[];
  27. extern WCHAR IndiChar[];
  28. extern BYTE SecondByte[];
  29. extern ExtMB ExtMBList[];
  30. //
  31. // Constant Declarations.
  32. //
  33. #define DEF 0 // 0x40 Default
  34. #define RMN 1 // 0x41 Roman
  35. #define DEV 2 // 0x42 57002 Devanagari
  36. #define BNG 3 // 0x43 57003 Bengali
  37. #define TML 4 // 0x44 57004 Tamil
  38. #define TLG 5 // 0x45 57005 Telugu
  39. #define ASM 6 // 0x46 57006 Assamese (Bengali)
  40. #define ORI 7 // 0x47 57007 Oriya
  41. #define KND 8 // 0x48 57008 Kannada
  42. #define MLM 9 // 0x49 57009 Malayalam
  43. #define GJR 10 // 0x4a 57010 Gujarati
  44. #define PNJ 11 // 0x4b 57011 Punjabi (Gurmukhi)
  45. #define MB_Beg ((BYTE)0xa0)
  46. #define SUB ((BYTE)0x3f)
  47. #define VIRAMA ((BYTE)0xe8)
  48. #define NUKTA ((BYTE)0xe9)
  49. #define ATR ((BYTE)0xef)
  50. #define EXT ((BYTE)0xf0)
  51. #define WC_Beg ((WCHAR)0x0901)
  52. #define WC_End ((WCHAR)0x0d6f)
  53. #define ZWNJ ((WCHAR)0x200c)
  54. #define ZWJ ((WCHAR)0x200d)
  55. //
  56. // Macros.
  57. //
  58. #define UniChar(Script, MBChr) (ppwcIndic [Script][MBChr - MB_Beg])
  59. #define TwoTo1U(Script, MBChr) (ppwcIndic2[Script][MBChr - MB_Beg])
  60. #define MBChar(Unicode) ((BYTE)(IndiChar[Unicode - WC_Beg]))
  61. #define Script(Unicode) (0x000f & (IndiChar[Unicode - WC_Beg] >> 8))
  62. #define OneU_2M(Unicode) (0xf000 & (IndiChar[Unicode - WC_Beg]))