| OLD | NEW | 
|---|
| 1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 
| 6 // Original code is licensed as follows: | 6 // Original code is licensed as follows: | 
| 7 /* | 7 /* | 
| 8  * Copyright 2007 ZXing authors | 8  * Copyright 2007 ZXing authors | 
| 9  * | 9  * | 
| 10  * Licensed under the Apache License, Version 2.0 (the "License"); | 10  * Licensed under the Apache License, Version 2.0 (the "License"); | 
| 11  * you may not use this file except in compliance with the License. | 11  * you may not use this file except in compliance with the License. | 
| 12  * You may obtain a copy of the License at | 12  * You may obtain a copy of the License at | 
| 13  * | 13  * | 
| 14  *      http://www.apache.org/licenses/LICENSE-2.0 | 14  *      http://www.apache.org/licenses/LICENSE-2.0 | 
| 15  * | 15  * | 
| 16  * Unless required by applicable law or agreed to in writing, software | 16  * Unless required by applicable law or agreed to in writing, software | 
| 17  * distributed under the License is distributed on an "AS IS" BASIS, | 17  * distributed under the License is distributed on an "AS IS" BASIS, | 
| 18  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 18  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 
| 19  * See the License for the specific language governing permissions and | 19  * See the License for the specific language governing permissions and | 
| 20  * limitations under the License. | 20  * limitations under the License. | 
| 21  */ | 21  */ | 
| 22 | 22 | 
| 23 #include "xfa/src/fxbarcode/BC_UtilCodingConvert.h" | 23 #include "xfa/src/fxbarcode/BC_UtilCodingConvert.h" | 
| 24 #include "xfa/src/fxbarcode/barcode.h" |  | 
| 25 #include "xfa/src/fxbarcode/common/BC_CommonBitSource.h" | 24 #include "xfa/src/fxbarcode/common/BC_CommonBitSource.h" | 
| 26 #include "xfa/src/fxbarcode/common/BC_CommonCharacterSetECI.h" | 25 #include "xfa/src/fxbarcode/common/BC_CommonCharacterSetECI.h" | 
| 27 #include "xfa/src/fxbarcode/common/BC_CommonDecoderResult.h" | 26 #include "xfa/src/fxbarcode/common/BC_CommonDecoderResult.h" | 
| 28 #include "xfa/src/fxbarcode/common/BC_CommonECI.h" | 27 #include "xfa/src/fxbarcode/common/BC_CommonECI.h" | 
| 29 #include "xfa/src/fxbarcode/qrcode/BC_QRCoderMode.h" | 28 #include "xfa/src/fxbarcode/qrcode/BC_QRCoderMode.h" | 
| 30 #include "xfa/src/fxbarcode/qrcode/BC_QRDecodedBitStreamParser.h" | 29 #include "xfa/src/fxbarcode/qrcode/BC_QRDecodedBitStreamParser.h" | 
|  | 30 | 
| 31 const FX_CHAR* CBC_QRDecodedBitStreamParser::UTF_8 = "utf8"; | 31 const FX_CHAR* CBC_QRDecodedBitStreamParser::UTF_8 = "utf8"; | 
| 32 const FX_CHAR CBC_QRDecodedBitStreamParser::ALPHANUMERIC_CHARS[45] = { | 32 const FX_CHAR CBC_QRDecodedBitStreamParser::ALPHANUMERIC_CHARS[45] = { | 
| 33     '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', | 33     '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', | 
| 34     'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', | 34     'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', | 
| 35     'U', 'V', 'W', 'X', 'Y', 'Z', ' ', '$', '%', '*', '+', '-', '.', '/', ':'}; | 35     'U', 'V', 'W', 'X', 'Y', 'Z', ' ', '$', '%', '*', '+', '-', '.', '/', ':'}; | 
|  | 36 | 
| 36 CBC_QRDecodedBitStreamParser::CBC_QRDecodedBitStreamParser() {} | 37 CBC_QRDecodedBitStreamParser::CBC_QRDecodedBitStreamParser() {} | 
| 37 CBC_QRDecodedBitStreamParser::~CBC_QRDecodedBitStreamParser() {} | 38 CBC_QRDecodedBitStreamParser::~CBC_QRDecodedBitStreamParser() {} | 
| 38 CBC_CommonDecoderResult* CBC_QRDecodedBitStreamParser::Decode( | 39 CBC_CommonDecoderResult* CBC_QRDecodedBitStreamParser::Decode( | 
| 39     CFX_ByteArray* bytes, | 40     CFX_ByteArray* bytes, | 
| 40     CBC_QRCoderVersion* version, | 41     CBC_QRCoderVersion* version, | 
| 41     CBC_QRCoderErrorCorrectionLevel* ecLevel, | 42     CBC_QRCoderErrorCorrectionLevel* ecLevel, | 
| 42     int32_t byteModeDecode, | 43     int32_t byteModeDecode, | 
| 43     int32_t& e) { | 44     int32_t& e) { | 
| 44   CBC_CommonBitSource bits(bytes); | 45   CBC_CommonBitSource bits(bytes); | 
| 45   CFX_ByteString result; | 46   CFX_ByteString result; | 
| (...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 263     return ((firstByte & 0x3f) << 8) | secondByte; | 264     return ((firstByte & 0x3f) << 8) | secondByte; | 
| 264   } else if ((firstByte & 0xe0) == 0xc0) { | 265   } else if ((firstByte & 0xe0) == 0xc0) { | 
| 265     int32_t secondThirdByte = bits->ReadBits(16, e); | 266     int32_t secondThirdByte = bits->ReadBits(16, e); | 
| 266     BC_EXCEPTION_CHECK_ReturnValue(e, 0); | 267     BC_EXCEPTION_CHECK_ReturnValue(e, 0); | 
| 267     return ((firstByte & 0x1f) << 16) | secondThirdByte; | 268     return ((firstByte & 0x1f) << 16) | secondThirdByte; | 
| 268   } | 269   } | 
| 269   e = BCExceptionBadECI; | 270   e = BCExceptionBadECI; | 
| 270   BC_EXCEPTION_CHECK_ReturnValue(e, 0); | 271   BC_EXCEPTION_CHECK_ReturnValue(e, 0); | 
| 271   return 0; | 272   return 0; | 
| 272 } | 273 } | 
| OLD | NEW | 
|---|