7#ifndef FXBARCODE_DATAMATRIX_BC_ENCODERCONTEXT_H_
8#define FXBARCODE_DATAMATRIX_BC_ENCODERCONTEXT_H_
10#include "core/fxcrt/unowned_ptr.h"
11#include "core/fxcrt/widestring.h"
12#include "fxbarcode/datamatrix/BC_HighLevelEncoder.h"
36 return m_bHasCharactersOutsideISO88591Encoding;
47 size_t getTotalMessageCharCount();
49 bool m_bAllowRectangular =
false;
50 bool m_bHasCharactersOutsideISO88591Encoding =
false;
51 size_t m_skipAtEnd = 0;
bool Encode(CBC_EncoderContext *context) override
~CBC_ASCIIEncoder() override
CBC_HighLevelEncoder::Encoding GetEncodingMode() override
void writeCodewords(const WideString &codewords)
UnownedPtr< const CBC_SymbolInfo > m_symbolInfo
void ResetEncoderSignal()
void writeCodeword(wchar_t codeword)
size_t getRemainingCharacters()
CBC_HighLevelEncoder::Encoding m_newEncoding
void setSkipAtEnd(int32_t count)
size_t getCodewordCount()
bool HasCharactersOutsideISO88591Encoding() const
bool UpdateSymbolInfo(size_t len)
void SignalEncoderChange(CBC_HighLevelEncoder::Encoding encoding)
CBC_EncoderContext(const WideString &msg)
virtual bool Encode(CBC_EncoderContext *context)=0
virtual CBC_HighLevelEncoder::Encoding GetEncodingMode()=0
static const wchar_t LATCH_TO_TEXT
static const wchar_t LATCH_TO_ANSIX12
static const wchar_t LATCH_TO_BASE256
static bool IsExtendedASCII(wchar_t ch)
static const wchar_t C40_UNLATCH
static WideString EncodeHighLevel(const WideString &msg)
static const wchar_t LATCH_TO_C40
static const wchar_t UPPER_SHIFT
CBC_HighLevelEncoder()=delete
static const wchar_t LATCH_TO_EDIFACT
static Encoding LookAheadTest(const WideString &msg, size_t startpos, Encoding currentMode)
~CBC_HighLevelEncoder()=delete
static const wchar_t X12_UNLATCH
const wchar_t * c_str() const
bool FXSYS_IsDecimalDigit(wchar_t c)