]> rtime.felk.cvut.cz Git - hornmich/skoda-qr-demo.git/blob - QRScanner/mobile/jni/pdf/pdf-cmap-table.c
Add MuPDF native source codes
[hornmich/skoda-qr-demo.git] / QRScanner / mobile / jni / pdf / pdf-cmap-table.c
1 #include "mupdf/pdf.h"
2
3 #ifndef NOCJK
4 #include "gen_cmap_cns.h"
5 #include "gen_cmap_gb.h"
6 #include "gen_cmap_japan.h"
7 #include "gen_cmap_korea.h"
8 #endif
9
10 static const struct { char *name; pdf_cmap *cmap; } cmap_table[] =
11 {
12 #ifndef NOCJK
13         {"78-EUC-H",&cmap_78_EUC_H},
14         {"78-EUC-V",&cmap_78_EUC_V},
15         {"78-H",&cmap_78_H},
16         {"78-RKSJ-H",&cmap_78_RKSJ_H},
17         {"78-RKSJ-V",&cmap_78_RKSJ_V},
18         {"78-V",&cmap_78_V},
19         {"78ms-RKSJ-H",&cmap_78ms_RKSJ_H},
20         {"78ms-RKSJ-V",&cmap_78ms_RKSJ_V},
21         {"83pv-RKSJ-H",&cmap_83pv_RKSJ_H},
22         {"90ms-RKSJ-H",&cmap_90ms_RKSJ_H},
23         {"90ms-RKSJ-V",&cmap_90ms_RKSJ_V},
24         {"90msp-RKSJ-H",&cmap_90msp_RKSJ_H},
25         {"90msp-RKSJ-V",&cmap_90msp_RKSJ_V},
26         {"90pv-RKSJ-H",&cmap_90pv_RKSJ_H},
27         {"90pv-RKSJ-V",&cmap_90pv_RKSJ_V},
28         {"Add-H",&cmap_Add_H},
29         {"Add-RKSJ-H",&cmap_Add_RKSJ_H},
30         {"Add-RKSJ-V",&cmap_Add_RKSJ_V},
31         {"Add-V",&cmap_Add_V},
32         {"Adobe-CNS1-0",&cmap_Adobe_CNS1_0},
33         {"Adobe-CNS1-1",&cmap_Adobe_CNS1_1},
34         {"Adobe-CNS1-2",&cmap_Adobe_CNS1_2},
35         {"Adobe-CNS1-3",&cmap_Adobe_CNS1_3},
36         {"Adobe-CNS1-4",&cmap_Adobe_CNS1_4},
37         {"Adobe-CNS1-5",&cmap_Adobe_CNS1_5},
38         {"Adobe-CNS1-6",&cmap_Adobe_CNS1_6},
39         {"Adobe-CNS1-UCS2",&cmap_Adobe_CNS1_UCS2},
40         {"Adobe-GB1-0",&cmap_Adobe_GB1_0},
41         {"Adobe-GB1-1",&cmap_Adobe_GB1_1},
42         {"Adobe-GB1-2",&cmap_Adobe_GB1_2},
43         {"Adobe-GB1-3",&cmap_Adobe_GB1_3},
44         {"Adobe-GB1-4",&cmap_Adobe_GB1_4},
45         {"Adobe-GB1-5",&cmap_Adobe_GB1_5},
46         {"Adobe-GB1-UCS2",&cmap_Adobe_GB1_UCS2},
47         {"Adobe-Japan1-0",&cmap_Adobe_Japan1_0},
48         {"Adobe-Japan1-1",&cmap_Adobe_Japan1_1},
49         {"Adobe-Japan1-2",&cmap_Adobe_Japan1_2},
50         {"Adobe-Japan1-3",&cmap_Adobe_Japan1_3},
51         {"Adobe-Japan1-4",&cmap_Adobe_Japan1_4},
52         {"Adobe-Japan1-5",&cmap_Adobe_Japan1_5},
53         {"Adobe-Japan1-6",&cmap_Adobe_Japan1_6},
54         {"Adobe-Japan1-UCS2",&cmap_Adobe_Japan1_UCS2},
55         {"Adobe-Korea1-0",&cmap_Adobe_Korea1_0},
56         {"Adobe-Korea1-1",&cmap_Adobe_Korea1_1},
57         {"Adobe-Korea1-2",&cmap_Adobe_Korea1_2},
58         {"Adobe-Korea1-UCS2",&cmap_Adobe_Korea1_UCS2},
59         {"B5-H",&cmap_B5_H},
60         {"B5-V",&cmap_B5_V},
61         {"B5pc-H",&cmap_B5pc_H},
62         {"B5pc-V",&cmap_B5pc_V},
63         {"CNS-EUC-H",&cmap_CNS_EUC_H},
64         {"CNS-EUC-V",&cmap_CNS_EUC_V},
65         {"CNS1-H",&cmap_CNS1_H},
66         {"CNS1-V",&cmap_CNS1_V},
67         {"CNS2-H",&cmap_CNS2_H},
68         {"CNS2-V",&cmap_CNS2_V},
69         {"ETHK-B5-H",&cmap_ETHK_B5_H},
70         {"ETHK-B5-V",&cmap_ETHK_B5_V},
71         {"ETen-B5-H",&cmap_ETen_B5_H},
72         {"ETen-B5-V",&cmap_ETen_B5_V},
73         {"ETenms-B5-H",&cmap_ETenms_B5_H},
74         {"ETenms-B5-V",&cmap_ETenms_B5_V},
75         {"EUC-H",&cmap_EUC_H},
76         {"EUC-V",&cmap_EUC_V},
77         {"Ext-H",&cmap_Ext_H},
78         {"Ext-RKSJ-H",&cmap_Ext_RKSJ_H},
79         {"Ext-RKSJ-V",&cmap_Ext_RKSJ_V},
80         {"Ext-V",&cmap_Ext_V},
81         {"GB-EUC-H",&cmap_GB_EUC_H},
82         {"GB-EUC-V",&cmap_GB_EUC_V},
83         {"GB-H",&cmap_GB_H},
84         {"GB-V",&cmap_GB_V},
85         {"GBK-EUC-H",&cmap_GBK_EUC_H},
86         {"GBK-EUC-V",&cmap_GBK_EUC_V},
87         {"GBK2K-H",&cmap_GBK2K_H},
88         {"GBK2K-V",&cmap_GBK2K_V},
89         {"GBKp-EUC-H",&cmap_GBKp_EUC_H},
90         {"GBKp-EUC-V",&cmap_GBKp_EUC_V},
91         {"GBT-EUC-H",&cmap_GBT_EUC_H},
92         {"GBT-EUC-V",&cmap_GBT_EUC_V},
93         {"GBT-H",&cmap_GBT_H},
94         {"GBT-V",&cmap_GBT_V},
95         {"GBTpc-EUC-H",&cmap_GBTpc_EUC_H},
96         {"GBTpc-EUC-V",&cmap_GBTpc_EUC_V},
97         {"GBpc-EUC-H",&cmap_GBpc_EUC_H},
98         {"GBpc-EUC-V",&cmap_GBpc_EUC_V},
99         {"H",&cmap_H},
100         {"HKdla-B5-H",&cmap_HKdla_B5_H},
101         {"HKdla-B5-V",&cmap_HKdla_B5_V},
102         {"HKdlb-B5-H",&cmap_HKdlb_B5_H},
103         {"HKdlb-B5-V",&cmap_HKdlb_B5_V},
104         {"HKgccs-B5-H",&cmap_HKgccs_B5_H},
105         {"HKgccs-B5-V",&cmap_HKgccs_B5_V},
106         {"HKm314-B5-H",&cmap_HKm314_B5_H},
107         {"HKm314-B5-V",&cmap_HKm314_B5_V},
108         {"HKm471-B5-H",&cmap_HKm471_B5_H},
109         {"HKm471-B5-V",&cmap_HKm471_B5_V},
110         {"HKscs-B5-H",&cmap_HKscs_B5_H},
111         {"HKscs-B5-V",&cmap_HKscs_B5_V},
112         {"Hankaku",&cmap_Hankaku},
113         {"Hiragana",&cmap_Hiragana},
114         {"KSC-EUC-H",&cmap_KSC_EUC_H},
115         {"KSC-EUC-V",&cmap_KSC_EUC_V},
116         {"KSC-H",&cmap_KSC_H},
117         {"KSC-Johab-H",&cmap_KSC_Johab_H},
118         {"KSC-Johab-V",&cmap_KSC_Johab_V},
119         {"KSC-V",&cmap_KSC_V},
120         {"KSCms-UHC-H",&cmap_KSCms_UHC_H},
121         {"KSCms-UHC-HW-H",&cmap_KSCms_UHC_HW_H},
122         {"KSCms-UHC-HW-V",&cmap_KSCms_UHC_HW_V},
123         {"KSCms-UHC-V",&cmap_KSCms_UHC_V},
124         {"KSCpc-EUC-H",&cmap_KSCpc_EUC_H},
125         {"KSCpc-EUC-V",&cmap_KSCpc_EUC_V},
126         {"Katakana",&cmap_Katakana},
127         {"NWP-H",&cmap_NWP_H},
128         {"NWP-V",&cmap_NWP_V},
129         {"RKSJ-H",&cmap_RKSJ_H},
130         {"RKSJ-V",&cmap_RKSJ_V},
131         {"Roman",&cmap_Roman},
132         {"UniCNS-UCS2-H",&cmap_UniCNS_UCS2_H},
133         {"UniCNS-UCS2-V",&cmap_UniCNS_UCS2_V},
134         {"UniCNS-UTF16-H",&cmap_UniCNS_UTF16_H},
135         {"UniCNS-UTF16-V",&cmap_UniCNS_UTF16_V},
136         {"UniCNS-UTF32-H",&cmap_UniCNS_UTF32_H},
137         {"UniCNS-UTF32-V",&cmap_UniCNS_UTF32_V},
138         {"UniCNS-UTF8-H",&cmap_UniCNS_UTF8_H},
139         {"UniCNS-UTF8-V",&cmap_UniCNS_UTF8_V},
140         {"UniCNS-X",&cmap_UniCNS_X},
141         {"UniGB-UCS2-H",&cmap_UniGB_UCS2_H},
142         {"UniGB-UCS2-V",&cmap_UniGB_UCS2_V},
143         {"UniGB-UTF16-H",&cmap_UniGB_UTF16_H},
144         {"UniGB-UTF16-V",&cmap_UniGB_UTF16_V},
145         {"UniGB-UTF32-H",&cmap_UniGB_UTF32_H},
146         {"UniGB-UTF32-V",&cmap_UniGB_UTF32_V},
147         {"UniGB-UTF8-H",&cmap_UniGB_UTF8_H},
148         {"UniGB-UTF8-V",&cmap_UniGB_UTF8_V},
149         {"UniGB-X",&cmap_UniGB_X},
150         {"UniJIS-UCS2-H",&cmap_UniJIS_UCS2_H},
151         {"UniJIS-UCS2-HW-H",&cmap_UniJIS_UCS2_HW_H},
152         {"UniJIS-UCS2-HW-V",&cmap_UniJIS_UCS2_HW_V},
153         {"UniJIS-UCS2-V",&cmap_UniJIS_UCS2_V},
154         {"UniJIS-UTF16-H",&cmap_UniJIS_UTF16_H},
155         {"UniJIS-UTF16-V",&cmap_UniJIS_UTF16_V},
156         {"UniJIS-UTF32-H",&cmap_UniJIS_UTF32_H},
157         {"UniJIS-UTF32-V",&cmap_UniJIS_UTF32_V},
158         {"UniJIS-UTF8-H",&cmap_UniJIS_UTF8_H},
159         {"UniJIS-UTF8-V",&cmap_UniJIS_UTF8_V},
160         {"UniJIS-X",&cmap_UniJIS_X},
161         {"UniJIS-X16",&cmap_UniJIS_X16},
162         {"UniJIS-X32",&cmap_UniJIS_X32},
163         {"UniJIS-X8",&cmap_UniJIS_X8},
164         {"UniJIS2004-UTF16-H",&cmap_UniJIS2004_UTF16_H},
165         {"UniJIS2004-UTF16-V",&cmap_UniJIS2004_UTF16_V},
166         {"UniJIS2004-UTF32-H",&cmap_UniJIS2004_UTF32_H},
167         {"UniJIS2004-UTF32-V",&cmap_UniJIS2004_UTF32_V},
168         {"UniJIS2004-UTF8-H",&cmap_UniJIS2004_UTF8_H},
169         {"UniJIS2004-UTF8-V",&cmap_UniJIS2004_UTF8_V},
170         {"UniJISPro-UCS2-HW-V",&cmap_UniJISPro_UCS2_HW_V},
171         {"UniJISPro-UCS2-V",&cmap_UniJISPro_UCS2_V},
172         {"UniJISPro-UTF8-V",&cmap_UniJISPro_UTF8_V},
173         {"UniJISX0213-UTF32-H",&cmap_UniJISX0213_UTF32_H},
174         {"UniJISX0213-UTF32-V",&cmap_UniJISX0213_UTF32_V},
175         {"UniJISX02132004-UTF32-H",&cmap_UniJISX02132004_UTF32_H},
176         {"UniJISX02132004-UTF32-V",&cmap_UniJISX02132004_UTF32_V},
177         {"UniKS-UCS2-H",&cmap_UniKS_UCS2_H},
178         {"UniKS-UCS2-V",&cmap_UniKS_UCS2_V},
179         {"UniKS-UTF16-H",&cmap_UniKS_UTF16_H},
180         {"UniKS-UTF16-V",&cmap_UniKS_UTF16_V},
181         {"UniKS-UTF32-H",&cmap_UniKS_UTF32_H},
182         {"UniKS-UTF32-V",&cmap_UniKS_UTF32_V},
183         {"UniKS-UTF8-H",&cmap_UniKS_UTF8_H},
184         {"UniKS-UTF8-V",&cmap_UniKS_UTF8_V},
185         {"UniKS-X",&cmap_UniKS_X},
186         {"V",&cmap_V},
187         {"WP-Symbol",&cmap_WP_Symbol},
188 #endif
189 };
190
191 pdf_cmap *
192 pdf_load_builtin_cmap(fz_context *ctx, char *cmap_name)
193 {
194         int l = 0;
195         int r = nelem(cmap_table) - 1;
196         while (l <= r)
197         {
198                 int m = (l + r) >> 1;
199                 int c = strcmp(cmap_name, cmap_table[m].name);
200                 if (c < 0)
201                         r = m - 1;
202                 else if (c > 0)
203                         l = m + 1;
204                 else
205                         return cmap_table[m].cmap;
206         }
207         return NULL;
208 }