root/Trunk/FriBidi.framework/Versions/A/Headers/fribidi_unicode.h @ 2

Revision 2, 2.1 KB (checked in by jon, 16 years ago)

Initial commit of skeletal project.

Line 
1/* FriBidi - Library of BiDi algorithm
2 * Copyright (C) 2001,2002,2005 Behdad Esfahbod.
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public 
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful, 
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of   
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public License 
15 * along with this library, in a file named COPYING; if not, write to the
16 * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
17 * Boston, MA 02111-1307, USA
18 *
19 * For licensing issues, contact <fwpg@sharif.edu>.
20 */
21
22#ifndef FRIBIDI_UNICODE_H
23#define FRIBIDI_UNICODE_H
24
25#include "fribidi_config.h"
26#include "fribidi_types.h"
27
28#ifdef __cplusplus
29extern "C"
30{
31#endif
32
33/* Unicode version */
34#define FRIBIDI_UNICODE_CHARS   (sizeof(FriBidiChar) >= 4 ? 0x110000 : 0x10000)
35#define FRIBIDI_UNICODE_VERSION "4.1.0"
36
37/* UAX#9 Unicode BiDirectional Algorithm */
38#define UNI_MAX_BIDI_LEVEL 61
39
40/* BiDirectional marks */
41#define UNI_LRM         0x200E
42#define UNI_RLM         0x200F
43#define UNI_LRE         0x202A
44#define UNI_RLE         0x202B
45#define UNI_PDF         0x202C
46#define UNI_LRO         0x202D
47#define UNI_RLO         0x202E
48
49/* Line and Paragraph separators */
50#define UNI_LS          0x2028
51#define UNI_PS          0x2029
52
53/* Joining marks */
54#define UNI_ZWNJ        0x200C
55#define UNI_ZWJ         0x200D
56
57/* Hebrew and Arabic */
58#define UNI_HEBREW_ALEF 0x05D0
59#define UNI_ARABIC_ALEF 0x0627
60#define UNI_ARABIC_ZERO 0x0660
61#define UNI_FARSI_ZERO  0x06F0
62
63/* wcwidth functions */
64  FRIBIDI_API int fribidi_wcwidth (FriBidiChar ch);
65  FRIBIDI_API int fribidi_wcswidth (const FriBidiChar *str,
66                                    FriBidiStrIndex len);
67  FRIBIDI_API int fribidi_wcswidth_cjk (const FriBidiChar *str,
68                                        FriBidiStrIndex len);
69
70#ifdef  __cplusplus
71}
72#endif
73
74#endif                          /* FRIBIDI_UNICODE_H */
Note: See TracBrowser for help on using the browser.