diff options
Diffstat (limited to 'share/extensions/Barcode/Code25i.py')
| -rw-r--r-- | share/extensions/Barcode/Code25i.py | 68 |
1 files changed, 0 insertions, 68 deletions
diff --git a/share/extensions/Barcode/Code25i.py b/share/extensions/Barcode/Code25i.py deleted file mode 100644 index 2c751559c..000000000 --- a/share/extensions/Barcode/Code25i.py +++ /dev/null @@ -1,68 +0,0 @@ -# -# Copyright (C) 2010 Geoffrey Mosini -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program 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 General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA. -# -""" -Generate barcodes for Code25-interleaved 2 of 5, for Inkscape. -""" - -from .Base import Barcode - -# 1 means thick, 0 means thin -ENCODE = { - '0': '00110', - '1': '10001', - '2': '01001', - '3': '11000', - '4': '00101', - '5': '10100', - '6': '01100', - '7': '00011', - '8': '10010', - '9': '01010', -} - - -class Code25i(Barcode): - """Convert a text into string binary of black and white markers""" - # Start and stop code are already encoded into white (0) and black(1) bars - def encode(self, number): - if not number.isdigit(): - return self.error(number, "CODE25 can only encode numbers.") - - # Number of figures to encode must be even, - # a 0 is added to the left in case it's odd. - if len(number) % 2 > 0: - number = '0' + number - - # Number is encoded by pairs of 2 figures - size = len(number) / 2 - encoded = '1010' - for i in range(size): - # First in the pair is encoded in black (1), second in white (0) - black = ENCODE[number[i*2]] - white = ENCODE[number[i*2+1]] - for j in range(5): - if black[j] == '1': - encoded += '11' - else: - encoded += '1' - if white[j] == '1': - encoded += '00' - else: - encoded += '0' - return encoded + '1101' - |
