WO2000058903A1 - Procede et systeme de preparation de symboles de collecte automatique de donnees - Google Patents

Procede et systeme de preparation de symboles de collecte automatique de donnees Download PDF

Info

Publication number
WO2000058903A1
WO2000058903A1 PCT/US2000/008405 US0008405W WO0058903A1 WO 2000058903 A1 WO2000058903 A1 WO 2000058903A1 US 0008405 W US0008405 W US 0008405W WO 0058903 A1 WO0058903 A1 WO 0058903A1
Authority
WO
WIPO (PCT)
Prior art keywords
adc
symbol
data
code
bar
Prior art date
Application number
PCT/US2000/008405
Other languages
English (en)
Inventor
Jeffrey Menken
Christopher A. Wiklof
Stuart M. BARNEY
Original Assignee
Intermec Ip Corp.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intermec Ip Corp. filed Critical Intermec Ip Corp.
Publication of WO2000058903A1 publication Critical patent/WO2000058903A1/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K1/00Methods or arrangements for marking the record carrier in digital fashion
    • G06K1/12Methods or arrangements for marking the record carrier in digital fashion otherwise than by punching
    • G06K1/121Methods or arrangements for marking the record carrier in digital fashion otherwise than by punching by printing code marks

Definitions

  • ADC AUTOMATIC DATA COLLECTION
  • the present invention is directed to the field of preparing automatic data collection (“ADC”) symbols.
  • ADC automatic data collection
  • ADC Automatic Data Collection
  • ADC device platforms such as ADC device platforms equipped with bar-code readers
  • ADC device platforms have received increasing commercial attention in the past few years.
  • ADC device platforms such as hand- held data collection terminals, or hand-held personal computers, have been widely implemented in the retail marketplace and have garnered increasing use in a diverse range of applications.
  • the ever-decreasing cost and size of ADC device platforms has facilitated their entry into a wide variety of commercial, institutional, and governmental settings.
  • An ADC device platform having a bar-code reader adeptly accesses and retrieves data stored in the form of a bar-code label. Data representing virtually any product or service found in the stream of commerce can be encoded in a bar-code label for later access by an ADC device platform having a bar-code reader.
  • Bar-code readers include laser scanners as well as other means of collecting product information, such as a bar-code wand, a still camera or an area imager.
  • ADC data formats exist, including Radio Frequency ("RF") tags, resonators, SmartCards, and magnetic strips.
  • RF Radio Frequency
  • ADC symbols such as bar codes
  • ADC symbols must still be produced with a degree of precision for an ADC device to retrieve the data encoded in an ADC symbol.
  • a specialized computer programming application represents one tool for preparing ADC symbols.
  • FIG. 1 is a high-level block diagram of a general-purpose computer system 100 upon which a specialized bar-code label application 131 executes.
  • the computer system 100 may be contained within a facility for producing the bar-code labels.
  • the computer system 100 typically contains a central processing unit (“CPU") 1 10. input/ output devices 120, and a computer memory (“memory”) 130.
  • a computer-readable media drive 121 such as a CD- ROM, is conventionally included among the input/output devices 120, as well as a printer 122, a storage device 123, and a connection 124.
  • a hard disk drive represents a typical storage device 123.
  • the drive 121 may be used to install software products, such as the label application 131.
  • the connection 124 may connect the computer system 100 to servers and transaction sources from which transactions are received. For example, the connection 124 may be used to connect the computer system 100 to one or more computer telephony interfaces, World Wide Web servers, or World Wide Web browsers.
  • the memory 130 typically contains the label application 131 and a printer driver 132 for the printer 122.
  • the printer driver 132 contains instructions for controlling the operation of the printer 122.
  • a bar-code label maker engages the functionality provided by the label application 131 to produce bar-code labels.
  • the label application 131 contains all the instructions necessary to produce bar-code labels.
  • the label maker may be a human worker or another computer program. Once the label maker has produced at least one bar-code label, the label maker may instruct the label application 131 to print to the bar-code labels.
  • the label application 131 provides the necessary instructions to the printer driver 132 which then converts the instructions into appropriate commands for directing the printer 122 to print the bar-code labels.
  • the label application 131 is a specialized computer program that does not readily share instructions for producing bar-code labels with other computer programs.
  • the specialized nature of the label application 131 frequently renders the label application 131 less familiar, intuitive, and user- friendly than more commonly used computer programs.
  • imbuing the label application 131 with the comfortable, user-accessible style of more familiar computer programs requires constant attention by the program's developers to keep up with changing user interface styles.
  • maintaining of the label application 131 requires costly programmer attention to every embodiment of the application, attention to details far beyond merely preparing bar-code labels. Consequently, developers of bar-code label applications must either continuously expend costly programmer resources to maintain their bar-code label applications or settle for less expensive, but inflexible and frequently obsolete applications.
  • Figure 1 is a high-level block diagram of a sample general-purpose computer system 100 upon which a conventional bar-code label application 131 executes.
  • Figure 2 illustrates a bar-code ActiveX control 202 that provides functionality for producing bar-code labels embedded into a general-purpose WINDOWS® computing application 201.
  • Figure 3 illustrates an ActiveX control and some of its interfaces, such as the bar-code ActiveX control 202 shown in Figure 2.
  • Figure 4 is a diagram of a sample computing system 430 that produces bar-code labels using the application 201 and the bar-code ActiveX control 202.
  • Figure 5 illustrates embodiments of a bar-code label template 405.
  • Figure 6 illustrates a template properties page 601 that can be associated with the bar-code template 405.
  • Figure 7 illustrates a bar-code properties table 701 that can be associated with the bar-code template 405.
  • Figure 8 illustrates a human-readable properties table 801 that may be associated with the bar-code template 405.
  • Figure 9 illustrates a font selection table 901 that may be associated with the bar-code template 405.
  • Figure 10 illustrates a general properties table 1001 that may be associated with the bar-code template 405.
  • Figure 1 1 illustrates a serialization property table 1 101 that may be associated with the bar-code template 405.
  • Figure 12 illustrates a bitmap image 1201, according to an embodiment of the invention.
  • Figure 13A illustrates the bitmap image 1201 printed as a bar-code label 1301 on a non-proprietary printer, or with a non-proprietary printer driver, with the security bits enabled, according to an embodiment of the invention.
  • Figure 13B illustrates the bitmap image 1201 printed as a bar-code label 1302 on a proprietary printer with the security bits enabled, or as printed on a non-proprietary printer with the security bits disabled, according to an embodiment of the invention.
  • Figure 14 is a flowchart illustrating the operations of the bar-code ActiveX control 202, according to an embodiment of the invention.
  • Figure 15 illustrates the application 201 and the ActiveX control 202 operating in combination with an automation program 1501, according to an embodiment of the invention.
  • Figure 16 illustrates a bar-code ActiveX control 1604 utilized in a client/server environment, according to an embodiment of the invention.
  • Figure 17 illustrates a system for producing SmartCards, according to an embodiment of the invention. DETAILED DESCRIPTION OF THE ILLUSTRATED EMBODIMENTS OF THE INVENTION
  • Embodiments of the invention provide a method and system for passing data through an intermediary programming element in an acceptable format so that the intermediary programming element may forward the data to at least another programming element that may interpret the data.
  • one embodiment of the invention provides a method and system for generating automatic data collection (“ADC") symbols and controlling the production and printing of the ADC symbols on an ADC symbol production device, such as an ADC symbol printing device.
  • ADC automatic data collection
  • An ActiveX control may be provided to a computing application so as to enable the application to produce and print bar-code labels, according to an embodiment of the invention.
  • a bitmap image containing instructions for printing bar-code labels may be sent from the application to a printer driver via a general purpose graphical display interface provided by an operating system, according to an embodiment of the invention.
  • the general purpose graphical display interface has no requirement for understanding the bitmap image and passes the bitmap image through to the printer driver which understands the barcode instructions in the bitmap image.
  • Embodiments of the invention are applicable to the production of other ADC symbols.
  • the invention may be utilized to provide the programming for SmartCards, the encoding of radio frequency (“RF") tags, the encoding for dipole device symbols, and the encoding for an ADC symbol suitable for acquisition by an optical character recognition (“OCR”) device.
  • the general purpose graphical display interface may be the graphical display interface ("GDI") provided by the WINDOWS® operating system.
  • the general purpose graphical display interface may be a graphical display interface provided by the Macintosh operating system (“Mac OS”).
  • the general purpose graphical display interface may be a graphical display interface provided by other operating systems and other programming elements in a computing system.
  • Embodiments of the invention provide a method and system for producing ADC symbols in a local computing system.
  • Embodiments of the invention provide a method and system for producing ADC symbols in a networked computing system.
  • Embodiments of the invention provide a method and system that may be utilized by both human users and robotic users in the preparation of ADC symbols.
  • Embodiments of the invention provide a method and system suitable for use with technologies that automate the production of ADC symbols.
  • Embodiments of the invention further provide a help system and an instructional system ("a wizard") to support a user in the production of ADC symbols.
  • ADC automatic data collection
  • RF radio frequency
  • OCR optical character recognition
  • recorded speech symbols two- dimensional (“2D") symbols
  • dipole devices such as those recited in U.S. Patent No. 5,581,257
  • ADC symbols may be utilized in preparing bar-code labels, radio frequency (“RF") tags, resonators, SmartCards, magnetic strips, optical character recognition (“OCR") symbols, recorded speech symbols, two- dimensional (“2D”) symbols, dipole devices (such as those recited in U.S. Patent No. 5,581,257), and any symbol having encoded data therein.
  • the invention may be used to manufacture ADC symbols on any production device, such as a printer, using any computing system having any operating system.
  • An embodiment of the invention provides a facility for preparing bar-code labels by adding bar-code preparation functionality to an existing program, such as the executable code for an existing program.
  • a further embodiment of the invention provides a method for passing bar-code label printing instructions through an operating system's internal functions (that are bar-code unaware) to a printer ⁇ river that understands bar-code format specifications.
  • a still further embodiment of the invention provides bar-code label preparation in a WINDOWS® operating system on an IBM-compatible personal computer (“PC").
  • WINDOWS® is an operating system produced by the Microsoft Corporation that provides a multitasking graphical user interface ("GUI") environment that runs on both MS-DOS-based computers and as a self- contained operating system.
  • GUI graphical user interface
  • WINDOWS® provides a standard interface based on drop-down menus, windowed regions on a display screen, and a pointing device such as a mouse.
  • a bar-code object that provides user-selectable functions for producing bar-code labels may be embedded into any general-purpose WINDOWS® computing application, such as a general-purpose computing application 201 shown in Figure 2.
  • the application 201 may be a database program, a word-processing program, or a spreadsheet program, for example.
  • the application 201 attains the ability to receive and process barcode objects by adding a bar-code ActiveX control 202.
  • ActiveX controls are reusable software components that may be used to add specialized functionality, such as animation and pop-up menus, to existing programs. ActiveX controls may be written in a variety of programming languages, including C, C++, Visual Basic, and Java. ActiveX controls are discussed further below.
  • the application 201 operating with the bar-code ActiveX control 202, sends instructions for printing the bar-code label to a graphical device interface ("GDI") 204.
  • GDI graphical device interface
  • the GDI 204 provides specialized display processing functionality for the WINDOWS® operation system in the WINDOWS® environment.
  • WINDOWS® has been designed so that programs operating in WINDOWS®, such as the application 201 , will function without difficult using any output device that WINDOWS® supports. Because many different display devices may be attached to an IBM PC and its compatibles, the WINDOWS' GDI 204 consolidates support of device-independent graphics on output devices such as video displays, printers, and plotters. Accordingly, the GDI 204 insulates programs, such as the application 201 , from the particular requirements and characteristics of different output devices. The GDI 204 also provides strong support of pixel-level manipulation.
  • GDI 204 Through the GDI 204, WINDOWS® "virtualizes" display hardware so that any program, such as the application 201 , will operate with any video board or any printer. Thus, programs need not directly access display device hardware, such as that of a display screen and/or a printer, but instead access the GDI 204 that provides for the display and printing of graphics and formatted text. Accordingly, since the GDI 204 provides display device interoperability, programs, such as the application 201 , do not need to contain functionality for determining display device characteristics.
  • the GDI 204 allows applications, such as the application 201 , to draw on screens, printers, and other output devices.
  • the GDI 204 is used by applications to display or print bitmapped text (including TrueType fonts), images, or other graphical elements.
  • a bitmap is a data structure that represents information in the form of a collection of individual bits.
  • a bitmap may represent a bit image, such as the general shape of a font character or a bar-code element.
  • the GDI 204 also draws dialog boxes, buttons, and other elements in a consistent style on display devices by calling the appropriate drivers and passing them appropriate information.
  • the GDI 204 calls routines in various driver files, such as the drivers for controlling printers and plotters. Different printers require different driver files.
  • the GDI 204 allows WINDOWS®, rather than a program itself, to determine from the printer driver what tasks the printer driver can process and what tasks require assistance. For example, if the video hardware includes a graphics coprocessor that can draw ellipses, then the GDI 204 can take advantage of this hardware; otherwise, the GDI 204 calculates the points of the ellipse and passes the points to the driver.
  • the GDI 204 works with output devices such as printers, the GDI 204 calls the appropriate printer driver and moves the image or document directly to the printer, rather than re-formatting the image or document in a specialized printing language, such as PostScript.
  • the GDI 204 provides hundreds of convenient functions for tasks such as drawing lines, circles, and polygons; rendering fonts, and querying devices for their output capabilities. Accordingly, the GDI 204 contains specialized areas for the production of bitmaps 207, vector graphics 206, and fonts 205.
  • the GDI 204 does not support the drawing of bar codes. Like most ADC symbols, bar codes encode data in complicated formats for which the GDI 204 has no associated functionality. For example, even the GDI's bitmaps 207 are too primitive to process bar codes adequately. Nevertheless, the bar-code ActiveX control 202 and a printer driver
  • a bitmap as a "Trojan horse” for passing bar-code data through the GDI 204.
  • instructions for printing the bar-code label may be transmitted to the printer driver 209 in the form of a bitmap suitable for processing by the GDI's bitmaps 207.
  • the bitmaps 207 do not need to know that the information provided by the application 201 actually pertains to bar-code labels (or even an ADC symbol).
  • the bitmaps 207 in conjunction with the GDI 204 determines the printer selected for the application 201, locates the appropriate printer driver (e.g., the printer driver 209), and sends the bitmap image (containing the barcode label instructions) to the printer driver 209.
  • the printer driver 209 receives the bitmap image processed by the bitmaps 207 and examines the received bitmap image to locate the bar-code label instructions hidden within the bitmap image.
  • the printer driver 209 then constructs a proper bar-code label suitable for printing on a printer 21 1 and sends printing control instructions to the printer 21 1 to print the bar-code label.
  • FIG 3 illustrates an ActiveX control, such as the bar-code ActiveX control 202 shown in Figure 2.
  • ActiveX is a set of technologies that enables software components to interact with one another, regardless of the language in which the components were created.
  • ActiveX developed by Microsoft, builds on Microsoft's well-known component object model ("COM").
  • COM provides a specification for building software elements that can be assembled into programs or add functionality to existing programs running on Microsoft WINDOWS® platforms. COM further allows different applications to communicate with each other.
  • ActiveX controls provide programming components that may be inserted in an existing program, such as an application 301 , to provide functionality not otherwise available from the program, such as animation sequences, credit-card transactions, real-time video sequences, spreadsheet functions, or bar-code preparation functions.
  • the application 301 may utilize an ActiveX control, such as a bar-code ActiveX control 302, without necessity for being re-compiled or re-linked.
  • the functionality provided by an ActiveX control such as the bar- code ActiveX control 302, comprises four embodiments, each of which may be implemented by a group of interfaces 303-306.
  • the bar-code ActiveX control 302 may provide the user interface 306 for its user interface functionality into an existing user interface 307, such as the user interface associated with the application 301.
  • the bar-code ActiveX control 302 allows a "container" (e.g., the application 301) to invoke the ActiveX methods through the interface 303.
  • the bar-code ActiveX control 302 sends events to the container (the application 301) through the interface 304. Events refer to a sequence of actions that occur in response to given actions by a user, a program, or an operating system.
  • a user may interact with the bar-code user interface 306 (through the user interface 307) in such a manner so as to trigger events processed through the interface 304.
  • the bar-code ActiveX control 302 may examine and modify properties associated with the container through the interface 305.
  • FIG 4 illustrates a sample computing system 430 for producing bar-code labels using the application 201 and the bar-code ActiveX control 202, according to an embodiment of the invention.
  • the computing system 430 includes a monitor 401 , a computer 408, a keyboard 414, a mouse 415, and the printer 21 1.
  • the monitor 401 displays a graphical user interface ("GUI") 402 produced by the application 201.
  • the GUI 402 represents a graphical portion of the user interface 307 shown in Figure 3 and includes pull-down menus 403 and a task bar 406.
  • the computer 408 includes a central processing unit (“CPU") 409 and a memory 410.
  • the memory 410 contains a copy of the application 201 and the bar-code ActiveX control 202.
  • the computing system 430 may also include a network interface 427a, a magnetic disk drive interface 428a, and an optical drive interface 429a, which may be respectively configured to operate in conjunction with a network 427, a magnetic disk 428, and an optical disk 429.
  • the application 201 and/or the bar-code ActiveX control 202 may be initially provided to the computing system 430 via the network 427, the magnetic disk 428, and/or the optical disk 429.
  • the application 201 may be any type of computer program.
  • the application 201 shown in Figure 4 is a word processing application having text areas 404a and 404b.
  • a user may send instructions to the application 201 by interacting with the keyboard 414 and the mouse 415.
  • the application 201 may receive an instruction for inserting a barcode label template 405 between the text areas 404a and 404b. Accordingly, the application 201 directs the GUI 402 to display the label template 405 between the text areas 404a and 404b.
  • the application 201 may receive additional instructions regarding the label template 405.
  • the application 201 may receive instructions regarding the inclusion of specific data in the label template 405, a bar-code symbology type, as well as other pertinent characteristics.
  • the application 201 may also receive instructions directing the printing of the label template 405. As discussed in Figure 2, the application 201 sends the GDI 204 a bitmap that will be provided to the printer driver 209. The printer driver 209 then instructs the printer 21 1 to print bar-code labels, such as bar-code labels 413a-413c. In a sample environment, the printer 21 1 prints the bar-code labels 413a-413c on a paper media 412 having self adhesive bar-code labels 413a-413c that may be removed easily from a non-stick liner forming part of the paper 412. Of course, other print media may be used, ' such as liner-less paper.
  • Figure 5 illustrates embodiments of the label template 405, which includes a bar-code label 501 and a code section 502 representing instructions to a printer driver, such as the printer driver 209.
  • the code section 502 need not necessarily be shown on the GUI 402.
  • the bar-code label 501 may have a default value subject to change according to instructions received by the application 201.
  • the label template 405 may be acted upon when a mouse-directed cursor is placed upon the label template 405 shown on the GUI 402 and the computer 408 receives an indication of a button click from the mouse 415 shown in Figure 4.
  • this procedure is a common function-access procedure in the WINDOWS® programming environment.
  • the application 201 can also receive instructions regarding the label template 405 from other computer programs.
  • the program 201 To insert the label template 405 into the program 201, the program 201 must first be running. If the desired printer (e.g., the printer 21 1) is not set as the default WINDOWS® printer, then the program 201 should select the desired printer. For example, a user may use the familiar WINDOWS® "File,” "Print” dialogue associated with the pull-down menus 403 to select the printer 21 1. Inserting the label template 405 may be accomplished by pulling down an "Insert" menu in the pull-down menus 403, followed by clicking on the "object” option. As ordinary WINDOWS® users will recognize, this is the typical procedure for inserting an ActiveX object into a program.
  • the label template 405 may be one selection choice in a list of possible insertable objects. Accordingly, an ActiveX bar code or serialized text object will be inserted into the application 201 as a label template 405.
  • the application 201 and the bar-code ActiveX control 202 may provide instructions that customize the label template 405 to specify a desired bar code, provide textual data in association with the bar code, indicate whether the bar-code label should be serialized, as well as specifying other pertinent bar-code properties.
  • the label template 405 may display a variety of default properties, including a default data set (e.g., "12345678").
  • the bar-code ActiveX control 202 provides numerous functions for adjusting the label template 405 to suit various needs.
  • the customary "right-click" procedure may be utilized to receive a high-level list of the possible adjustments to the label template 405, such as the preferred bar-code symbology for the label template 405 and whether to serialize the data encoded in the symbol.
  • the application 201 may also be used to adjust the label template 405. The functionality of the application 201 may continue to be accessed following insertion of the label template 405.
  • the bar-code ActiveX control 202 may further provide selections for the label template 405 associated with ADC industry standards (e.g., the AIAGB3 label standards).
  • the bar-code ActiveX control 202 may also provide multiple label templates 405 in the application 201 and on the GUI 402.
  • Engaging the label template 405 (through an action such as a "right click") prompts display of a bar-code template properties page such as a template properties page 601 shown in Figure 6, according to an embodiment of the invention.
  • the template properties page 601 provides a facility for altering the label template 405, including entering specific data to be encoded in the bar-code label.
  • a bar-code selection 602 provides a facility for selecting a bar-code symbology and other bar-code characteristics.
  • a human-readable selection 603 provides a facility for specifying the position and display of the human-readable characters that may accompany a bar code.
  • a font selection 600 provides a facility for specifying the characteristics of any human-readable text that may accompany the bar code.
  • a general selection 605 provides a facility for entering specific data for a bar code and for specifying its orientation. For example, the general selection 605 provides options regarding units of measurement.
  • a serialization selection 606 provides a facility for specifying options associated with serialized text and serialized bar-codes.
  • each of the selections 602-606 and the template properties page 601 provides selectable functions that provide additional options and choices.
  • the selections 602-606 may each have associated radio buttons, such as a radio button 607 displayed in association with the serialization selection 606. Actuating the radio button 607 engages the functionality associated with the serialization selection 606.
  • radio buttons such as a radio button 607 displayed in association with the serialization selection 606.
  • Actuating the radio button 607 engages the functionality associated with the serialization selection 606.
  • One skilled in the art may readily recognize other controls for engaging the functionality associated with the selections 602-606, such as placing text for the selections 602-606 in a different color and allowing these selections to be made available by placing a cursor over them and clicking a mouse button.
  • Engaging a radio button 607a associated with the bar-code 602 selection produces a bar-code properties table, such as the bar-code properties table 701 shown in Figure 7, according to an embodiment of the invention.
  • the bar-code properties table 701 provides selections regarding the appearance of a bar-code label.
  • the bar-code properties table 701 includes a symbology-specific options area that provides different choices depending upon which bar-code symbology (bar-code language) has been selected. For example, once Interleaved 2-of-5 has been selected, then a symbol-specific "check digit" option may be displayed, with other non-pertinent options in the bar-code properties table 701 rendered non-selectable.
  • selecting the Code 128 symbology causes the bar-code ActiveX control 202 to provide symbology- specific choices, such as "UCC/EAN- 128" and "code set,” both of which are discussed below.
  • a symbology selection 702 provides choices regarding which specific symbology will be utilized for the bar-code template, such as the label template 405.
  • a bar-code symbology provides an encoding scheme that converges character data into a pattern of wide and narrow bars and spaces.
  • the bar code choices provided by the symbology selection 702 include: full ASCII Code 3-of-9, regular Code 3-of- 9, Code 93, Code 128, Data Matrix, PDF 417, Codabar, Interleaved 2-of-5, MSI Plessey, UPC-A, UPC-E, EAN-13, EAN-8, 2-digit Supplemental, 5-digit Supplemental, and Postal (Zip, DPBC).
  • An x-dimension selection 703 provides choices regarding a basic element of a bar code - the width of its narrowest element.
  • the width of the narrowest element is known as a bar code's "x dimension.”
  • the x dimension is a factor in determining a bar code's density. Decreasing a bar code's x-dimension value increases the bar code's density, while increasing the x-dimension value decreases the bar code's density.
  • the lowest x-dimension value available may be 5.0 mil.
  • the density of the bar code will be 12.5 characters-per-inch (“CPI"), the highest possible density setting.
  • the highest x-dimension value available for this example is 168.3 mil, resulting in a density of 0.416 CPI, the lowest possible density setting.
  • a ratio selection 704 is a symbology-specific option that is enabled for symbologies such as the full ASCII Code 3-of-9, regular Code 3-of-9, Codabar, Interleaved 2-of-5, and MSI Plessey.
  • the ratio selection 704 refers to the wide-to-narrow element ratio of a bar code which defines the ratio between the widths of the bar-code's wide and narrow elements.
  • An "auto" default setting for the ratio selection 704 may cause the selection of a "best" ratio (e.g., 2.5 to 1 on some laser printers and 3.0 to 1 on some dot-matrix printers).
  • the ratio selection 704 may also allow for the specification of other ratios in small increments, e.g., specifying in one-tenth increments any ratio from 2.0 to 1 through 3.0 to 1.
  • a density selection 705 provides choices regarding the number of characters that may be encoded per inch in a bar code.
  • the density selection 705 may be available for most symbologies, except for the Postal symbology whose standard defines a required density.
  • the selected symbology 702 may affect a bar code's density. Different symbologies require different numbers of bars and spaces to represent the same information.
  • the thickness of the bars and spaces also affects a bar code's density. Narrow bars and spaces require less room to express the bar code. As a bar code's character density increases, the room required to print it decreases, allowing the bar-code message to take up less space. Of course, if the density increases too much, the bar code's readability may decrease.
  • the optics of a bar-code scanning device may not be sufficiently precise to properly detect extremely thin lines and spaces, and the printing tolerance of a printing device may not be sufficiently precise to produce good bar codes at high density settings.
  • a high-resolution optical scanner may be necessary to read the bar codes.
  • the narrow white spaces between the bars of a bar code may become too narrow to be detected by some optical scanners.
  • some laser printers may produce lines that are finer than an optical scanner's optical resolving capability.
  • low-density dot-matrix bar codes may be used to produce high-quality camera-ready artwork. If a low-density bar code is photographically reproduced, the individual dots from the dot-matrix printer disappear, making the bar code appear to have been printed using a high-quality laser printer.
  • a height selection 706 provides choices for the heights of the bars in a bar code.
  • the height may be measured from the bar code's top edge to its bottom edge.
  • the height of the bars in the tallest possible bar code can be no longer than the full height of the page.
  • the height of the bars in the shortest possible bar code are typically no shorter than 0.001 -inch high, although shorter bars could be made.
  • very short bar codes should be avoided when using a conventional contact scanner, such as a wand. Bar codes with very short bar heights may be difficult to scan with contact scanners because many users cannot hold their hands sufficiently steady to stay within the bar code's boundaries throughout the scan. This difficulty does not normally occur when using a non-contact scanner, such as a moving beam laser gun. Of course, as scanner resolution continues to improve, these suggestions may no longer be applicable.
  • the height selection 706 may provide default height values for the various bar code symbologies.
  • the Postal bar-code standard has a standard height specification.
  • the bar-code properties table 701 includes a number of symbology-specific options, such as a check digit selection 707.
  • the check digit selection 707 is particularly applicable for symbologies such as the full ASCII Code 3-of-9, regular Code 3-of-9, Interleaved 2-of-5 and MSI Plessey.
  • the check digit selection 707 provides choices regarding whether check digits will be added to a bar code.
  • a check digit is an optional character that may be appended to the end of a bar code for error- checking purposes.
  • the check digit's value may be derived from the sum (or weighted sum) of the values of the preceding characters in the bar code.
  • a substitution error is one that occurs when one or more characters in a bar-code message transmitted to a computer is different from what is actually encoded into the bar code. In situations where a substitution error might catastrophically affect the integrity of a database, for example, the use of check digits may be highly recommended.
  • a check digit type selection 708 provides choices regarding the type of check digit added to a bar-code label.
  • the check digit type selection 708 may be used with symbologies such as the full ASCII Code 3-of-9 and the regular Code 3-of-9.
  • Check digit type selections may include "MOD 43," which is a check digit type used when printing bar-code labels in symbologies such as Code 3-of-9.
  • the MOD 43 setting allows a check digit to be generated that contains non-numeric (alphabetic) characters in a data string. All alphabetic characters in a bar code may be automatically ignored when another check digit type is selected.
  • the "MSI MOD 10" check digit type may be calculated using the same check digit formula used by MSI Plessey symbology.
  • a "UCC MOD 10" check digit may be calculated using the same check digit formula used by symbologies such as Interleaved 2-of-5, UPC, EAN, and UCC/EAN-128. The UCC MOD 10 setting should be used when a bar-code data string contains only numeric data.
  • a "UNISON MOD 10" check digit type provides a check digit that may be calculated using a modified version of the MSI Plessey check digit formula. This check digit may be utilized when a bar-code string contains numeric-only data.
  • a UCC/EAN selection 709 provides choices regarding the UCC/EAN bar code, a bar-code standard used worldwide for retail, industrial, and commercial products.
  • the UCC/EAN bar code represents a bar code of the Uniform Code Council ("UCC") and the International Article Numbering Association ("EAN").
  • the ActiveX control 202 automatically adds certain characters and performs certain functions required in the printing of UCC/EAN- 128 bar codes when the UCC/EAN-128 selection 709 has been selected. These functions may include automatically generating a leading FNC1 character, UCC/EAN application identifiers, automatic addition of check digits to certain fields, and adding extra spaces and parentheses to the human-readable characters.
  • a code set selection 710 is a symbology-specific option enabled for bar-code symbologies such as Code 128.
  • Code 128 can encode all 128 ASCII characters, the Code 128 character set itself contains only 102 characters. Code 128 actually contains three different sets of 102 characters.
  • a start character determines the default character set in use for a Code 128 bar code. However, a Code 128 bar code may switch between different character sets at any point following its start character. Because a single bar code may contain any combination of three character sets, Code 128 offers a high character density when entering bar-code data.
  • a correction level selection 71 1 provides correction level choices for use with symbologies such as PDF 417.
  • PDF 417 bar codes may encode such large amounts of information that the possibility of a decoding error occurring during scanning increases relative to the more conventional (1 -dimensional) bar codes. Accordingly, simple check digits may not suffice, as they merely detect errors during scanning. Because such errors require another scan, and because PDF 417 is sufficiently complex that the likelihood of additional errors during subsequent scans is significant, the PDF 417 symbology itself employs error correction. PDF 417 encodes enough redundant information into a printed bar- code label that the scanner cannot only detect when errors have occurred, but actually correct them. PDF 417 supports nine levels of error correction, with "0" being the least severe and "8" being the most thorough.
  • the PDF 417 bar code records very little redundant information, and a scanner may do little more than correct for the simplest errors.
  • the correction level 71 1 is set to "8,” then significant scanning problems may be corrected.
  • the increased size required for a printed PDF 417 symbol at higher correction settings offsets some of the benefits associated with increased correction.
  • the printed size of the s -nbols may be successfully reduced by manually specifying a relatively low correction level. On the other hand, if one of these factors is questionable, then a larger printed simple made be desirable.
  • a truncated selection 712 provides appropriate choices for symbologies such as PDF 417.
  • a user may decide to sacrifice some information typically encoded in the PDF 417 symbol, even though the resulting symbol may be somewhat harder to read.
  • Engaging the truncated selection 712 substitutes a single vertical bar for the stop pattern on the right-hand side of the PDF 417 symbol and the data column containing the right most four bars in the checkerboard-looking data area. While choosing the truncated selection 712 saves space, the resulting symbol is typically less robust.
  • a row height selection 713 provides choices regarding the height of a row for symbols, such as PDF 417 symbols.
  • the height of each row in a PDF 417 symbol is typically set to three times its "x dimension" value (the width of the narrowest bars in the printed symbol).
  • the default row height factor of three is adequate. If a correction level is lower than the standard recommendation, then the row height factor may be selected above the minimum, for example.
  • a column selection 714 provides choices for use with symbologies such as PDF 417.
  • the PDF 417 symbology utilizes multiple rows of information, with each row resembling a thin bar code. Close examination of these rows indicates that the first five and the last five bars extend the entire height of the symbol, much like a conventional bar code. These bars are the stop and start patterns that help a scanner identify the PDF 417 symbology. Inside the start and stop patterns, the encoded information looks somewhat like an irregular checkerboard.
  • the columns selection 714 is set to "auto," the number of rows and columns in the checkerboard data area attains an overall shape that is as close to a square as possible.
  • the columns selection 714 also allows specification of the number of columns to appear in the checkerboard data area.
  • a column consists of four bars and spaces and defines a fundamental unit of encoded data for symbols such as PDF 417.
  • Each row consists of a minimum of three information columns ( 12 bars and spaces) in the checkerboard portion of the data area.
  • reducing the number of columns increases the number of rows required to encode the same amount of information. Accordingly, although the number of columns may be reduced in order to make the PDF 417 symbol narrower, doing so will make the symbol proportionately taller.
  • an inappropriate columns setting may result in a PDF 417 symbol that is too tall.
  • a start character selection 715 provides symbology-specific choices pertinent to symbologies such as Codabar. The start character selection
  • a stop character selection 716 provides symbology-specific choices pertinent to symbologies such as Codabar. The stop character selection
  • a guard bars selection 717 provides symbology-specific choices for symbologies such as UPC- A, UPC-E, EAN- 13 and EAN-8.
  • the UPC/EAN/JAN standards include specifications that some of the bars may extend below the main body of the bar code. These are called “guard” or “security” bars. For example, in a " standard" full-sized bar code, the main body of the bar code may be 0.900 inches high, with the guard bars extending for another 0.065 inches. If the UPC/EAN/JAN bar codes are of a different height, one may need to adjust the overhang of the guard bars in order to keep them properly proportioned relative to the rest of the bar code and the human-readable text that may accompany the bar code. Accordingly, the guard bars selection 717 provides appropriate choices for making such selections.
  • a UPC supplemental selection 718 provides choices for symbologies such as UPC-A, UPC-E, EAN- 13 and EAN-8.
  • symbologies such as UPC-A, UPC-E, EAN- 13 and EAN-8.
  • the main UPC/EAN code may be followed by a shorter 2-digit or 5- digit supplemental code immediately to the right of the main code.
  • Characteristic choices (density, height, and position) provided by the supplemental bar-code selection 718 may be based upon the characteristics of the main UPC/EAN code that precedes the supplemental code.
  • the UPC supplemental selection 718 provides an easy way to add a supplemental bar code to a UPC or EAN bar code.
  • the specifications provided by the supplemental selection 718 may be based on the specifications of the corresponding UPC or EAN bar code.
  • a length option may be used to specify a 2-digit supplemental, a 5-digit supplemental, or even no supplemental bar code, for example.
  • the data for the main UPC bar code and the appended supplemental may be specified as either screen data, prompt data, or input file data.
  • the data for the main UPC bar code and the data for the supplemental bar code may be both specified in the data field for the main UPC bar code.
  • the required number of digits (2 or 5) may be automatically taken from the right side of the data entered in the text selection 604 on the object properties table 601 and provided as a supplemental bar code.
  • the remaining data digits will be printed as a UPC or EAN bar code. If the data does not contain enough digits to print a complete UPC/EAN bar code the data may be padded with leading zeros.
  • a number system selection 719 provides symbology-specific choices for symbologies such as UPC-E.
  • UPC-E is an 8-digit symbology in which the first digit is either a "0" or a "1 ,” with the next six digits containing data, and the last digit operating as a check digit.
  • the number system selection 719 specifies whether the first character should be a zero or a one.
  • a user normally supplies the six middle characters of a UPC-E bar code, with a number system digit (the first digit) added to the beginning and a check digit computed and added at the end. However, if the label template 405 receives more than 6 characters, then the bar-code ActiveX control 202 may delete the extra characters. If the label template 405 receives less than 6 characters, then the bar- code ActiveX control 202 may add enough trailing zeros to bring the total number of data characters up to six.
  • a symbol type selection 720 provides symbology-specific choices for symbologies such as Data Matrix. Like most two-dimensional bar codes, the Data Matrix symbology provides error correction by encoding enough redundant information into a printed symbol that the scanner not only detects when errors have occurred but actually corrects them.
  • the symbol type selection 720 provides options for specifying the level of error correction used in a Data Matrix bar code.
  • the Data Matrix symbology supports 14 levels of error correction, with "ECC 000" being the lowest and "ECC 200" being the highest. When the correction level is set to ECC 000, no redundant information is encoded, and the scanner cannot correct any errors. When set to ECC 200, a large portion of the bar code could be damaged and still be correctly scanned. ECC 200 can significantly increase the size of the bar code. Therefore, depending on the amount of information contained in the bar code, and the amount of room available for printing, sometimes one may choose a lower level of error correction.
  • a character set selection 721 also provides symbology-specific choices for symbologies such as Data Matrix.
  • the character set selection 721 may be enabled for symbol types other than those like DCC 200. (DCC 200 automatically determines the required character set by evaluating the data provided.) Depending on the amount of data and type of data contained in a bar code, one may achieve the smallest possible bar code by manually specifying a character set.
  • the choices include: an "auto” option, specifying that the barcode data will be evaluated to determine the best character set; a "Numeric” option specifying that only numbers will be considered acceptable data; an "Uppercase Alphanumeric with Punctuation” option specifying that only uppercase letters and numbers, including punctuation will be considered acceptable data; an "Uppercase Alphanumeric with Spaces” option specifying that only uppercase letters and numbers, including spaces, will be considered acceptable data; a "Full 128 ASCII” option specifying that all keyboard characters, including upper and lower case letters, numbers and symbols, will be considered acceptable data, and an "All 256 ASCII” option specifying that all 256 ASCII characters, including all keyboard characters and international ASCII characters, will be considered acceptable data.
  • the bar-code ActiveX control 202 may display the bar-code label on the user interface 401 with a red "X" in the center and may not allow the bar-code label to be printed.
  • a use prefix selection 722 provides symbology-specific choices for symbologies such as Data Matrix.
  • the user prefix selection 722 enables selections such as UCC/EAN FNC 1 which conform to specific industry standards such as those authorized by AIM international.
  • a "Macro 5" option abbreviates the "05 macro header” (a prefix) and trailer (a suffix) into one symbol character to reduce the number of characters needed to encode data.
  • a “Macro 6” option abbreviates the 06 macro header (a prefix) and a trailer (a suffix) into one symbol character to reduce the number of symbol characters needed to encode data.
  • a "reader initialization" option indicates that the symbol encodes a message used to program the reader system.
  • a special function character e.g., FNC1 through FNC6
  • the specified prefix will be ignored in favor of the special function character located in the data.
  • an interested reader may consult any number of Data Matrix references.
  • a shape selection 723 provides symbology-specific choices for symbologies such as Data Matrix.
  • the Data Matrix bar code comprises columns and rows wherein data may be stored. Most Data Matrix bar codes contain equal number of columns and rows. However, Data Matrix symbol type ECC 200 allows some bar codes to have more columns than rows.
  • the shape selection 723 provides settings for specifying whether a bar code will have an equal number of columns and rows.
  • a "Square” option draws the bar-code symbol with an equal number of columns and rows.
  • Data Matrix includes 24 square bar-code symbols, ranging from 8 columns and rows to 22 columns and rows.
  • a "rectangle" option draws the bar-code symbol with more columns than rows.
  • Data Matrix includes six rectangle bar-code symbols ranging from 6 rows by 16 columns to 14 rows by 22 columns. To use the rectangle selection, the amount of data should be small. If the input data is larger than will fit into allowed rectangle sizes, the bar-code ActiveX control 202 prints the bar-code symbol as a square.
  • a white on black selection 724 provides symbology-specific choices for symbologies such as Data Matrix.
  • the white on black selection 724 allows the bar-code ActiveX control 202 to reverse a Data Matrix bar code for display on both a screen and a printer as white on a black background. When this option is selected, the reverse Data Matrix bar code looks like a white bar code on black box. A different color for a bar code may typically not be selected if the white on black selection 724 has been selected.
  • Engaging a radio button 607b associated with the human-readable selection 603 invokes a human-readable properties table 801 shown in Figure 8, according to an embodiment of the invention.
  • the human-readable properties table 801 provides a facility for adjusting the textual characters that may be displayed with a bar-code label. Human-readable text provides a "backup" for the bar code in the event of error. If the bar code cannot be read, a human performing/supervising the data-entry task may read the human-readable characters and enter the corresponding data into a computer using an input device such as a keyboard.
  • Selections in the human-readable properties table 801 provide choices pertaining to the human-readable characters that accompany a bar code on a bar-code label, including whether the human-readable characters should be printed at all.
  • the human-readable properties table 801 contains a dynamic area that offers different selections depending on which bar-code symbology has been selected.
  • a visibility selection 802 provides choices regarding whether a bar code's corresponding human-readable characters will be included on the barcode label.
  • the visibility selection 802 may provide optional settings such as "full” and "none.”
  • a "full” setting specifies that the human-readable characters will be displayed with the bar code.
  • a "none” setting specifies that the human- readable characters will not be displayed with the bar code.
  • the placement selection 803 may have a default setting selection, such as "below the bars.” The presence of a default setting frees the user from having to examine every possible choice when creating a bar code.
  • An alignment selection 804 provides choices regarding alignment characteristics for symbologies such as the full ASCII 3-of-9, the Regular Code 3-of-9, Interleaved 2-of-5, Code 128. and Codabar.
  • the alignment selection 804 provides alignment selections for aligning the human-readable characters that accompany a bar code.
  • a "left" selection causes the human-readable characters to be printed next to one another, with the left edge of the first character in the text stream lining up with the left edge of the first bar in the bar code.
  • the "right” selection causes the human-readable characters to be printed next to one another, with the right edge of the last character in the text string aligned with the right edge of last bar in the bar code.
  • a “centered” selection allows the human- readable characters to be printed next to one another and centered between the edges of the bar code.
  • a “bar density” option allows the human-readable characters to be spaced according to the density of the bar code. In this option, the left edge of each human-readable character may align with the left edge of the beginning of each bar code in the bar-code message.
  • a vertical offset selection 805 provides choices regarding the vertical distance between the human-readable characters and the bar code when the human-readable characters are displayed either above or below the bar code.
  • a horizontal offset selection 806 provides choices for adjusting in the position of the human-readable characters in relationship to a bar code.
  • the horizontal offset selection 806 may be used in conjunction with the alignment selection 804. For example, instead of positioning the left edge of the first character in the text string directly in line with the left edge of the first bar in the bar code, the text string may be positioned slightly to the left or to the right.
  • the settings for the horizontal offset selection 806 may default to 0.00 inches (indicating no adjustment), with entry of a positive value moving the characters to the right and entry of a negative value moving the characters to the left.
  • a character template selection 807 provides choices regarding extra characters and their position in the data string. Bar-code systems and their users frequently require that extra characters be printed in a bar code's human-readable text that are not part of the scanable bar code. For example, the Code 128 bar codes used on the UCC- 128 shipping container labels required by many retail stores need extra spaces and parentheses in the human-readable text. These characters are not part of the bar code and are not read by a bar-code reader scanning the bar code.
  • a dollar sign and decimal point in a bar code represent exemplary "extra" data that may appear in the human-readable characters but not in the scanable bar code. For example, a bar code may contain the numeric string "1099" with an accompanying character string of "$10.99.” In this example the "$" sign and the ".” represent extra data that appear in the human-readable characters but not in the bar code.
  • a hide check digit selection 808 provides choices for symbologies such as full ASCII 3-of-9, regular Code 3-of-9, Interleaved 2-of-5, UCC- A, UCC-E, EAN-8, and EAN-13.
  • the hide check digit selection 808 choices relate to the display of a check digit in the human-readable characters of a bar code.
  • a default setting may hide the check digit so that the human-readable text will not normally include a check digit character.
  • Activating (or de-activating) a check box associated with the hide check digit selection 808 may cause display of the check digit in the human-readable characters, according to an embodiment of the invention.
  • a split UCC digits selection 809 provides symbology-specific choices for symbologies such as UCC-A.
  • Symbologies such as UCC-A are 12- digit bar codes. The first digit is the "number system digit," the last digit is the “check digit,” and the 10 digits in between contain the data. Conventionally, the first and last digits are separated (or "split") from the center 10 digits. However, a bar-code producer may choose to have a continuous 12-digit human-readable code.
  • the split UCC digits selection 809 may default to a setting that causes the first and last digits to be automatically split from the center 10 digits, but allow the human-readable characters to be toggled to provide a continuous presentation.
  • a shrink UCC split digits selection 810 provides symbology- specific choices that may be enabled for symbologies such as UCC-A and UCC-E.
  • the shrink UCC split digits selection 810 directs that the printing of the outer two digits be smaller than the bar code's other human- readable characters.
  • the shrink UCC split digits 810 may be enabled by default so that the split digits will be printed smaller than the other human-readable characters in a UCC bar code unless the setting is changed.
  • a Code 3-of-9 translation selection 81 1 provides symbology- specific choices that may be enabled for symbologies such as the full ASCII Code 3-of-9.
  • the Code 3-of-9 translation selection 81 1 pertains to whether the two-character representation of an ASCII character in a full ASCII Code 3-of-9 bar code will be displayed with the human-readable characters.
  • the character sets of the regular Code 3-of-9 symbology and the full ASCII Code 3-of-9 symbologies both contain 43 bar-code characters. However, in order to represent all 128 ASCII characters, the full ASCII Code 3-of-9 symbology uses special two-character combinations of the 43-character set. Unless specified otherwise, when the human-readable characters of the full ASCII Code 3-of-9 bar codes are printed, the two-character option is automatically converted into the single ASCII character that it represents.
  • the two-character combination of "%J” is used.
  • the default setting for the Code 3-of-9 translation selection 81 1 may cause the two-character combination to be automatically converted into the "?” when the human-readable characters are printed.
  • changing the default setting for the Code 3-of-9 translation selection 81 1 to de-select the option causes both the percent sign "%” and the capital letter "J" to appear in the bar code as human-readable characters.
  • a show start/stop characters selection 812 provides symbology- specific choices for symbologies such as full ASCII Code 3-of-9, regular Code 3- of-9, and Codabar.
  • the show start/stop characters selection 812 provides specifications regarding whether to display the start and stop characters in the human-readable characters for symbologies such as Code 3-of-9 and Codabar.
  • the start and stop characters for Code 3-of-9 are often a character such as an asterisk. Some users like to display the start and stop characters as human- readable characters while others prefer display of only the data portion of the barcode message. Displaying the asterisk allows for a quick visual determination regarding whether Code 3-of-9 is in use. A user printing both Code 3-of-9 and another symbology might find this feature helpful.
  • a default setting may be set to not print the start and stop characters for both the full ASCII and/or regular Code 3-of-9 bar codes.
  • the show start/stop characters 812 provides for a selection other than the default settings. For Codabar, when the default setting for this option is not enabled, the start and stop characters normally will not be printed with the other human-readable characters in Codabar bar codes. Accordingly, the show start/stop characters selection 812 also provides for activation of this option.
  • a UCC/EAN template selection 813 provides symbology-specific choices for symbologies such as Code 128.
  • a default setting for the UCC/EAN template selection 813, such as "Parentheses and Spaces,” may define a common configuration for these characters.
  • the UCC/EAN template selection 813 may provide settings, such as "Parentheses and Spaces,” “Parentheses Only,” “Parentheses, Spaces, and Split,” and “None.”
  • the "None” setting is useful when an application specifies that no additional characters will be added to the human-readable string.
  • the “None” setting may also be useful for adding characters to the human-readable string that are not specified in any of the other settings for this selection. Any additional characters may be added using the character template selection 807.
  • the font selection table 901 provides specifications regarding the format of the human-readable characters associated with a bar code.
  • a typeface selection 902 provides choices regarding the typeface "family” that will be used for each object having text.
  • a typeface "family” is a related group of typefaces that are usually available in different sizes.
  • the typeface selection 902 includes any TrueType fonts installed in the user's computer. Some of the typefaces supplied with WINDOWS ⁇ which are available for use include Ariel, Courier New, Symbol, and Times New Roman. Also, additional fonts may be available, in accordance with the printer selected.
  • a font style selection 903 provides choices regarding whether a font for the human-readable characters associated with a bar code will be in a regular, italic, bold, or bold italic style.
  • a point size selection 904 receives choices regarding the point size for the human-readable text associated with a bar code. The point size selection
  • a strikeout selection 905 specifies whether the human-readable characters will be printed having a strike-through line. The strikeout selection
  • An underlined text selection 906 specifies whether the human- readable text will be underlined.
  • a white on black selection 907 specifies whether the text for the human-readable characters will be displayed and printed as reversed type (white characters on a black background).
  • a horizontal stretch factor 908 provides choices regarding exactly how much a text object should be distorted from a default setting. Of course, a user may also stretch a text object containing a single line of data by using a mouse and the text object's handles, as is well-known in GUI programs.
  • the horizontal stretch factor selection 908 allows a value to be specified for the factor by which the text object will either be compressed or stretched horizontally. Assume a default setting is 1.0. The default setting may be increased or decreased as necessary for an application. A number greater than 1.0 stretches the text while a number less than 1.0 compresses the text. For example, if the horizontal stretch factor selection 908 receives a value of 1.75, the text will be stretched to 175 percent of its normal size (1.75 x 100). Likewise, a text object that receives a horizontal stretch factor value of 0.45 will be compressed to 45 percent of its original size (0.45 x 100).
  • a horizontal stretch factor value is essentially an approximate value for which WINDOWS ® provides the closest matching available stretch value.
  • Engaging a radio button 607d associated with the general properties selection 605 produces a general properties table 1001 shown in Figure 10, according to an embodiment of the invention.
  • the general properties table 1001 provides specifications regarding the data for the label template 405.
  • a text selection 1002 receives data for the label template 405.
  • An orientation selection 1003 provides choices regarding rotation of the bar code. A default setting may rotate the bar code to the right, for example.
  • a units selection 1004 receives specifications regarding whether options will be measured in inches or centimeters.
  • a printer selection 1005 provides specifications regarding the name of a printer on which the bar-code label will be printed.
  • Engaging the radio button 607 associated with the serialization selection 606 produces a serialization property table 1 101 shown in Figure 1 1 , according to an embodiment of the invention.
  • the serialization property table 1 101 provides choices regarding the serialization of data.
  • a type selection 1102 specifies whether the serialized data will increment or decrement upon serialization.
  • a "serialize by" selection 1 103 provides specifications regarding how much the data should change per page printed.
  • An "identical copies” selection 1 104 provides choices regarding how many identical copies of a document will be printed.
  • the serialization property table 1101 for each label template 405 inserted into a document includes an "identical copies" selection 1104. Since multiple label templates 405 contained in a document are independent of each other, it is possible to set the "identical copies” selection 1104 differently for each label template 405. If this happens, and the document is printed, the number of identical copies that print may equal the highest number of identical copies set throughout all the label templates in the document. For example, if two bar codes have been serialized, one set to three copies and the other set to four copies, then four copies will be printed since this was the highest number of copies specified throughout all of the objects. Accordingly, it may be a good idea to set the "identical copies" selection 1 104 in only one bar-code object to avoid potential problems.
  • An update serial number after print selection 1 105 provides specifications regarding the next serial number value to be printed.
  • the serial number may be stored in a text file.
  • Some applications do not always display the correct serial number after a print job is completed. In this case, a user may need to refresh the label template 405 by double-clicking on it then pressing "OK" to invoke its proper redisplay.
  • a serial number file selection associated with the update serial number after print selection 1 105 provides two settings, "serial number file” and "browse.”
  • the "serial number file” option receives the name of a text file in which to store the updated serial number.
  • the "browse” option provides a facility for examining a directory structure for a filename for the "serial number file.”
  • a "notes" selection associated with the update serial number after print selection 1 105 may be helpful when serialization is not possible.
  • the display in the update serial number after print selection dialog box may be grayed except for a "notes” button, which a user may click on for an explanation.
  • the possible causes for not been able to serialize a label template 405 may include: the selected printer is not capable of serializing; the selected printer is not capable of serializing the selected symbology; serialization may not be possible with a human-readable character template enabled; serialization may not be possible with a selected bar density spacing for the human-readable characters; serialization may not be possible with a UCC/EAN option enabled; serialization may not be possible with a check digit enabled (unless it is hidden); serialization may not be possible with human-readable start and stop characters visible, and serialization may not be possible with the postal symbologies human- readable text visible.
  • Figure 12 shows a bitmap image 1201 such as that provided to the bitmaps 207 of the GDI 204, according to an embodiment of the invention.
  • the bitmap image 1201 comprises a matrix 1210 composed of bits, such as a bit 1204, each of which represents information.
  • a dark bit, such as the bit 1204, represents data such as a "one,” while a light bit, such as a bit 1205, represents data such as a "zero.” Note that the bit 1204 is shown as dark in Figure 12, although this coloration is shown for purposes of illustration only, and if printed might actually represent another color.
  • the bitmap image 1201 may include in the matrix 1210 a code section 1203 representing instructions to the printer driver 209, a bar-code bitmap 1202, and security bits, including enumerated bits 1206 in Figure 12.
  • a bar code typically contains too much information to be adequately represented by a mere bit mapping, such as the bar-code bitmap 1202. Accordingly, the code section 1203 together with the bar-code bitmap 1202 may provide complete instructions for the production of a bar-code label, such as may be utilized by the printer driver 209 to print a bar-code label on the printer 21 1.
  • the code section 1203 includes the choices that have been made with regard to a bar code label, including its symbology, its human-readable text, and other characteristics, e.g., the choices that may be made using the template properties properties page 601.
  • the "pattern" of 0s and Is in the bar-code bitmap 1202 determines the pattern of white and black dots forming a printed bar-code label.
  • the barcode bitmap 1202 may serve a role similar to that of the bitmap for a font in that the printer driver 209 may use the bar-code bitmap 1202 to determine the general shape of the bar-code label whose final form is determined by the printer driver's programming and the code section 1203.
  • the security bits including the bits 1206 may be enabled or disabled for the bitmap image 1201.
  • the security bits prevent a bar-code label from correctly printing when used with a non-proprietary printer driver or a non- proprietary printer.
  • the security bits provide security for the manufacturer of a particular printer because in the absence of specific instructions to remove the security bits from the bar-code label, the resulting label will contain the security bits, rendering the label difficult (if not impossible) to scan.
  • the printer driver 209 may have programming instructing it to filter out the security bits and/or the code section 1203 may inform the printer driver 209 about the pattern used for the security bits in the bit map image 1201.
  • Figure 13A illustrates the bitmap image 1201 printed as a bar-code label 1301 on a non-proprietary printer (or with a non-proprietary printer driver) with the security bits enabled.
  • the bar-code label 1301 appears as a grayed image.
  • the security bits form the gray pattern in the bar-code label 1301.
  • a typical bar-code scanner cannot scan the bar-code label 1301 because it will be unable to distinguish between the black and gray areas of the bar code label
  • Figure 13B illustrates the bitmap image 1201 printed as a bar-code label 1302 on a proprietary printer with the security bits enabled and then filtered, or as printed on a non-proprietary printer with the security bits disabled.
  • the code section 1203 may provide instructions regarding the security bits to the printer driver 209.
  • the printer driver 209 may also be designed to determine which portions of the bitmap image 1201 are security bits, which portions comprise the code section 1203, and which portions comprise the bar-code bitmap 1202. Accordingly, the printer driver 209 processes the security bits so as to remove them in the printed bar-code label, such as the bar-code label 1302.
  • bar-code label 1302 also includes a human-readable text "12345," although as previously discussed, a bar-code does not require a human-readable text.
  • Figure 14 is a flowchart illustrating the operations of the bar-code
  • ActiveX control 202 according to an embodiment of the invention.
  • the bar-code ActiveX control 202 receives a request to insert a label template (e.g., the label template 405) in an application (e.g., the application
  • the bar-code ActiveX control 202 inserts a label template into the application (step 1403).
  • the bar-code ActiveX control receives instructions regarding the inserted label template (step 1407).
  • the ActiveX control 202 may receive instructions pertaining to the label template with regard to the various characteristics of the label template's bar-code (e.g., the bar-code properties table 701 shown in Figure 7).
  • the ActiveX control 202 may also receive instructions pertaining to: human- readable properties of the label template (e.g., the human-readable properties table 801 of Figure 8; font characteristics of the label template (e.g., the font properties table 901 of Figure 9; general properties of the label template (e.g., the general properties table 1001 of Figure 10; or serialization characteristics of the label template (e.g., the serialization properties table 1 101 of Figure 1 1).
  • human- readable properties of the label template e.g., the human-readable properties table 801 of Figure 8
  • font characteristics of the label template e.g., the font properties table 901 of Figure 9
  • general properties of the label template e.g., the general properties table 1001 of Figure 10
  • serialization characteristics of the label template e.g., the serialization properties table 1 101 of Figure 1 1).
  • the ActiveX control 202 determines whether a print command is received (step 1409). If the ActiveX control 202 receives a print command (step 1409), then the ActiveX control sends a bitmap of the inserted in label template to a printer driver (the printer driver 209) via the GDI 204 shown in the Figure 2. If the ActiveX control does not receive a print command (step 1409), then the ActiveX control examines whether the inserted label template is complete (step 1405).
  • Figure 15 illustrates the application 201 and the ActiveX control 202 operating in combination with an automation program 1501 , according to an embodiment of the invention.
  • the application 201 may be any type of application, such as a word processing program or a database program.
  • Many WINDOWS® programs have made their programming capabilities available to operations by other programs through a facility known as "Automation.” Automation allows software programs access to the capabilities of other programs, such as spreadsheet applications, word processors, and other personal productivity software.
  • the applications expose their services to programs as well as to people, thereby sharing such services. In other words, the applications themselves become “programmable.” Providing this programmability is known as “automation.”
  • An application may become programmable (e.g., automation) by exposing its services through ordinary COM interfaces.
  • Applications may also expose their services through "dispinterfaces" (from “disparate” and "interface.")
  • a dispinterface resembles a conventional program interface, such as having methods that allow clients access to the method using an interface pointer, but also differs in significant ways.
  • dispinterfaces may be easily invoked from clients written in simple languages such as Visual Basic.
  • Microsoft® Excel may be accessed using a dispinterface.
  • Excel makes its internal services available through its dispinterfaces supported by various COM objects, which provide methods such as "average,” “check spelling,” and many more.
  • Applications built on Excel no longer are restricted to using Excel' s built-in macro language but instead can be written in virtually any programming language. Thus, Excel itself becomes a toolbox for the building of new applications.
  • a user could produce hundreds of bar-code labels using the application 201 and the bar-code ActiveX control 202, manually entering the data for each new bar-code label.
  • the application 201 provided its interfaces to other programs, through a programming paradigm such as automation, then an automation application 1501 could likewise produce hundreds of bar-code labels without requiring user intervention.
  • the automation application 1501 could even be quite small and simply process a data file of data to be used in bar-code labels by calling on the appropriate interfaces from the application 201 and the bar-code ActiveX control 202.
  • FIG 16 illustrates a bar-code ActiveX control 1604 utilized in a client/server environment, according to an embodiment of the invention.
  • An ActiveX architecture lets an ActiveX control, such as the bar-code ActiveX control 202, interact with other programs over a network (such as the Internet).
  • the ActiveX architecture uses Microsoft's COM and distributed COM ("DCOM") standards.
  • COM allows applications to communicate locally, and DCOM allows applications to communicate over a network.
  • DCOM stipulates how COM components communicate over WINDOWS-compatible networks.
  • DCOM also permits the distribution of different portions of a single computer program across two or more networked computers. Using DCOM, a computer program's distribution across a network is not apparent to the user.
  • ActiveX enables the sending of small programs to a browser, without involving other special software on the desktop. ActiveX also provides a number of elements that allow a developer to add more things to an otherwise static Web page. ActiveX controls serve as interactive objects in a Web page to provide interactive and user-controllable functions. ActiveX documents enable users to view non-HTML documents through a web browser. Active scripting controls the integrated behavior of several ActiveX controls and/or Java applets from the browser. A Java virtual machine enables any ActiveX supported browser, such as Internet Explorer 3.0, to run Java applets and to integrate Java applets with ActiveX controls. An ActiveX server framework provides a number of Web server-based functions such as security, database access, and others.
  • Embodiments of the invention provide bar-code ActiveX controls and bar-code preparation pages having common interface mechanisms between programming elements. Common interface mechanisms are desirable for programs operating on a single computer and are essential when splitting programming elements across a network.
  • Embodiments of the invention also support the Common Object Request Broker Architecture (“CORBA”), used by companies such as IBM, Sun, and Apple.
  • CORBA allows objects from one program to communicate with objects in other programs even if the two programs are written in different programming languages and run on different computing platforms.
  • a program requests objects through an object request broker (“ORB”) and does not need to understand the structure of the program containing the object.
  • embodiments of the present invention provide a bar-code label production facility having no specific language requirements for its constituent elements.
  • Programmers may use any supported language, such as C, C ++ , Visual Basic (“VB”), Visual Basic Script (“VBScript”), Java, or JavaScript to manipulate and interact with bar-code labels.
  • VB Visual Basic
  • VBScript Visual Basic Script
  • Java JavaScript
  • Figure 16 provides a sample bar-code label production program to a user application operating over the Internet, according to an embodiment of the invention.
  • a Windows Internet client 1601 utilizes a Microsoft Internet Explorer program 1602 to send a request over a Hypertext Transfer Protocol ("HTTP") connection 1607 to an Internet server 1605 in order to access an Internet storage medium 1606.
  • the Internet storage medium 1607 contains a bar-code preparation page 1603 that includes a bar-code ActiveX control 1604.
  • the bar- code ActiveX control 1604 accesses a GDI 161 1 associated with a bar-code server computer 1610 over a DCOM connection 1615.
  • the bar-code server computer 1610 includes a printer driver 1612 that receives a bitmap image for a bar-code label from the GDI 161 1 , interprets the bitmap image, and sends appropriate commands for printing a bar-code label to the printer 21 1.
  • the bar-code server computer 1609 may be accessed by more than one Windows Internet client at a time such that bar-code labels from multiple applications may print on the printer 21 1. This flexibility provides a bar-code label production facility with the ability to distribute bar-code label applications to computers throughout an organization while maintaining centralized administration over the bar-code ActiveX control 1604 and the printing of barcode labels.
  • the bar-code ActiveX control 1604 operates with both DCOM and CORBA distributed object interfaces, as previously discussed.
  • FIG. 17 illustrates a system for producing SmartCards, according to an embodiment of the invention.
  • An application 1701 includes an ActiveX control 1702 that provides services for producing the programming associated with a SmartCard.
  • the application 1701 produces a bitmap image 1703 that contains code 1704 for a SmartCard' s instruction set and SmartCard data 1704 that comprises the data to be encoded in a SmartCard.
  • the application provides the bitmap image 1703 to the bitmaps 207 of the GDI 204.
  • a SmartCard device driver 1706 may be configured as if it were a printer driver. Accordingly, the GDI 204 may provide the bitmap image 1703 to the SmartCard device driver 1706.
  • the SmartCard device driver 1706 utilizes its internal programming to decode the bitmap image 1703 and provide the data 1704 to a SmartCard encoder 1707 that then produces a SmartCard according to its received instructions.
  • Embodiments of the invention provide a system and method for controlling several ADC device platforms. The invention is particularly applicable to applications operating on personal computers, but is equally suitable for use with workstation-type computers and hand-held computing devices, including computing devices having ADC symbol acquisition devices, such as bar-code readers.
  • the invention is not limited to the WINDOWS operating system and may be used in computers having other operating systems, such as Unix, Linux, OS/2, and the Macintosh operating system ("Mac OS").
  • the invention is not limited to communications through the WINDOWS GDI but may alternatively communicate through other operating system elements, especially operating system elements that provide graphical display interfaces for applications.
  • the invention may operate with any form of a "page object" that is not understood by a graphics processing capability provided by an operating system.
  • embodiments of the invention may be applied to any computing application in which data passes from a programming element through a surrogate (such as the GDI) to another programming element that may utilize the data.
  • a surrogate such as the GDI
  • the bitmap code section such as the bitmap code section 1203, has been shown at the "top" of the bitmap image.
  • the code section could be placed anywhere in the bitmap image.
  • the bar-code bitmap such as the bar-code bitmap 1202
  • the security bits might operate differently, e.g., operating as an encryption mechanism or a password mechanism.
  • One skilled in the art might even recognize other methods for transmitting the printing instructions for a particular bar-code label (or any other ADC symbol) to the printer driver.
  • One skilled in the art may similar determine equivalent printer instruction communications that do not require the code section 1203 shown in Figure 12.
  • Printer drivers associated with the invention may operate with any type of printer, including but not limited to thermal printers.
  • the invention is also equally applicable with any application that causes a target device (such as the printer driver 209) to perform a series of tasks.
  • a target device such as the printer driver 209
  • Embodiments of the invention may further include a help system, including a wizard that directs a user through the steps of producing an ADC symbol and sending it for printing (or another form of physical embodiment) on a printer (or other suitable device).
  • the ADC ActiveX controls such as the bar-code ActiveX control
  • 202 provided by the invention need not necessarily be written as 32-bit applications, unless necessary for operations in conjunction with a particular operating system, such as WINDOWS 95.
  • the ADC ActiveX control may be obtained by utilizing an "insert” option followed by selecting an "object” option in the pull-down menu provided. While such a procedure may be followed in association with one sample embodiment of the invention, ADC ActiveX controls may be accessed through a variety of approaches, as an ordinarily skilled artisan will easily recognize. In addition, the ActiveX control may receive selections for the label template through other user interfaces than the sample user interfaces shown herein.
  • the display of ADC symbols on a user interface may utilize the "what- you-see-is-what-you-get" ("WYSIWHYG") display paradigm in one embodiment of the invention, while in another embodiment of the invention, the display may be based upon another display paradigm.
  • WYSIWHYG "what- you-see-is-what-you-get"
  • Communications between elements of the invention may be conducted over both a wireless communications system and a wired communications system.
  • Java applets may provide a plug-in ADC symbol producing system for use with an application on both a single computer and in a networked embodiment.
  • Java is an object- oriented programming language similar to C++. Java was designed to be secure and platform neutral, meaning that Java code may run on any computing platform. Java is a useful language for programming applications for the World Wide Web since users access the web from many different types of computers. Java is especially well adapted for use in programming small applications, or applets, for use in the World Wide Web.
  • a Java applet may be loaded and run by an already running Java application, such as a web browser. Java applets may be downloaded and run by any web browser capable of interpreting Java, such as Microsoft Internet Explorer, Netscape Navigator, and Hot Java.
  • a remote computing system having browsing software may receive an ADC symbol producing plug-in computing applications via an Hypertext Markup Language ("HTML”) documents, Dynamic Hypertext Mark-Up Language (“DHTML”) documents, Extensible Mark-Up Language (“XML”) documents, and/or other documents containing ADC symbol producing plug-in applications over the World Wide Web.
  • a remote computing system such as the Windows Internet client 1601, uses the ADC symbol producing plug-in application to produce ADC symbols.
  • the remote computing system may further utilize protocols such as SNMP, TCP, UDP/IP, and UDP+ in conjunction with a plug-in ADC symbol producing application.
  • UDP+ provides additional functionality that is not provided by UDP, such as guaranteed packet delivery and packet ordering.
  • UDP+ is further described in U.S. Application No. 08/852,002, entitled, "Reliable Communication over an Unreliable Transport Layer in a Hand-Held Device using User-Configurable Timers," and is also described in U.S. Application No. 08/851,848, "Providing Reliable Communication over an Unreliable Transport Layer in a Hand-Held Device using a Persistent Session," both filed on May 6, 1997 and assigned to a common assignee.
  • the ADC symbol production system may operate with protocols and languages in addition to those specifically disclosed herein.
  • the ADC symbol production system is not limited to operations using HTTP, HTML, DHTML, XML, UDP, TCP/IP, FTP, SNMP, and TFTP but is equally applicable to other similar languages and protocols.
  • the ADC symbol production system may be developed according to an object-oriented programming methodology or using any other programming methodology that results in a computing system having equivalent functionality.
  • the invention finds equal applicability in stationary data collection terminals, such as a permanently mounted device, and in desktop personal computers.
  • the invention has been discussed in terms of computer programs but is equally applicable for systems utilizing hardware that performs similar functions, such as application specific integrated circuits ("ASICs").
  • ASICs application specific integrated circuits

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

L'invention concerne un procédé et un système de production de symboles de collecte automatique de données, et de commande de la production et de l'impression de ces symboles sur un dispositif de production ou d'impression de symboles. Un commande activeX peut être ajoutée à une application de calcul de manière à permettre à cette application de produire et imprimer des étiquettes à code barres. Il est possible d'envoyer une image mode points contenant des instructions d'impression d'étiquettes à code barres, à partir de l'application, vers un gestionnaire d'imprimante, par l'intermédiaire d'une interface d'affichage graphique universelle, fournie par un système d'exploitation. Cette interface ne nécessite aucune aide pour comprendre l'image en mode points et elle fait passer cette image par le gestionnaire de l'imprimante, lequel comprend les instructions de code barres présentes dans l'image en mode points. L'invention peut s'appliquer à la production d'autres symboles de collecte de données automatique, mettant en oeuvre une technologie activeX, ainsi qu'à tout système d'exploitation. L'invention peut également mettre en oeuvre d'autres technologies que la technologie activeX, comme la technologie Java.
PCT/US2000/008405 1999-03-30 2000-03-30 Procede et systeme de preparation de symboles de collecte automatique de donnees WO2000058903A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12699999P 1999-03-30 1999-03-30
US60/126,999 1999-03-30

Publications (1)

Publication Number Publication Date
WO2000058903A1 true WO2000058903A1 (fr) 2000-10-05

Family

ID=22427809

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2000/008405 WO2000058903A1 (fr) 1999-03-30 2000-03-30 Procede et systeme de preparation de symboles de collecte automatique de donnees

Country Status (1)

Country Link
WO (1) WO2000058903A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7171668B2 (en) 2001-12-17 2007-01-30 International Business Machines Corporation Automatic data interpretation and implementation using performance capacity management framework over many servers

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5298731A (en) * 1992-12-23 1994-03-29 International Business Machines Corporation Method for printing and reading for orthogonal bar code patterns
EP0824241A2 (fr) * 1996-08-09 1998-02-18 Canon Aptex Kabushiki Kaisha Système d'impression de code à barres et son procédé de commande

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5298731A (en) * 1992-12-23 1994-03-29 International Business Machines Corporation Method for printing and reading for orthogonal bar code patterns
EP0824241A2 (fr) * 1996-08-09 1998-02-18 Canon Aptex Kabushiki Kaisha Système d'impression de code à barres et son procédé de commande

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
MARZO U: "JavaBarCode Page (3of9-102.zip)", 17 December 1997 (1997-12-17), XP002141521, Retrieved from the Internet <URL:http://www.geocities.com:0080/SiliconValley/Pines/4619/3of9-102.zip> [retrieved on 20000628] *
MILGRAM J: "Bookland.py", 7 February 1999 (1999-02-07), XP002141522, Retrieved from the Internet <URL:http://www.cgpp.com/bookland/bookland.py> [retrieved on 20000628] *
TEC IT DATENVERARBEITUNG GMBH: "TBar Code ActiveX (Version 1.4)", 1 January 1999 (1999-01-01), XP002141523, Retrieved from the Internet <URL:htp://www.tec-it.co.at> [retrieved on 20000629] *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7171668B2 (en) 2001-12-17 2007-01-30 International Business Machines Corporation Automatic data interpretation and implementation using performance capacity management framework over many servers

Similar Documents

Publication Publication Date Title
US5298731A (en) Method for printing and reading for orthogonal bar code patterns
US7228501B2 (en) Method for selecting a font
US6199080B1 (en) Method and apparatus for displaying information on a computer controlled display device
US7639876B2 (en) System and method for associating handwritten information with one or more objects
US7651286B2 (en) Method arrangement and computer software for the printing of a separator sheet by means of an electrophotographic printer or copier
US7561283B2 (en) Barcode printing system, and method and program of setting a virtual barcode font
US7299972B2 (en) Creating and using documents with machine-readable codes
US20100283786A1 (en) Automatic Synthesis of Font Tables for Character Layout
EP2284767A2 (fr) Système XML d&#39;impression de médias et de codage de circuits électroniques pour l&#39;identification par radiofréquence
EP1543440A2 (fr) Systeme et procede d&#39;identification d&#39;interruptions de lignes
US6633890B1 (en) Method for washing of graphic image files
US20080235263A1 (en) Automating Creation of Digital Test Materials
US20050061887A1 (en) Barcode verification system and method
US6903839B1 (en) Apparatus for washing of graphic image files
US5635698A (en) Terminal device, data setting method and bar code creating method
US7311256B2 (en) Barcode optical character recognition
JPH11221946A (ja) 印刷システム及び印刷方法
US20040225773A1 (en) Apparatus and method for transmitting arbitrary font data to an output device
WO2000058903A1 (fr) Procede et systeme de preparation de symboles de collecte automatique de donnees
US20050286076A1 (en) Method and apparatus for printing barcodes and for generating barcode print commands
US20030174135A1 (en) System and method for utilizing multiple fonts
US20020181779A1 (en) Character and style recognition of scanned text
US6607130B2 (en) System and method for printing application and printer independent bar codes
CA2397151A1 (fr) Procede et systeme de reconnaissance de formulaire et de traitement d&#39;image numerisee
US7175096B2 (en) Data glyph format

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP