1 // Copyright (C) 2000-2007, Luca Padovani <padovani@sti.uniurb.it>.
2 //
3 // This file is part of GtkMathView, a flexible, high-quality rendering
4 // engine for MathML documents.
5 //
6 // GtkMathView is free software; you can redistribute it and/or modify it
7 // under the terms of the GNU Lesser General Public License as published
8 // by the Free Software Foundation; either version 3 of the License, or
9 // (at your option) any later version.
10 //
11 // GtkMathView is distributed in the hope that it will be useful, but
12 // WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14 // Lesser General Public License for more details.
15 //
16 // You should have received a copy of the GNU Lesser General Public License
17 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
18 
19 // WARNING: do not edit! This file has been generated automatically
20 
21 
22 #include <Char.hh>
23 
24 
25 typedef struct TableEntry
26 {
27   Char16 normal;
28   Char32 variant;
29 } TableEntry;
30 
31 static TableEntry table[] =
32 {
33   { 0x00030, 0x1D7EC },
34   { 0x00031, 0x1D7ED },
35   { 0x00032, 0x1D7EE },
36   { 0x00033, 0x1D7EF },
37   { 0x00034, 0x1D7F0 },
38   { 0x00035, 0x1D7F1 },
39   { 0x00036, 0x1D7F2 },
40   { 0x00037, 0x1D7F3 },
41   { 0x00038, 0x1D7F4 },
42   { 0x00039, 0x1D7F5 },
43   { 0x00041, 0x1D5D4 },
44   { 0x00042, 0x1D5D5 },
45   { 0x00043, 0x1D5D6 },
46   { 0x00044, 0x1D5D7 },
47   { 0x00045, 0x1D5D8 },
48   { 0x00046, 0x1D5D9 },
49   { 0x00047, 0x1D5DA },
50   { 0x00048, 0x1D5DB },
51   { 0x00049, 0x1D5DC },
52   { 0x0004A, 0x1D5DD },
53   { 0x0004B, 0x1D5DE },
54   { 0x0004C, 0x1D5DF },
55   { 0x0004D, 0x1D5E0 },
56   { 0x0004E, 0x1D5E1 },
57   { 0x0004F, 0x1D5E2 },
58   { 0x00050, 0x1D5E3 },
59   { 0x00051, 0x1D5E4 },
60   { 0x00052, 0x1D5E5 },
61   { 0x00053, 0x1D5E6 },
62   { 0x00054, 0x1D5E7 },
63   { 0x00055, 0x1D5E8 },
64   { 0x00056, 0x1D5E9 },
65   { 0x00057, 0x1D5EA },
66   { 0x00058, 0x1D5EB },
67   { 0x00059, 0x1D5EC },
68   { 0x0005A, 0x1D5ED },
69   { 0x00061, 0x1D5EE },
70   { 0x00062, 0x1D5EF },
71   { 0x00063, 0x1D5F0 },
72   { 0x00064, 0x1D5F1 },
73   { 0x00065, 0x1D5F2 },
74   { 0x00066, 0x1D5F3 },
75   { 0x00067, 0x1D5F4 },
76   { 0x00068, 0x1D5F5 },
77   { 0x00069, 0x1D5F6 },
78   { 0x0006A, 0x1D5F7 },
79   { 0x0006B, 0x1D5F8 },
80   { 0x0006C, 0x1D5F9 },
81   { 0x0006D, 0x1D5FA },
82   { 0x0006E, 0x1D5FB },
83   { 0x0006F, 0x1D5FC },
84   { 0x00070, 0x1D5FD },
85   { 0x00071, 0x1D5FE },
86   { 0x00072, 0x1D5FF },
87   { 0x00073, 0x1D600 },
88   { 0x00074, 0x1D601 },
89   { 0x00075, 0x1D602 },
90   { 0x00076, 0x1D603 },
91   { 0x00077, 0x1D604 },
92   { 0x00078, 0x1D605 },
93   { 0x00079, 0x1D606 },
94   { 0x0007A, 0x1D607 },
95   { 0x00391, 0x1D756 },
96   { 0x00392, 0x1D757 },
97   { 0x00393, 0x1D758 },
98   { 0x00394, 0x1D759 },
99   { 0x00395, 0x1D75A },
100   { 0x00396, 0x1D75B },
101   { 0x00397, 0x1D75C },
102   { 0x00398, 0x1D75D },
103   { 0x00399, 0x1D75E },
104   { 0x0039A, 0x1D75F },
105   { 0x0039B, 0x1D760 },
106   { 0x0039C, 0x1D761 },
107   { 0x0039D, 0x1D762 },
108   { 0x0039E, 0x1D763 },
109   { 0x0039F, 0x1D764 },
110   { 0x003A0, 0x1D765 },
111   { 0x003A1, 0x1D766 },
112   { 0x003A3, 0x1D768 },
113   { 0x003A4, 0x1D769 },
114   { 0x003A5, 0x1D76A },
115   { 0x003A6, 0x1D76B },
116   { 0x003A7, 0x1D76C },
117   { 0x003A8, 0x1D76D },
118   { 0x003A9, 0x1D76E },
119   { 0x003B1, 0x1D770 },
120   { 0x003B2, 0x1D771 },
121   { 0x003B3, 0x1D772 },
122   { 0x003B4, 0x1D773 },
123   { 0x003B5, 0x1D774 },
124   { 0x003B6, 0x1D775 },
125   { 0x003B7, 0x1D776 },
126   { 0x003B8, 0x1D777 },
127   { 0x003B9, 0x1D778 },
128   { 0x003BA, 0x1D779 },
129   { 0x003BB, 0x1D77A },
130   { 0x003BC, 0x1D77B },
131   { 0x003BD, 0x1D77C },
132   { 0x003BE, 0x1D77D },
133   { 0x003BF, 0x1D77E },
134   { 0x003C0, 0x1D77F },
135   { 0x003C1, 0x1D780 },
136   { 0x003C2, 0x1D781 },
137   { 0x003C3, 0x1D782 },
138   { 0x003C4, 0x1D783 },
139   { 0x003C5, 0x1D784 },
140   { 0x003C6, 0x1D785 },
141   { 0x003C7, 0x1D786 },
142   { 0x003C8, 0x1D787 },
143   { 0x003C9, 0x1D788 },
144   { 0x003D1, 0x1D78B },
145   { 0x003D5, 0x1D78D },
146   { 0x003D6, 0x1D78F },
147   { 0x003F0, 0x1D78C },
148   { 0x003F1, 0x1D78E },
149   { 0x003F4, 0x1D767 },
150   { 0x02202, 0x1D789 },
151   { 0x02207, 0x1D76F },
152   { 0x0220A, 0x1D78A },
153   { 0, 0 }
154 };
155 
156 Char32
map_variant_bold_sans_serif(Char32 ch)157 map_variant_bold_sans_serif
158 (Char32 ch)
159 {
160   if (ch >= 0x0030 and ch <= 0x0039) return table[ch - 0x0030].variant;
161   if (ch >= 0x0041 and ch <= 0x005A) return table[ch - 0x0037].variant;
162   if (ch >= 0x0061 and ch <= 0x007A) return table[ch - 0x003D].variant;
163   if (ch >= 0x0391 and ch <= 0x03A1) return table[ch - 0x0353].variant;
164   if (ch >= 0x03A3 and ch <= 0x03A9) return table[ch - 0x0354].variant;
165   if (ch >= 0x03B1 and ch <= 0x03C9) return table[ch - 0x035B].variant;
166   if (ch == 0x03D1) return 0x1D78B;
167   if (ch >= 0x03D5 and ch <= 0x03D6) return table[ch - 0x0365].variant;
168   if (ch >= 0x03F0 and ch <= 0x03F1) return table[ch - 0x037E].variant;
169   if (ch == 0x03F4) return 0x1D767;
170   if (ch == 0x2202) return 0x1D789;
171   if (ch == 0x2207) return 0x1D76F;
172   if (ch == 0x220A) return 0x1D78A;
173   return ch;
174 }
175