BIDIDef.h
上传用户:lqx1163
上传日期:2014-08-13
资源大小:9183k
文件大小:6k
源码类别:

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.  *
  37.  * Filename:
  38.  * ---------
  39.  *    bididef.h
  40.  *
  41.  * Project:
  42.  * --------
  43.  *   Maui_Software
  44.  *
  45.  * Description:
  46.  * ------------
  47.  *   bidirectional algorithm engine 
  48.  *
  49.  *
  50.  * Author:
  51.  * -------
  52.  * -------
  53.  *
  54.  *============================================================================
  55.  *             HISTORY
  56.  * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
  57.  *------------------------------------------------------------------------------
  58.  * removed!
  59.  *
  60.  * removed!
  61.  * removed!
  62.  * removed!
  63.  *
  64.  * removed!
  65.  * removed!
  66.  * removed!
  67.  *
  68.  * removed!
  69.  * removed!
  70.  * removed!
  71.  *
  72.  *------------------------------------------------------------------------------
  73.  * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
  74.  *============================================================================
  75.  *******************************************************************************/
  76. /*
  77.  * Copyright Notice
  78.  * ?2002 - 2003, Pixtel Communications, Inc., 1489 43rd Ave. W.,
  79.  * Vancouver, B.C. V6M 4K8 Canada. All Rights Reserved.
  80.  *  (It is illegal to remove this copyright notice from this software or any
  81.  *  portion of it)
  82.  */
  83. /**************************************************************
  84.    FILENAME : BIDIDef.h
  85.    PURPOSE     : BIDI Defines
  86.    REMARKS     : nil
  87.    AUTHOR      : Yogesh
  88.    DATE     : Aug-23-2004
  89. **************************************************************/
  90. #ifndef _BIDIDEF_H
  91. #define _BIDIDEF_H
  92. #ifdef __BIDI_CONSOLE__ /* To include file common.h in projects BidiConsole and GenBidiCodeMap */
  93. #include "Common.h"
  94. #else 
  95. #include "PixtelDatatypes.h"
  96. #endif 
  97. typedef enum
  98. {
  99.     ON = 0, /* Other Neutral */
  100.     BIDI_L, /* Left Letter */
  101.     BIDI_R, /* Right Letter */
  102.     AN,     /* Arabic Number */
  103.     EN,     /* European Number */
  104.     AL,     /* Arabic Letter (Right-to-left) */
  105.     NSM,    /* Non-spacing Mark */
  106.     CS,     /* Common Separator */
  107.     ES,     /* European Separator */
  108.     ET,     /* European Terminator */
  109.     BN,     /* Boundary neutral */
  110.     S,      /* Segment Separator (TAB)               // used only in L1 */
  111.     WS,     /* White space                                  // used only in L1 */
  112.     BIDI_B,
  113.     RLO,    /* these are used only in X1-X9 */
  114.     RLE,
  115.     LRO,
  116.     LRE,
  117.     PDF,
  118.     N = ON  /* alias, where ON, WS and S are treated the same */
  119. } PMT_BIDI_TYPES;
  120. typedef struct _bidichar_type_map
  121. {
  122.     U8 type;    /* Type of Unicode Characters */
  123.     U8 nCount;  /* Total number of unicode characters of same type starting from sIndex */
  124.     U16 sIndex; /* Starting Index of Unicode Character */
  125. } BIDICHAR_TYPE_MAP;
  126. typedef struct _bidichar_mirror_map
  127. {
  128.     U16 bidiChar;
  129.     U16 bidiMirror;
  130. } BIDICHAR_MIRROR_MAP;
  131. // #define DEFAULT_BIDI_TYPE BIDI_L
  132. #define MAX_LEVEL_EMBEDDING           61
  133. #define MAX_TEXT_LENGTH              1600       /* 160 */
  134. #define LS 0x0d
  135. #define NL  0x0a        /* bakshi */
  136. #define ODD(x) ((x) & 1)
  137. #define EVEN(x) (((x) & 1) ? 0:1)
  138. #define GETMAX(x,y) (( x > y) ? x:y)
  139. /* START YOGESH PMT 20051028 for issue MAUI_00125615 */
  140. #define CURSOR_MARK (0x0006)    /* (0xFFA1) */
  141. #define LAST_MARK (0xFFA2)      /* (0x0007) */
  142. /* START TARUN PMT 20041207 */
  143. #define FIRST_HIGHLT    0x0008  /* 0xFFA3 */
  144. #define SECOND_HIGHLT   0x0009  /* 0xFFA4 */
  145. //END TARUN PMT 20041207
  146. //END YOGESH PMT 20051028 for issue MAUI_00125615
  147. #ifdef __UCS2_ENCODING
  148. #define BIDI_ENCODING_LENGTH 2
  149. #else 
  150. #define BIDI_ENCODING_LENGTH 1
  151. #endif 
  152. #endif /* _BIDIDEF_H */