font_common.h 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. /*****************************************************************************
  2. ** font_common.h: Font common header file
  3. **
  4. ** Copyright(c) 2008 Sunmedia Technologies - All Rights Reserved
  5. **
  6. ** Author : anlzhao
  7. **
  8. ** $Id: font_common.h,v 1.3 2009/10/20 07:06:10 qlchen Exp $
  9. *****************************************************************************/
  10. #ifndef _FONT_COMMON_H_
  11. #define _FONT_COMMON_H_
  12. #include "gui_eng/stddefs.h"
  13. #include "gui_eng/geng_setting.h"
  14. typedef UINT8 FontStyle_e;
  15. typedef INT8 FONTSize_t;
  16. typedef INT8 UiLANGName_t;
  17. typedef INT32 String_id_t;
  18. /* Used by gui engine inner */
  19. #define EN_STR_ID_INVALID (-1)
  20. #define LANG_NAME_INVALID (-1)
  21. /* brief Font Style Format */
  22. typedef enum FONTStyle_t {
  23. FONT_STYLE_DEFAULT = 0,
  24. FONT_STYLE_ARIAL = FONT_STYLE_DEFAULT, /*!< CC font Arial style */
  25. FONT_STYLE_COURIER, /*!< CC font Courier style */
  26. FONT_STYLE_ENGRAVERS, /*!< CC font Engravers style */
  27. FONT_STYLE_HEL, /*!< CC font Helvetica style */
  28. FONT_STYLE_IMPRESS, /*!< CC font Impress style*/
  29. FONT_STYLE_MARIGOLD, /*!< CC font Marigold style*/
  30. FONT_STYLE_TNR, /*!< CC font Time New Roman style */
  31. /* Following styles are used for vector font configuration. */
  32. FONT_STYLE_BOLD, /*!< Bold style */
  33. #if 0 // Not support (tzungming.lin)
  34. FONT_STYLE_ITALIC, /*!< Italic style */
  35. FONT_STYLE_BOLD_ITALIC, /*!< Bold-Italic style */
  36. FONT_STYLE_BORDERING, /*!< Bordering style */
  37. #endif
  38. FONT_STYLE_LAST
  39. } FONTStyle_t;
  40. typedef enum {
  41. /* One byte */
  42. FONT_BASE_TT = -2, /* TT font */
  43. FONT_CC708 = -1, /* CC font ,refer to CEA 708-C*/
  44. FONT_BASIC = 0, /* The basic fontbase */
  45. FONT_ENGLISH, /* english, ISO/IEC 8859-1*/
  46. FONT_ISO8859_1=FONT_ENGLISH,
  47. FONT_SPANISH=FONT_ISO8859_1, /* spanish, ISO/IEC 8859-1*/
  48. FONT_PORTUGESE=FONT_ISO8859_1, /* portugese, ISO/IEC 8859-1*/
  49. FONT_ISO8859_2,
  50. FONT_ISO8859_3,
  51. FONT_ISO8859_4,
  52. FONT_RUSSIAN, /* russian, ISO/IEC 8859-5*/
  53. FONT_ISO8859_5 = FONT_RUSSIAN,
  54. FONT_ARABIC,
  55. FONT_ISO8859_6 = FONT_ARABIC,
  56. FONT_GREECE, /* greece, ISO/IEC 8859-7*/
  57. FONT_ISO8859_7 = FONT_GREECE,
  58. FONT_ISO8859_8, /* hebrew, ISO/IEC 8859-8*/
  59. FONT_ISO8859_9,
  60. FONT_ISO8859_10,
  61. FONT_THAI,
  62. FONT_ISO8859_11 = FONT_THAI,
  63. FONT_ISO8859_13,
  64. FONT_ISO8859_14,
  65. FONT_ISO8859_15,
  66. FONT_GERMAN=FONT_ISO8859_15, /* german, ISO/IEC 8859-15, added by junluo 090107*/
  67. FONT_ITALIAN=FONT_ISO8859_15, /* italian, ISO/IEC 8859-15, added by junluo 090107*/
  68. FONT_FRENCH=FONT_ISO8859_15, /* french, ISO/IEC 8859-15*/
  69. FONT_ISO8859_16,
  70. FONT_ISO6937, /* refer to ISO/IEC 6937*/
  71. FONT_ATSC_MODE_0X27, /* Actually used for ATSC MODE 0x27 */
  72. /*
  73. ** These following micros distinguishes between signal byte
  74. ** code set and double bytes font code set
  75. */
  76. FONT_VIETNAMESE,
  77. FONT_WINDOWS_1250,
  78. FONT_WINDOWS_1251,
  79. FONT_WINDOWS_1252,
  80. FONT_WINDOWS_1253,
  81. FONT_WINDOWS_1254,
  82. FONT_WINDOWS_1255,
  83. FONT_WINDOWS_1256,
  84. FONT_WINDOWS_1257,
  85. FONT_WINDOWS_1258,
  86. FONT_PERSIAN, /* Persian, added by kh.wang */
  87. FONT_HINDI,
  88. FONT_SINGLE_BYTE_LAST = FONT_HINDI,
  89. /* Double bytes char set */
  90. FONT_GB2312,
  91. FONT_SIMPLECH=FONT_GB2312, /* simple chinese, GB2312*/
  92. FONT_BIG5,
  93. FONT_TRADITIONALCH=FONT_BIG5, /* traditional chinese, BIG5*/
  94. FONT_KSC5601_1987,
  95. FONT_KOREAN=FONT_KSC5601_1987, /* korean, KSC 5601-1987*/
  96. FONT_JIS_X0201, /* Japanese */
  97. FONT_DOUBLE_BYTE_LAST = FONT_JIS_X0201,
  98. /* Unicode char set, until now process UTF-8/16 */
  99. FONT_CUSTOM_USER_DEFINED1,
  100. FONT_CUSTOM_USER_DEFINED2,
  101. FONT_CUSTOM_USER_DEFINED3,
  102. FONT_CUSTOM_USER_DEFINED4,
  103. FONT_CUSTOM_USER_DEFINED5,
  104. FONT_NATIVE_LAST,
  105. FONT_UTF8,
  106. FONT_UTF16,
  107. FONT_LAST
  108. } LANGName_t;
  109. typedef enum {
  110. FONT_AA_LEVEL_NONE = 0, /*!< Do not apply anti-aliasing. */
  111. FONT_AA_LEVEL_4 = 4, /*!< Apply 4-level grayscale color anti-aliasing. */
  112. FONT_AA_LEVEL_8 = 8, /*!< Apply 8-level grayscale color anti-aliasing. */
  113. FONT_AA_LEVEL_FULL = 256, /*!< Apply full grayscale color(256 levels) anti-aliasing. */
  114. } FONT_AA_Level_e;
  115. typedef struct {
  116. UINT8* pStartIndices;
  117. UINT8 bAALevel;
  118. UINT8 bAAGroupNum : 4;
  119. UINT8 bAAGroupIdx : 4;
  120. UINT8 bAADisable : 4;
  121. UINT8 bGenPal : 4;
  122. } FONT_AA_Info_t;
  123. #endif /* _FONT_COMMON_H_ */