Skip to content
This repository was archived by the owner on Jan 23, 2026. It is now read-only.

Commit a57bdf0

Browse files
authored
Merge pull request #10 from intel-x86-64/feature/MVP
Add support Code 93
2 parents 9a292f3 + 8fd88c3 commit a57bdf0

4 files changed

Lines changed: 34 additions & 0 deletions

File tree

include/BarcodeFactory.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
#pragma once
22

33
#include "Code39Generator.h"
4+
#include "Code93Generator.h"
45
#include "DataBarExpandedGenerator.h"
56
#include "DataBarGenerator.h"
67
#include "DataMatrixGenerator.h"

include/Code93Generator.h

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
#pragma once
2+
#include "IBarcodeGenerator.h"
3+
#include <ZXing/Barcode.h>
4+
#include <ZXing/BarcodeFormat.h>
5+
#include <ZXing/BitMatrix.h>
6+
#include <ZXing/BitMatrixIO.h>
7+
#include <ZXing/CharacterSet.h>
8+
#include <ZXing/Matrix.h>
9+
#include <ZXing/MultiFormatWriter.h>
10+
#include <memory>
11+
#include <stdexcept>
12+
#include <string>
13+
#include <utility>
14+
15+
class Code93Generator : public virtual IBarcodeGenerator {
16+
private:
17+
ZXing::MultiFormatWriter writer{ZXing::BarcodeFormat::Code93};
18+
19+
public:
20+
std::string generate(const std::string &text, int margin, int size);
21+
};

src/BarcodeFactory.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ BarcodeFactory::create(const std::string type) {
1717
return std::make_unique<DataBarExpandedGenerator>();
1818
} else if (type == "Code39") {
1919
return std::make_unique<Code39Generator>();
20+
} else if (type == "Code93") {
21+
return std::make_unique<Code93Generator>();
2022
}
2123

2224
return std::make_unique<QrGenerator>();

src/Code93Generator.cpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#include "../include/Code93Generator.h"
2+
3+
std::string Code93Generator::generate(const std::string &text, int margin,
4+
int size) {
5+
writer.setMargin(margin);
6+
writer.setEncoding(ZXing::CharacterSet::UTF8);
7+
ZXing::BitMatrix matrix = writer.encode(text, size, size);
8+
9+
return ZXing::ToSVG(matrix);
10+
}

0 commit comments

Comments
 (0)