23 enum class EncodingMode { kUnknown = 0, kText, kByte, kNumeric };
25 enum class SubMode { kAlpha = 0, kLower, kMixed, kPunctuation };
27 static SubMode EncodeText(
const WideString& msg,
30 SubMode initialSubmode,
32 static void EncodeBinary(pdfium::span<
const uint8_t> bytes,
35 EncodingMode startmode,
37 static void EncodeNumeric(
const WideString& msg,
41 static size_t DetermineConsecutiveDigitCount(WideString msg, size_t startpos);
42 static size_t DetermineConsecutiveTextCount(WideString msg, size_t startpos);
43 static absl::optional<size_t> DetermineConsecutiveBinaryCount(
45 pdfium::span<
const uint8_t> bytes,
48 friend class PDF417HighLevelEncoderTest_ConsecutiveBinaryCount_Test;
49 friend class PDF417HighLevelEncoderTest_ConsecutiveDigitCount_Test;
50 friend class PDF417HighLevelEncoderTest_ConsecutiveTextCount_Test;
51 friend class PDF417HighLevelEncoderTest_EncodeBinary_Test;
52 friend class PDF417HighLevelEncoderTest_EncodeHighLevel_Test;
53 friend class PDF417HighLevelEncoderTest_EncodeNumeric_Test;
54 friend class PDF417HighLevelEncoderTest_EncodeText_Test;