gui_font_oem.c
上传用户:dengyu
上传日期:2022-05-01
资源大小:153k
文件大小:46k
源码类别:

MTK

开发平台:

C/C++

  1. /*****************************************************************************
  2. *  Copyright Statement:
  3. *  --------------------
  4. *  This software is protected by Copyright and the information contained
  5. *  herein is confidential. The software may not be copied and the information
  6. *  contained herein may not be used or disclosed except with the written
  7. *  permission of MediaTek Inc. (C) 2005
  8. *
  9. *  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
  10. *  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
  11. *  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
  12. *  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
  13. *  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
  14. *  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
  15. *  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
  16. *  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
  17. *  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
  18. *  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
  19. *  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
  20. *  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
  21. *
  22. *  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
  23. *  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
  24. *  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
  25. *  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
  26. *  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
  27. *
  28. *  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
  29. *  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
  30. *  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
  31. *  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
  32. *  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
  33. *
  34. *****************************************************************************/
  35. /*******************************************************************************
  36.  * Filename:
  37.  * ---------
  38.  *  gui_font_oem.c
  39.  *
  40.  * Project:
  41.  * --------
  42.  *  MAUI
  43.  *
  44.  * Description:
  45.  * ------------
  46.  *  OEM layer of vector font
  47.  *
  48.  * Author:
  49.  * -------
  50.  * -------
  51.  *
  52.  *==============================================================================
  53.  *     HISTORY
  54.  * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
  55.  *------------------------------------------------------------------------------
  56.  * removed!
  57.  *
  58.  * removed!
  59.  * removed!
  60.  * removed!
  61.  *
  62.  * removed!
  63.  * removed!
  64.  * removed!
  65.  *
  66.  * removed!
  67.  * removed!
  68.  * removed!
  69.  *
  70.  * removed!
  71.  * removed!
  72.  * removed!
  73.  *
  74.  * removed!
  75.  * removed!
  76.  * removed!
  77.  *
  78.  * removed!
  79.  * removed!
  80.  * removed!
  81.  *
  82.  * removed!
  83.  * removed!
  84.  * removed!
  85.  *
  86.  * removed!
  87.  * removed!
  88.  * removed!
  89.  *
  90.  * removed!
  91.  * removed!
  92.  * removed!
  93.  *
  94.  * removed!
  95.  * removed!
  96.  * removed!
  97.  *
  98.  * removed!
  99.  * removed!
  100.  * removed!
  101.  *
  102.  * removed!
  103.  * removed!
  104.  * removed!
  105.  *
  106.  * removed!
  107.  * removed!
  108.  * removed!
  109.  *
  110.  * removed!
  111.  * removed!
  112.  * removed!
  113.  *
  114.  * removed!
  115.  * removed!
  116.  * removed!
  117.  *
  118.  * removed!
  119.  * removed!
  120.  * removed!
  121.  *
  122.  * removed!
  123.  * removed!
  124.  * removed!
  125.  *
  126.  * removed!
  127.  * removed!
  128.  * removed!
  129.  *
  130.  * removed!
  131.  * removed!
  132.  * removed!
  133.  *
  134.  * removed!
  135.  * removed!
  136.  * removed!
  137.  *
  138.  * removed!
  139.  * removed!
  140.  * removed!
  141.  *
  142.  * removed!
  143.  * removed!
  144.  * removed!
  145.  *
  146.  * removed!
  147.  * removed!
  148.  * removed!
  149.  *
  150.  * removed!
  151.  * removed!
  152.  * removed!
  153.  *
  154.  * removed!
  155.  * removed!
  156.  * removed!
  157.  *
  158.  *------------------------------------------------------------------------------
  159.  * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
  160.  *==============================================================================
  161.  *******************************************************************************/
  162. #include "MMI_features.h"
  163. #include "gui_font_oem.h"
  164. #include "gui_font_size.h"
  165. #ifdef __MMI_VECTOR_FONT_SUPPORT__
  166. /*****************************************************************************              
  167.  * Local Function                                                                    
  168.  *****************************************************************************/
  169. #define GUI_XXSMALL_FONT_SIZE    4
  170. #define GUI_XSMALL_FONT_SIZE     8
  171. #define GUI_SMALL_FONT_SIZE     14
  172. #define GUI_MEDIUM_FONT_SIZE    19
  173. #define GUI_LARGE_FONT_SIZE     24
  174. #define GUI_XLARGE_FONT_SIZE    27
  175. #define GUI_XXLARGE_FONT_SIZE    29
  176. #define GUI_XXXLARGE_FONT_SIZE   31
  177. #define GUI_FONT_TYPE_BOLD      0x80
  178. #define GUI_FONT_TYPE_ITALIC    0x40
  179. #if defined(__MMI_MAINLCD_320X480__)
  180. const static U8 g_gui_font_type_data[GUI_FONT_SIZE_TOTAL] = 
  181. {
  182.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_DEFAULT
  183.     GUI_LARGE_FONT_SIZE,                                      //GUI_FONT_SIZE_BUTTON
  184.     GUI_LARGE_FONT_SIZE,                                       //GUI_FONT_SIZE_MULTITAP
  185.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_INPUTBOX
  186.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_LIST
  187.     GUI_XSMALL_FONT_SIZE,                                       //GUI_FONT_SIZE_MATRIX
  188.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_MENUBAR_INDEX
  189.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_MENUBAR_ITEM
  190.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_SHORTCUT
  191.     GUI_LARGE_FONT_SIZE,                                      //GUI_FONT_SIZE_TITLE
  192.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_DROPDOWN
  193.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_LIST_MAINMENU
  194.     GUI_XSMALL_FONT_SIZE,                                       //GUI_FONT_SIZE_MATRIX_MAINMENU
  195.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_VIRTUAL_KEYBOARD
  196.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_DATE
  197.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_TIME
  198.     GUI_SMALL_FONT_SIZE,                                        //GUI_FONT_SIZE_SUB_DATE
  199.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_SUB_TIME
  200.     GUI_LARGE_FONT_SIZE,                                       //GUI_FONT_SIZE_TAB_TITLE
  201.     GUI_SMALL_FONT_SIZE,                                       //GUI_FONT_SIZE_CALENDAR_INFOBOX
  202.     GUI_SMALL_FONT_SIZE,                                       //GUI_FONT_SIZE_CALENDAR_HORIZONTAL_STRING
  203.     GUI_XSMALL_FONT_SIZE,                                       //GUI_FONT_SIZE_CALENDAR_CELL
  204.     GUI_XSMALL_FONT_SIZE,                                       //GUI_FONT_SIZE_IDLE_CALENDAR_HORIZONTAL
  205.     GUI_XSMALL_FONT_SIZE,                                       //GUI_FONT_SIZE_IDLE_CALENDAR_CELL
  206.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_DCD_IDLE
  207.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_IME_TEXT
  208.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_IME_LABEL
  209.     GUI_LARGE_FONT_SIZE,                                        //GUI_FONT_SIZE_DURATION
  210.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_DAY
  211. #if defined(__MMI_UI_TECHNO_IDLESCREEN_BAR__)                   //GUI_FONT_SIZE_DATE_IDLESCREEN1
  212.     GUI_XXLARGE_FONT_SIZE,
  213. #else
  214.     GUI_MEDIUM_FONT_SIZE,
  215. #endif /* __MMI_UI_TECHNO_IDLESCREEN_BAR__ */
  216. #if defined(__MMI_UI_TECHNO_IDLESCREEN_BAR__)                    //GUI_FONT_SIZE_TIME_IDLESCREEN1
  217.     GUI_XXLARGE_FONT_SIZE,
  218. #else
  219.     GUI_MEDIUM_FONT_SIZE,
  220. #endif /* __MMI_UI_DALMATIAN_IDLESCREEN__ */
  221. #ifdef __MMI_UI_STATUS_BAR_AT_BOTTOM__                          //GUI_FONT_SIZE_DT_STATUS_BAR_AT_BOTTOM
  222.     GUI_SMALL_FONT_SIZE,
  223. #endif
  224.     GUI_XSMALL_FONT_SIZE,                                        //GUI_FONT_SIZE_TIME_NETWORK_SEARCH
  225.     GUI_XSMALL_FONT_SIZE,                                        //GUI_FONT_SIZE_DURATION_ACTIVE_CALL
  226.     GUI_LARGE_FONT_SIZE,                                        //GUI_FONT_SIZE_DURATION_CONF_CALL
  227. #ifdef __MMI_SUBLCD_DATE_LARGE_FONT__
  228.     GUI_LARGE_FONT_SIZE,                                        //GUI_FONT_SIZE_SUB_LARGE_DATE
  229. #endif
  230. #ifdef __MMI_SUBLCD_TIME_LARGE_FONT__
  231.     GUI_LARGE_FONT_SIZE,                                        //GUI_FONT_SIZE_SUB_LARGE_TIME
  232.     GUI_XXSMALL_FONT_SIZE,                                       //GUI_FONT_SIZE_SUB_LARGE_TIME_IDLESCREEN3
  233. #endif /* __MMI_SUBLCD_TIME_LARGE_FONT__ */
  234.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_SUB_DATE_IDLESCREEN4
  235.     GUI_XXSMALL_FONT_SIZE,                                       //GUI_FONT_SIZE_SUB_TIME_IDLESCREEN4
  236. #ifdef __MMI_UI_DALMATIAN_IDLESCREEN__                          //GUI_FONT_SIZE_TIME_DIGITAL_CLOCK_SC
  237.     GUI_MEDIUM_FONT_SIZE,
  238. #else
  239.     GUI_LARGE_FONT_SIZE,
  240. #endif /* GUI_FONT_SIZE_DIGITAL_CLOCK_SC */
  241. #ifdef __MMI_UI_DALMATIAN_IDLESCREEN__                          //GUI_FONT_SIZE_DURATION_AUDIO_PLAY
  242.     GUI_MEDIUM_FONT_SIZE,
  243. #else
  244.     GUI_LARGE_FONT_SIZE,
  245. #endif /* GUI_FONT_SIZE_DIGITAL_CLOCK_SC */
  246.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_DOW_SELECT
  247.     GUI_LARGE_FONT_SIZE,                                       //GUI_FONT_SIZE_IDLE_NETWORK_NAME
  248.     GUI_LARGE_FONT_SIZE,                                       //GUI_FONT_SIZE_IDLE_NETWORK_STATUS
  249.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_IDLE_DATE
  250.     GUI_XXLARGE_FONT_SIZE,                                       //GUI_FONT_SIZE_DIALER
  251.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_INFOBOX
  252.     GUI_XXLARGE_FONT_SIZE,                                      //GUI_FONT_SIZE_DIALER_LARGE
  253.     GUI_LARGE_FONT_SIZE,                                       //GUI_FONT_SIZE_DIALER_SMALL
  254.     GUI_XLARGE_FONT_SIZE,                                       //GUI_FONT_SIZE_CALENDAR_TITLE
  255.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_CALENDAR_HORIZONTAL_SELECT
  256.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_CALENDAR_POPUP
  257.     GUI_MEDIUM_FONT_SIZE,                                     //GUI_FONT_SIZE_CALENDAR_IDLE_L_CUR_DAY
  258.     GUI_XXXLARGE_FONT_SIZE,                                     //GUI_FONT_SIZE_CALENDAR_IDLE_L_CUR_DATE
  259.     GUI_XSMALL_FONT_SIZE,                                       //GUI_FONT_SIZE_CALENDAR_VERTICAL_SELECT
  260.     GUI_MEDIUM_FONT_SIZE,                                        //GUI_FONT_SIZE_CALENDAR_CURRENT
  261.     GUI_SMALL_FONT_SIZE,                                        //GUI_FONT_SIZE_ICONBAR_HINT
  262.     GUI_XLARGE_FONT_SIZE,                                       //GUI_FONT_SIZE_VK_LARGE_ICON
  263.     GUI_XSMALL_FONT_SIZE,                                       //GUI_FONT_SIZE_STATUS_BAR_TIME
  264.     GUI_XLARGE_FONT_SIZE,                                       //GUI_FONT_SIZE_POPUP_EMBEDDED_SOFTKEY
  265.     GUI_LARGE_FONT_SIZE,                                        //GUI_FONT_SIZE_LIST_HIGHLIGHT
  266.     GUI_XXXLARGE_FONT_SIZE,                                     //GUI_FONT_SIZE_STOPWATCH_DURATION,   
  267.     GUI_LARGE_FONT_SIZE,                                        //GUI_FONT_SIZE_STOPWATCH_NWAY_TIME,  
  268.     GUI_XLARGE_FONT_SIZE,                                       //GUI_FONT_SIZE_STOPWATCH_NWAY_HILITE,
  269. };
  270. const static stFontAttribute g_gui_font_oem_data [] =
  271. {
  272.     {0,0,0,0x80|12,0,1 },
  273.     {0,0,0,0x80|14,0,1 },
  274.     {0,0,0,0x80|16,0,1 },
  275.     {0,0,0,0x80|20,0,1 },
  276.     {0,0,0,0x80|24,0,1 },
  277.     {0,0,0,0x80|30,0,1 },    
  278.     {0,0,0,0x80|48,0,1 },
  279.     {0,0,0,0x80|48,0,1 },
  280. };
  281. const static stFontAttribute g_gui_font_oem_data_B [] =
  282. {
  283.     {1,0,0,0x80|12,0,1 },
  284.     {1,0,0,0x80|14,0,1 },
  285.     {1,0,0,0x80|16,0,1 },
  286.     {1,0,0,0x80|20,0,1 },
  287.     {1,0,0,0x80|24,0,1 },
  288.     {1,0,0,0x80|30,0,1 },
  289.     {1,0,0,0x80|48,0,1 },
  290.     {1,0,0,0x80|48,0,1 },
  291. };
  292. const static stFontAttribute g_gui_font_oem_data_I [] =
  293. {
  294.     {0,1,0,0x80|12,0,1 },
  295.     {0,1,0,0x80|14,0,1 },
  296.     {0,1,0,0x80|16,0,1 },
  297.     {0,1,0,0x80|20,0,1 },
  298.     {0,1,0,0x80|24,0,1 },
  299.     {0,1,0,0x80|30,0,1 },
  300.     {0,1,0,0x80|48,0,1 },
  301.     {0,1,0,0x80|48,0,1 },
  302. };
  303. const static stFontAttribute g_gui_font_oem_data_BI [] =
  304. {
  305.     {1,1,0,0x80|12,0,1 },
  306.     {1,1,0,0x80|14,0,1 },
  307.     {1,1,0,0x80|16,0,1 },
  308.     {1,1,0,0x80|20,0,1 },
  309.     {1,1,0,0x80|24,0,1 },
  310.     {1,1,0,0x80|30,0,1 },
  311.     {1,1,0,0x80|48,0,1 },
  312.     {0,1,0,0x80|48,0,1 },
  313. };
  314. const static U8 g_gui_font_oem_map[] = 
  315. {
  316.     0,0,0,0,0,1,1,1,1,2,2,2,2,2,2,3,3,3,3,3,4,4,4,4,4,5,5,5,6,6,7,7,
  317. };
  318. #elif defined(__MMI_MAINLCD_240X400__)
  319. const static U8 g_gui_font_type_data[GUI_FONT_SIZE_TOTAL] = 
  320. {
  321.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_DEFAULT
  322.     GUI_LARGE_FONT_SIZE,                                      //GUI_FONT_SIZE_BUTTON
  323.     GUI_XXLARGE_FONT_SIZE,                                       //GUI_FONT_SIZE_MULTITAP
  324.     GUI_LARGE_FONT_SIZE,                                       //GUI_FONT_SIZE_INPUTBOX
  325.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_LIST
  326.     GUI_SMALL_FONT_SIZE,                                       //GUI_FONT_SIZE_MATRIX
  327.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_MENUBAR_INDEX
  328.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_MENUBAR_ITEM
  329.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_SHORTCUT
  330.     GUI_XLARGE_FONT_SIZE,                                      //GUI_FONT_SIZE_TITLE
  331.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_DROPDOWN
  332.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_LIST_MAINMENU
  333.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_MATRIX_MAINMENU
  334.     GUI_SMALL_FONT_SIZE,                                       //GUI_FONT_SIZE_VIRTUAL_KEYBOARD
  335.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_DATE
  336.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_TIME
  337.     GUI_SMALL_FONT_SIZE,                                        //GUI_FONT_SIZE_SUB_DATE
  338.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_SUB_TIME
  339.     GUI_XLARGE_FONT_SIZE,                                       //GUI_FONT_SIZE_TAB_TITLE
  340.     GUI_SMALL_FONT_SIZE,                                       //GUI_FONT_SIZE_CALENDAR_INFOBOX
  341.     GUI_SMALL_FONT_SIZE,                                       //GUI_FONT_SIZE_CALENDAR_HORIZONTAL_STRING
  342.     GUI_XSMALL_FONT_SIZE,                                       //GUI_FONT_SIZE_CALENDAR_CELL
  343.     GUI_XSMALL_FONT_SIZE,                                       //GUI_FONT_SIZE_IDLE_CALENDAR_HORIZONTAL
  344.     GUI_XSMALL_FONT_SIZE,                                       //GUI_FONT_SIZE_IDLE_CALENDAR_CELL
  345.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_DCD_IDLE
  346.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_IME_TEXT
  347.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_IME_LABEL
  348.     GUI_LARGE_FONT_SIZE,                                        //GUI_FONT_SIZE_DURATION
  349.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_DAY
  350. #if defined(__MMI_UI_TECHNO_IDLESCREEN_BAR__)                   //GUI_FONT_SIZE_DATE_IDLESCREEN1
  351.     GUI_XXLARGE_FONT_SIZE,
  352. #else
  353.     GUI_MEDIUM_FONT_SIZE,
  354. #endif /* __MMI_UI_TECHNO_IDLESCREEN_BAR__ */
  355. #if defined(__MMI_UI_TECHNO_IDLESCREEN_BAR__)                    //GUI_FONT_SIZE_TIME_IDLESCREEN1
  356.     GUI_XXLARGE_FONT_SIZE,
  357. #else
  358.     GUI_MEDIUM_FONT_SIZE,
  359. #endif /* __MMI_UI_DALMATIAN_IDLESCREEN__ */
  360. #ifdef __MMI_UI_STATUS_BAR_AT_BOTTOM__                          //GUI_FONT_SIZE_DT_STATUS_BAR_AT_BOTTOM
  361.     GUI_SMALL_FONT_SIZE,
  362. #endif
  363.     GUI_XSMALL_FONT_SIZE,                                        //GUI_FONT_SIZE_TIME_NETWORK_SEARCH
  364.     GUI_XSMALL_FONT_SIZE,                                        //GUI_FONT_SIZE_DURATION_ACTIVE_CALL
  365.     GUI_LARGE_FONT_SIZE,                                        //GUI_FONT_SIZE_DURATION_CONF_CALL
  366. #ifdef __MMI_SUBLCD_DATE_LARGE_FONT__
  367.     GUI_LARGE_FONT_SIZE,                                        //GUI_FONT_SIZE_SUB_LARGE_DATE
  368. #endif
  369. #ifdef __MMI_SUBLCD_TIME_LARGE_FONT__
  370.     GUI_LARGE_FONT_SIZE,                                        //GUI_FONT_SIZE_SUB_LARGE_TIME
  371.     GUI_XXSMALL_FONT_SIZE,                                       //GUI_FONT_SIZE_SUB_LARGE_TIME_IDLESCREEN3
  372. #endif /* __MMI_SUBLCD_TIME_LARGE_FONT__ */
  373.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_SUB_DATE_IDLESCREEN4
  374.     GUI_XXSMALL_FONT_SIZE,                                       //GUI_FONT_SIZE_SUB_TIME_IDLESCREEN4
  375. #ifdef __MMI_UI_DALMATIAN_IDLESCREEN__                          //GUI_FONT_SIZE_TIME_DIGITAL_CLOCK_SC
  376.     GUI_MEDIUM_FONT_SIZE,
  377. #else
  378.     GUI_LARGE_FONT_SIZE,
  379. #endif /* GUI_FONT_SIZE_DIGITAL_CLOCK_SC */
  380. #ifdef __MMI_UI_DALMATIAN_IDLESCREEN__                          //GUI_FONT_SIZE_DURATION_AUDIO_PLAY
  381.     GUI_MEDIUM_FONT_SIZE,
  382. #else
  383.     GUI_LARGE_FONT_SIZE,
  384. #endif /* GUI_FONT_SIZE_DIGITAL_CLOCK_SC */
  385.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_DOW_SELECT
  386.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_IDLE_NETWORK_NAME
  387.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_IDLE_NETWORK_STATUS
  388.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_IDLE_DATE
  389.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_DIALER
  390.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_INFOBOX
  391.     GUI_XXXLARGE_FONT_SIZE,                                      //GUI_FONT_SIZE_DIALER_LARGE
  392.     GUI_LARGE_FONT_SIZE,                                       //GUI_FONT_SIZE_DIALER_SMALL
  393.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_CALENDAR_TITLE
  394.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_CALENDAR_HORIZONTAL_SELECT
  395.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_CALENDAR_POPUP
  396.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_CALENDAR_IDLE_L_CUR_DAY
  397.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_CALENDAR_IDLE_L_CUR_DATE
  398.     GUI_SMALL_FONT_SIZE,                                       //GUI_FONT_SIZE_CALENDAR_VERTICAL_SELECT
  399.     GUI_MEDIUM_FONT_SIZE,                                        //GUI_FONT_SIZE_CALENDAR_CURRENT
  400.     GUI_SMALL_FONT_SIZE,                                        //GUI_FONT_SIZE_ICONBAR_HINT
  401.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_VK_LARGE_ICON
  402.     GUI_XSMALL_FONT_SIZE,                                       //GUI_FONT_SIZE_STATUS_BAR_TIME
  403.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_POPUP_EMBEDDED_SOFTKEY
  404.     GUI_LARGE_FONT_SIZE,                                        //GUI_FONT_SIZE_LIST_HIGHLIGHT
  405.     
  406.     GUI_LARGE_FONT_SIZE,                                        //GUI_FONT_SIZE_STOPWATCH_DURATION,   
  407.     GUI_LARGE_FONT_SIZE,                                        //GUI_FONT_SIZE_STOPWATCH_NWAY_TIME,  
  408.     GUI_LARGE_FONT_SIZE,                                        //GUI_FONT_SIZE_STOPWATCH_NWAY_HILITE,
  409. };
  410. const static stFontAttribute g_gui_font_oem_data [] =
  411. {
  412.     {0,0,0,0x80|8,0,1 },
  413.     {0,0,0,0x80|12,0,1 },
  414.     {0,0,0,0x80|14,0,1 },
  415.     {0,0,0,0x80|18,0,1 },
  416.     {0,0,0,0x80|20,0,1 },
  417.     {0,0,0,0x80|22,0,1 },
  418.     {0,0,0,0x80|24,0,1 },    
  419.     {0,0,0,0x80|30,0,1 },
  420. };
  421. const static stFontAttribute g_gui_font_oem_data_B [] =
  422. {
  423.     {1,0,0,0x80|8,0,1 },
  424.     {1,0,0,0x80|12,0,1 },
  425.     {1,0,0,0x80|14,0,1 },
  426.     {1,0,0,0x80|18,0,1 },
  427.     {1,0,0,0x80|20,0,1 },
  428.     {1,0,0,0x80|22,0,1 },
  429.     {1,0,0,0x80|24,0,1 },
  430.     {1,0,0,0x80|30,0,1 },
  431. };
  432. const static stFontAttribute g_gui_font_oem_data_I [] =
  433. {
  434.     {0,1,0,0x80|8,0,1 },
  435.     {0,1,0,0x80|12,0,1 },
  436.     {0,1,0,0x80|14,0,1 },
  437.     {0,1,0,0x80|18,0,1 },
  438.     {0,1,0,0x80|20,0,1 },
  439.     {0,1,0,0x80|22,0,1 },
  440.     {0,1,0,0x80|24,0,1 },
  441.     {0,1,0,0x80|30,0,1 },
  442. };
  443. const static stFontAttribute g_gui_font_oem_data_BI [] =
  444. {
  445.     {1,1,0,0x80|8,0,1 },
  446.     {1,1,0,0x80|12,0,1 },
  447.     {1,1,0,0x80|14,0,1 },
  448.     {1,1,0,0x80|18,0,1 },
  449.     {1,1,0,0x80|20,0,1 },
  450.     {1,1,0,0x80|22,0,1 },
  451.     {1,1,0,0x80|24,0,1 },
  452.     {1,1,0,0x80|30,0,1 },
  453. };
  454. const static U8 g_gui_font_oem_map[] = 
  455. {
  456.     0,0,0,0,0,1,1,1,1,2,2,2,2,2,2,3,3,3,3,3,4,4,4,4,4,5,5,5,6,6,7,7,
  457. };
  458. #elif defined(__MMI_MAINLCD_240X320__) || defined(__MMI_MAINLCD_320X240__)
  459. #ifdef __MMI_FREETYPE_SETTING_SUPPORT__
  460. const static stFontAttribute g_gui_font_oem_data_small [] =
  461. {
  462.     {0,0,0,0x80|8-2,0,1 },
  463.     {0,0,0,0x80|12-2,0,1 },
  464.     {0,0,0,0x80|14-3,0,1 },
  465.     {0,0,0,0x80|18-3,0,1 },
  466.     {0,0,0,0x80|20-4,0,1 },
  467.     {0,0,0,0x80|22-4,0,1 },
  468.     {0,0,0,0x80|24-5,0,1 },    
  469.     {0,0,0,0x80|36-8,0,1 },
  470. };
  471. const static stFontAttribute g_gui_font_oem_data_B_small [] =
  472. {
  473.     {1,0,0,0x80|8-2,0,1 },
  474.     {1,0,0,0x80|12-2,0,1 },
  475.     {1,0,0,0x80|14-3,0,1 },
  476.     {1,0,0,0x80|18-3,0,1 },
  477.     {1,0,0,0x80|20-4,0,1 },
  478.     {1,0,0,0x80|22-4,0,1 },
  479.     {1,0,0,0x80|24-5,0,1 },
  480.     {1,0,0,0x80|36-8,0,1 },
  481. };
  482. const static stFontAttribute g_gui_font_oem_data_I_small [] =
  483. {
  484.     {0,1,0,0x80|8-2,0,1 },
  485.     {0,1,0,0x80|12-2,0,1 },
  486.     {0,1,0,0x80|14-3,0,1 },
  487.     {0,1,0,0x80|18-3,0,1 },
  488.     {0,1,0,0x80|20-4,0,1 },
  489.     {0,1,0,0x80|22-4,0,1 },
  490.     {0,1,0,0x80|24-5,0,1 },
  491.     {0,1,0,0x80|36-8,0,1 },
  492. };
  493. const static stFontAttribute g_gui_font_oem_data_BI_small [] =
  494. {
  495.     {1,1,0,0x80|8,0,1 },
  496.     {1,1,0,0x80|12,0,1 },
  497.     {1,1,0,0x80|14,0,1 },
  498.     {1,1,0,0x80|18,0,1 },
  499.     {1,1,0,0x80|20,0,1 },
  500.     {1,1,0,0x80|22,0,1 },
  501.     {1,1,0,0x80|36,0,1 },
  502. };
  503. const static stFontAttribute g_gui_font_oem_data_medium [] =
  504. {
  505.     {0,0,0,0x80|8,0,1 },
  506.     {0,0,0,0x80|12,0,1 },
  507.     {0,0,0,0x80|14,0,1 },
  508.     {0,0,0,0x80|18,0,1 },
  509.     {0,0,0,0x80|20,0,1 },
  510.     {0,0,0,0x80|22,0,1 },
  511.     {0,0,0,0x80|24,0,1 },    
  512.     {0,0,0,0x80|36,0,1 },
  513. };
  514. const static stFontAttribute g_gui_font_oem_data_B_medium [] =
  515. {
  516.     {1,0,0,0x80|8,0,1 },
  517.     {1,0,0,0x80|12,0,1 },
  518.     {1,0,0,0x80|14,0,1 },
  519.     {1,0,0,0x80|18,0,1 },
  520.     {1,0,0,0x80|20,0,1 },
  521.     {1,0,0,0x80|22,0,1 },
  522.     {1,0,0,0x80|24,0,1 },
  523.     {1,0,0,0x80|36,0,1 },
  524. };
  525. const static stFontAttribute g_gui_font_oem_data_I_medium [] =
  526. {
  527.     {0,1,0,0x80|8,0,1 },
  528.     {0,1,0,0x80|12,0,1 },
  529.     {0,1,0,0x80|14,0,1 },
  530.     {0,1,0,0x80|18,0,1 },
  531.     {0,1,0,0x80|20,0,1 },
  532.     {0,1,0,0x80|22,0,1 },
  533.     {0,1,0,0x80|24,0,1 },
  534.     {0,1,0,0x80|36,0,1 },
  535. };
  536. const static stFontAttribute g_gui_font_oem_data_BI_medium [] =
  537. {
  538.     {1,1,0,0x80|8,0,1 },
  539.     {1,1,0,0x80|12,0,1 },
  540.     {1,1,0,0x80|14,0,1 },
  541.     {1,1,0,0x80|18,0,1 },
  542.     {1,1,0,0x80|20,0,1 },
  543.     {1,1,0,0x80|22,0,1 },
  544.     {1,1,0,0x80|36,0,1 },
  545. };
  546. const static stFontAttribute g_gui_font_oem_data_large [] =
  547. {
  548.     {0,0,0,0x80|8+3,0,1 },
  549.     {0,0,0,0x80|12+4,0,1 },
  550.     {0,0,0,0x80|14+4,0,1 },
  551.     {0,0,0,0x80|18+5,0,1 },
  552.     {0,0,0,0x80|20+5,0,1 },
  553.     {0,0,0,0x80|22+6,0,1 },
  554.     {0,0,0,0x80|24+6,0,1 },    
  555.     {0,0,0,0x80|36+9,0,1 },
  556. };
  557. const static stFontAttribute g_gui_font_oem_data_B_large [] =
  558. {
  559.     {1,0,0,0x80|8+3,0,1 },
  560.     {1,0,0,0x80|12+4,0,1 },
  561.     {1,0,0,0x80|14+4,0,1 },
  562.     {1,0,0,0x80|18+5,0,1 },
  563.     {1,0,0,0x80|20+5,0,1 },
  564.     {1,0,0,0x80|22+6,0,1 },
  565.     {1,0,0,0x80|24+6,0,1 },
  566.     {1,0,0,0x80|36+9,0,1 },
  567. };
  568. const static stFontAttribute g_gui_font_oem_data_I_large [] =
  569. {
  570.     {0,1,0,0x80|8+3,0,1 },
  571.     {0,1,0,0x80|12+4,0,1 },
  572.     {0,1,0,0x80|14+4,0,1 },
  573.     {0,1,0,0x80|18+5,0,1 },
  574.     {0,1,0,0x80|20+5,0,1 },
  575.     {0,1,0,0x80|22+6,0,1 },
  576.     {0,1,0,0x80|24+6,0,1 },
  577.     {0,1,0,0x80|36+9,0,1 },
  578. };
  579. const static stFontAttribute g_gui_font_oem_data_BI_large [] =
  580. {
  581.     {1,1,0,0x80|8+3,0,1 },
  582.     {1,1,0,0x80|12+4,0,1 },
  583.     {1,1,0,0x80|14+4,0,1 },
  584.     {1,1,0,0x80|18+5,0,1 },
  585.     {1,1,0,0x80|20+5,0,1 },
  586.     {1,1,0,0x80|22+6,0,1 },
  587.     {1,1,0,0x80|36+9,0,1 },
  588. };
  589. #endif
  590. const static U8 g_gui_font_type_data[GUI_FONT_SIZE_TOTAL] = 
  591. {
  592.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_DEFAULT
  593.     GUI_MEDIUM_FONT_SIZE,                                      //GUI_FONT_SIZE_BUTTON
  594.     GUI_XXLARGE_FONT_SIZE,                                       //GUI_FONT_SIZE_MULTITAP
  595.     GUI_LARGE_FONT_SIZE,                                       //GUI_FONT_SIZE_INPUTBOX
  596.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_LIST
  597.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_MATRIX
  598.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_MENUBAR_INDEX
  599.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_MENUBAR_ITEM
  600.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_SHORTCUT
  601.     GUI_MEDIUM_FONT_SIZE,                                      //GUI_FONT_SIZE_TITLE
  602.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_DROPDOWN
  603.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_LIST_MAINMENU
  604.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_MATRIX_MAINMENU
  605.     GUI_SMALL_FONT_SIZE,                                       //GUI_FONT_SIZE_VIRTUAL_KEYBOARD
  606.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_DATE
  607.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_TIME
  608.     GUI_SMALL_FONT_SIZE,                                        //GUI_FONT_SIZE_SUB_DATE
  609.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_SUB_TIME
  610.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_TAB_TITLE
  611.     GUI_SMALL_FONT_SIZE,                                       //GUI_FONT_SIZE_CALENDAR_INFOBOX
  612.     GUI_SMALL_FONT_SIZE,                                       //GUI_FONT_SIZE_CALENDAR_HORIZONTAL
  613.     GUI_XSMALL_FONT_SIZE,                                       //GUI_FONT_SIZE_CALENDAR_CELL
  614.     GUI_XSMALL_FONT_SIZE,                                       //GUI_FONT_SIZE_IDLE_CALENDAR_HORIZONTAL
  615.     GUI_XSMALL_FONT_SIZE,                                       //GUI_FONT_SIZE_IDLE_CALENDAR_CELL
  616.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_DCD_IDLE
  617.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_IME_TEXT
  618.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_IME_LABEL
  619.     GUI_LARGE_FONT_SIZE,                                        //GUI_FONT_SIZE_DURATION
  620.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_DAY
  621. #if defined(__MMI_UI_TECHNO_IDLESCREEN_BAR__)                   //GUI_FONT_SIZE_DATE_IDLESCREEN1
  622.     GUI_XXLARGE_FONT_SIZE,
  623. #else
  624.     GUI_MEDIUM_FONT_SIZE,
  625. #endif /* __MMI_UI_TECHNO_IDLESCREEN_BAR__ */
  626. #if defined(__MMI_UI_TECHNO_IDLESCREEN_BAR__)                    //GUI_FONT_SIZE_TIME_IDLESCREEN1
  627.     GUI_XXLARGE_FONT_SIZE,
  628. #else
  629.     GUI_MEDIUM_FONT_SIZE,
  630. #endif /* __MMI_UI_DALMATIAN_IDLESCREEN__ */
  631. #ifdef __MMI_UI_STATUS_BAR_AT_BOTTOM__                          //GUI_FONT_SIZE_DT_STATUS_BAR_AT_BOTTOM
  632.     GUI_SMALL_FONT_SIZE,
  633. #endif
  634.     GUI_XSMALL_FONT_SIZE,                                        //GUI_FONT_SIZE_TIME_NETWORK_SEARCH
  635.     GUI_XSMALL_FONT_SIZE,                                        //GUI_FONT_SIZE_DURATION_ACTIVE_CALL
  636.     GUI_LARGE_FONT_SIZE,                                        //GUI_FONT_SIZE_DURATION_CONF_CALL
  637. #ifdef __MMI_SUBLCD_DATE_LARGE_FONT__
  638.     GUI_LARGE_FONT_SIZE,                                        //GUI_FONT_SIZE_SUB_LARGE_DATE
  639. #endif
  640. #ifdef __MMI_SUBLCD_TIME_LARGE_FONT__
  641.     GUI_LARGE_FONT_SIZE,                                        //GUI_FONT_SIZE_SUB_LARGE_TIME
  642.     GUI_XXSMALL_FONT_SIZE,                                       //GUI_FONT_SIZE_SUB_LARGE_TIME_IDLESCREEN3
  643. #endif /* __MMI_SUBLCD_TIME_LARGE_FONT__ */
  644.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_SUB_DATE_IDLESCREEN4
  645.     GUI_XXSMALL_FONT_SIZE,                                       //GUI_FONT_SIZE_SUB_TIME_IDLESCREEN4
  646. #ifdef __MMI_UI_DALMATIAN_IDLESCREEN__                          //GUI_FONT_SIZE_TIME_DIGITAL_CLOCK_SC
  647.     GUI_MEDIUM_FONT_SIZE,
  648. #else
  649.     GUI_LARGE_FONT_SIZE,
  650. #endif /* GUI_FONT_SIZE_DIGITAL_CLOCK_SC */
  651. #ifdef __MMI_UI_DALMATIAN_IDLESCREEN__                          //GUI_FONT_SIZE_DURATION_AUDIO_PLAY
  652.     GUI_MEDIUM_FONT_SIZE,
  653. #else
  654.     GUI_LARGE_FONT_SIZE,
  655. #endif /* GUI_FONT_SIZE_DIGITAL_CLOCK_SC */
  656.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_DOW_SELECT
  657.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_IDLE_NETWORK_NAME
  658.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_IDLE_NETWORK_STATUS
  659.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_IDLE_DATE
  660.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_DIALER
  661.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_INFOBOX
  662.     GUI_XXXLARGE_FONT_SIZE,                                      //GUI_FONT_SIZE_DIALER_LARGE
  663.     GUI_LARGE_FONT_SIZE,                                       //GUI_FONT_SIZE_DIALER_SMALL
  664.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_CALENDAR_TITLE
  665.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_CALENDAR_HORIZONTAL_SELECT
  666.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_CALENDAR_POPUP
  667.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_CALENDAR_IDLE_L_CUR_DAY
  668.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_CALENDAR_IDLE_L_CUR_DATE
  669.     GUI_XSMALL_FONT_SIZE,                                        //GUI_FONT_SIZE_CALENDAR_VERTICAL_SELECT
  670.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_CALENDAR_CURRENT
  671.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_ICONBAR_HINT
  672.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_VK_LARGE_ICON
  673.     GUI_XSMALL_FONT_SIZE,                                       //GUI_FONT_SIZE_STATUS_BAR_TIME
  674.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_POPUP_EMBEDDED_SOFTKEY
  675.     GUI_LARGE_FONT_SIZE,                                        //GUI_FONT_SIZE_LIST_HIGHLIGHT
  676.     
  677.     GUI_LARGE_FONT_SIZE,                                        //GUI_FONT_SIZE_STOPWATCH_DURATION,   
  678.     GUI_LARGE_FONT_SIZE,                                        //GUI_FONT_SIZE_STOPWATCH_NWAY_TIME,  
  679.     GUI_LARGE_FONT_SIZE,                                        //GUI_FONT_SIZE_STOPWATCH_NWAY_HILITE,
  680. };
  681. const static stFontAttribute g_gui_font_oem_data [] =
  682. {
  683.     {0,0,0,0x80|8,0,1 },
  684.     {0,0,0,0x80|12,0,1 },
  685.     {0,0,0,0x80|14,0,1 },
  686.     {0,0,0,0x80|18,0,1 },
  687.     {0,0,0,0x80|20,0,1 },
  688.     {0,0,0,0x80|22,0,1 },
  689.     {0,0,0,0x80|24,0,1 },    
  690.     {0,0,0,0x80|36,0,1 },
  691. };
  692. const static stFontAttribute g_gui_font_oem_data_B [] =
  693. {
  694.     {1,0,0,0x80|8,0,1 },
  695.     {1,0,0,0x80|12,0,1 },
  696.     {1,0,0,0x80|14,0,1 },
  697.     {1,0,0,0x80|18,0,1 },
  698.     {1,0,0,0x80|20,0,1 },
  699.     {1,0,0,0x80|22,0,1 },
  700.     {1,0,0,0x80|24,0,1 },
  701.     {1,0,0,0x80|36,0,1 },
  702. };
  703. const static stFontAttribute g_gui_font_oem_data_I [] =
  704. {
  705.     {0,1,0,0x80|8,0,1 },
  706.     {0,1,0,0x80|12,0,1 },
  707.     {0,1,0,0x80|14,0,1 },
  708.     {0,1,0,0x80|18,0,1 },
  709.     {0,1,0,0x80|20,0,1 },
  710.     {0,1,0,0x80|22,0,1 },
  711.     {0,1,0,0x80|24,0,1 },
  712.     {0,1,0,0x80|36,0,1 },
  713. };
  714. const static stFontAttribute g_gui_font_oem_data_BI [] =
  715. {
  716.     {1,1,0,0x80|8,0,1 },
  717.     {1,1,0,0x80|12,0,1 },
  718.     {1,1,0,0x80|14,0,1 },
  719.     {1,1,0,0x80|18,0,1 },
  720.     {1,1,0,0x80|20,0,1 },
  721.     {1,1,0,0x80|22,0,1 },
  722.     {1,1,0,0x80|36,0,1 },
  723. };
  724. const static U8 g_gui_font_oem_map[] = 
  725. {
  726.     0,0,0,0,0,1,1,1,1,2,2,2,2,2,2,3,3,3,3,3,4,4,4,4,4,5,5,5,6,6,7,7,
  727. };
  728. #else
  729. const static U8 g_gui_font_type_data[GUI_FONT_SIZE_TOTAL] = 
  730. {
  731.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_DEFAULT
  732.     GUI_MEDIUM_FONT_SIZE,                                      //GUI_FONT_SIZE_BUTTON
  733.     GUI_XXLARGE_FONT_SIZE,                                       //GUI_FONT_SIZE_MULTITAP
  734.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_INPUTBOX
  735.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_LIST
  736.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_MATRIX
  737.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_MENUBAR_INDEX
  738.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_MENUBAR_ITEM
  739.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_SHORTCUT
  740.     GUI_MEDIUM_FONT_SIZE,                                      //GUI_FONT_SIZE_TITLE
  741.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_DROPDOWN
  742.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_LIST_MAINMENU
  743.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_MATRIX_MAINMENU
  744.     GUI_SMALL_FONT_SIZE,                                       //GUI_FONT_SIZE_VIRTUAL_KEYBOARD
  745.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_DATE
  746.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_TIME
  747.     GUI_SMALL_FONT_SIZE,                                        //GUI_FONT_SIZE_SUB_DATE
  748.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_SUB_TIME
  749.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_TAB_TITLE
  750.     GUI_SMALL_FONT_SIZE,                                       //GUI_FONT_SIZE_CALENDAR_INFOBOX
  751.     GUI_SMALL_FONT_SIZE,                                       //GUI_FONT_SIZE_CALENDAR_HORIZONTAL
  752.     GUI_XSMALL_FONT_SIZE,                                       //GUI_FONT_SIZE_CALENDAR_CELL
  753.     GUI_XSMALL_FONT_SIZE,                                       //GUI_FONT_SIZE_IDLE_CALENDAR_HORIZONTAL
  754.     GUI_XSMALL_FONT_SIZE,                                       //GUI_FONT_SIZE_IDLE_CALENDAR_CELL
  755.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_DCD_IDLE
  756.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_IME_TEXT
  757.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_IME_LABEL
  758.     GUI_LARGE_FONT_SIZE,                                        //GUI_FONT_SIZE_DURATION
  759.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_DAY
  760. #if defined(__MMI_UI_TECHNO_IDLESCREEN_BAR__)                   //GUI_FONT_SIZE_DATE_IDLESCREEN1
  761.     GUI_XXLARGE_FONT_SIZE,
  762. #else
  763.     GUI_MEDIUM_FONT_SIZE,
  764. #endif /* __MMI_UI_TECHNO_IDLESCREEN_BAR__ */
  765. #if defined(__MMI_UI_TECHNO_IDLESCREEN_BAR__)                    //GUI_FONT_SIZE_TIME_IDLESCREEN1
  766.     GUI_XXLARGE_FONT_SIZE,
  767. #else
  768.     GUI_MEDIUM_FONT_SIZE,
  769. #endif /* __MMI_UI_DALMATIAN_IDLESCREEN__ */
  770. #ifdef __MMI_UI_STATUS_BAR_AT_BOTTOM__                          //GUI_FONT_SIZE_DT_STATUS_BAR_AT_BOTTOM
  771.     GUI_SMALL_FONT_SIZE,
  772. #endif
  773.     GUI_XSMALL_FONT_SIZE,                                        //GUI_FONT_SIZE_TIME_NETWORK_SEARCH
  774.     GUI_XSMALL_FONT_SIZE,                                        //GUI_FONT_SIZE_DURATION_ACTIVE_CALL
  775.     GUI_LARGE_FONT_SIZE,                                        //GUI_FONT_SIZE_DURATION_CONF_CALL
  776. #ifdef __MMI_SUBLCD_DATE_LARGE_FONT__
  777.     GUI_LARGE_FONT_SIZE,                                        //GUI_FONT_SIZE_SUB_LARGE_DATE
  778. #endif
  779. #ifdef __MMI_SUBLCD_TIME_LARGE_FONT__
  780.     GUI_LARGE_FONT_SIZE,                                        //GUI_FONT_SIZE_SUB_LARGE_TIME
  781.     GUI_XXSMALL_FONT_SIZE,                                       //GUI_FONT_SIZE_SUB_LARGE_TIME_IDLESCREEN3
  782. #endif /* __MMI_SUBLCD_TIME_LARGE_FONT__ */
  783.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_SUB_DATE_IDLESCREEN4
  784.     GUI_XXSMALL_FONT_SIZE,                                       //GUI_FONT_SIZE_SUB_TIME_IDLESCREEN4
  785. #ifdef __MMI_UI_DALMATIAN_IDLESCREEN__                          //GUI_FONT_SIZE_TIME_DIGITAL_CLOCK_SC
  786.     GUI_MEDIUM_FONT_SIZE,
  787. #else
  788.     GUI_LARGE_FONT_SIZE,
  789. #endif /* GUI_FONT_SIZE_DIGITAL_CLOCK_SC */
  790. #ifdef __MMI_UI_DALMATIAN_IDLESCREEN__                          //GUI_FONT_SIZE_DURATION_AUDIO_PLAY
  791.     GUI_MEDIUM_FONT_SIZE,
  792. #else
  793.     GUI_LARGE_FONT_SIZE,
  794. #endif /* GUI_FONT_SIZE_DIGITAL_CLOCK_SC */
  795.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_DOW_SELECT
  796.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_IDLE_NETWORK_NAME
  797.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_IDLE_NETWORK_STATUS
  798.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_IDLE_DATE
  799.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_DIALER
  800.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_INFOBOX
  801.     GUI_XXXLARGE_FONT_SIZE,                                      //GUI_FONT_SIZE_DIALER_LARGE
  802.     GUI_LARGE_FONT_SIZE,                                       //GUI_FONT_SIZE_DIALER_SMALL
  803.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_CALENDAR_TITLE
  804.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_CALENDAR_HORIZONTAL_SELECT
  805.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_CALENDAR_POPUP
  806.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_CALENDAR_IDLE_L_CUR_DAY
  807.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_CALENDAR_IDLE_L_CUR_DATE
  808.     GUI_XSMALL_FONT_SIZE,                                        //GUI_FONT_SIZE_CALENDAR_VERTICAL_SELECT
  809.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_CALENDAR_CURRENT
  810.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_ICONBAR_HINT
  811.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_VK_LARGE_ICON
  812.     GUI_XSMALL_FONT_SIZE,                                       //GUI_FONT_SIZE_STATUS_BAR_TIME
  813.     GUI_MEDIUM_FONT_SIZE,                                       //GUI_FONT_SIZE_POPUP_EMBEDDED_SOFTKEY
  814.     GUI_LARGE_FONT_SIZE,                                        //GUI_FONT_SIZE_LIST_HIGHLIGHT
  815.     
  816.     GUI_LARGE_FONT_SIZE,                                        //GUI_FONT_SIZE_STOPWATCH_DURATION,   
  817.     GUI_LARGE_FONT_SIZE,                                        //GUI_FONT_SIZE_STOPWATCH_NWAY_TIME,  
  818.     GUI_LARGE_FONT_SIZE,                                        //GUI_FONT_SIZE_STOPWATCH_NWAY_HILITE,
  819. };
  820. const static stFontAttribute g_gui_font_oem_data [] =
  821. {
  822.     {0,0,0,0x80|8,0,1 },
  823.     {0,0,0,0x80|12,0,1 },
  824.     {0,0,0,0x80|14,0,1 },
  825.     {0,0,0,0x80|18,0,1 },
  826.     {0,0,0,0x80|20,0,1 },
  827.     {0,0,0,0x80|22,0,1 },
  828.     {0,0,0,0x80|24,0,1 },    
  829.     {0,0,0,0x80|36,0,1 },
  830. };
  831. const static stFontAttribute g_gui_font_oem_data_B [] =
  832. {
  833.     {1,0,0,0x80|8,0,1 },
  834.     {1,0,0,0x80|12,0,1 },
  835.     {1,0,0,0x80|14,0,1 },
  836.     {1,0,0,0x80|18,0,1 },
  837.     {1,0,0,0x80|20,0,1 },
  838.     {1,0,0,0x80|22,0,1 },
  839.     {1,0,0,0x80|24,0,1 },
  840.     {1,0,0,0x80|36,0,1 },
  841. };
  842. const static stFontAttribute g_gui_font_oem_data_I [] =
  843. {
  844.     {0,1,0,0x80|8,0,1 },
  845.     {0,1,0,0x80|12,0,1 },
  846.     {0,1,0,0x80|14,0,1 },
  847.     {0,1,0,0x80|18,0,1 },
  848.     {0,1,0,0x80|20,0,1 },
  849.     {0,1,0,0x80|22,0,1 },
  850.     {0,1,0,0x80|24,0,1 },
  851.     {0,1,0,0x80|36,0,1 },
  852. };
  853. const static stFontAttribute g_gui_font_oem_data_BI [] =
  854. {
  855.     {1,1,0,0x80|8,0,1 },
  856.     {1,1,0,0x80|12,0,1 },
  857.     {1,1,0,0x80|14,0,1 },
  858.     {1,1,0,0x80|18,0,1 },
  859.     {1,1,0,0x80|20,0,1 },
  860.     {1,1,0,0x80|22,0,1 },
  861.     {1,1,0,0x80|36,0,1 },
  862. };
  863. const static U8 g_gui_font_oem_map[] = 
  864. {
  865.     0,0,0,0,0,1,1,1,1,2,2,2,2,2,2,3,3,3,3,3,4,4,4,4,4,5,5,5,6,6,7,7,
  866. };
  867. #endif
  868. /*****************************************************************************
  869.  * FUNCTION
  870.  *  gui_font_oem_get_type
  871.  * DESCRIPTION
  872.  *  Get the font type
  873.  * PARAMETERS
  874.  *  index       [IN]        index
  875.  * RETURNS
  876.  *  UI_font_type 
  877.  *****************************************************************************/
  878. #ifdef __MMI_FREETYPE_SETTING_SUPPORT__
  879. U8 g_freetype_size = MEDIUM_FONT;
  880. void gui_freetype_set_size(U8 size)
  881. {
  882.     g_freetype_size = size;
  883. }
  884. #endif
  885. const UI_font_type gui_font_oem_get_type(gui_font_size_enum index)
  886. {
  887.     /*----------------------------------------------------------------*/
  888.     /* Local Variables                                                */
  889.     /*----------------------------------------------------------------*/
  890.     U8 font_data;
  891.     
  892.     /*----------------------------------------------------------------*/
  893.     /* Code Body                                                      */
  894.     /*----------------------------------------------------------------*/
  895.     if (index >=GUI_FONT_SIZE_TOTAL)
  896.         return NULL;
  897. #ifdef __MMI_FREETYPE_SETTING_SUPPORT__
  898.     switch(g_freetype_size)
  899.     {
  900.       case SMALL_FONT:
  901.         font_data = g_gui_font_type_data[index] & 0x1F;
  902.         font_data = g_gui_font_oem_map[font_data];
  903.         if ((g_gui_font_type_data[index] & GUI_FONT_TYPE_BOLD) && (g_gui_font_type_data[index] & GUI_FONT_TYPE_ITALIC))
  904.         {
  905.             return (const UI_font_type) &g_gui_font_oem_data_BI_small[font_data];
  906.         }
  907.         else if (g_gui_font_type_data[index] & GUI_FONT_TYPE_BOLD)
  908.         {            
  909.             return (const UI_font_type) &g_gui_font_oem_data_B_small[font_data];
  910.         }
  911.         else if (g_gui_font_type_data[index] & GUI_FONT_TYPE_ITALIC)
  912.         {
  913.             
  914.             return (const UI_font_type) &g_gui_font_oem_data_I_small[font_data];
  915.         }
  916.         else
  917.         {        
  918.             return (const UI_font_type) &g_gui_font_oem_data_small[font_data];
  919.         }
  920.       break;
  921.       
  922.       case MEDIUM_FONT:
  923.         font_data = g_gui_font_type_data[index] & 0x1F;
  924.         font_data = g_gui_font_oem_map[font_data];
  925.         if ((g_gui_font_type_data[index] & GUI_FONT_TYPE_BOLD) && (g_gui_font_type_data[index] & GUI_FONT_TYPE_ITALIC))
  926.         {
  927.             return (const UI_font_type) &g_gui_font_oem_data_BI_medium[font_data];
  928.         }
  929.         else if (g_gui_font_type_data[index] & GUI_FONT_TYPE_BOLD)
  930.         {            
  931.             return (const UI_font_type) &g_gui_font_oem_data_B_medium[font_data];
  932.         }
  933.         else if (g_gui_font_type_data[index] & GUI_FONT_TYPE_ITALIC)
  934.         {
  935.             
  936.             return (const UI_font_type) &g_gui_font_oem_data_I_medium[font_data];
  937.         }
  938.         else
  939.         {        
  940.             return (const UI_font_type) &g_gui_font_oem_data_medium[font_data];
  941.         }
  942.       break;
  943.       
  944.       case LARGE_FONT:
  945.         font_data = g_gui_font_type_data[index] & 0x1F;
  946.         font_data = g_gui_font_oem_map[font_data];
  947.         if ((g_gui_font_type_data[index] & GUI_FONT_TYPE_BOLD) && (g_gui_font_type_data[index] & GUI_FONT_TYPE_ITALIC))
  948.         {
  949.             return (const UI_font_type) &g_gui_font_oem_data_BI_large[font_data];
  950.         }
  951.         else if (g_gui_font_type_data[index] & GUI_FONT_TYPE_BOLD)
  952.         {            
  953.             return (const UI_font_type) &g_gui_font_oem_data_B_large[font_data];
  954.         }
  955.         else if (g_gui_font_type_data[index] & GUI_FONT_TYPE_ITALIC)
  956.         {
  957.             
  958.             return (const UI_font_type) &g_gui_font_oem_data_I_large[font_data];
  959.         }
  960.         else
  961.         {        
  962.             return (const UI_font_type) &g_gui_font_oem_data_large[font_data];
  963.         }
  964.       break;      
  965.       default:
  966.         font_data = g_gui_font_type_data[index] & 0x1F;
  967.         font_data = g_gui_font_oem_map[font_data];
  968.         if ((g_gui_font_type_data[index] & GUI_FONT_TYPE_BOLD) && (g_gui_font_type_data[index] & GUI_FONT_TYPE_ITALIC))
  969.         {
  970.             return (const UI_font_type) &g_gui_font_oem_data_BI[font_data];
  971.         }
  972.         else if (g_gui_font_type_data[index] & GUI_FONT_TYPE_BOLD)
  973.         {            
  974.             return (const UI_font_type) &g_gui_font_oem_data_B[font_data];
  975.         }
  976.         else if (g_gui_font_type_data[index] & GUI_FONT_TYPE_ITALIC)
  977.         {
  978.             
  979.             return (const UI_font_type) &g_gui_font_oem_data_I[font_data];
  980.         }
  981.         else
  982.         {        
  983.             return (const UI_font_type) &g_gui_font_oem_data[font_data];
  984.         }
  985.       break;
  986.     }
  987. #else
  988.     font_data = g_gui_font_type_data[index] & 0x1F;
  989.     font_data = g_gui_font_oem_map[font_data];
  990.     if ((g_gui_font_type_data[index] & GUI_FONT_TYPE_BOLD) && (g_gui_font_type_data[index] & GUI_FONT_TYPE_ITALIC))
  991.     {
  992.         return (const UI_font_type) &g_gui_font_oem_data_BI[font_data];
  993.     }
  994.     else if (g_gui_font_type_data[index] & GUI_FONT_TYPE_BOLD)
  995.     {            
  996.         return (const UI_font_type) &g_gui_font_oem_data_B[font_data];
  997.     }
  998.     else if (g_gui_font_type_data[index] & GUI_FONT_TYPE_ITALIC)
  999.     {
  1000.         
  1001.         return (const UI_font_type) &g_gui_font_oem_data_I[font_data];
  1002.     }
  1003.     else
  1004.     {        
  1005.         return (const UI_font_type) &g_gui_font_oem_data[font_data];
  1006.     }
  1007. #endif    
  1008. }
  1009. #endif /* __MMI_VECTOR_FONT_SUPPORT__*/