1/* The tables in this file should all be sorted on their first item. */
2
3/* *INDENT-OFF* */
4
5const PairMap mandatory_liga_table[] = {
6 {{0xFEDF, 0xFE82}, 0xFEF5},
7 {{0xFEDF, 0xFE84}, 0xFEF7},
8 {{0xFEDF, 0xFE88}, 0xFEF9},
9 {{0xFEDF, 0xFE8E}, 0xFEFB},
10 {{0xFEE0, 0xFE82}, 0xFEF6},
11 {{0xFEE0, 0xFE84}, 0xFEF8},
12 {{0xFEE0, 0xFE88}, 0xFEFA},
13 {{0xFEE0, 0xFE8E}, 0xFEFC},
14};
15
16
17const PairMap console_liga_table[] = {
18 {{0x0640, 0xFC60}, 0xFCF2},
19 {{0x0640, 0xFC61}, 0xFCF3},
20 {{0x0640, 0xFC62}, 0xFCF4},
21 {{0x0640, 0xFE70}, 0xFE71},
22 {{0x0640, 0xFE76}, 0xFE77},
23 {{0x0640, 0xFE78}, 0xFE79},
24 {{0x0640, 0xFE7A}, 0xFE7B},
25 {{0x0640, 0xFE7C}, 0xFE7D},
26 {{0x0640, 0xFE7E}, 0xFE7F},
27 {{0xFBE8, 0x0654}, 0xFE8B},
28 {{0xFBE9, 0x0654}, 0xFE8C},
29 {{0xFBFC, 0x0654}, 0xFE89},
30 {{0xFBFC, 0x0670}, 0xFC5D},
31 {{0xFBFD, 0x0654}, 0xFE8A},
32 {{0xFBFD, 0x0670}, 0xFC90},
33 {{0xFE7C, 0x0670}, 0xFC63},
34 {{0xFE7C, 0xFE72}, 0xFC5E},
35 {{0xFE7C, 0xFE74}, 0xFC5F},
36 {{0xFE7C, 0xFE76}, 0xFC60},
37 {{0xFE7C, 0xFE78}, 0xFC61},
38 {{0xFE7C, 0xFE7A}, 0xFC62},
39 {{0xFE7D, 0xFE76}, 0xFCF2},
40 {{0xFE7D, 0xFE77}, 0xFCF2},
41 {{0xFE7D, 0xFE78}, 0xFCF3},
42 {{0xFE7D, 0xFE79}, 0xFCF3},
43 {{0xFE7D, 0xFE7A}, 0xFCF4},
44 {{0xFE7D, 0xFE7B}, 0xFCF4},
45 {{0xFE8D, 0x0653}, 0xFE81},
46 {{0xFE8D, 0x0654}, 0xFE83},
47 {{0xFE8D, 0x0655}, 0xFE87},
48 {{0xFE8D, 0xFE70}, 0xFD3D},
49 {{0xFE8E, 0x0653}, 0xFE82},
50 {{0xFE8E, 0x0654}, 0xFE84},
51 {{0xFE8E, 0x0655}, 0xFE88},
52 {{0xFE8E, 0xFE70}, 0xFD3C},
53 {{0xFEE9, 0x0654}, 0xFBA4},
54 {{0xFEEA, 0x0654}, 0xFBA5},
55 {{0xFEED, 0x0654}, 0xFE85},
56 {{0xFEEE, 0x0654}, 0xFE86},
57 {{0xFEEF, 0x0654}, 0xFE89},
58 {{0xFEEF, 0x0670}, 0xFC5D},
59 {{0xFEF0, 0x0654}, 0xFE8A},
60 {{0xFEF0, 0x0670}, 0xFC90},
61 {{0xFEF1, 0x0654}, 0xFE89},
62 {{0xFEF1, 0x0670}, 0xFC5D},
63 {{0xFEF2, 0x0654}, 0xFE8A},
64 {{0xFEF2, 0x0670}, 0xFC90},
65 {{0xFEF3, 0x0654}, 0xFE8B},
66 {{0xFEF4, 0x0654}, 0xFE8C},
67 {{0xFEFB, 0x0653}, 0xFEF5},
68 {{0xFEFB, 0x0654}, 0xFEF7},
69 {{0xFEFB, 0x0655}, 0xFEF9},
70 {{0xFEFC, 0x0653}, 0xFEF6},
71 {{0xFEFC, 0x0654}, 0xFEF8},
72 {{0xFEFC, 0x0655}, 0xFEFA},
73};
74
75
76static const FriBidiChar NSMShap[][4] = {
77 {0xFE70, 0xFE71, 0xFE70, 0xFE71,},
78 {0xFE72, 0xFE72, 0xFE72, 0xFE72,},
79 {0xFE74, 0xFE74, 0xFE74, 0xFE74,},
80 {0xFE76, 0xFE77, 0xFE76, 0xFE77,},
81 {0xFE78, 0xFE79, 0xFE78, 0xFE79,},
82 {0xFE7A, 0xFE7B, 0xFE7A, 0xFE7B,},
83 {0xFE7C, 0xFE7D, 0xFE7C, 0xFE7D,},
84 {0xFE7E, 0xFE7F, 0xFE7E, 0xFE7F,},
85};
86
87/* *INDENT-ON* */
88
89#ifndef FRIBIDI_ACCESS_SHAPE_TABLE
90# define FRIBIDI_ACCESS_SHAPE_TABLE(table,min,max,x,shape) \
91 (((x)<(min)||(x)>(max))?(x):(table)[(x)-(min)][(shape)])
92#endif
93
94#define FRIBIDI_GET_ARABIC_SHAPE_NSM(x,shape) FRIBIDI_ACCESS_SHAPE_TABLE(NSMShap, 0x064B, 0x0652, (x), (shape))
95

source code of gtk/subprojects/fribidi/lib/arabic-misc.tab.i