Introduction to BCG

BCG® is a high performance bar code generator that can be used under Microsoft® Windows® 9x, NT, ME, 2000 and XP.

It is capable of producing bar codes with the most widespread linear symbologies:

  • EAN-8
  • EAN-13
  • UPC-A
  • UPC-E
  • Code 39
  • Code 93
  • Code 128
  • Industrial
  • 5 bars
  • Matrix 3 bars
  • BCD matrix
  • MSI
  • Interleaved
  • Codabar/Monarch
  • EAN 128
  • Code 32 (Italian Pharmaceutical)

By linear we mean a bar code similar to what we are used to see in stores: an alternated series of straight lines, white and black, of different width.

Moreover, BCG is able to produce a circularization for each of the listed symbologies. A circular bar code is readable by the same devices used to read traditional bar codes, but has a few advantages:

1. it can be read regardless of the orientation of the reading line;
2. it can be used to label media as cd-roms and DVDs, that require a perfectly balanced label.

BCG is highly configurable, compact and easy to use. It allows the creation of the list of codes to be printed from other programs; this list can be imported and printed in background, without any intervention from the user. A user-friendly control panel offers advanced functions for editing the list of codes to be printed and allows to easily modify all the main configuration parameters. Thanks to the options for loading and saving the list of codes and the configuration, it is possible to use the generator for printing labels of different sizes and types. Besides paper, the codes can be saved to file in PCX/BMP format and copied to the Windows clipboard, to paste them in other applications.

Bar code positioning is easy and precise; it is possible to specify whether to include or not the human readable code and the check digit, to specify the font and the size for the description and HRC, line height and alignment. A useful preview function can be used to display data on the list of codes, to determine (for example) which simbology was used to print a sample bar code.

BCG, in the registered version, can be protected by:
1) a software key, which is dependent on PC hardware;
2) a hardware dongle, connected to one of the USB ports;
3) a hardware dongle, connected to the parallel port number one (LPT1).

The parallel dongle is transparent to all standard parallel devices and to most non-standard devices.

In the unregistered version, the program has the following limitations:
1) the bar codes are crossed by two lines;
2) the string to be encoded is a random permutation of the original string;
3) it is not possible to print more than 40 codes;
4) the number of copies is set to 1;
5) saving or loading the list of codes and the configuration is not allowed;
6) the buttons "Copy to clipboard" and "Save preview" have no effect;
7) the "Print" button or the command File->Print have no effect after five prints;
8) every description is always replaced by the string "Demo";
9) only the first 4 and the last character of every code are retained; the rest are set to "0";
10) automatic mode is disabled.

BCG® - Bar Code Generator
© 2000-2009 Simone Zanella Productions
All rights reserved.


The main control panel

The picture on the left shows the main control panel of BCG. The disposition of the elements includes a menu with three panels (File, Configure, ?) and a toolbar. On the working window there are 8 oversized buttons, plus two arrow keys and 5 text fields. The interaction with the different elements on the window was studied to enhance productivity and to allow full keyboard operation, besides the mouse. Just like any standard Windows application, the TAB key can be used to switch between controls, or a combination of ALT + the letter that is underlined in the description of the controls. A short description (tooltip) appears by leaving the mouse cursor for a short time over each control. A few icons on the toolbar have two symbols, to display the current status for the option. The same icons on the toolbar are duplicated besides the respective menu options, for easier comprehension. The left area of the window is initially blank; it will contain the list of codes to be printed, filled by using the buttons Insert and Append and by typing the interval through the fields First code and Last code. The field Step allows to specify the value which is to be added to First code to reach Last Code (e.g. 10, if you need to keep fixed the last digit for all the codes introduced; can also be negative).

The text box besides the large "X" lets you repeat the number of times specified each code introduced; if 'n' is the number entered in this text box, when the user presses the Insert or Append button every code in the list will be duplicated n times. The value in this box returns to 1 every time BCG is started.

The field Description allows to introduce a text to be printed together with every code in the range; the character combination "%%" in the text box is replaced, when you insert or append a barcode, by the HRC - in this way, it is possible to print the HRC anywhere (relative to the current barcode). If you need to type a multi-line description, use the Line Separator Character configured for the layout.

If the selected symbology is "EAN 128", a magic wand will appear besides the First Code field: if you click with the mouse on it, a wizard will open to help you in creating the barcode according to EAN specifications.

The function of the other controls is the following:

After having typed the first and the last code, press this button to add all the codes in the range to the list of codes to be printed, before the code currently selected. If no code is selected, this button has exactly the same behaviour as Append. By pressing the Enter key when the fields First Code or Last Code are active, this function is automatically invoked.

This button operates exactly as the button Insert: the only difference is that with this button the codes are added to the end of the list, regardless the currently selected code on the list.

This button removes from the list all the codes selected. The list supports Windows extended selection: by keeping pressed the Ctrl key it is possible to select codes which are not near on the list; by keeping pressed the left mouse button and dragging the cursor, all the codes in the area are selected.

By default, all codes are printed one after the other, according to the current configuration of layout. With this control, it is possible to insert a blank label, for example to print on a sheet of paper partially used. The label is inserted before the currently selected code on the list, or at the end of it,if no selection is present.

With the first two buttons, it is possible to move up or down the current selection on the list of codes, to re-order the sequence of codes to be printed. The third button reverses the order of the list (the first code becomes the last).

In any case, moving or removing the codes implies updating the respective descriptions.

It is possible to print a logo inside the barcode (circular, quadrilinear, half-circular); save your logo to a file named "LOGO.BMP" in the same folder where you installed BCG; the software will scale and print the logo on each label.

This button copies the contents of the preview area on the Windows clipboard. The number of colors for the image is the same as that selected for the current video mode*.

This button saves the contents of the preview area in a file specified by the user. The graphical format used is monochrome PCX (that allows for efficient data compression) or Windows BMP*. In the file name for automatic mode, use the character "%" where you want the HRC to be inserted (BCG appends automatically the character "%" to the filename, if the user does not specify it).

* The codes shown in the preview area are only linear or circular; barcodes split into semi-circumferences or quadrilinear can only be printed.

When you press this button, BCG prints out the number of copies specified inside the field Copies beside the button. The copies are not ordered, that is any whole page is repeated the number of times specified.

The toolbar can be used to access the same functions included in the menus File, Configure and ?. The list of the functions is summarized below:

Reset list

Load list

Save list

Print

Printer

Layout

Bar Codes

Data File

Automatic startup

Preview


The Printer Configuration panel

With this panel you can configure the Windows device that will be used to produce the bar codes and the printing direction. Use the drop-down list to choose the printer and the radio buttons to determine the printing direction; push the button "..." to change the properties of the selected device. In vertical printing mode, the rows of codes are parallel to the short side of the sheet; in horizontal printing mode, they are parallel to the long side of the sheet.

To access this panel, select the menu item Configure->Printer or use the button [image].


The Layout Configuration panel

With this panel it is possible to configure the placement and the distance between the codes to be printed, besides the font to be used for the text and the alignment.

The coordinates X and Y specify the position of the upper left corner of the first bar code to be printed; X is measured from the left side of the sheet, Y is measured from the top. Keep in mind that the values specified in these fields are considered from the first printable point at the top left of the sheet, which is well within the area of the sheet, given that all the printers have a non-printable margin that can be from 5 to 10 mm.

The values H and V represent, respectively, the horizontal and vertical separation that will be used for two adjacent bar codes (on the same row or on the same column).

The frame Font surrounds all the information about the text to be printed; by using the radio buttons Description and Human Readable Code you can change the fields inside the frame, reflecting which part of the code we are considering (the textual representation of the bar code or a description printed above it). In particular, with the button Change you can select the font and the attributes for the text (size in dots, bold, italics, underlined).

The radio buttons Alignment allow to place the Human Readable Code on the left, centered or on the right of the bar code representation. The distance from the code is measured from the bottom (for the HRC) or from the top (for the description). There are two additional fields for the description:

1.Lead
2.Line separator

Lead is the value used to calculate where to print the next line, expressed in percentage from the height of the font cell.

The line separator allows to split a long description on multiple lines, wherever the specified character appears inside the string.

The number of labels for row and rows for page specify how many labels are to be printed on a single sheet.

To access this panel, select the menu item Configure->Layout or use the button [image].


bar code properties panel; simbology; bar, narrow; bar, large; border out; white difference; resolution; hrc; code, in readable characters; check digit; code, mirror; overflow, internal; bar height

The Barcode properties panel

With this panel you can configure the simbology and the characteristics of the bar codes to be printed. When you modify the simbology, all the codes on the list will be automatically filtered to cut out the values that have become unprintable (because, for example, they include characters that are not admitted by the new simbology, or are too long).

The settings for: simbology; narrow bar; large bar; white difference; border out; check digit are always relatedto the current code type selection (circular or linear); when hybrid codes are printed (options "Split into half-circumferences" and "Add linear barcode" selected), the two parts of the code will be printed with the respective settings.

You can set the parameters using the "Quick Set" button, that let you choose the type of barcode from a list of templates.

Otherwise, the following elements are configurable:

1. the Simbology represents the method with which the information will be reproduced as bar codes; there are many different simbologies, which are further explained here;

2. every bar code is built by using narrow or large bars, black and white; you can specify the respective widths in the fields Slim Bar and Large Bar. It is recommended that the large bar be always a multiple of the narrow bar;

3. the white difference is the number of white dots that will be added after every narrow white bar, to compensate for ink spread; usually, this field can be set to zero if you are using a laser printer;

4. the border out is also used, as the white difference, to compensate for ink spread; for ink jet printers, it is possible to set this field to 1 or 2, while for laser printers it can be left to zero; obviously, setting white difference or border out to a value different from 0 increases the width of the bar codes printed;

5. the black expansion is a value added to every inner circumference, to avoid white pixels inside large bars;

6. the resolution is used to print on paper, but also to determine the size of the file created from print preview; the higher the resolution, the smaller the code; not all printing devices support all the resolutions, though;

7. the Human Readable Code checkbox is used to specify if the barcode should be accompanied by a readable text string with the same contents;

8. the check digit checkbox enables or disables check digit calculation for every simbology; this feature can be used to increase the decode security and should be enabled whenever it is possible, even though its usage increases the length of the barcodes generated (for variable length symbols); the number of check digits added depends upon the selected simbology;

9. the Include check digit in HRC checkbox can be used to specify if the check digit should be printed in the readable text representing bar code contents; by default, it should be left unchecked, because most reading devices do not return the check digit along with the code read (no check recording);

10. the Radial HRC checkbox can be used to print the HRC in place of a radius; the barcode remains perfectly readable in any direction, because one half of any diameter already includes all the encoded information;

11. the Central HRC checkbox can be used to print the HRC in the middle of the first circle;

12. by selecting the radio button Circular barcodes it is possible to specify the internal overflow, that is the width of the first internal radius, and the arc drawn, which corresponds to the extension of the circumferences drawn; when labelling DVDs and CDs, the minimum overflow is 8 mm; by tracing arcs lesser than 360° the printing process is faster - theorically, 180° should be more than sufficient to ensure omnidirectional reading;

13. by selecting the radio button Linear barcodes it is possible to specify the Height of the bars, that is the height of the printed bar codes;

14. the Mirror code checkbox can be used to reverse the bar sequence, thus creating a mirror image of the barcode.

The option "Split into half-circumferences" can be used to print on low-resolution devices; in this case, the circular bar code is splitted into two half-circumferences which contain each exactly the half of the information to be encoded; obviously, the resulting code must be read by a device that can join the two halves to recreate the original contents; to determine the relative order of the two halves, the panel let you set distinct prefixes and/or suffixes.

The option "Add linear barcode" can be used to print a linear bar code containing the whole information together with the code splitted into two half-circumferences; this bar code can then be read by a standard hand held reader.

The option "Quadrilinear barcode" (which is mutually exclusive with the option "Split into half-circumferences") let you print the same linear barcode in the four directions, around the circumference determined by the internal overflow. In this case, if you active HRC printing the interpretation will be printed only for the lower horizontal barcode; the bar height for it is set with the parameter "Height of barcode w/HRC".

The option "Second linear barcode" let you print a linear barcode besides a circular, semi-circular or quadrilinear barcode; the second linear barcode follows the appropriate settings in the control panel, but it is possible to specify the height and the horizontal/vertical offset from the circular barcode or the other linear barcode.


Tips for printing circular barcodes

The circular bar codes generated by BCG represent a circularization of the linear bar codes commonly found on many products; wherever a "standard" bar code has a straight line, a circular bar code has a circumference, obviously of the same width. In this way, the appearance of the symbol is similar to a bull's-eye, where every radius contains the full encoded information.

The advantage of this system is the possibility of having a perfectly simmetric symbol, that can be read more easily than any traditional bar code, especially when the object to be labelled is round (e.g. a compact disc or a DVD). In fact, it is sufficient that the reading line crosses the symbol in any direction to obtain a correct decoding. Moreover, this kind of bar code can have a hole in the middle and thus can be used to label objects that must remain perfectly balanced after label application.

As is the case with linear bar codes, it is necessary to pay attention to a few rules. The first rule is to always leave enough blank space inside the first circumference and outside the last. This area is known, for linear bar codes, as the overflow. An insufficient overflow can make the decoding difficult; moreover, a wide inner overflow is better for aiming the reading line.

One of the disadvantages in using this kind of barcodes consist in the area required for printing the symbol; to minimize it, it is necessary to increase the bar resolution to reduce the width of the narrow element. For this reason, only high resolution printing and reading devices should be used. Before printing a large batch of labels, we recommend to do a few tests, at different resolutions, to be sure that the printed code is readable under all conditions (also taking into account the natural deterioration deriving from the type of the application). The best printing device for producing this kind of barcodes is a laser printer; but it is also possible to use ink jet or thermal transfer printers, on condition that, in this case, white difference and border out are set at suitable values. By default, the value that should be modified in these cases is the border out, that acts on the width of the blank areas taken as a whole and not on the single narrow element.

If the labels that you print are to be read by an industrial scanner, by activating the option "split into half-circumferences" you can reduce the printing resolution while achieving good performance. In this case, we recommend the usage of the symbology Interleaved 2/5 without check digit but with distinct prefixes for the first and the second half-circumference. That's because the firmware of many industrial scanner allows to join the two codes captured and to determine the respective order according to the first character. If the same label is to be read by manual readers, just check theoption "add linear barcode".


Tips for printing linear barcodes

The linear bar codes are made by a succession of lines and spaces that encode the information in binary mode: 1-0.
The information can be encoded by using the bars only, or the bars AND the spaces.
The "Elements" or "modulus" of the code are the bars and the spaces that build it.
We define "bar code symbol" or "label" these elements taken as a whole.

The elements in the symbol can be grouped in several subsets, each having peculiar features:
1.elements of the code which encode information (characters);
2.control elements: guardian bars (start, stop, center), intercharacter blank separators;
3.overflow area: blank area that precedes and follows the whole sequence of alternated bars.

This latter blank area must be kept free of any writing to let the decoders correctly recognize the typical guardian bars indicating the code start and stop. The minimum width is about 10 times the width of the narrow element, and a minimum of 2.5 mm for very high resolution bar codes.

The linear bar codes printed by BCG are of the 1-D type, in that the same information is repeated for the whole height of the symbol.

When you are printing on coloured paper, it is necessary to pay special attention at the contrast between bars and spaces, in that an insufficient contrast can render the code unreadable by many reading devices. The contrast is defined as the ratio between the reflection of the black elements (bars) and the white elements (spaces) in the symbol. If the printed bar codes must be read from distance (1.5 - 2 metres), it is necessary to considerably decrease the resolution and, whenever possible, use special high-reflection paper.

Before printing a large batch of labels, we recommend to do a few tests, at different resolutions, to be sure that the printed code is readable under all conditions (also taking into account the natural deterioration deriving from the type of the application). The best printing device for producing this kind of barcodes is a laser printer; but it is also possible to use ink jet or thermal transfer printers, on condition that, in this case, white difference and border out are set at suitable values. By default, the value that should be modified in these cases is the border out, that acts on the width of the blank areas taken as a whole and not on the single narrow element.

Whenever possible include the HRC (human readable code), so that if a defect in the paper or in the printing process render the code unreadable by automatic devices, the information can still be typed manually by the operator.

When printing labels for CD or DVD we suggest to use circular barcodes or quadrilinear mode, in which every linear code is printed in all four directions around a circumference.


Tips for choosing the correct simbology

We define simbology the method of encoding information to bar codes. There are many different simbologies and those most used and widespread are present in BCG.

Why are there so many encoding models?

The reason lies in the different requirements of the industries which have first introduced bar codes in their production process. These requirements can be classified according to different criteria:

1. the width of the symbols to be printed;

2. the information that will be encoded (only digits, or digits and letters);

3. the printing tolerance, that is the ability to print the codes with low precision printing devices;

4. the speed of decoding and the possibility of reading the symbols with devices having different resolutions;

5. the security level of the decoding process.

Today, the most commonly used simbologies are EAN/UPC, code 39, code 128 and code 93.

The EAN/UPC family is the result of a standardization effort to catalog all the goods to be reselled. The most widespread version (EAN 13) can encode 12 numeric digits plus one check digit. The code is divided in several sections (country, producer, article number), the first two being assigned by an international organization. This simbology can also be used to label products for in-store usage, on condition that the first two digits are included in the range 20-29; no product coming from an external supplier will ever begin with such a prefix.

This family of barcodes is numeric only, continuous, self-checking and features high information density. The disadvantages are the fixed number of digits and 4 different widths for the elements, that require high precision in printing. The check digit gives an excellent decoding security.

A variant of the EAN 13 is the EAN 8 simbology, which was created to substitute EAN 13 in those application where the 13-digit symbol was too large. EAN 8 allows to encode 7 digits plus 1 check digit; it is the recommended simbology for labelling compact discs and DVDs.

Code 39 is probably the most widespread simbology; it has an identical start and stop sequence and elements of only two widths (large and narrow). The characters that can be encoded are the 10 numeric digits, the 26 characters of the alphabet and the special characters blank, minus, dot, /, + and %; it is also possible to include a check digit, even though most symbols encoded using this simbology come without it.

The advantages of code 39 are its diffusion, the good tolerance, the variable length and the possibility of encoding letters besides numbers; on the other hand, the information density is very low.

Code 93 was born as an evolution of code 39; it can be used to encode the same alphabet, but it has an information density much higher, having 4 possible widths for the elements. Code 93 is usually printed with check digit, represented by two characters, and this gives an excellent decoding security. The advantages of this simbology are the possibility of encoding letters and numbers, the variable length, the high information density; on the other hand, the 4 different widths of the elements requires a good precision in printing. If your reading devices can handle it, it is an excellent choice.

Code 128 can encode all the 128 ASCII characters; it is a compact code, with high information density, mostly used with one check digit. Today it is one of the most used simbologies, thanks to its versatility and compactness. One difference from the other simbologies examined up to now is that the width of the symbol can vary according to the information to be encoded, even if the number of characters remains the same. In fact, this simbology includes several rules to minimize the length of the symbol, and in particular encodes adjacent numeric digits in pairs, doubling the density which can be achieved with alphabetic characters.


File Menu

Load list

Save list

Reset list

Print

Exit

Select one of the hyperlinks above to obtain further information on the selected feature.


Configure Menu

Configuration Menu

Printer

Layout

Bar Codes

Data File

Automatic startup

Preview

Select one of the hyperlinks above to obtain further information on the selected feature.


Help Menu

Help

Information

Register/Registration Info

Select one of the hyperlinks above to obtain further information on the selected feature.


Help

This command opens the guide that you are reading.


Preview

Use this command to enable or disable the preview; the current status for this option is reflected by the icon beside the menu option and by the button [image] on the toolbar. If the option is disabled, a red crossed circle appears over the symbol. When the option is enabled, the main control panel is enlarged to include a window where the code currently selected from the list will be previewed; two new buttons will also appear, to let the user copy to the clipboard the code and to save the image to a PCX/BMP file.


Automatic startup

Use this command to enable or disable automatic mode; the current status for this option is reflected by the icon beside the menu option and by the button [image] on the toolbar. If the option is disabled, a red crossed circle appears over the symbol. To regain access to BCG control panel, delete the data file set for automatic mode and start the program.

When automatic mode is enabled, BCG remains minimized at startup as an icon on the traybar, loads and prints the list of codes, then exits; the control panel appears again only when the data file cannot be found.


Reset list

Use this command to reset the list of codes and corresponding descriptions.

This command cannot be undone.


Load list

Use this command to import a list of codes and/or a configuration, previously saved by BCG or created by an external program. The files saved by BCG can be displayed and edited by a text editor, like Windows Notepad. The quickest way to find the correct instructions to reach a certain configuration is to save an empty list of codes from BCG and to use the file thus created as reference.


Exit

Use this command to exit from the program, or click on the X button on the top right, or press the keys Ctrl+X.


Data File

With this option it is possible to set a file (in ".BCG" format) that the program will load and print immediately after startup, if automatic mode is active.

In this way, it is possible to automate the printing process from other applications: by setting automatic mode to ON and exiting, at the next startup BCG will load and print the codes found into the file, showing just its icon in the traybar during this operation and exiting immediately afterwards. Pay attention at the configuration values for data file and automatic mode set inside the same data file, otherwise you could inadvertently disable this function, with the result of being unable to print automatically, unless you manually re-activate the parameter in the program. To regain access at BCG control panel, delete the file set with this option and start the program; then, disable automatic mode. This option can be accessed with the button [image] on the tool bar.

If BCG is invoked with one or more command line parameters, it switches on automatic mode, load the configurations and print out the codes as requested. In this way it is also possible to redirect the output to a BMP/PCX file or to the clipboard, by adding the following lines to the configuration file (only one of the two):

PXfilename
CB

The first line tells BCG to save the output to "filename" (which must have extension .BMP or .PCX), the second line tells BCG to copy the resulting image to the clipboard. When more than one code is present in the list, "filename" acts as a template for the files to be created: every occurrence of the character "%" is replaced by the number corresponding to the code position in the list, starting with 0.


Register/Registration Info

This command displays registration info about the product (software key registered version) or opens a dialogue to request the registration (demo version).


Information

This command displays information on the current version, on the program's author and on the copyright.


Save list

Use this command to save the list of codes and/or the current configuration. The file created, having default extension ".BCG", is a text file that includes all the sequences of instructions needed to recreate the current configuration and to load the list of codes with corresponding descriptions.


Print

Use this command to print the codes currently on the list. This command has the same effect as the button:

and the icon [image] on the toolbar.