diff options
| author | Nicolas Dufour <nicoduf@yahoo.fr> | 2010-12-30 08:59:02 +0000 |
|---|---|---|
| committer | JazzyNico <nicoduf@yahoo.fr> | 2010-12-30 08:59:02 +0000 |
| commit | ab5683fcb8d18c7c25c1db59b26a3ea12c9f1548 (patch) | |
| tree | 100b105745767d3a8440d0ea0ae89e33efb25487 /share/extensions/Barcode/Code39Ext.py | |
| parent | Extensions. Gear extension with center hole (see Bug #692719, gear extension ... (diff) | |
| download | inkscape-ab5683fcb8d18c7c25c1db59b26a3ea12c9f1548.tar.gz inkscape-ab5683fcb8d18c7c25c1db59b26a3ea12c9f1548.zip | |
Extensions. Barcode extension refactoring (see https://code.launchpad.net/~doctormo/inkscape/barcode-refactor).
(bzr r9993)
Diffstat (limited to 'share/extensions/Barcode/Code39Ext.py')
| -rw-r--r-- | share/extensions/Barcode/Code39Ext.py | 84 |
1 files changed, 43 insertions, 41 deletions
diff --git a/share/extensions/Barcode/Code39Ext.py b/share/extensions/Barcode/Code39Ext.py index 23c0d6a46..8f1e77826 100644 --- a/share/extensions/Barcode/Code39Ext.py +++ b/share/extensions/Barcode/Code39Ext.py @@ -1,21 +1,23 @@ -#!/usr/bin/env python -''' -Copyright (C) 2007 Martin Owens - -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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -''' +# +# Copyright (C) 2007 Martin Owens +# +# 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +""" +Python barcode renderer for Code39 Extended barcodes. Designed for Inkscape. +""" import Code39 @@ -25,18 +27,18 @@ map = {} i = 0 for char in encode: - map[char] = i - i = i + 1 + map[char] = i + i = i + 1 # Extended encoding maps for full ASCII Code93 def getMap(array): - result = {} - y = 0 - for x in array: - result[chr(x)] = encode[y] - y = y + 1 + result = {} + y = 0 + for x in array: + result[chr(x)] = encode[y] + y = y + 1 - return result; + return result; # MapA is eclectic, but B, C, D are all ASCII ranges mapA = getMap([27,28,29,30,31,59,60,61,62,63,91,92,93,94,95,123,124,125,126,127,0,64,96,127,127,127]) # % @@ -45,19 +47,19 @@ mapC = getMap(range(33, 58)) # / mapD = getMap(range(97, 122)) # + class Object(Code39.Object): - def encode(self, text): - # We are only going to extend the Code39 barcodes - result = '' - for char in text: - if mapA.has_key(char): - char = '%' + mapA[char] - elif mapB.has_key(char): - char = '$' + mapB[char] - elif mapC.has_key(char): - char = '/' + mapC[char] - elif mapD.has_key(char): - char = '+' + mapD[char] - result = result + char - - return Code39.Object.encode(self, result); + def encode(self, text): + # We are only going to extend the Code39 barcodes + result = '' + for char in text: + if mapA.has_key(char): + char = '%' + mapA[char] + elif mapB.has_key(char): + char = '$' + mapB[char] + elif mapC.has_key(char): + char = '/' + mapC[char] + elif mapD.has_key(char): + char = '+' + mapD[char] + result = result + char + + return Code39.Object.encode(self, result); |
