Finished fleshing out GNU Barcode backend.
This commit is contained in:
@@ -75,7 +75,7 @@ namespace glabels
|
||||
|
||||
#if HAVE_GNU_BARCODE
|
||||
//
|
||||
// Libqrencode backend
|
||||
// GNU Barcode backend
|
||||
//
|
||||
registerBackend( "gnu-barcode", "GNU Barcode" );
|
||||
|
||||
@@ -86,6 +86,24 @@ namespace glabels
|
||||
glbarcode::Factory::registerType( "gnu-barcode::ean-13", GnuBarcode::Ean13::create );
|
||||
glbarcode::Factory::registerType( "gnu-barcode::ean-13+2", GnuBarcode::Ean13_2::create );
|
||||
glbarcode::Factory::registerType( "gnu-barcode::ean-13+5", GnuBarcode::Ean13_5::create );
|
||||
glbarcode::Factory::registerType( "gnu-barcode::upc", GnuBarcode::Upc::create );
|
||||
glbarcode::Factory::registerType( "gnu-barcode::upc-a", GnuBarcode::UpcA::create );
|
||||
glbarcode::Factory::registerType( "gnu-barcode::upc-a+2", GnuBarcode::UpcA_2::create );
|
||||
glbarcode::Factory::registerType( "gnu-barcode::upc-a+5", GnuBarcode::UpcA_5::create );
|
||||
glbarcode::Factory::registerType( "gnu-barcode::upc-e", GnuBarcode::UpcE::create );
|
||||
glbarcode::Factory::registerType( "gnu-barcode::upc-e+2", GnuBarcode::UpcE_2::create );
|
||||
glbarcode::Factory::registerType( "gnu-barcode::upc-e+5", GnuBarcode::UpcE_5::create );
|
||||
glbarcode::Factory::registerType( "gnu-barcode::isbn", GnuBarcode::Isbn::create );
|
||||
glbarcode::Factory::registerType( "gnu-barcode::isbn+5", GnuBarcode::Isbn_5::create );
|
||||
glbarcode::Factory::registerType( "gnu-barcode::code39", GnuBarcode::Code39::create );
|
||||
glbarcode::Factory::registerType( "gnu-barcode::code128", GnuBarcode::Code128::create );
|
||||
glbarcode::Factory::registerType( "gnu-barcode::code128c", GnuBarcode::Code128C::create );
|
||||
glbarcode::Factory::registerType( "gnu-barcode::code128b", GnuBarcode::Code128B::create );
|
||||
glbarcode::Factory::registerType( "gnu-barcode::i25", GnuBarcode::I25::create );
|
||||
glbarcode::Factory::registerType( "gnu-barcode::cbr", GnuBarcode::Cbr::create );
|
||||
glbarcode::Factory::registerType( "gnu-barcode::msi", GnuBarcode::Msi::create );
|
||||
glbarcode::Factory::registerType( "gnu-barcode::pls", GnuBarcode::Pls::create );
|
||||
glbarcode::Factory::registerType( "gnu-barcode::code93", GnuBarcode::Code93::create );
|
||||
|
||||
registerStyle( "ean", "gnu-barcode", tr("EAN (any)"),
|
||||
true, true, true, false, "000000000000 00000", false, 17 );
|
||||
@@ -101,6 +119,42 @@ namespace glabels
|
||||
true, true, true, false, "000000000000 00", false, 14 );
|
||||
registerStyle( "ean-13+5", "gnu-barcode", tr("EAN-13+5"),
|
||||
true, true, true, false, "000000000000 00000", false, 17 );
|
||||
registerStyle( "upc", "gnu-barcode", tr("UPC (UPC-A or UPC-E)"),
|
||||
true, true, true, false, "00000000000 00000", false, 16 );
|
||||
registerStyle( "upc-a", "gnu-barcode", tr("UPC-A"),
|
||||
true, true, true, false, "00000000000", false, 11 );
|
||||
registerStyle( "upc-a+2", "gnu-barcode", tr("UPC-A +2"),
|
||||
true, true, true, false, "00000000000 00", false, 13 );
|
||||
registerStyle( "upc-a+5", "gnu-barcode", tr("UPC-A +5"),
|
||||
true, true, true, false, "00000000000 00000", false, 16 );
|
||||
registerStyle( "upc-e", "gnu-barcode", tr("UPC-E"),
|
||||
true, true, true, false, "000000", false, 6 );
|
||||
registerStyle( "upc-e+2", "gnu-barcode", tr("UPC-E +2"),
|
||||
true, true, true, false, "000000 00", false, 8 );
|
||||
registerStyle( "upc-e+5", "gnu-barcode", tr("UPC-E +5"),
|
||||
true, true, true, false, "000000 00000", false, 11 );
|
||||
registerStyle( "isbn", "gnu-barcode", tr("ISBN"),
|
||||
true, true, true, true, "0-00000-000-0", false, 10 );
|
||||
registerStyle( "isbn+5", "gnu-barcode", tr("ISBN +5"),
|
||||
true, true, true, true, "0-00000-000-0 00000", false, 15 );
|
||||
registerStyle( "code39", "gnu-barcode", tr("Code 39"),
|
||||
true, true, true, true, "0000000000", true, 10 );
|
||||
registerStyle( "code128", "gnu-barcode", tr("Code 128"),
|
||||
true, true, true, true, "0000000000", true, 10 );
|
||||
registerStyle( "code128c", "gnu-barcode", tr("Code 128C"),
|
||||
true, true, true, false, "0000000000", true, 10 );
|
||||
registerStyle( "code128b", "gnu-barcode", tr("Code 128B"),
|
||||
true, true, true, true, "0000000000", true, 10 );
|
||||
registerStyle( "i25", "gnu-barcode", tr("Interleaved 2 of 5"),
|
||||
true, true, true, true, "0000000000", true, 10 );
|
||||
registerStyle( "cbr", "gnu-barcode", tr("Codabar"),
|
||||
true, true, true, true, "0000000000", true, 10 );
|
||||
registerStyle( "msi", "gnu-barcode", tr("MSI"),
|
||||
true, true, true, true, "0000000000", true, 10 );
|
||||
registerStyle( "pls", "gnu-barcode", tr("Plessey"),
|
||||
true, true, true, true, "0000000000", true, 10 );
|
||||
registerStyle( "code93", "gnu-barcode", tr("Code 93"),
|
||||
true, true, true, false, "0000000000", true, 10 );
|
||||
#endif // HAVE_GNU_BARCODE
|
||||
|
||||
#if HAVE_QRENCODE
|
||||
|
||||
@@ -61,14 +61,10 @@ namespace glabels
|
||||
|
||||
for ( unsigned int i = 0; i < data.size(); i++ )
|
||||
{
|
||||
if ( (data[i] & 0x80) == 0 )
|
||||
if ( isdigit(data[i]) )
|
||||
{
|
||||
n++;
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return (n >= nMin) && (n <= nMax);
|
||||
@@ -344,6 +340,9 @@ namespace glabels
|
||||
}
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////
|
||||
// EAN Barcode (Any)
|
||||
//////////////////////////////////////////////////////
|
||||
glbarcode::Barcode* Ean::create()
|
||||
{
|
||||
return new Ean();
|
||||
@@ -368,6 +367,9 @@ namespace glabels
|
||||
}
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////
|
||||
// EAN-8 Barcode
|
||||
//////////////////////////////////////////////////////
|
||||
glbarcode::Barcode* Ean8::create()
|
||||
{
|
||||
return new Ean8();
|
||||
@@ -387,6 +389,9 @@ namespace glabels
|
||||
}
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////
|
||||
// EAN-8+2 Barcode
|
||||
//////////////////////////////////////////////////////
|
||||
glbarcode::Barcode* Ean8_2::create()
|
||||
{
|
||||
return new Ean8_2();
|
||||
@@ -406,6 +411,9 @@ namespace glabels
|
||||
}
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////
|
||||
// EAN-8+5 Barcode
|
||||
//////////////////////////////////////////////////////
|
||||
glbarcode::Barcode* Ean8_5::create()
|
||||
{
|
||||
return new Ean8_5();
|
||||
@@ -425,6 +433,9 @@ namespace glabels
|
||||
}
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////
|
||||
// EAN-13 Barcode
|
||||
//////////////////////////////////////////////////////
|
||||
glbarcode::Barcode* Ean13::create()
|
||||
{
|
||||
return new Ean13();
|
||||
@@ -444,6 +455,9 @@ namespace glabels
|
||||
}
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////
|
||||
// EAN-13+2 Barcode
|
||||
//////////////////////////////////////////////////////
|
||||
glbarcode::Barcode* Ean13_2::create()
|
||||
{
|
||||
return new Ean13_2();
|
||||
@@ -463,6 +477,9 @@ namespace glabels
|
||||
}
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////
|
||||
// EAN-13+5 Barcode
|
||||
//////////////////////////////////////////////////////
|
||||
glbarcode::Barcode* Ean13_5::create()
|
||||
{
|
||||
return new Ean13_5();
|
||||
@@ -482,6 +499,407 @@ namespace glabels
|
||||
}
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////
|
||||
// UPC Barcode (Any)
|
||||
//////////////////////////////////////////////////////
|
||||
glbarcode::Barcode* Upc::create()
|
||||
{
|
||||
return new Upc();
|
||||
}
|
||||
|
||||
|
||||
bool Upc::validate( const std::string& rawData )
|
||||
{
|
||||
return isNumericLengthValid( rawData, 6, 8 )
|
||||
|| isNumericLengthValid( rawData, 11, 12 )
|
||||
|| (isNumericLength1Valid( rawData, 6, 8 ) && isNumericLength2Valid( rawData, 2, 2 ))
|
||||
|| (isNumericLength1Valid( rawData, 6, 8 ) && isNumericLength2Valid( rawData, 5, 5 ))
|
||||
|| (isNumericLength1Valid( rawData, 11, 12 ) && isNumericLength2Valid( rawData, 2, 2 ))
|
||||
|| (isNumericLength1Valid( rawData, 11, 12 ) && isNumericLength2Valid( rawData, 5, 5 ));
|
||||
}
|
||||
|
||||
|
||||
std::string Upc::encode( const std::string& cookedData )
|
||||
{
|
||||
flags = BARCODE_UPC;
|
||||
return ""; // Actual encoding is done in vectorize
|
||||
}
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////
|
||||
// UPC-A Barcode
|
||||
//////////////////////////////////////////////////////
|
||||
glbarcode::Barcode* UpcA::create()
|
||||
{
|
||||
return new UpcA();
|
||||
}
|
||||
|
||||
|
||||
bool UpcA::validate( const std::string& rawData )
|
||||
{
|
||||
return isNumericLengthValid( rawData, 11, 12 );
|
||||
}
|
||||
|
||||
|
||||
std::string UpcA::encode( const std::string& cookedData )
|
||||
{
|
||||
flags = BARCODE_UPC;
|
||||
return ""; // Actual encoding is done in vectorize
|
||||
}
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////
|
||||
// UPC-A+2 Barcode
|
||||
//////////////////////////////////////////////////////
|
||||
glbarcode::Barcode* UpcA_2::create()
|
||||
{
|
||||
return new UpcA_2();
|
||||
}
|
||||
|
||||
|
||||
bool UpcA_2::validate( const std::string& rawData )
|
||||
{
|
||||
return isNumericLength1Valid( rawData, 11, 12 ) && isNumericLength2Valid( rawData, 2, 2 );
|
||||
}
|
||||
|
||||
|
||||
std::string UpcA_2::encode( const std::string& cookedData )
|
||||
{
|
||||
flags = BARCODE_UPC;
|
||||
return ""; // Actual encoding is done in vectorize
|
||||
}
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////
|
||||
// UPC-A+5 Barcode
|
||||
//////////////////////////////////////////////////////
|
||||
glbarcode::Barcode* UpcA_5::create()
|
||||
{
|
||||
return new UpcA_5();
|
||||
}
|
||||
|
||||
|
||||
bool UpcA_5::validate( const std::string& rawData )
|
||||
{
|
||||
return isNumericLength1Valid( rawData, 11, 12 ) && isNumericLength2Valid( rawData, 5, 5 );
|
||||
}
|
||||
|
||||
|
||||
std::string UpcA_5::encode( const std::string& cookedData )
|
||||
{
|
||||
flags = BARCODE_UPC;
|
||||
return ""; // Actual encoding is done in vectorize
|
||||
}
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////
|
||||
// UPC-E Barcode
|
||||
//////////////////////////////////////////////////////
|
||||
glbarcode::Barcode* UpcE::create()
|
||||
{
|
||||
return new UpcE();
|
||||
}
|
||||
|
||||
|
||||
bool UpcE::validate( const std::string& rawData )
|
||||
{
|
||||
return isNumericLengthValid( rawData, 6, 8 );
|
||||
}
|
||||
|
||||
|
||||
std::string UpcE::encode( const std::string& cookedData )
|
||||
{
|
||||
flags = BARCODE_UPC;
|
||||
return ""; // Actual encoding is done in vectorize
|
||||
}
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////
|
||||
// UPC-E+2 Barcode
|
||||
//////////////////////////////////////////////////////
|
||||
glbarcode::Barcode* UpcE_2::create()
|
||||
{
|
||||
return new UpcE_2();
|
||||
}
|
||||
|
||||
|
||||
bool UpcE_2::validate( const std::string& rawData )
|
||||
{
|
||||
return isNumericLength1Valid( rawData, 6, 8 ) && isNumericLength2Valid( rawData, 2, 2 );
|
||||
}
|
||||
|
||||
|
||||
std::string UpcE_2::encode( const std::string& cookedData )
|
||||
{
|
||||
flags = BARCODE_UPC;
|
||||
return ""; // Actual encoding is done in vectorize
|
||||
}
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////
|
||||
// UPC-E+5 Barcode
|
||||
//////////////////////////////////////////////////////
|
||||
glbarcode::Barcode* UpcE_5::create()
|
||||
{
|
||||
return new UpcE_5();
|
||||
}
|
||||
|
||||
|
||||
bool UpcE_5::validate( const std::string& rawData )
|
||||
{
|
||||
return isNumericLength1Valid( rawData, 6, 8 ) && isNumericLength2Valid( rawData, 5, 5 );
|
||||
}
|
||||
|
||||
|
||||
std::string UpcE_5::encode( const std::string& cookedData )
|
||||
{
|
||||
flags = BARCODE_UPC;
|
||||
return ""; // Actual encoding is done in vectorize
|
||||
}
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////
|
||||
// ISBN Barcode
|
||||
//////////////////////////////////////////////////////
|
||||
glbarcode::Barcode* Isbn::create()
|
||||
{
|
||||
return new Isbn();
|
||||
}
|
||||
|
||||
|
||||
bool Isbn::validate( const std::string& rawData )
|
||||
{
|
||||
return isNumericLengthValid( rawData, 9, 10 );
|
||||
}
|
||||
|
||||
|
||||
std::string Isbn::encode( const std::string& cookedData )
|
||||
{
|
||||
flags = BARCODE_ISBN;
|
||||
return ""; // Actual encoding is done in vectorize
|
||||
}
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////
|
||||
// ISBN+5 Barcode
|
||||
//////////////////////////////////////////////////////
|
||||
glbarcode::Barcode* Isbn_5::create()
|
||||
{
|
||||
return new Isbn_5();
|
||||
}
|
||||
|
||||
|
||||
bool Isbn_5::validate( const std::string& rawData )
|
||||
{
|
||||
return isNumericLength1Valid( rawData, 9, 10 ) && isNumericLength2Valid( rawData, 5, 5 );
|
||||
}
|
||||
|
||||
|
||||
std::string Isbn_5::encode( const std::string& cookedData )
|
||||
{
|
||||
flags = BARCODE_ISBN;
|
||||
return ""; // Actual encoding is done in vectorize
|
||||
}
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////
|
||||
// Code39 Barcode
|
||||
//////////////////////////////////////////////////////
|
||||
glbarcode::Barcode* Code39::create()
|
||||
{
|
||||
return new Code39();
|
||||
}
|
||||
|
||||
|
||||
bool Code39::validate( const std::string& rawData )
|
||||
{
|
||||
return isAscii( rawData );
|
||||
}
|
||||
|
||||
|
||||
std::string Code39::encode( const std::string& cookedData )
|
||||
{
|
||||
flags = BARCODE_39;
|
||||
return ""; // Actual encoding is done in vectorize
|
||||
}
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////
|
||||
// Code128 Barcode
|
||||
//////////////////////////////////////////////////////
|
||||
glbarcode::Barcode* Code128::create()
|
||||
{
|
||||
return new Code128();
|
||||
}
|
||||
|
||||
|
||||
bool Code128::validate( const std::string& rawData )
|
||||
{
|
||||
return isAscii( rawData );
|
||||
}
|
||||
|
||||
|
||||
std::string Code128::encode( const std::string& cookedData )
|
||||
{
|
||||
flags = BARCODE_128;
|
||||
return ""; // Actual encoding is done in vectorize
|
||||
}
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////
|
||||
// Code128C Barcode
|
||||
//////////////////////////////////////////////////////
|
||||
glbarcode::Barcode* Code128C::create()
|
||||
{
|
||||
return new Code128C();
|
||||
}
|
||||
|
||||
|
||||
bool Code128C::validate( const std::string& rawData )
|
||||
{
|
||||
return isAscii( rawData );
|
||||
}
|
||||
|
||||
|
||||
std::string Code128C::encode( const std::string& cookedData )
|
||||
{
|
||||
flags = BARCODE_128C;
|
||||
return ""; // Actual encoding is done in vectorize
|
||||
}
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////
|
||||
// Code128B Barcode
|
||||
//////////////////////////////////////////////////////
|
||||
glbarcode::Barcode* Code128B::create()
|
||||
{
|
||||
return new Code128B();
|
||||
}
|
||||
|
||||
|
||||
bool Code128B::validate( const std::string& rawData )
|
||||
{
|
||||
return isAscii( rawData );
|
||||
}
|
||||
|
||||
|
||||
std::string Code128B::encode( const std::string& cookedData )
|
||||
{
|
||||
flags = BARCODE_128B;
|
||||
return ""; // Actual encoding is done in vectorize
|
||||
}
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////
|
||||
// I25 Barcode
|
||||
//////////////////////////////////////////////////////
|
||||
glbarcode::Barcode* I25::create()
|
||||
{
|
||||
return new I25();
|
||||
}
|
||||
|
||||
|
||||
bool I25::validate( const std::string& rawData )
|
||||
{
|
||||
return isAscii( rawData );
|
||||
}
|
||||
|
||||
|
||||
std::string I25::encode( const std::string& cookedData )
|
||||
{
|
||||
flags = BARCODE_I25;
|
||||
return ""; // Actual encoding is done in vectorize
|
||||
}
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////
|
||||
// CBR Barcode
|
||||
//////////////////////////////////////////////////////
|
||||
glbarcode::Barcode* Cbr::create()
|
||||
{
|
||||
return new Cbr();
|
||||
}
|
||||
|
||||
|
||||
bool Cbr::validate( const std::string& rawData )
|
||||
{
|
||||
return isAscii( rawData );
|
||||
}
|
||||
|
||||
|
||||
std::string Cbr::encode( const std::string& cookedData )
|
||||
{
|
||||
flags = BARCODE_CBR;
|
||||
return ""; // Actual encoding is done in vectorize
|
||||
}
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////
|
||||
// MSI Barcode
|
||||
//////////////////////////////////////////////////////
|
||||
glbarcode::Barcode* Msi::create()
|
||||
{
|
||||
return new Msi();
|
||||
}
|
||||
|
||||
|
||||
bool Msi::validate( const std::string& rawData )
|
||||
{
|
||||
return isAscii( rawData );
|
||||
}
|
||||
|
||||
|
||||
std::string Msi::encode( const std::string& cookedData )
|
||||
{
|
||||
flags = BARCODE_MSI;
|
||||
return ""; // Actual encoding is done in vectorize
|
||||
}
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////
|
||||
// PLS Barcode
|
||||
//////////////////////////////////////////////////////
|
||||
glbarcode::Barcode* Pls::create()
|
||||
{
|
||||
return new Pls();
|
||||
}
|
||||
|
||||
|
||||
bool Pls::validate( const std::string& rawData )
|
||||
{
|
||||
return isAscii( rawData );
|
||||
}
|
||||
|
||||
|
||||
std::string Pls::encode( const std::string& cookedData )
|
||||
{
|
||||
flags = BARCODE_PLS;
|
||||
return ""; // Actual encoding is done in vectorize
|
||||
}
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////
|
||||
// Code93 Barcode
|
||||
//////////////////////////////////////////////////////
|
||||
glbarcode::Barcode* Code93::create()
|
||||
{
|
||||
return new Code93();
|
||||
}
|
||||
|
||||
|
||||
bool Code93::validate( const std::string& rawData )
|
||||
{
|
||||
return isAscii( rawData );
|
||||
}
|
||||
|
||||
|
||||
std::string Code93::encode( const std::string& cookedData )
|
||||
{
|
||||
flags = BARCODE_93;
|
||||
return ""; // Actual encoding is done in vectorize
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -160,6 +160,258 @@ namespace glabels
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* UPC Barcode (Any)
|
||||
*/
|
||||
class Upc : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* UPC-A Barcode
|
||||
*/
|
||||
class UpcA : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* UPC-A+2 Barcode
|
||||
*/
|
||||
class UpcA_2 : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* UPC-A+5 Barcode
|
||||
*/
|
||||
class UpcA_5 : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* UPC-E Barcode
|
||||
*/
|
||||
class UpcE : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* UPC-E+2 Barcode
|
||||
*/
|
||||
class UpcE_2 : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* UPC-E+5 Barcode
|
||||
*/
|
||||
class UpcE_5 : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* ISBN Barcode
|
||||
*/
|
||||
class Isbn : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* ISBN+5 Barcode
|
||||
*/
|
||||
class Isbn_5 : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Code39 Barcode
|
||||
*/
|
||||
class Code39 : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Code128 Barcode
|
||||
*/
|
||||
class Code128 : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Code128C Barcode
|
||||
*/
|
||||
class Code128C : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Code128B Barcode
|
||||
*/
|
||||
class Code128B : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* I25 Barcode
|
||||
*/
|
||||
class I25 : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* CBR Barcode
|
||||
*/
|
||||
class Cbr : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* MSI Barcode
|
||||
*/
|
||||
class Msi : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* PLS Barcode
|
||||
*/
|
||||
class Pls : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Code93 Barcode
|
||||
*/
|
||||
class Code93 : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user