GithubHelp home page GithubHelp logo

robitex / barracuda Goto Github PK

View Code? Open in Web Editor NEW
7.0 5.0 0.0 2.31 MB

A modular Lua package for barcode symbology

License: GNU General Public License v2.0

TeX 20.25% Lua 79.75%
lua luatex svg code128 2of5 ean-code code39 barcode-symbologies isbn issn

barracuda's Introduction

barracuda project

This is a pure Lua library for drawing barcode symbols. barracuda components' are able to typeset barcode from within a LuaTeX document in order to produce a PDF file, or is also possible to use a Lua standalone interpreter to draw barcodes in different graphic format such as SVG (see an example below).

a Code39 symbol in SVG format

The internal modules are structured to ensure good performance beside of a complete user control over barcode symbol parameters ๐Ÿ‘

Although development is in beta stage, barracuda has a good level of stability. The package does not have any dependences.

Current version

Version: 0.0.12 - Date: 2022-06-23

Barcode symbologies list

So far, the barcode symbologies supported by the package are:

  • Code 39
  • Code 128
  • Interleaved 2 of 5 (ITF14, i2of5 general)
  • EAN family (ISBN, ISSN, EAN8, EAN13, and the add-ons EAN5 and EAN2)
  • UPC-A

Other 1D encoding symbology will be eventually added to the project, then it will be the turn of 2D barcode types like Datamatrix, QRCode or PDF417.

A very simple LaTeX example

The LaTeX package barracuda.sty under the cover uses Lua code so you need to compile your source files with LuaTeX or LuajitTeX with the LaTeX format.

For instance, the follow is a minimal working example for LuaLaTeX:

% !TeX program = LuaLaTeX
\documentclass{article}
\usepackage{barracuda}
\begin{document}
\barracuda{code39}{123ABC}
\end{document}

Documentation

Details and package reference can be found in the manual delivered in the doc project directory, even if actually it is very minimal at the moment.

Directory test contains files useful also for code examples.

Installation

The barracuda package can be used with pure Lua interpreter or from within a TeX source file for Lua-powered typesetting engine like LuaTeX. In the first case you can manually copy src folder content to a suitable directory of your system. Otherwise, you can install the package via tlmgr for your TeX Live distribution.

If you have installed TeX Live with the full schema, barracuda is just available and no further action is required. Please, take into account that only the tagged version (in the git sense) of the package will be sent to CTAN. This means that intermediate development version between consecutive releases can be found only at https://github.com/robitex/barracuda .

TeX Live distribution or Lua interpreter executable are available for a very large number of Operating Systems so it is also for barracuda.

Step by step instruction can be found in the INSTALL.txt file.

Contribute

Contributes are welcome in any form and for any topics. You can contact me directly via email at [email protected] or via a pull request direct to the repository https://github.com/robitex/barracuda or writing a public message via the web page https://github.com/robitex/barracuda/issues for todos, bugs, feature requests, and more (press the bottom New issue).

Anyway, as a starting point take a look of PLANNER.txt file for the development program.

License

barracuda project is released under the GNU GPL v2. Please, for more legal details refer to LICENSE.txt file or visit the web page https://www.gnu.org/licenses/old-licenses/gpl-2.0.html

Copyright (C) 2019-2022 Roberto Giacomelli

barracuda's People

Contributors

robitex avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

barracuda's Issues

Incorrect generation of Code 128 barcodes

Thank you very much for such a useful and convenient tool!

I encountered a problem with Code 128 generation. Barcodes are generated incorrectly for data like ABC123456789, where there are letters and digits in the same time. Instead of ABC123456789 resulting barcode is being recognized as ABC12345678. Is it possible to fix it?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.