Skip to content

Latest commit

 

History

History
82 lines (66 loc) · 3.5 KB

README.md

File metadata and controls

82 lines (66 loc) · 3.5 KB

barcode-ui

A simple GUI to libbarcode. Generates barcodes in PostScript.

Requirements

  • Built with clang on Unix-compatible systems, MSVC on Windows
  • libbarcode

Windows

GTK binaries and headers are provided with the project.

Unix-compatible systems

  • GTK+ 3.24.7 or higher
  • pkg-config
  • GNU Make
  • Valgrind for debugging (optional)

Development

Unix-compatible systems

Run make dev in the root directory. This will clone and build libbarcode and copy header files to include/. Build with make ui main.

Windows

Run .\windev.bat in the root directory to get started. Run .\winbuild.bat to build the project.

On Windows systems, there are two target architectures available: x86 or x64. The default architecture is set to x86 (see TARGET in winbuild.bat). The resulting executable is written to bin\<architecture>\barcode.exe.

To produce an archive for distribution, run .\release.bat. This produces a distributable zip archive located in release\barcode.zip.

License

This project is licensed under the Mozilla Public License Version 2.0. See LICENSE for more information.

Several external libraries are bundled with this project to be dynamically linked, as part of its use of GTK. The DLLs are located in the bin directory and headers are located in the include/win directory. These libraries are as follows:

Library License
ATK LGPL 2.1
bzip2 BSD-like
Cairo LGPL 2.1
Epoxy MIT
Expat MIT
Fontconfig MIT
FreeType FreeType License
GdkPixbuf LGPL 2.1
GLib LGPL 2.1
GTK LGPL 2.1
HarfBuzz "Old MIT"
libiconv LGPL 2
libpng libpng license
gettext LGPL 2.1
Pango LGPL 2
PCRE PCRE2 license
zlib zlib license

A Windows-10 GTK theme is bundled with the project, GhostScript is utilised for printing.

Please see LICENSE-THIRD-PARTY for copyright notices and copies of licenses.

TODO

  • For page layout, put in default 2 columns, then automatically calculate no. of rows based on no. of barcodes
  • Add callback functions for ps properties
  • Add preview generation function
  • Add printing:
    • Printing via GhostScript on Windows and lp on Unix
    • Printer selection drop-down list
  • Ensure windows builds and runs
  • Docs