Home
BarcodeReader, 1 MB
Contents
1. 87 0 57 21 0 15 56 0x38 0 0x0 0 0 0 19 0x13 152 0 98 117 0 75 248 OxF8 127 Ox7F 7219 OxDB 22 0x16 17 0 11 19 0x13 152 0 98 117 0x75 248 OxF8 127 Ox7F 0 0 0 1 0 0 0 19 0x13 152 0 98 Row 8 16 bytes Row 9 16 bytes 205 OxCD 24 0 18 131 0x83 127 Ox7F 10 OxA 0 0x0 0 0x0 0 0 0 14 OxE O OxO 19 0x13 152 0x98 117 0x75 248 OxF8 127 Ox7F 10 Row 10 16 bytes Row 16 bytes 10 0 1 0 0x0 O 0x0 14 OxE 7246 OxF6 23 0x17 17 0x11 117 0x75 248 OxF8 127 10 0xA 0 0x0 O 0x0 0 0 0 224 OxEO 0 0 0 19 0 13 152 0x98 117 0x75 248 OxFe 208 0 25 0x19 707 0x65 0 oxo 0 0x0 0 0x0 0 0 0 224 0 19 0x13 152 0x98 117 0x75 248 8 127 7 10 0 0 0 0 0 0 0 Row 11 16 bytes 213 OxD5 26 71 0x47 0 0 0 0 0 0 0 0 0 19 0x13 152 0 98 117 0x75 248 OXF8 127 10 0xA 0 0x0 O OxO 0 0x0 0 0 0 Row 12 16 bytes 85 0x55 27 0 18 32 0x20 192 19 0x13 152 0 98 117 0x75 248 OxF8 127 Ox7F 10 0xA 0 0x0 0 0x0 O OxO 12 OxC 192 0 0 19 Ox13 Row 13 16 bytes 239 OxEF 28 0x1C 0 0 0 152 0x98 117 152 0 98 117
2. Imi m immm 1 1 Ili 1111 LUI 7 aile S ler Program and Data X UW II TT mi IEEE 601 LAL Al27BC 40 00001010 11111111 882 22 Raiha 8 Zellen 27 35 SF 28 In TT TT T 11 1111111 I Bet CF 20 MI AMI IM mi 1 605 FIX 66 9 43 066 LBL 1 I Hil 087 127 Bag ASCII CODE 79 889 5 010 PROMPT 811 FC C 22 817 66 813 ABS 814 X Y 015 GTO 06 816 REL X 017 SF 12 018 ACX 819 1111 1 i TI Wi an 87 g i m m lii 85 Os TT 1 1 1 08 11 Reihe 16 cailean IOUT 621 DLDSPEC 023 ARCL X 074 RON 825 X H 626 je Figure3 Application window with first rows of program barcodes in the image scanned Running the Application The program is contained in a single jar archive file and can be run using the following command java jar barcodescanner jar If you do not want to open a command window you can also create a shortcut or command file or even better associate all jar files with the command java jar 1 So that the application can be run by activating the archive file by single or double click or by pressing the enter key Notes for Windows Users
3. HP 41 Bar Code Decoder Martin Hepperle 27 December 2014 Bar codes are a low cost means to store information using printed labels They can encode any kind of binary data and it has also been proposed quite early to use them as a means to distribute software 1 2 3 Bar codes come in many flavors and have developed from the classical linear bar codes sequences to two dimensional QR code patterns A wide variety of encoding schemes exists and for each encoding scheme a suitable decoder is required Therefore many different bar code readers are available Today most of these devices contain the optical scanner and the decoder software in a single unit The decoder software is usually written to decode several standard bar code formats One example where the optical scanner device is separated from the decoder software 1s the HEDS 3000 wand and its derivatives This wand is part of the HP 82153A wand system for the HP 41C In this case the decoder software lives inside the ROM module in the plug that connects the wand to the calculator The ROM routines were designed to decode the HP specific bar codes for the HP 41C only This is a bar code scheme where the white gaps between the bars have a constant width and only the bar width varies between two cases narrow and wide to represent binary zeroes and ones In addition to the encoded data additional checksums and flags are present as well as direction indicator bars Commercially availab
4. Under Windows you can find out whether a file association for java archives exists by issuing the following commands in a command window The assoc command checks whether a file type association for files with names ending in jar exists asso Jar jarfile If no file type is associated you can specify one by typing Ce cuo Be Then the ft ype command can be used to check which command is associated with files of this type in this case with jarFile gt jarFile jarFile D Java jre8 bin javaw exe jar 1 If no command is associated you can define it by issuing the command C gt ftype jarFile D Java jre8 bin javaw exe jar z1 In Windows versions prior to version 7 you could easily perform these changes with the Windows GUI but in later windows versions this option seems to have been optimized away Typical Application A typical application can be split in these steps 1 Opening a scanned image containing lines of barcodes 2 To scan program bar codes you must initialize the line and checksum counter by pressing the Read Program button in the toolbar 3A To process each row resp column a Move the mouse pointer to the left horizontal row or above vertical row of the barcode b press and hold the left mouse button c drag the mouse pointer over the barcode row a horizontal or vertical line will be drawn d release the mouse button after
5. If the scan is of lower quality the distributions will be wider and less focused Such distributions make the recognition process more difficult because a variation exist for the spaces between the bars as well and a worst case combination can lead to the incorrect identification of a bar width 10 11 12 13 Bar Width pixels Number of Occurances Figure 12 Typical distribution of the bar and space width as obtained from Number of Occurances relatively poor print of a program line The widths of bars and spaces show a considerable variation The lowest chart shows the relative bar width i e the ratio of bar width to the width of the immediately 5 80 85 90 95 100105 110115 120125 130 135 140 145 150 155 160 165 170175 180 185 following Spaces expressed in Relative Bar Width 3 percent Due to integer math we see gaps between the bars In almost all cases errors are detected by comparing with the checksum Often it is sufficient to rescan the bar at a slightly different position If this does not work it may be helpful to change the height of the scanning rectangle sometimes a lower sometimes a higher rectangle improves the recognition performance It is also helpful to align the barcode properly on the scanner or photocopier plate to minimize the effect of jagged edges Bar Width Distribution For exporting in postscript format we define the nominal widths of the spaces and bars in default 1 72 inc
6. Row 14 16 bytes 40 OxA 0 0x0 0 0x0 12 0 492 0xC0 0 0 0 19 0x13 152 0x98 117 Ox75 248 OxF8 127 OX7F 247 OxF7 29 0x1D 2 0 2 248 OxF8 127 OXx7F Row 15 16 bytes 70 0xA 0 0x0 5 0x5 30 0x1E 116 Ox74 10 OxA O 0 0 0 0 0 204 0 O 0 0 0 0 0 19 Ox13 152 0x98 117 0x75 248 0 8 127 Ox7F 1 Row 16 16 bytes 483 OxB7 31 Ox1F 86 0x56 12 0 192 0 0 0 0 0 0 Oxo 19 0x13 52 0 98 117 0 75 248 OxF8 127 0x7F 10 0 0 0 204 0 0 0 0 Row 17 16 bytes 427 Ox7F 10 0 12 OxC 192 0xCO 0 0 0 0 0 0 O OxO 112 0x70 16 0 10 56 0x38 0 0 0 O OxO 19 Ox13 152 0 98 117 0x75 248 OXF8 Page 1 of 4 First page of a program exported in Postscript format The numbers below the bar code groups denote the decimal value of the corresponding byte 0036C600F400534554A4591683121516831783111817A44DA4461110831910831110 831910 44 731110109171 45 4469 008077 4072 16 Figure 8 Barcodes exported in hexadecimal format dat file extension Note the sequence is written as a single line without line breaks 11 HP 41 program Linregr 001 LBL REGR 057 STO
7. the algorithm adjusts the threshold based on the statistical distribution of the bars and spaces found in the scan area After 6 readjustments the algorithm gives up The scan height defines the height of the rectangle over which the pixels are averaged In most cases values between 20 and 80 achieve a high success rate In critical cases a lower value may reduce the error rate The name of the current program as it will be exported respectively printed on barcode pages and program listings Open Image e Open a bitmap file with barcodes Scans should have about 400 dpi or better Best results are obtained for pure black and white images not grayscale Note Instead of using this menu command you can also drag and drop image files of type PNG BMP JPG or GIF onto the BARCODEREADER window Read Program e Open a HP 41 program stored in a file The file can be either in binary raw or p41 hexadecimal encoded dat or LIF lif format In case of the LIF format a dialog will be presented to select the desired file Note Instead of using this menu command you can also drag and drop files of type RAW P41 DAT onto the BARCODEREADER window Save Program e Save a program in binary raw or p41 hexadecimal encoded dat or plain text listing txt format The export to a Postscript file produces one or more pages of barcode for conversion to PDF or printing to a postscript printer These files can be converted
8. the right end of the row note you can repeat steps a to d if the line is not covering the whole barcode e press the A key on the keyboard to acquire the line 3B Simplification of 3A a Move the mouse pointer to the left of the barcode row no click is required b1 press the A key on the keyboard to search for a horizontal barcode row and to acquire it or b2 press the key on the keyboard to search for a vertical barcode column and to acquire it Note that the automatic search for the barcode row resp column may not work if text or another row of barcodes 18 immediately following the end of the barcode row Then use the procedure according to step 3A 4 When all lines are read programs should end with an END instruction the program can be exported or printed Controls and Options Status and error messages are displayed in the console window The alpha field shows the current content of the alpha register including any appended text strings Its content can be copied to the clipboard If data barcodes are scanned their values are collected in this field Sequenced bar codes contain a prepended sequence number 014 LIMIT XROM 17 13 If program bar codes are scanned the program lines read so far are ee ae SER shown in this field A complete program should include its END This field is for display purposes only While you can edit the content of this field this will have no effect on the currently loaded
9. with Adobe Acrobat or Ghostscript or other tools like CorelDraw Print Program e Prints pages with the program listing to your system printer Print Barcodes e Prints pages with barcodes to your system printer Export Barcodes e Prints barcodes to a sequence of numbered image files Exit e Stores preferences and exits the program Paste Image Paste Options 4 Show Line Numbers 4 Show Statistics Window Decode Functions Annotate Functions Enter Raw Bar Codes Options Paste Image e Pastes an image with barcodes from the clipboard Scans should have at least 400 dpi and should be in pure black and white Paste Program e Pastes a program from the clipboard The program must be a text string in text hexadecimal encoded dat format complete with header and checksum Line breaks tabs and spaces are ignored and can be used for grouping if desired They will be ignored when parsing the string Show Line Numbers e Three digits line numbers are prepended to each program line Show Statistics Window e Display a window with the width of bars and spaces Decode XROM Functions e Forsome known modules the XROM numbers are decoded and the function name is shown in human readable form Annotate XROM Functions e If XROM functions are decoded o the ROM id and function is shown as a comment e Otherwise o the decoded function name is shown as a comment Enter Raw B
10. 00 113 RCL 13 002 LBL a 058 X lt gt Y 114 FS 01 003 CF 00 059 STO 01 115 RCL 12 004 CF 01 060 RCL 15 116 RCL 04 005 RIN 061 RCL 14 117 006 LBL F 062 X 2 118 STO 05 007 SF 00 063 RCL 19 119 XEQ 6 008 LBL A 064 120 RCL 05 009 CLREG 065 121 X lt gt Y 010 RIN 066 STO 10 122 011 LBL D 067 RCL 18 123 STO 06 012 SF 01 068 RCL 14 124 FS 01 013 LBL 01 069 RCL 16 125 GTO 04 014 STOP 070 126 RCL 12 015 FS 00 071 RCL 19 127 RCL 13 016 LOG 072 128 017 STOP 073 129 STO 07 018 ADV 074 STO 11 130 RCL 19 019 X Y 075 RCL 10 131 RCL 20 020 XREG 14 076 132 021 5 077 STO 21 133 STO 08 022 GTO Ol 078 RCL 16 134 023 LBL C 079 RCL 21 135 STO 22 024 CLREG 080 RCL 14 136 LBL 04 025 STOP 081 137 ADV 026 STO 20 082 138 ANVA 027 ADV 083 RCL 19 139 AVIEW 028 LBL 02 084 140 ADV 029 STOP 085 STO 23 141 REG 030 FS 00 086 SF 13 142 AVIEW 031 LOG 087 A 143 1 032 STO 21 088 XEQ 11 144 D L 033 ADV 089 RCL 21 145 XEQ 11 034 LBL 00 090 B 146 STO 24 035 STOP 091 XEQ 11 147 RCL 04 036 5 0 00 092 CF 13 148 S C 037 RCL 21 093 ADV 149 XEQ 11 038 REG 14 094 RCL 17 150 C M 039 5 4 095 RCL 16 151 11 040 7157 096 X 2 152 RCL 06 041 GTO 00 097 RCL 19 153 042 LBL B 098 154 STO 16 043 RCL 00 099 STO 22 155 044 XY 100 156 XEQ 11 045 XEQ 11 101 STO 12 157 XEQ 6 046 ADV 102 FS 01 158 STO 26 047 X 2 103 GTO 03 159 XEQ 10 048 RCL 25 104 RCL 02 160 DEV 049 105 RCL 22 161 AVIEW 050 510 02 106 162 X
11. 7 Example of successful scan of barcodes of very poor quality Inset shows enlarged view of upper left corner of image Parameter settings threshold 133 scan height 2 pixels References 1 W Banks Carl Helmers R Sanderson A Proposed Standard for Publishing Binary Data in Machine Readable Form BYTE Magazine November 1976 2 W Banks Samples of Machine Readable Printed Software BYTE Magazine December 1976 3 Carl Helmers Bar Codes Revisited BYTE MagazineApril1980 4 K Albers HP 41 Barcodes mit dem HP IL System Heldermann Verlag 1986 5 Anonymous Creating Your Own HP 41 Barcode HP 82153 90019 March 1981 6 John J Uebbing Donald L Lubin Edward G Weaver Jr Handheld Scanner Makes Reading Bar Codes Easy and Inexpensive Hewlett Packard Journal Volume 32 January 1981 7 David R Conklin Thomas L Revere III Reading Bar Codes for the HP 41C Programmable Calculator Hewlett Packard Journal Volume 32 January 1981 8 HP 82153A Wand Service Manual document number 82153 90018 Hewlett Packard 1980 9 HP 82184A Plotter Module Owner s Manual document number 82184 90001 Hewlett Packard 1982 10 Digital Barcode Wand HEDS 3000 HEDS 3050 Technical Data Hewlett Packard 1986 17
12. EQ 6 051 0 107 STO 13 163 STO 24 052 STO 00 108 LBL 03 164 D L 053 STO 25 109 RCL 11 165 XEQ 11 054 GTO 02 110 RCL 21 166 RCL 05 055 LBL G DIT 167 S C 056 MEAN 112 STO 04 168 XEQ 11 Page 1 of 3 Figure9 First page of a program as printed via the File Print Program option 12 How to Select the Scanning Resolution The nominal dimensions and tolerances are given in 1 and reprinted in Figure 10 The tolerances given in the HP specification correspond to a print resolution of about 300 dpi At this resolution the tolerance amounts to approximately dot and the suggested height equals 100 dots A resolution of 300 dpi equals the then current laser printer technology Some tolerances are given relative to the unit width W other tolerances are given in absolute values The question arises how these tolerances add up and how we can safely distinguish between 0 and 1 values We can apply the tolerances given in the documentation in a worst case sense This means that we assume a narrow bar having its maximum width followed by a space having its minimum width and a wide bar having its minimum width followed by a space of the maximum width Taking all possible combinations of the nominal tolerances into account the outcome 1s e should have between 60 and 111 of the space width e should have between 140 and 216 of the space width Any decoding software must be able to cope with these ranges to reliably recog
13. ar Codes e Opens a dialog where you can enter a sequence of 0 and 1 characters to read as a line of bar codes if the optical scanning process has repeatedly failed You can insert spaces or dots to separate groups for readability Settings e Opens a dialog to specify options for printing and exporting Enter complete bar code consisting of 0 and 1 including leading and traili bar code binary 00 00000000 10 Figure 4 The raw bar code entry dialog can be used as a last resort to enter a line which cannot be read from a scanned image of poor quality Loading Image Files Apply Edge Filter Rotate Image 907 CCW Adjust Contrast 1 2 values of 1 0 to 1 5 increase contrast Printing Program in Text Format Line Height 10 points 1 72 inch Number of Columns 4 make sure that no overlap occurs Printing Program in Barcode Format BarHeight 20 points 1 72 inch Number of Rows per Page 47 make sure that these fit on the paper Scanning Options Sliding Average uses 4 white spaces General Options use 821434 printer font oK Cancel Figure 5 The Settings dialog allows adjusting parameters for the loading of images and the printout of programs in text as well as in barcode form It also contains some general parameters Note that the 821434 printer font was originally created by Luiz Vieira Brazil as 82143A Charset 4 I have modified this font by moving its sta
14. cted so that a probability distribution results This allows to automatically re adjust the detection threshold between narrow and wide bars If decoding fails another pass over the already collected timing data can be started with the adjusted threshold value This process can be repeated several times In the BARCODEREADER application a maximum of five iterations is performed before the scan is declared unreadable Header Total Description Length Length P Program 1 non private program Execute ENEAL direct execution of command numeric to X register BCD digits packed in nibbles filled to i minimum length resp to next byte boundary with NULL nibbles alphanumeric replace alpha register 1 byte per character Keyboard lor2 alphanumeric characters programmable and non programmable functions XROM functions Table 2 Summary of bar code types recognized by BARCODEREADER All lengths are in bytes 16 Sa Options Bead Propem 184 Taraba 1335 12 Program Hass 80 TD 150 FE 11111 1 1 11011111 1111111011011111 01100111 aa memes OCC 111 1 MMMM 6 UM NTU IMU LL I BO NI PREM SOS E mmm ETE EE ELE LIT PRR lt 57 Xion ULE LE UL zz TIT ER Figure
15. egative values mean that a wide bar appears narrower than a narrow bar these regions are blanked out in black We can see that a minimum resolution of about 600 dpi should almost always lead to satisfactory results On the other hand resolutions below 300 dpi would almost always lead to problems It is interesting that we obtain streaked patterns which are due to the discrete sampling Mr Shannon sends his best wishes Note also that this is the worst case when all tolerances are in the most unfortunate combination In practical application I obtained acceptable results with 400 dpi black and white scans For such images the tolerances amount to 1 2 dots while a scan at 600 dpi results in tolerances of 1 8 dots If we assume that our scanning process adds or drops one column of dots from the edge of a bar a 400 dpi scan should be sufficient for recognition albeit with no additional margin Lower resolution scans cannot be safely decoded However they work if created accurately on a raster basis one width unit exactly fits into the raster so that no antialiasing occurs 14 Statistical Properties of Bar Width Distributions In the ideal case we would find only two bar widths narrow and wide However the variation due to the printing and scanning processes leads to a spread of the bar widths The distribution of the widths should show two narrow peaks one centered on the narrow and one around the wide bars Number of Occurances
16. h units in accordance with 1 as space 1 6 def narrow 1 3 def wide 2 7 def height 26 def These values can be found in the exported Postscript files 15 If we decode the barcode using a hand held scanner the actual time resolution depends on the variable scanning speed Therefore the width of a space has to be constantly recalculated Only then can we determine whether we have seen a narrow or a wide bar After scanning a narrow bar space pair we can calculate the nominal space width from spacewidth barwidth spacewidth 40 73 and if the current pair contained a wide bar we use spacewidth barwidth spacewidth 16 43 These equations yield a good approximation using only integer arithmetic They allow for resolutions of up to 4800 dpi without exceeding the range of 16 bit integers This is important if we want to implement a fast algorithm in a small microcontroller A technique useful to improve decoding reliability was the application of a slight relaxation to the space timing so that spurious noise is filtered out The aim here is to track the variable timing but to avoid too large fluctuations The BARCODEREADER application applies a sliding average over 4 samples of the space widths to reduce the risk of misinterpretation of single very short or long spaces Another measure to improve the reliability proved to be very useful during the evaluation of the timing the distribution of bar widths is colle
17. ite and black bars can be recorded The major difficulty in manual operation 15 the variable scanning speed which leads to a variable duration of the same bar type A decoding algorithm has to take this variable timing into account For this purpose all white spaces in the HP specific barcode scheme have the same width thus serving as a timing reference More difficulties arise from printing quality and tolerances Therefore decoding barcodes can be a rather difficult process Simple 1 checksums allow for error checking but not error recovery Multiple errors can even lead to a correct checksum so that sometimes errors are not detected If everything goes well the final result is a bit stream which must be decoded into data or program instructions b Rk SS aono WAND w a PACKARD Figure 1 Exploded view of a HEDS 3000 as used for the HP 41 wand system The optical sensor is clearly visible at the left The HP 41 variant used a black case A2 CABLE A1 PC SENSOR i NOTE PARTIAL REFERENCE lt Vcc DESIGNATIONS ARE SHOWN GND FOR COMPLETE DESIGNATION 4 DATA PREFIX COMPONENT DESIGNATION CISA WITH ASSEMBLY DESIGNATION 4 2 lt SYNC lt Fi V 12 lt NC Vs U2 4 far 16 Vs Vs i Dr om 8 1 13 6 h R8 M 271 24 5 8 e V 4 R3 2 Figure 2 Schematic of the HEDS 3000 wand with interface to the HP 41 sh
18. ive creators and copyright holders dec hex char dec hex dec hex char O O17 aal OF A BY HB Bl t Oo Das ss IN s Aaj U1 Ul Table 1 41 character set as printed with the DejaVu Sans Mono font 10 Figure 7 HP 41 program goose p41 Row 1 16 bytes 184 0xB8 16 0x10 0 oxo 198 6 0 0 0 246 OxF6 0 0 0 71 0x47 79 Ox4F 79 Ox4F 83 0x53 69 0x45 156 Ox9C 10 169 OxA9 28 OxTC Row 2 16 bytes 0x0 0 0x0 0 0x0 O OxO 0 0 0 19 Ox13 152 0x98 117 Ox75 52 0x34 17 0x11 0 0x0 169 OxA9 29 Ox1D 248 OXF8 127 7 10 0 Row 3 16 bytes 0 19 0x13 152 0x98 117 0x75 248 OxF8 127 7 69 0x45 18 0x12 2 0 2 248 OxF8 127 Ox7F 10 224 OxEO 0 0 0 O 0 0 0 0 0 Row 4 16 bytes 0 88 19 0x13 116 0x74 427 Ox7F 16 bytes 10 0x0 19 0x13 152 0x98 117 Ox75 248 8 127 7 10 OxA 0 0 0 14 OxE 0 0 0 1133 0 85 20 0 14 86 0x56 224 0 OxO 0 0 0 6 16 bytes 110 0 0 0 O 224 OxE0 0 0 0 O Oxo
19. le bar code scanners cannot read this scheme because it is not one of the standard schemes Another example is the HP 82725A bar code reader module for the HP 75D which used the HP 02267 A or HP 92267B wand together with the 82725A module the HP 82718A expansion pod also provided two decoders Again the decoding was done with the help of a plug in module The code in this module was designed to decode several standard formats Code 11 USD 8 also provided by HP 82718A 3 of 9 Code USD 3 also provided by HP 82718A Interleaved 2 of 5 Code USD 1 Industrial 2 of 5 Code 2 of 7 Code Codabar USD 4 Universal Product Code UPC A UPC E European Article Number EAN 8 EAN 13 Interestingly the HP 75D module cannot decode the HP specific bar codes used for the HP 41C Finally a similar wand was available as a third party product for the HP 71B The ZENWAND was designed to read the same barcode types as the wand for the HP 75 Its ROM contained more useful routines including functions to print barcodes How does a Wand Work The articles 6 and 7 give very a good overview of the working of the HEDS 3000 and the HP 41 wand system The wand contains a very sensitive optical sensor with amplifiers which detects whether a white reflective or black area is in front of the wands tip The measuring area 15 a small dot of about 0 5 mm diameter By sliding the tip of the wand across a strip of bar codes a time history corresponding to wh
20. ndard characters from private encoding to the lower code range and by shifting the special characters to the Unicode equivalent This makes it possible to use it as a replacement for the Deja Vu Mono font in HP 41 code listings without the need of translation Shows the usual About dialog with the version number LBL 10 ROM 17 25 6 ENTER 009 187 019 LOCATE XROM 17 15 OS 22 XROM 17 gt 020 CLUST 011 FRAME XROM 17 6 021 100 122208 022 STO Z 013 ENTER 023 SCALE XROM 17 30 014 90 024 FRAME XROM 17 6 015 ENTER 025 00 016 10 026 DEG 017 ENTER O27 018 90 028 END Figure 6 Example program decoded from the image Active options Show Line Numbers Decode XROM Functions Annotate XROM Functions Fonts and Character Sets In order to display the HP 41 character set the BARCODEREADER application uses a variant of the font DejaVu Sans Mono This freely available font was modified to include the x with overbar character code 2 and all unused glyphs have been removed to conserve space Additionally the HP 82143A font created by Luiz Vieira is available if a more WYSIWYG look is desired This font has been modified to move all characters to the normal Unicode range BARCODEREADER uses its own font resources embedded in its Java archive so that it is not necessary to install fonts on the target system Note that the copyright to all glyphs 18 with their respect
21. nize the barcode ote MI J WIDTH TOLERANCE SUGGESTED VALUES W 4 002 0 022 0 003 W 0 005 W 002 0 018 0 003 5 W 0 005 W 002 2 2 5 0 038 0 003 H gt 0 35 widths are arbitrarily reduced by 002 to allow for the differences between bar width perception of the wand and the human eye Figure 10 Specification of barcodes dimensions according to 1 More complications arise if we read barcodes from a scanned image The given scanning resolution which leads to rounding of the sampled widths to the images raster with an additional tolerance of 0 5 pixels If we take this additional tolerance into account we can determine whether we are safely able to distinguish between a narrow and a wide bar for a given image resolution and printed bar code width 13 1000 900 800 S c 700 9 d 5 600 500 MR a aiea a Oo c C 400 9 100 0 02 0 03 0 04 0 05 0 06 0 07 0 08 0 09 0 1 nominal unit width W inch Figure 11 Capability to distinguish between narrow and wide bars depending on scan resolution and bar code unit width The results represent a worst case scenario typical results should be better Figure 11 shows a color coding of the difference between narrow and wide bars relative to the associated space width in percent A value of zero means that we cannot distinguish between the two widths N
22. or scanned program 1 e you cannot edit a program and save the modified variant 038 END The content of this field can be copied to the clipboard Toolbar Items The record button resets the checksum and line count and Read Program prepares for reading program bar codes For these Dar codes the checksum 18 carried over from row to row so that it Recording Program bytes 54 must be reset before scanning the first row While scanning a program the number of bytes read so far is updated for each line The zoom factor only affects the display The scanning operation is always performed on the full resolution of the image Usually it 50 100 150 200 250 is a good idea to adjust the zoom factor so that the whole width of the longest bars is visible Rotates the current image 90 counter clockwise This threshold defines the separation between narrow and wide bars Following the documentation this value should be 150 1 6 Bar Threshold 149 a wide bar is at least 150 times as wide as the white space between the bars Depending on print quality this value can be set to values as high as 200 Scan nt Program Name HP 41 Program Menu Items Open Image Read Program save Program Print Program Print Barcodes Export Barcodes Exit Note that a self adaptive algorithm has been implemented which starts with the value defined in this field In case of checksum errors
23. owing sensor and amplifier chain image lifted from 8 The HEDS 3000 contains all the circuitry to deliver a well formed digital signal Further processing must be done with additional hard and software The wand has a switch so that it only draws power when switched on This is useful because the optical sensor contains a power consuming LED to illuminate the barcode In case of the HP 41 the switch can also trigger a wake up of the calculator up if it was switched off The BarcodeReader Software The BARCODEREADER application was written in Java and is therefore useable on any platform for which a Java Virtual Machine JVM exists It can be used for the following tasks e Decode program and data barcode information from scanned images A scan resolution of at least 400 dpi in pure black and white quality is recommended Grayscale images look good on screen but yield poor scanning results Import programs in binary raw binary p41 or hexadecimal dat format Save programs in different formats binary raw binary p41 hexadecimal dat text txt Save program bar codes as a Postscript program for converting to bitmap images or printing Print programs in text or barcode form directly to the system printer Bar Threshold 180 7 ScamHeight 47 ProgramName 4127BC 1 I 1 11 WIE i LIL 1 E Cop p 1 iu 18 M A
Download Pdf Manuals
Related Search
Related Contents
事故・災害を未然に防ぐためのさまざまなサービスを ホームUの - NTTドコモ Port des équipements de protection individuelle de bucheronnage HERMA Labels transparent matt A4 210x148 mm film 50 pcs. AMDRO 100518836 Use and Care Manual StarTech.com HDMIMM30 Mode d`emploi AC Adaptor/Charger Aдаптер переменного тока/Зарядное SLC Synchronous Linear Motors / Operating Instructions / 2011-07 HB 548.10 Copyright © All rights reserved.
Failed to retrieve file