diff options
Diffstat (limited to 'fxbarcode/oned/BC_OnedCodaBarWriter.cpp')
-rw-r--r-- | fxbarcode/oned/BC_OnedCodaBarWriter.cpp | 38 |
1 files changed, 21 insertions, 17 deletions
diff --git a/fxbarcode/oned/BC_OnedCodaBarWriter.cpp b/fxbarcode/oned/BC_OnedCodaBarWriter.cpp index 3c3ea4afe8..42990f7f3a 100644 --- a/fxbarcode/oned/BC_OnedCodaBarWriter.cpp +++ b/fxbarcode/oned/BC_OnedCodaBarWriter.cpp @@ -30,16 +30,21 @@ namespace { -const char kOnedCodaAlphabet[] = "0123456789-$:/.+ABCDTN"; - -const int32_t kOnedCodaCharacterEncoding[22] = { - 0x003, 0x006, 0x009, 0x060, 0x012, 0x042, 0x021, 0x024, - 0x030, 0x048, 0x00c, 0x018, 0x045, 0x051, 0x054, 0x015, - 0x01A, 0x029, 0x00B, 0x00E, 0x01A, 0x029}; - -const char START_END_CHARS[] = {'A', 'B', 'C', 'D', 'T', 'N', '*', 'E', - 'a', 'b', 'c', 'd', 't', 'n', 'e'}; -const char CONTENT_CHARS[] = {'0', '1', '2', '3', '4', '5', '6', '7', +const char kOnedCodaAlphabet[] = {'0', '1', '2', '3', '4', '5', '6', '7', + '8', '9', '-', '$', ':', '/', '.', '+', + 'A', 'B', 'C', 'D', 'T', 'N'}; + +const int8_t kOnedCodaCharacterEncoding[] = { + 0x03, 0x06, 0x09, 0x60, 0x12, 0x42, 0x21, 0x24, 0x30, 0x48, 0x0c, + 0x18, 0x45, 0x51, 0x54, 0x15, 0x1A, 0x29, 0x0B, 0x0E, 0x1A, 0x29}; +static_assert(FX_ArraySize(kOnedCodaCharacterEncoding) == 22, "Wrong size"); +static_assert(FX_ArraySize(kOnedCodaCharacterEncoding) == + FX_ArraySize(kOnedCodaAlphabet), + "Wrong size"); + +const char kStartEndChars[] = {'A', 'B', 'C', 'D', 'T', 'N', '*', 'E', + 'a', 'b', 'c', 'd', 't', 'n', 'e'}; +const char kCOntentChars[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '-', '$', '/', ':', '+', '.'}; } // namespace @@ -50,7 +55,7 @@ CBC_OnedCodaBarWriter::CBC_OnedCodaBarWriter() CBC_OnedCodaBarWriter::~CBC_OnedCodaBarWriter() {} bool CBC_OnedCodaBarWriter::SetStartChar(char start) { - if (!pdfium::ContainsValue(START_END_CHARS, start)) + if (!pdfium::ContainsValue(kStartEndChars, start)) return false; m_chStart = start; @@ -58,7 +63,7 @@ bool CBC_OnedCodaBarWriter::SetStartChar(char start) { } bool CBC_OnedCodaBarWriter::SetEndChar(char end) { - if (!pdfium::ContainsValue(START_END_CHARS, end)) + if (!pdfium::ContainsValue(kStartEndChars, end)) return false; m_chEnd = end; @@ -90,8 +95,8 @@ bool CBC_OnedCodaBarWriter::FindChar(wchar_t ch, bool isContent) { return false; char narrow_ch = static_cast<char>(ch); - return pdfium::ContainsValue(CONTENT_CHARS, narrow_ch) || - (isContent && pdfium::ContainsValue(START_END_CHARS, narrow_ch)); + return pdfium::ContainsValue(kCOntentChars, narrow_ch) || + (isContent && pdfium::ContainsValue(kStartEndChars, narrow_ch)); } bool CBC_OnedCodaBarWriter::CheckContentValidity( @@ -157,9 +162,8 @@ uint8_t* CBC_OnedCodaBarWriter::EncodeImpl(const ByteString& contents, default: break; } - int32_t code = 0; - size_t len = strlen(kOnedCodaAlphabet); - for (size_t i = 0; i < len; i++) { + int8_t code = 0; + for (size_t i = 0; i < FX_ArraySize(kOnedCodaAlphabet); i++) { if (ch == kOnedCodaAlphabet[i]) { code = kOnedCodaCharacterEncoding[i]; break; |