xref: /aosp_15_r20/external/pdfium/fxbarcode/qrcode/BC_QRCoderECBlocksData.cpp (revision 3ac0a46f773bac49fa9476ec2b1cf3f8da5ec3a4)
1*3ac0a46fSAndroid Build Coastguard Worker // Copyright 2017 The PDFium Authors
2*3ac0a46fSAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be
3*3ac0a46fSAndroid Build Coastguard Worker // found in the LICENSE file.
4*3ac0a46fSAndroid Build Coastguard Worker 
5*3ac0a46fSAndroid Build Coastguard Worker // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6*3ac0a46fSAndroid Build Coastguard Worker // Original code is licensed as follows:
7*3ac0a46fSAndroid Build Coastguard Worker /*
8*3ac0a46fSAndroid Build Coastguard Worker  * Copyright 2007 ZXing authors
9*3ac0a46fSAndroid Build Coastguard Worker  *
10*3ac0a46fSAndroid Build Coastguard Worker  * Licensed under the Apache License, Version 2.0 (the "License");
11*3ac0a46fSAndroid Build Coastguard Worker  * you may not use this file except in compliance with the License.
12*3ac0a46fSAndroid Build Coastguard Worker  * You may obtain a copy of the License at
13*3ac0a46fSAndroid Build Coastguard Worker  *
14*3ac0a46fSAndroid Build Coastguard Worker  *      http://www.apache.org/licenses/LICENSE-2.0
15*3ac0a46fSAndroid Build Coastguard Worker  *
16*3ac0a46fSAndroid Build Coastguard Worker  * Unless required by applicable law or agreed to in writing, software
17*3ac0a46fSAndroid Build Coastguard Worker  * distributed under the License is distributed on an "AS IS" BASIS,
18*3ac0a46fSAndroid Build Coastguard Worker  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19*3ac0a46fSAndroid Build Coastguard Worker  * See the License for the specific language governing permissions and
20*3ac0a46fSAndroid Build Coastguard Worker  * limitations under the License.
21*3ac0a46fSAndroid Build Coastguard Worker  */
22*3ac0a46fSAndroid Build Coastguard Worker 
23*3ac0a46fSAndroid Build Coastguard Worker #include "fxbarcode/qrcode/BC_QRCoderECBlocksData.h"
24*3ac0a46fSAndroid Build Coastguard Worker 
25*3ac0a46fSAndroid Build Coastguard Worker namespace fxbarcode {
26*3ac0a46fSAndroid Build Coastguard Worker 
27*3ac0a46fSAndroid Build Coastguard Worker const CBC_QRCoderECBlockData kECBData[40][4] = {
28*3ac0a46fSAndroid Build Coastguard Worker     {{7, 1, 19, 0, 0}, {10, 1, 16, 0, 0}, {13, 1, 13, 0, 0}, {17, 1, 9, 0, 0}},
29*3ac0a46fSAndroid Build Coastguard Worker     {{10, 1, 34, 0, 0},
30*3ac0a46fSAndroid Build Coastguard Worker      {16, 1, 28, 0, 0},
31*3ac0a46fSAndroid Build Coastguard Worker      {22, 1, 22, 0, 0},
32*3ac0a46fSAndroid Build Coastguard Worker      {28, 1, 16, 0, 0}},
33*3ac0a46fSAndroid Build Coastguard Worker     {{15, 1, 55, 0, 0},
34*3ac0a46fSAndroid Build Coastguard Worker      {26, 1, 44, 0, 0},
35*3ac0a46fSAndroid Build Coastguard Worker      {18, 2, 17, 0, 0},
36*3ac0a46fSAndroid Build Coastguard Worker      {22, 2, 13, 0, 0}},
37*3ac0a46fSAndroid Build Coastguard Worker     {{20, 1, 80, 0, 0}, {18, 2, 32, 0, 0}, {26, 2, 24, 0, 0}, {16, 4, 9, 0, 0}},
38*3ac0a46fSAndroid Build Coastguard Worker     {{26, 1, 108, 0, 0},
39*3ac0a46fSAndroid Build Coastguard Worker      {24, 2, 43, 0, 0},
40*3ac0a46fSAndroid Build Coastguard Worker      {18, 2, 15, 2, 16},
41*3ac0a46fSAndroid Build Coastguard Worker      {22, 2, 11, 2, 12}},
42*3ac0a46fSAndroid Build Coastguard Worker     {{18, 2, 68, 0, 0},
43*3ac0a46fSAndroid Build Coastguard Worker      {16, 4, 27, 0, 0},
44*3ac0a46fSAndroid Build Coastguard Worker      {24, 4, 19, 0, 0},
45*3ac0a46fSAndroid Build Coastguard Worker      {28, 4, 15, 0, 0}},
46*3ac0a46fSAndroid Build Coastguard Worker     {{20, 2, 78, 0, 0},
47*3ac0a46fSAndroid Build Coastguard Worker      {18, 4, 31, 0, 0},
48*3ac0a46fSAndroid Build Coastguard Worker      {18, 2, 14, 4, 15},
49*3ac0a46fSAndroid Build Coastguard Worker      {26, 4, 13, 1, 14}},
50*3ac0a46fSAndroid Build Coastguard Worker     {{24, 2, 97, 0, 0},
51*3ac0a46fSAndroid Build Coastguard Worker      {22, 2, 38, 2, 39},
52*3ac0a46fSAndroid Build Coastguard Worker      {22, 4, 18, 2, 19},
53*3ac0a46fSAndroid Build Coastguard Worker      {26, 4, 14, 2, 15}},
54*3ac0a46fSAndroid Build Coastguard Worker     {{30, 2, 116, 0, 0},
55*3ac0a46fSAndroid Build Coastguard Worker      {22, 3, 36, 2, 37},
56*3ac0a46fSAndroid Build Coastguard Worker      {20, 4, 16, 4, 17},
57*3ac0a46fSAndroid Build Coastguard Worker      {24, 4, 12, 4, 13}},
58*3ac0a46fSAndroid Build Coastguard Worker     {{18, 2, 68, 2, 69},
59*3ac0a46fSAndroid Build Coastguard Worker      {26, 4, 43, 1, 44},
60*3ac0a46fSAndroid Build Coastguard Worker      {24, 6, 19, 2, 20},
61*3ac0a46fSAndroid Build Coastguard Worker      {28, 6, 15, 2, 16}},
62*3ac0a46fSAndroid Build Coastguard Worker     {{20, 4, 81, 0, 0},
63*3ac0a46fSAndroid Build Coastguard Worker      {30, 1, 50, 4, 51},
64*3ac0a46fSAndroid Build Coastguard Worker      {28, 4, 22, 4, 23},
65*3ac0a46fSAndroid Build Coastguard Worker      {24, 3, 12, 8, 13}},
66*3ac0a46fSAndroid Build Coastguard Worker     {{24, 2, 92, 2, 93},
67*3ac0a46fSAndroid Build Coastguard Worker      {22, 6, 36, 2, 37},
68*3ac0a46fSAndroid Build Coastguard Worker      {26, 4, 20, 6, 21},
69*3ac0a46fSAndroid Build Coastguard Worker      {28, 7, 14, 4, 15}},
70*3ac0a46fSAndroid Build Coastguard Worker     {{26, 4, 107, 0, 0},
71*3ac0a46fSAndroid Build Coastguard Worker      {22, 8, 37, 1, 38},
72*3ac0a46fSAndroid Build Coastguard Worker      {24, 8, 20, 4, 21},
73*3ac0a46fSAndroid Build Coastguard Worker      {22, 12, 11, 4, 12}},
74*3ac0a46fSAndroid Build Coastguard Worker     {{30, 3, 115, 1, 116},
75*3ac0a46fSAndroid Build Coastguard Worker      {24, 4, 40, 5, 41},
76*3ac0a46fSAndroid Build Coastguard Worker      {20, 11, 16, 5, 17},
77*3ac0a46fSAndroid Build Coastguard Worker      {24, 11, 12, 5, 13}},
78*3ac0a46fSAndroid Build Coastguard Worker     {{22, 5, 87, 1, 88},
79*3ac0a46fSAndroid Build Coastguard Worker      {24, 5, 41, 5, 42},
80*3ac0a46fSAndroid Build Coastguard Worker      {30, 5, 24, 7, 25},
81*3ac0a46fSAndroid Build Coastguard Worker      {24, 11, 12, 7, 13}},
82*3ac0a46fSAndroid Build Coastguard Worker     {{24, 5, 98, 1, 99},
83*3ac0a46fSAndroid Build Coastguard Worker      {28, 7, 45, 3, 46},
84*3ac0a46fSAndroid Build Coastguard Worker      {24, 15, 19, 2, 20},
85*3ac0a46fSAndroid Build Coastguard Worker      {30, 3, 15, 13, 16}},
86*3ac0a46fSAndroid Build Coastguard Worker     {{28, 1, 107, 5, 108},
87*3ac0a46fSAndroid Build Coastguard Worker      {28, 10, 46, 1, 47},
88*3ac0a46fSAndroid Build Coastguard Worker      {28, 1, 22, 15, 23},
89*3ac0a46fSAndroid Build Coastguard Worker      {28, 2, 14, 17, 15}},
90*3ac0a46fSAndroid Build Coastguard Worker     {{30, 5, 120, 1, 121},
91*3ac0a46fSAndroid Build Coastguard Worker      {26, 9, 43, 4, 44},
92*3ac0a46fSAndroid Build Coastguard Worker      {28, 17, 22, 1, 23},
93*3ac0a46fSAndroid Build Coastguard Worker      {28, 2, 14, 19, 15}},
94*3ac0a46fSAndroid Build Coastguard Worker     {{28, 3, 113, 4, 114},
95*3ac0a46fSAndroid Build Coastguard Worker      {26, 3, 44, 11, 45},
96*3ac0a46fSAndroid Build Coastguard Worker      {26, 17, 21, 4, 22},
97*3ac0a46fSAndroid Build Coastguard Worker      {26, 9, 13, 16, 14}},
98*3ac0a46fSAndroid Build Coastguard Worker     {{28, 3, 107, 5, 108},
99*3ac0a46fSAndroid Build Coastguard Worker      {26, 3, 41, 13, 42},
100*3ac0a46fSAndroid Build Coastguard Worker      {30, 15, 24, 5, 25},
101*3ac0a46fSAndroid Build Coastguard Worker      {28, 15, 15, 10, 16}},
102*3ac0a46fSAndroid Build Coastguard Worker     {{28, 4, 116, 4, 117},
103*3ac0a46fSAndroid Build Coastguard Worker      {26, 17, 42, 0, 0},
104*3ac0a46fSAndroid Build Coastguard Worker      {28, 17, 22, 6, 23},
105*3ac0a46fSAndroid Build Coastguard Worker      {30, 19, 16, 6, 17}},
106*3ac0a46fSAndroid Build Coastguard Worker     {{28, 2, 111, 7, 112},
107*3ac0a46fSAndroid Build Coastguard Worker      {28, 17, 46, 0, 0},
108*3ac0a46fSAndroid Build Coastguard Worker      {30, 7, 24, 16, 25},
109*3ac0a46fSAndroid Build Coastguard Worker      {24, 34, 13, 0, 0}},
110*3ac0a46fSAndroid Build Coastguard Worker     {{30, 4, 121, 5, 122},
111*3ac0a46fSAndroid Build Coastguard Worker      {28, 4, 47, 14, 48},
112*3ac0a46fSAndroid Build Coastguard Worker      {30, 11, 24, 14, 25},
113*3ac0a46fSAndroid Build Coastguard Worker      {30, 16, 15, 14, 16}},
114*3ac0a46fSAndroid Build Coastguard Worker     {{30, 6, 117, 4, 118},
115*3ac0a46fSAndroid Build Coastguard Worker      {28, 6, 45, 14, 46},
116*3ac0a46fSAndroid Build Coastguard Worker      {30, 11, 24, 16, 25},
117*3ac0a46fSAndroid Build Coastguard Worker      {30, 30, 16, 2, 17}},
118*3ac0a46fSAndroid Build Coastguard Worker     {{26, 8, 106, 4, 107},
119*3ac0a46fSAndroid Build Coastguard Worker      {28, 8, 47, 13, 48},
120*3ac0a46fSAndroid Build Coastguard Worker      {30, 7, 24, 22, 25},
121*3ac0a46fSAndroid Build Coastguard Worker      {30, 22, 15, 13, 16}},
122*3ac0a46fSAndroid Build Coastguard Worker     {{28, 10, 114, 2, 115},
123*3ac0a46fSAndroid Build Coastguard Worker      {28, 19, 46, 4, 47},
124*3ac0a46fSAndroid Build Coastguard Worker      {28, 28, 22, 6, 23},
125*3ac0a46fSAndroid Build Coastguard Worker      {30, 33, 16, 4, 17}},
126*3ac0a46fSAndroid Build Coastguard Worker     {{30, 8, 122, 4, 123},
127*3ac0a46fSAndroid Build Coastguard Worker      {28, 22, 45, 3, 46},
128*3ac0a46fSAndroid Build Coastguard Worker      {30, 8, 23, 26, 24},
129*3ac0a46fSAndroid Build Coastguard Worker      {30, 12, 15, 28, 16}},
130*3ac0a46fSAndroid Build Coastguard Worker     {{30, 3, 117, 10, 118},
131*3ac0a46fSAndroid Build Coastguard Worker      {28, 3, 45, 23, 46},
132*3ac0a46fSAndroid Build Coastguard Worker      {30, 4, 24, 31, 25},
133*3ac0a46fSAndroid Build Coastguard Worker      {30, 11, 15, 31, 16}},
134*3ac0a46fSAndroid Build Coastguard Worker     {{30, 7, 116, 7, 117},
135*3ac0a46fSAndroid Build Coastguard Worker      {28, 21, 45, 7, 46},
136*3ac0a46fSAndroid Build Coastguard Worker      {30, 1, 23, 37, 24},
137*3ac0a46fSAndroid Build Coastguard Worker      {30, 19, 15, 26, 16}},
138*3ac0a46fSAndroid Build Coastguard Worker     {{30, 5, 115, 10, 116},
139*3ac0a46fSAndroid Build Coastguard Worker      {28, 19, 47, 10, 48},
140*3ac0a46fSAndroid Build Coastguard Worker      {30, 15, 24, 25, 25},
141*3ac0a46fSAndroid Build Coastguard Worker      {30, 23, 15, 25, 16}},
142*3ac0a46fSAndroid Build Coastguard Worker     {{30, 13, 115, 3, 116},
143*3ac0a46fSAndroid Build Coastguard Worker      {28, 2, 46, 29, 47},
144*3ac0a46fSAndroid Build Coastguard Worker      {30, 42, 24, 1, 25},
145*3ac0a46fSAndroid Build Coastguard Worker      {30, 23, 15, 28, 16}},
146*3ac0a46fSAndroid Build Coastguard Worker     {{30, 17, 115, 0, 0},
147*3ac0a46fSAndroid Build Coastguard Worker      {28, 10, 46, 23, 47},
148*3ac0a46fSAndroid Build Coastguard Worker      {30, 10, 24, 35, 25},
149*3ac0a46fSAndroid Build Coastguard Worker      {30, 19, 15, 35, 16}},
150*3ac0a46fSAndroid Build Coastguard Worker     {{30, 17, 115, 1, 116},
151*3ac0a46fSAndroid Build Coastguard Worker      {28, 14, 46, 21, 47},
152*3ac0a46fSAndroid Build Coastguard Worker      {30, 29, 24, 19, 25},
153*3ac0a46fSAndroid Build Coastguard Worker      {30, 11, 15, 46, 16}},
154*3ac0a46fSAndroid Build Coastguard Worker     {{30, 13, 115, 6, 116},
155*3ac0a46fSAndroid Build Coastguard Worker      {28, 14, 46, 23, 47},
156*3ac0a46fSAndroid Build Coastguard Worker      {30, 44, 24, 7, 25},
157*3ac0a46fSAndroid Build Coastguard Worker      {30, 59, 16, 1, 17}},
158*3ac0a46fSAndroid Build Coastguard Worker     {{30, 12, 121, 7, 122},
159*3ac0a46fSAndroid Build Coastguard Worker      {28, 12, 47, 26, 48},
160*3ac0a46fSAndroid Build Coastguard Worker      {30, 39, 24, 14, 25},
161*3ac0a46fSAndroid Build Coastguard Worker      {30, 22, 15, 41, 16}},
162*3ac0a46fSAndroid Build Coastguard Worker     {{30, 6, 121, 14, 122},
163*3ac0a46fSAndroid Build Coastguard Worker      {28, 6, 47, 34, 48},
164*3ac0a46fSAndroid Build Coastguard Worker      {30, 46, 24, 10, 25},
165*3ac0a46fSAndroid Build Coastguard Worker      {30, 2, 15, 64, 16}},
166*3ac0a46fSAndroid Build Coastguard Worker     {{30, 17, 122, 4, 123},
167*3ac0a46fSAndroid Build Coastguard Worker      {28, 29, 46, 14, 47},
168*3ac0a46fSAndroid Build Coastguard Worker      {30, 49, 24, 10, 25},
169*3ac0a46fSAndroid Build Coastguard Worker      {30, 24, 15, 46, 16}},
170*3ac0a46fSAndroid Build Coastguard Worker     {{30, 4, 122, 18, 123},
171*3ac0a46fSAndroid Build Coastguard Worker      {28, 13, 46, 32, 47},
172*3ac0a46fSAndroid Build Coastguard Worker      {30, 48, 24, 14, 25},
173*3ac0a46fSAndroid Build Coastguard Worker      {30, 42, 15, 32, 16}},
174*3ac0a46fSAndroid Build Coastguard Worker     {{30, 20, 117, 4, 118},
175*3ac0a46fSAndroid Build Coastguard Worker      {28, 40, 47, 7, 48},
176*3ac0a46fSAndroid Build Coastguard Worker      {30, 43, 24, 22, 25},
177*3ac0a46fSAndroid Build Coastguard Worker      {30, 10, 15, 67, 16}},
178*3ac0a46fSAndroid Build Coastguard Worker     {{30, 19, 118, 6, 119},
179*3ac0a46fSAndroid Build Coastguard Worker      {28, 18, 47, 31, 48},
180*3ac0a46fSAndroid Build Coastguard Worker      {30, 34, 24, 34, 25},
181*3ac0a46fSAndroid Build Coastguard Worker      {30, 20, 15, 61, 16}},
182*3ac0a46fSAndroid Build Coastguard Worker };
183*3ac0a46fSAndroid Build Coastguard Worker 
184*3ac0a46fSAndroid Build Coastguard Worker }  // namespace fxbarcode
185