diff options
Diffstat (limited to 'xfa/fxbarcode/oned/BC_OnedEAN8Writer.cpp')
-rw-r--r-- | xfa/fxbarcode/oned/BC_OnedEAN8Writer.cpp | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/xfa/fxbarcode/oned/BC_OnedEAN8Writer.cpp b/xfa/fxbarcode/oned/BC_OnedEAN8Writer.cpp index 063847b260..bea145b8d1 100644 --- a/xfa/fxbarcode/oned/BC_OnedEAN8Writer.cpp +++ b/xfa/fxbarcode/oned/BC_OnedEAN8Writer.cpp @@ -20,14 +20,21 @@ * limitations under the License. */ -#include "xfa/fxbarcode/BC_Reader.h" #include "xfa/fxbarcode/BC_Writer.h" #include "xfa/fxbarcode/common/BC_CommonBitMatrix.h" -#include "xfa/fxbarcode/oned/BC_OneDReader.h" -#include "xfa/fxbarcode/oned/BC_OneDimReader.h" #include "xfa/fxbarcode/oned/BC_OneDimWriter.h" #include "xfa/fxbarcode/oned/BC_OnedEAN8Writer.h" +namespace { + +const int32_t START_END_PATTERN[3] = {1, 1, 1}; +const int32_t MIDDLE_PATTERN[5] = {1, 1, 1, 1, 1}; +const int32_t L_PATTERNS[10][4] = { + {3, 2, 1, 1}, {2, 2, 2, 1}, {2, 1, 2, 2}, {1, 4, 1, 1}, {1, 1, 3, 2}, + {1, 2, 3, 1}, {1, 1, 1, 4}, {1, 3, 1, 2}, {1, 2, 1, 3}, {3, 1, 1, 2}}; + +} // namespace + CBC_OnedEAN8Writer::CBC_OnedEAN8Writer() { m_iDataLenth = 8; m_codeWidth = 3 + (7 * 4) + 5 + (7 * 4) + 3; @@ -120,8 +127,7 @@ uint8_t* CBC_OnedEAN8Writer::Encode(const CFX_ByteString& contents, outLength = m_codeWidth; uint8_t* result = FX_Alloc(uint8_t, m_codeWidth); int32_t pos = 0; - pos += - AppendPattern(result, pos, CBC_OneDimReader::START_END_PATTERN, 3, 1, e); + pos += AppendPattern(result, pos, START_END_PATTERN, 3, 1, e); if (e != BCExceptionNO) { FX_Free(result); return nullptr; @@ -129,29 +135,26 @@ uint8_t* CBC_OnedEAN8Writer::Encode(const CFX_ByteString& contents, int32_t i = 0; for (i = 0; i <= 3; i++) { int32_t digit = FXSYS_atoi(contents.Mid(i, 1).c_str()); - pos += AppendPattern(result, pos, CBC_OneDimReader::L_PATTERNS[digit], 4, 0, - e); + pos += AppendPattern(result, pos, L_PATTERNS[digit], 4, 0, e); if (e != BCExceptionNO) { FX_Free(result); return nullptr; } } - pos += AppendPattern(result, pos, CBC_OneDimReader::MIDDLE_PATTERN, 5, 0, e); + pos += AppendPattern(result, pos, MIDDLE_PATTERN, 5, 0, e); if (e != BCExceptionNO) { FX_Free(result); return nullptr; } for (i = 4; i <= 7; i++) { int32_t digit = FXSYS_atoi(contents.Mid(i, 1).c_str()); - pos += AppendPattern(result, pos, CBC_OneDimReader::L_PATTERNS[digit], 4, 1, - e); + pos += AppendPattern(result, pos, L_PATTERNS[digit], 4, 1, e); if (e != BCExceptionNO) { FX_Free(result); return nullptr; } } - pos += - AppendPattern(result, pos, CBC_OneDimReader::START_END_PATTERN, 3, 1, e); + pos += AppendPattern(result, pos, START_END_PATTERN, 3, 1, e); if (e != BCExceptionNO) { FX_Free(result); return nullptr; |