Imported Upstream version 1.0.5
[platform/upstream/fribidi.git] / lib / fribidi-flags.h
1 /* FriBidi
2  * fribidi-flags.h - option flags
3  *
4  * Author:
5  *   Behdad Esfahbod, 2005
6  *
7  * Copyright (C) 2005 Behdad Esfahbod
8  * 
9  * This library is free software; you can redistribute it and/or
10  * modify it under the terms of the GNU Lesser General Public
11  * License as published by the Free Software Foundation; either
12  * version 2.1 of the License, or (at your option) any later version.
13  * 
14  * This library is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17  * Lesser General Public License for more details.
18  * 
19  * You should have received a copy of the GNU Lesser General Public License
20  * along with this library, in a file named COPYING; if not, write to the
21  * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
22  * Boston, MA 02110-1301, USA
23  *
24  * For licensing issues, contact <fribidi.license@gmail.com>.
25  */
26 #ifndef _FRIBIDI_FLAGS_H
27 #define _FRIBIDI_FLAGS_H
28
29 #include "fribidi-common.h"
30
31 #include "fribidi-types.h"
32
33 #include "fribidi-begindecls.h"
34
35 typedef uint32_t FriBidiFlags;
36
37 /* 
38  * Define option flags that various functions use. Each mask has
39  * only one bit set.
40  */
41
42 #define FRIBIDI_FLAG_SHAPE_MIRRORING    0x00000001
43 #define FRIBIDI_FLAG_REORDER_NSM        0x00000002
44
45 #define FRIBIDI_FLAG_SHAPE_ARAB_PRES    0x00000100
46 #define FRIBIDI_FLAG_SHAPE_ARAB_LIGA    0x00000200
47 #define FRIBIDI_FLAG_SHAPE_ARAB_CONSOLE 0x00000400
48
49 #define FRIBIDI_FLAG_REMOVE_BIDI        0x00010000
50 #define FRIBIDI_FLAG_REMOVE_JOINING     0x00020000
51 #define FRIBIDI_FLAG_REMOVE_SPECIALS    0x00040000
52
53
54 /*
55  * And their combinations.
56  */
57
58 #define FRIBIDI_FLAGS_DEFAULT           ( \
59         FRIBIDI_FLAG_SHAPE_MIRRORING    | \
60         FRIBIDI_FLAG_REORDER_NSM        | \
61         FRIBIDI_FLAG_REMOVE_SPECIALS    )
62
63 #define FRIBIDI_FLAGS_ARABIC            ( \
64         FRIBIDI_FLAG_SHAPE_ARAB_PRES    | \
65         FRIBIDI_FLAG_SHAPE_ARAB_LIGA    )
66
67 #include "fribidi-enddecls.h"
68
69 #endif /* !_FRIBIDI_FLAGS_H */
70 /* Editor directions:
71  * vim:textwidth=78:tabstop=8:shiftwidth=2:autoindent:cindent
72  */