1 | #ifndef __FRIBIDI_DOC |
2 | /* FriBidi |
3 | * fribidi-bidi-types-list.h - list of bidi types |
4 | * |
5 | * Author: |
6 | * Behdad Esfahbod, 2001, 2002, 2004 |
7 | * |
8 | * Copyright (C) 2004 Sharif FarsiWeb, Inc. |
9 | * Copyright (C) 2001,2002 Behdad Esfahbod |
10 | * |
11 | * This library is free software; you can redistribute it and/or |
12 | * modify it under the terms of the GNU Lesser General Public |
13 | * License as published by the Free Software Foundation; either |
14 | * version 2.1 of the License, or (at your option) any later version. |
15 | * |
16 | * This library is distributed in the hope that it will be useful, |
17 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
19 | * Lesser General Public License for more details. |
20 | * |
21 | * You should have received a copy of the GNU Lesser General Public License |
22 | * along with this library, in a file named COPYING; if not, write to the |
23 | * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
24 | * Boston, MA 02110-1301, USA |
25 | * |
26 | * For licensing issues, contact <fribidi.license@gmail.com>. |
27 | */ |
28 | /* *INDENT-OFF* */ |
29 | #endif /* !__FRIBIDI_DOC */ |
30 | #ifndef _FRIBIDI_ADD_TYPE |
31 | # define _FRIBIDI_ADD_TYPE(x,y) |
32 | #endif |
33 | #ifndef _FRIBIDI_ADD_ALIAS |
34 | # define _FRIBIDI_ADD_ALIAS(x1,x2) |
35 | #endif |
36 | |
37 | #if !defined(_FRIBIDI_PAR_TYPES) || defined(_FRIBIDI_ALL_TYPES) |
38 | |
39 | _FRIBIDI_ADD_TYPE (LTR, 'L') /* Left-To-Right letter */ |
40 | _FRIBIDI_ADD_TYPE (RTL, 'R') /* Right-To-Left letter */ |
41 | _FRIBIDI_ADD_TYPE (AL, 'A') /* Arabic Letter */ |
42 | _FRIBIDI_ADD_TYPE (EN, '1') /* European Numeral */ |
43 | _FRIBIDI_ADD_TYPE (AN, '9') /* Arabic Numeral */ |
44 | _FRIBIDI_ADD_TYPE (ES, 'w') /* European number Separator */ |
45 | _FRIBIDI_ADD_TYPE (ET, 'w') /* European number Terminator */ |
46 | _FRIBIDI_ADD_TYPE (CS, 'w') /* Common Separator */ |
47 | _FRIBIDI_ADD_TYPE (NSM, '`') /* Non Spacing Mark */ |
48 | _FRIBIDI_ADD_TYPE (BN, 'b') /* Boundary Neutral */ |
49 | _FRIBIDI_ADD_TYPE (BS, 'B') /* Block Separator */ |
50 | _FRIBIDI_ADD_TYPE (SS, 'S') /* Segment Separator */ |
51 | _FRIBIDI_ADD_TYPE (WS, '_') /* WhiteSpace */ |
52 | _FRIBIDI_ADD_TYPE (ON, 'n') /* Other Neutral */ |
53 | _FRIBIDI_ADD_TYPE (LRE, '+') /* Left-to-Right Embedding */ |
54 | _FRIBIDI_ADD_TYPE (RLE, '+') /* Right-to-Left Embedding */ |
55 | _FRIBIDI_ADD_TYPE (LRO, '+') /* Left-to-Right Override */ |
56 | _FRIBIDI_ADD_TYPE (RLO, '+') /* Right-to-Left Override */ |
57 | _FRIBIDI_ADD_TYPE (PDF, '-') /* Pop Directional Flag */ |
58 | _FRIBIDI_ADD_TYPE (LRI, '+') /* Left-to-Right Isolate */ |
59 | _FRIBIDI_ADD_TYPE (RLI, '+') /* Right-to-Left Isolate */ |
60 | _FRIBIDI_ADD_TYPE (FSI, '+') /* First-Strong Isolate */ |
61 | _FRIBIDI_ADD_TYPE (PDI, '-') /* Pop Directional Isolate */ |
62 | |
63 | #if defined(_FRIBIDI_ADD_ALIAS) |
64 | _FRIBIDI_ADD_ALIAS (L, LTR) |
65 | _FRIBIDI_ADD_ALIAS (R, RTL) |
66 | _FRIBIDI_ADD_ALIAS (B, BS) |
67 | _FRIBIDI_ADD_ALIAS (S, SS) |
68 | #endif /* _FRIBIDI_ADD_ALIAS */ |
69 | |
70 | #if defined(_FRIBIDI_SENTINEL_TYPE) || defined(_FRIBIDI_ALL_TYPES) |
71 | _FRIBIDI_ADD_TYPE (SENTINEL, '$') /* SENTINEL */ |
72 | #endif /* _FRIBIDI_SENTINEL_TYPES || _FRIBIDI_ALL_TYPES*/ |
73 | #endif /* !_FRIBIDI_PAR_TYPES || _FRIBIDI_ALL_TYPES */ |
74 | |
75 | #if defined(_FRIBIDI_PAR_TYPES) || defined(_FRIBIDI_ALL_TYPES) |
76 | # if !defined(_FRIBIDI_ALL_TYPES) |
77 | _FRIBIDI_ADD_TYPE (LTR, 'L') /* Left-To-Right paragraph */ |
78 | _FRIBIDI_ADD_TYPE (RTL, 'R') /* Right-To-Left paragraph */ |
79 | _FRIBIDI_ADD_TYPE (ON, 'n') /* directiOn-Neutral paragraph */ |
80 | # endif /* !_FRIBIDI_ALL_TYPES */ |
81 | _FRIBIDI_ADD_TYPE (WLTR, 'l') /* Weak Left To Right paragraph */ |
82 | _FRIBIDI_ADD_TYPE (WRTL, 'r') /* Weak Right To Left paragraph */ |
83 | #endif /* _FRIBIDI_PAR_TYPES || _FRIBIDI_ALL_TYPES*/ |
84 | |
85 | #if defined(_FRIBIDI_ENUM_TYPES) |
86 | typedef enum { |
87 | # define _FRIBIDI_ADD_TYPE _FRIBIDI_ENUM_ADD_TYPE |
88 | # include "fribidi-bidi-types-list.h" |
89 | # undef _FRIBIDI_ADD_TYPE |
90 | _FRIBIDI_TYPES_MAX |
91 | } _FRIBIDI_ENUM_TYPES |
92 | #endif /* _FRIBIDI_ENUM_TYPES */ |
93 | |
94 | #ifndef __FRIBIDI_DOC |
95 | /* *INDENT-ON* */ |
96 | #endif /* !__FRIBIDI_DOC */ |
97 | |