./graphics/zxing-cpp, 1D/2D barcode reader/writer library in C++

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 2.3.0, Package name: zxing-cpp-2.3.0, Maintainer: ryoon

ZXing-C++ ("zebra crossing") is an open-source, multi-format 1D/2D
barcode image processing library implemented in C++.

It was originally ported from the Java ZXing Library but has been
developed further and now includes many improvements in terms of
quality and performance. It can both read and write barcodes in a
number of formats.


Master sites:

Filesize: 984.903 KB

Version history: (Expand)


CVS history: (Expand)


   2025-01-12 11:33:18 by Thomas Klausner | Files touched by this commit (3) | Package updated
Log message:
zxing-cpp: update to 2.3.0.

Shiny new stuff (more than I was aware of, after all this time...)

    Add support for DX Film Edge read by @Merinorus in #684
    Add support for detecting and reading Aztec Runes by @gormster in #763
    Add reader support for DataBarLimited symbols (sponsored by EUREKAM)
    Add C-API in official build (EDIT: unfortunately the default is still off, \ 
to enable do cmake -DZXING_C_API=ON)
    Add Kotlin/Native Wrapper by @ISNing in #719
    Add Rust wrapper based on C-API
    Add .NET wrapper based on C-API
    Introduce new name Barcode for Result which will be removed in 3.0
    LocalAverage binarizer: re-implement with symmetric threshold interpolation \ 
for improved detection of inverted symbols
    cmake: replace BUILD_... prefix of cmake options with ZXING_...
    cmake: switch to c++-20 by default for the core library
    ImageView: introduce bounds checks in constructor
    ImageView: Add ImageFormat::LumX for 2-byte grey + alpha input
    ImageFormat: replace 'X' with 'A', e.g. RGBX -> RGBA
    ZXingReader: add -binarizer <local|global|fixed> command line option
    ZXingReader: add -single option to setMaxNumberOfSymbols(1)
    ZXingReader: parse -formats (including 's') command line argument
    ZXingReader: support reading image file from stdin by passing '-'
    android: switch 'namespace' from zxingcpp to zxingcpp.lib to fix issue with \ 
maven central publication
    Python: add support to write bytes as binary data
    ZXing::Version() function to query the library version at runtime (useful \ 
when dynamically linked)

New experimental API (cmake option -DZXING_EXPERIMENTAL_API=ON)

    New experimental Create+Write API for generating/writing barcodes (will \ 
replace MultiFormatWriter)
    New experimental libzint based writer backend
    New ImageView Barcode::symbol() property
    New experimental writer API in python

Minor changes and bug fixes

    Complete ZXIReaderOptions in iOS Wrapper by @markusfisch in #692
    ios: remove initWithFormats initializer by @markusfisch in #723
    cmake: Make build reproducible across different build directories by \ 
@EchterAgo in #730
    Release color space after use in iOS wrapper by @markusfisch in #790
    cmake: allow overriding python install directories by @jameshilliard in #842
    Refine MultiFormatReader results filtering and apply C++20 erase_if by \ 
@Doekin in #846
    HRI: update AIs to latest gs1-syntax-dictionary.txt by @gitlost in #880
    android: add linker flag to support flexible page sizes in Android 15 by \ 
@ccrowell-kr in #872
    Deprecate validateITFCheckSum, validateCode39CheckSum, returnCodabarStartEnd
    BitHacks: fix random QRCode content on pre-Haswell Windows machines
    DataMatrix: improve detection of near 45° rotated symbols
    cmake: add /utf-8 to MSVC compile flags
    Barcode: tune operator==() to not split up overly tall linear symbols
    Several ITFReader improvements
    QRDecoder: return some content even in the presence of a checksum error
    DataBar: improve detection rate by incorporating edge-2-edge pattern
    PDF417: prevent wrong position info with right side collapsing to (0,0)
    Python: make sure macOS and 64bit Linux packes on pypi.org support \ 
multi-symbol DataMatrix detection (c++20 support)
   2024-08-25 08:19:21 by Thomas Klausner | Files touched by this commit (575)
Log message:
*: replace CMAKE_ARGS with CMAKE_CONFIGURE_ARGS
   2023-12-11 11:10:16 by Thomas Klausner | Files touched by this commit (3) | Package updated
Log message:
zxing-cpp: update to 2.2.1.

2.2.1

I accidentally broke c++ ABI compatibility between 2.1.0 and 2.2.0. This is \ 
fixed here. This release is only of relevance for package maintainers caring \ 
about ABI stability of MINOR version changes according to semantic versioning. \ 
None of the wrappers are effected by this change and hence will not be released \ 
as 2.2.1.

2.2.0

Major Changes

This release is mostly about the Python, Android and iOS wrappers. The latter 2 \ 
have changed considerably to have an API that is more in line with each other \ 
and with the core c++ library. The changes will most likely break existing app \ 
code but set a proper foundation for the future.

    Python:
        Multithreading Support via GIL by @billmccartney in #616
        Remove numpy requirement, use buffer protocol instead by @EchterAgo in #615
        Support sliced numpy arrays
        Expose return_errors parameter to Python wrapper APIs. by @gregtws in #618
        Expose Result::ecLevel method as python property by @marcoffee in #600
        Build wheels for Python 3.12. by @dainnilsson in #625

    Android:
        Android wrapper: Modernize build files by @okarmazin in #619
        Fix permissions on Android R+ by @markusfisch in #656
        Android wrapper improvements by @markusfisch in #659
        android: add consumerProguardFiles by @markusfisch in #660
        android: Fix build with NDK 26 by @michaelweghorn in #674
        Build with C++20 (improved DataMatrix detection) by default
        Don't close() the ImageProxy inside read() anymore, need to do that \ 
outside now (this breaks existing code)
        Change package name from com.zxingcpp to simply zxingcpp (breaking change)
        publish library on mavenCentral for lowest possible barrier of entry

    iOS/macOS:
        iOS Wrapper improvements by @benjohnde in #630
        iOS wrapper: Add functionality of encoding binary data into Barcodes by \ 
@alexmanzer in #635
        Rename ZXingCppWrapper to ZXingCpp by @alexmanzer in #638
        iOS: Enable CocoaPods by providing a podspec by @benjohnde in #637
        Build with C++20 (improved DataMatrix detection) by default
        ios: specify EC level/margin for generation by @markusfisch in #644
        ios: expose all native result items in wrapper by @markusfisch in #649
        ios: clean up ZXIDecodeHints by @markusfisch in #652
        ios: use a default error text instead of crashing by @markusfisch in #661
        ios: improve exception handling by @markusfisch in #664
        ios: rename ZXIDecodeHints to ZXIReaderOptions

    General:
        Rename DecodeHints to ReaderOptions. The old name is still available for \ 
backward API compatibility but deprecated. Since the C-API and the Qt wrapper \ 
code are not officially part of the library, they changed without backward \ 
compatibility.
        WASM: bytes in ReadResult by @Sec-ant in #588
        DataMatrix: use charset for encoding by @markusfisch in #628
        QRCode: Support QR Code Model1 by @sayzzy-nt in #633
        rMQR Code: Support Rectangular Micro QR Code by @gitlost in #681

Minor Changes and Fixes

    Fix QT 6 QML Crash & Enable QML Shape by @LeonnardoVerol in #597
    Python: Fix wrapper build on MSVC not having __cplusplus for BitHacks by \ 
@EchterAgo in #613
    Correctly handle supported image formats on Android APIs < 23 by \ 
@okarmazin in #622
    Add DecodeHints.setMaxNumberOfSymbols() to C API by @siiky in #665
    aztec: on decoding check for padding bits after B/S by @gitlost in #671
   2023-07-19 15:10:11 by Thomas Klausner | Files touched by this commit (3) | Package updated
Log message:
zxing-cpp: update to 2.1.0.

Major Changes

    Considerable performance improvements in linear symbol detection (up to 2x \ 
speedup in select use cases of ReadBarcodes)
    QRCode: major improvement in detection of high version symbols (see e.g. here)
    DMDetector: reduce runtime overhead of c++-20 builds by around 50%
    Refactor Python wrapper so the sdist includes the core library code by \ 
@stumpylog in #530
    wasm wrapper: add function to reader to scan multiple barcode by @Trim in #567
    Added a C wrapper by @siiky in #553. If you find this useful, please have a \ 
look at #583.
    new BUILD_EXPERIMENTAL_API cmake option (currently enabling \ 
DecodeHints::tryDenoise feature, see 9bcfdb3)
    [EDIT: just noticed that this does not work, see 8202a4e]

Minor Changes

    fix crash when the source image is less than 3 pixels width/height by \ 
@liulex in #476
    Android: Enable the saving of images to the phone gallery. by @Sergio- in #483
    WASM wrapper: add symbologyIdentifier into result by @AlexXiong-dev in #576
    CI: build universal2 python module for macos
    Python: compile module with c++20 (position independend DataMatrix support) \ 
by default
    Python: improve error reporting
    DMDetector: fix potential dead-lock
    DMDecoder: support 144x144 symbols in legacy and compliant variants
    UPC/EAN: reduce right quiet zone requirement -> fix non-conformant input
    EAN/UPCA: include AddOn in position calculation
    MSVC build option cleanup
    WASM: simplify and cleanup demo_*.html files
    Updated live web demos to latest code (and setup semi-automatic gh-page \ 
creation for the future)
    a bunch of minor bug fixes
   2023-07-18 20:19:24 by Nia Alarie | Files touched by this commit (17)
Log message:
graphics: Adapt packages to USE_(CC|CXX)_FEATURES
   2023-07-10 09:51:27 by Nia Alarie | Files touched by this commit (2)
Log message:
zxing-cpp: Sync compiler requirements with reality.
   2023-04-26 21:07:23 by Thomas Klausner | Files touched by this commit (1)
Log message:
zxing-cpp: bump ABI depends for shlib bump
   2023-04-26 21:06:36 by Thomas Klausner | Files touched by this commit (3) | Package updated
Log message:
zxing-cpp: update to 2.0.0.

The most visible change from the client perspective is the removal
of all formerly deprecated API, (almost) completing the 'cleanup'.
Since I was way too slow with this release to implement a 'cleanish'
SemVer release as discussed in #333, I decided to release this 2.0
with SONAME 3. A 3.0 release might bring the major version number
back in sync with the SONAME.

Major Changes

    switch to UTF8 based API and remove deprecated UTF16 one (Result::text())
    remove all API deprecated in 1.4
    Adding a wrapper for iOS by @parallaxe in #337
    new Aztec detector implementation to support arbitrary rotation and position \ 
of the symbol
    support multi-symbol detection in Aztec detector
    replace all Qt originated ECI/CharacterSet conversion code with a new \ 
implementation provided by @gitlost (libzueci)
    require c++17 to build library and client code
    new DecodeHints::textMode() and Result::text(TextMode) API to specify how \ 
bytes are rendered into text.
    HRI (human readable interpretation) is the new default for the TextMode (has \ 
been for most cases before, but not all)
    new DecodeHits::tryInvert() feature to test for inverted symbols (white on \ 
black background)

Minor Changes

    deprecate TextUtfEncoding helpers, not required anymore with UTF8 APIs for \ 
both reader and writer
    support for multi-symbol and arbitrary position detection of DataMatrix \ 
symbols when library is built with c++20
    Include version number of QR Code and DataMatrix in Result by @markusfisch \ 
in #396
    reduce size of Result struct by about a third
    cleanup all license related files (see removal of the Qt code above)
    update links and comments to refer to new github.com/zxing-cpp/zxing-cpp home
    improved Code128 decoder for over/underexposed images
    support python 3.11
    a whole bunch of fixes and minor improvements all over the place