Big-Ugly Style Update (#278)

* Bulk replaced tabs with spaces
* Bulk removed trailing whitespace from lines
* Replaced c-style comments with c++-style comments in file banners
* Replace nested namespace definitions with single concise definitions (C++17), this keeps the indentation more manageable
* Cleanup ordering and spacing of include directives
* Bulk renaming of header file extensions from '.h' to '.hpp'.
* Update CODING-STYLE.md
* Update target_compile_features from cxx_std_11 to cxx_std_20.
* Refresh .clang-format file.  Still needs a lot of tweaking.
This commit is contained in:
Jaye Evins
2026-01-07 19:43:34 -05:00
committed by GitHub
parent 3cd173a37f
commit 1c902230fe
454 changed files with 51827 additions and 52031 deletions
+132
View File
@@ -0,0 +1,132 @@
// BarcodeCode39Ext.hpp
//
// Copyright (C) 2013 Jaye Evins <evins@snaught.com>
//
// This file is part of glbarcode++.
//
// glbarcode++ is free software: you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// glbarcode++ is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
// along with glbarcode++. If not, see <http://www.gnu.org/licenses/>.
//
#ifndef glbarcode_BarcodeCode39Ext_hpp
#define glbarcode_BarcodeCode39Ext_hpp
#include "BarcodeCode39.hpp"
namespace glbarcode
{
/**
* @class BarcodeCode39Ext BarcodeCode39Ext.h glbarcode/BarcodeCode39Ext.h
*
* Extended *Code 39* 1D barcode symbology.
*
* @image html sample-code39ext.svg "Sample Extended Code 39 Barcode"
*
*
* ### Input Data Format ###
*
* The extended *Code 39* barcode type supports the full 7-bit ASCII
* character set (0-127). This support is accomplished by encoding
* lower case letters, constrol characters, and special characters
* other than "-" and "." as two character sequences as illustrated
* in the following table:
*
* | Dec | Char | Enc || Dec | Char | Enc || Dec | Char | Enc || Dec | Char | Enc |
* |----:|:----:|:---:||----:|:----:|:---:||----:|:----:|:---:||----:|:----:|:---:|
* | 0 | NUL | %%U || 32 | \" \"|\" \"|| 64 | @ | %%V || 96 | ` | %%W |
* | 1 | SOH | $A || 33 | ! | /A || 65 | A | A || 97 | a | +A |
* | 2 | STX | $B || 34 | \" | /B || 66 | B | B || 98 | b | +B |
* | 3 | ETX | $C || 35 | # | /C || 67 | C | C || 99 | c | +C |
* | 4 | EOT | $D || 36 | $ | /D || 68 | D | D || 100 | d | +D |
* | 5 | ENQ | $E || 37 | % | /E || 69 | E | E || 101 | e | +E |
* | 6 | ACK | $F || 38 | & | /F || 70 | F | F || 102 | f | +F |
* | 7 | BEL | $G || 39 | ' | /G || 71 | G | G || 103 | g | +G |
* | 8 | BS | $H || 40 | ( | /H || 72 | H | H || 104 | h | +H |
* | 9 | HT | $I || 41 | ) | /I || 73 | I | I || 105 | i | +I |
* | 10 | LF | $J || 42 | * | /J || 74 | J | J || 106 | j | +J |
* | 11 | VT | $K || 43 | + | /K || 75 | K | K || 107 | k | +K |
* | 12 | FF | $L || 44 | , | /L || 76 | L | L || 108 | l | +L |
* | 13 | CR | $M || 45 | - | - || 77 | M | M || 109 | m | +M |
* | 14 | SO | $N || 46 | . | . || 78 | N | N || 110 | n | +N |
* | 15 | SI | $O || 47 | / | /O || 79 | O | O || 111 | o | +O |
* | 16 | DLE | $P || 48 | 0 | 0 || 80 | P | P || 112 | p | +P |
* | 17 | DC1 | $Q || 49 | 1 | 1 || 81 | Q | Q || 113 | q | +Q |
* | 18 | DC2 | $R || 50 | 2 | 2 || 82 | R | R || 114 | r | +R |
* | 19 | DC3 | $S || 51 | 3 | 3 || 83 | S | S || 115 | s | +S |
* | 20 | DC4 | $T || 52 | 4 | 4 || 84 | T | T || 116 | t | +T |
* | 21 | NAK | $U || 53 | 5 | 5 || 85 | U | U || 117 | u | +U |
* | 22 | SYN | $V || 54 | 6 | 6 || 86 | V | V || 118 | v | +V |
* | 23 | ETB | $W || 55 | 7 | 7 || 87 | W | W || 119 | w | +W |
* | 24 | CAN | $X || 56 | 8 | 8 || 88 | X | X || 120 | x | +X |
* | 25 | EM | $Y || 57 | 9 | 9 || 89 | Y | Y || 121 | y | +Y |
* | 26 | SUB | $Z || 58 | : | /Z || 90 | Z | Z || 122 | z | +Z |
* | 27 | ESC | %%A || 59 | ; | %%F || 91 | [ | %%K || 123 | { | %%P |
* | 28 | FS | %%B || 60 | < | %%G || 92 | \\ | %%L || 124 | \| | %%Q |
* | 29 | GS | %%C || 61 | = | %%H || 93 | ] | %%M || 125 | } | %%R |
* | 30 | RS | %%D || 62 | > | %%I || 94 | ^ | %%N || 126 | ~ | %%S |
* | 31 | US | %%E || 63 | ? | %%J || 95 | _ | %%O || 127 | DEL | %%T |
*
* This pre-encoded data is now encoded using the standard *Code 39* symbology.
*
*
* ### Checksum Property ###
*
* If the *checksum* property is *true*, a modulo 43 check digit will be
* automatically generated and appended to the 1st pass encoded data
* prior to the 2nd pass *Code 39* encoding. By default, the check digit
* will not be generated.
*
* See setChecksum().
*
*
* ### Show Text Property ###
*
* If the *Show Text* property is *true*, the original ASCII input data will
* be printed below the barcode. By default, the data will not be printed.
*
* See setShowText().
*
*
* ### References ###
*
* - http://en.wikipedia.org/wiki/Code_39
*
*
*/
class BarcodeCode39Ext : public BarcodeCode39
{
public:
/**
* Static Extended Code39 barcode creation method
*
* Used by glbarcode::BarcodeFactory
*/
static Barcode* create();
private:
bool validate( const std::string& rawData ) override;
std::string preprocess( const std::string& rawData ) override;
std::string prepareText( const std::string& rawData ) override;
};
}
#endif // glbarcode_BarcodeCode39Ext_hpp