Development Planner and Task History ==================================== Basic rules ----------- + Every new version will be uploaded to CTAN network + For each single task there will be a single commit Hypothetical development task list: ----------------------------------- 20__-__-__: [dev] TiKz driver 20__-__-__: [dev] debug driver, ga stream pretty printing 20__-__-__: [dev] make thing happen: font property for text 20__-__-__: [dev] develop LaTeX user package 20__-__-__: [dev] coherent error management 20__-__-__: [dev] proportional options 20__-__-__: [dev] a number parameter can be a string? unit measure... 20__-__-__: [prj] a command line program to print barcodes 20__-__-__: [dev] make optional file name in all the Driver methods 20__-__-__: [prj] test l3build for testing and CTAN files packaging 20__-__-__: [dev] load barcode parameters from an external file 20__-__-__: [dev] new Parameter Class 202_-__-__: [dev][barcode] new `alias` feature 202_-__-__: [dev][barcode] new `preset` feature 202_-__-__: [project][build] make a Lua script to easily create the CTAN upload : compressed files 202_-__-__: [dev] statistical data on how many barcode symbols was printed 202_-__-__: [upc] UPC-E barcode symbology Scheduled task list for Data Matrix 2D symbology implementation: ---------------------------------------------------------------- 202_-__-__: [dmx] data matrix first run 202_-__-__: [dmx] ecc200 error correction code 202_-__-__: [svg] opcode for grids 202_-__-__: [pdf] opcode for grids 202_-__-__: [ga] ga new grid opcode 202_-__-__: [geo] grid vector object 202_-__-__: [dev] init source file encoder for Data Matrix Ongoing Scheduler: ================== ------------------------------------------------------------------------------- 202_-__-__: [milestone] version 0.1 202_-__-__: [test] update test files with recent changes 202_-__-__: [dev][ean] fix the `ean:checksum()` to include ISBN and ISSN variant 202_-__-__: [dev] control the method call on the right class 202_-__-__: [code128] add human readeable text 202_-__-__: [breaking change] refactor Text libgeo object 202_-__-__: [project] adhere to semver specification 202_-__-__: [doc] API reference 202_-__-__: [doc] barcode symbologies reference: code39 ------------------------------------------------------------------------------- 2022-06-22: [code128] fix a bug in the encoder (complete rewriting) ------------------------------------------------------------------------------- 2020-05-03: [barcode] debug_bbox option 2020-05-03: [libgeo] optional tx, ty moving point for encode_ 2020-04-06: [driver] new methods for gaCanvas class and default style graphic 2020-03-20: [upc] new UPC-A barcode symbology 2020-03-13: [barcode] new method get_code() and get_hri() 2020-03-11: [breaking change][barcode] new `draw()` method 2020-03-07: [ga] new and opcodes 2020-03-06: [doc] new section explains `Vbar` 2020-03-02: [doc] add a chess example for `ga` stream [merge]<--------+ | 2020-03-02: [doc] put ga-asm-spec together with the manual | [doc-basic-ref]-+ 2020-02-27:*[dev][i2of5] human readeable text for i2of5 and ITF14 [merge]<--------+ | 2020-02-26: [ean] guard text in EAN symbology 2020-02-25: [libgeo][gaCanvas] Polyline object test file 2020-02-25: [libgeo][gaCanvas] new Polyline object | [Polyline]------+ 2020-02-22: [dev] new methods _process_char() and _process_digit() 2020-02-09: [dev] new constructor `Barcode:new()` [merge]<--------+ | 2020-02-17: [libgeo] delete `Vbar_archive` in favour of `Archive` 2020-02-16: [libgeo] arithmetic of new object `Queue` 2020-02-12: [libgeo] new class `Archive` 2020-02-12: [dev][libgeo] add method `Vbar_archive:add_space()` 2020-02-12: [dev][libgeo] refactor `Vbar_archive:push_queue()` method 2020-02-12: [dev][ean] refactor ean to use `Vbar_archive` 2020-02-11: [dev][i2to5] refactor i2of5 to use `Vbar_archive` 2020-02-10: [dev][code128] refactor code128 to use `Vbar_archive` 2020-02-09: [dev][libgeo] refactor code39 to use `Vbar_archive` 2020-02-06: [dev][libgeo] new `Vbar_archive` class in libgeo | [vbar_archive]--+ 2020-02-05: [dev][libgeo][breaking change] return `ok, err` instead of `err` for canvas methods 2020-02-04: [dev][ean] new function `encoder:_init_parse_state()`, and EAN : family adoption; : [dev][i2of5] `encoder:_init_parse_state()` adoption for ITF14 : variant : [project] update version number in preparation of the next version ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- 2020-02-04: [milestone] version completed task/commit list: ------------------------------------------------------------------------------- 2020-02-04: [dev][ean] ISSN support 2020-02-03: [dev][ean] move out of `_config()` `finalize()` method as in i2of5 2020-02-02: [dev][i2of5] new ITF14 variant, plan for the next version 2020-02-01: [dev] new semantic for barcode parameter: alternative family : parameters definition for a variant, via `_par_def_` field 2020-02-01: [dev] rewrite code for the filter option in : `Barcode:param_ord_iter()` and execute a test on it 2020-01-31: [dev] add filter option on `Barcode:param_ord_iter()` 2020-01-18: [dev][breaking change] rename config() private method to _config(), : encoders can now decide if variant argument is mandatory or not, : update to year 2020 copyright notes 2020-01-08: [dev][ean family] complete the ISBN support 2019-12-29: [dev] a new data structure for encoder parameter ordering 2019-12-29: [dev][ean family] inital ISBN support 2019-12-28: [api][barcode] new Barcode method `:get_code()` 2019-12-27: [api][breaking change] rename the `get_barcode_class()` method : to the more simple `barcode()` : [api][breaking change] new encoder naming convention : reuse or create a new encoder object in barracuda:hbox() and : barracuda:save() methods ------------------------------------------------------------------------------- Task history and previous version: ================================== [🎉] 2019-12-04: prelude to version v0.1 09.15: 2019-11-29: [prj] upload to CTAN version v0.0.9.1 (under CTAN rules) 09.14: 2019-11-29: [prj] upload to CTAN version v0.0.9 09.13: 2019-11-26: [man] say something about barracuda.sty 09.12: 2019-11-26: [man] edit the section 'A more deep look' for clearness 09.11: 2019-11-26: [prj] reformat todo file: no more date at line end 09.10: 2019-11-26: [svg] take dimensions as scaled point and then mm 09.09: 2019-11-26: [prj] every dev task ends with a repository commit 09.08: 2019-11-25: [prj] .gitignore .out file 09.07: 2019-11-25: [svg] support for text 09.06: 2019-11-25: [man] time to get an usable manual even if minimal 09.05: 2019-11-23: [chk] some new test files 09.04: 2019-11-23: [dev] new barracuda methods save() and hbox() 09.03: 2019-11-20: [svg] driver first run 09.02: 2019-11-10: [dev] implement ga opcode for line-join style and line-cap style 09.01: 2019-11-10: [prj] make lib-parseopt a separated project move costructors to the barcode abstract class 🎉 2019-11-09 Task 8.5: adopted new Barcode costructors in the EAN encoder 2019-11-09 Task 8.4: adopted new Barcode costructors in the ITF encoder 2019-11-09 Task 8.3: adopted new Barcode costructors in the Code128 encoder 2019-11-09 Task 8.2: adopted new Barcode costructors in the Code39 encoder 2019-11-04 Task 8.1: new costructor method in the barcode superclass 2019-11-04 code refactoring for ga-canvas 🎉 2019-11-02 Task 7.5: recompile all the test files 2019-11-02 Task 7.4: new functions canvas:encode_() 2019-11-02 Task 7.3: text position options for Code39 became two indipendent 2019-11-02 Task 7.2: added a new code39 test file (and bugs fixed) 2019-11-02 Task 7.1: added subdirectories in the test tree 2019-11-02 implement Interleaved 2 of 5 encoder 🎉 2019-07-02 Task 6.4: test files 2019-07-02 Task 6.3: add bearer bars for itf encoder 2019-07-02 Task 6.2: check digit capability for itf 2 of 5 encoder 2019-07-02 Task 6.1: implement basic Interleaved 2 of 5 encoder 2019-06-29 implement Code128 and EAN family encoders 🎉 2019-01-27 Task 5.5: test file 2019-01-27 Task 5.4: implement EAN2 variant 2019-01-26 Task 5.3: implement EAN5 variant 2019-01-26 Task 5.2: new family encoder concept 2019-01-25 Task 5.1: implement EAN13 encoder 2019-01-12 Task 4.4: refactoring param iterator 2018-12-30 Task 4.3: test the local system of option set up for Code128 2018-12-30 Task 4.2: test the local system of option set up for Code39 2018-12-30 Task 4.1: test for ga-canvas 2018-12-29 Task 3.3: opt in Code 39 and Code 128 symbol constructors 2018-12-24 Task 3.2: focus on a new constructor in Barcode Class for better encoder implementation 2018-12-21 Task 3.1: import and refactoring previous Code128 encoder code 2018-12-16 🎉 2018-12-11 Task 2.5: option text_gap for code39 2018-12-11 Task 2.4: resolved the horizontal correction in spaced text 2018-12-11 Task 2.3: further text option for the Code39 encoder 2018-12-06 Task 2.2: include minimal text ability to the system Task 2.1: design and implement a basic framework open 0.0.1 alpha dev master branch 🎉 2018-11-30