From caaf4c2fe0634d98d8be5730c78129c440f63306 Mon Sep 17 00:00:00 2001 From: Henry Schimke Date: Sat, 7 Jan 2023 17:22:04 -0600 Subject: [PATCH] additional barcode format configuration --- src/barcode_format.rs | 21 +++++++++++++++------ src/multi_format_writer.rs | 4 ++-- src/oned/coda_bar_writer.rs | 16 +++++++++------- 3 files changed, 26 insertions(+), 15 deletions(-) diff --git a/src/barcode_format.rs b/src/barcode_format.rs index ca950ae..7c8d65c 100644 --- a/src/barcode_format.rs +++ b/src/barcode_format.rs @@ -75,6 +75,9 @@ pub enum BarcodeFormat { /** UPC/EAN extension format. Not a stand-alone format. */ UPC_EAN_EXTENSION, + + /// + UNSUPORTED_FORMAT, } impl Display for BarcodeFormat { @@ -100,6 +103,7 @@ impl Display for BarcodeFormat { BarcodeFormat::UPC_A => "upc a", BarcodeFormat::UPC_E => "upc e", BarcodeFormat::UPC_EAN_EXTENSION => "upc/ean extension", + _ => "unsuported", } ) } @@ -109,11 +113,15 @@ impl Display for BarcodeFormat { impl From<&str> for BarcodeFormat { fn from(value: &str) -> Self { match value.to_lowercase().as_str() { - "aztec" => BarcodeFormat::AZTEC, + "aztec" | "aztec code" | "aztec_code" => BarcodeFormat::AZTEC, "codabar" | "coda" | "coda_bar" | "cod_a_bar" | "cod_a" => BarcodeFormat::CODABAR, - "code 39" | "code_39" | "code39" => BarcodeFormat::CODE_39, + "code 39" | "code_39" | "code39" | "alpha39" | "code_3_of_9" | "uss_39" | "usd-3" => { + BarcodeFormat::CODE_39 + } "code 93" | "code_93" | "code93" => BarcodeFormat::CODE_93, - "code 128" | "code_129" | "code128" => BarcodeFormat::CODE_128, + "code 128" | "code_129" | "code128" | "iso/ied 15417:2007" | "iso/_15417:2007" => { + BarcodeFormat::CODE_128 + } "datamatrix" | "data matrix" | "data_matrix" => BarcodeFormat::DATA_MATRIX, "ean 8" | "ean_8" | "ean8" => BarcodeFormat::EAN_8, "ean 13" | "ean_13" | "ean13" => BarcodeFormat::EAN_13, @@ -121,15 +129,16 @@ impl From<&str> for BarcodeFormat { BarcodeFormat::ITF } "maxicode" | "maxi_code" => BarcodeFormat::MAXICODE, - "pdf 417" | "pdf_417" | "pdf417" => BarcodeFormat::PDF_417, + "pdf 417" | "pdf_417" | "pdf417" | "iso 15438" | "iso_15438" => BarcodeFormat::PDF_417, "qrcode" | "qr_code" | "qr code" => BarcodeFormat::QR_CODE, - "rss 14" | "rss_14" | "rss14" | "gs1 databar" => BarcodeFormat::RSS_14, + "rss 14" | "rss_14" | "rss14" | "gs1 databar" | "gs1 databar coupon" + | "gs1_databar_coupon" => BarcodeFormat::RSS_14, "rss expanded" | "expanded rss" | "rss_expanded" => BarcodeFormat::RSS_EXPANDED, "upc a" | "upc_a" | "upca" => BarcodeFormat::UPC_A, "upc e" | "upc_e" | "upce" => BarcodeFormat::UPC_E, "upc ean extension" | "upc extension" | "ean extension" | "upc/ean extension" | "upc_ean_extension" => BarcodeFormat::UPC_EAN_EXTENSION, - _ => BarcodeFormat::QR_CODE, + _ => BarcodeFormat::UNSUPORTED_FORMAT, } } } diff --git a/src/multi_format_writer.rs b/src/multi_format_writer.rs index e416788..a067655 100644 --- a/src/multi_format_writer.rs +++ b/src/multi_format_writer.rs @@ -20,8 +20,8 @@ use crate::{ aztec::AztecWriter, datamatrix::DataMatrixWriter, oned::{ - Code128Writer, Code39Writer, Code93Writer, EAN13Writer, EAN8Writer, ITFWriter, UPCAWriter, - UPCEWriter, CodaBarWriter, + CodaBarWriter, Code128Writer, Code39Writer, Code93Writer, EAN13Writer, EAN8Writer, + ITFWriter, UPCAWriter, UPCEWriter, }, pdf417::PDF417Writer, qrcode::QRCodeWriter, diff --git a/src/oned/coda_bar_writer.rs b/src/oned/coda_bar_writer.rs index c3a9b38..7a01174 100644 --- a/src/oned/coda_bar_writer.rs +++ b/src/oned/coda_bar_writer.rs @@ -191,13 +191,15 @@ mod CodaBarWriterTestCase { fn testEncode2() { doTest( "T123T", - concat!("00000", - "1011001001", - "0101011001", - "0101001011", - "0110010101", - "01011001001", - "00000"), + concat!( + "00000", + "1011001001", + "0101011001", + "0101001011", + "0110010101", + "01011001001", + "00000" + ), ); }