Release Notes for BarcodeLib.dll
================================
1.0.0.14
- Added a byte array representation of the encoded image (Encoded_Image_Bytes) which can be used in Crystal Reports. See (http://www.codeproject.com/Messages/4300245/Re-Problem-in-Reports-RDLC.aspx)
- Updated the XML schema to use integers instead of Enums due to versioning conflicts.
1.0.0.13
- Corrected comments on class summaries
- Eliminated some unnecessary private variables
1.0.0.12
- Fixed a bug in drawing of barcodes that caused barcodes to be cut off on the left and right when aligned to the sides.
- Fixed a bug in the project where the BarcodeXML dataset was corrupt.
- Added GetSizeOfImage function that returns the real world coordinates of the EncodedImage.
- Facing Identification Mark(FIM) symbology added.
1.0.0.11
- Fixed a bug in Code 93 that caused four characters to be encoded incorrectly.
- Fixed a bug where the ITF-14 bearer bars were not drawing evenly.
- Fixed a bug in Codabar that would report an object not set to a reference error if non-numeric is found.
- Added property LabelPosition to position label above or below the barcode, and align the label left, right, or center.
- Added property RotateFlipType to allow rotation/flipping the image before it is returned.
- Added several of the newer properties to the XML output of GetXML().
- Removed Codabar start / stop characters in the label.
- IsNumeric function added to BarcodeCommon so that every symbology has access to it.
1.0.0.10
- Fixed a bug in Code 39 extended that was erasing the start and stop characters if extended was used.
- Fixed a bug that if barcodes were aligned left or right they would cut off a part of the starting or ending bar which was a drawing bug thats been present since 1.0.0.0
- Fixed a bug in Code 128C that checked for numeric data, if it was bigger than Int64 and was numeric it would throw and exception saying it was non-numeric data.
- Fixed a bug in UPC-A that encoded with the same sets as EAN-13 and only CodeA and CodeC should have been used.
- Made the Version property static so it can be read without creating an instance.
- Added a LabelFont property to allow the labels font to be changed.
- Restructured the label drawing functions to take font height and use that to determine the height of the label.
- Created an IsNumeric function in C128-C to better separate that functionality.  Replaced Int64 with Int32 to better allow compatibility with x86 processors.
- EncodingTime now includes the time to draw the image and not just the encoding.
- Alignment property added to allow aligning the barcode in the image given if the image space is wider than the drawn barcode. (Default is centered)
- Postnet drawing is encorporated into the default drawing case now, which shortens the code and gets rid of some redundant code.
- Telepen symbology added.
1.0.0.9
- The UPC-A check digit is now calculated every time whether 11 or 12 digits is passed in.  If 12 is passed in and its got an incorrect check digit then it is replaced with the correct check digit.  This prevents an unscannable barcode from being generated.
- The EAN13 check digit is now calculated every time whether 12 or 13 digits is passed in.  If 13 is passed in and its got an incorrect check digit then it is replaced with the correct check digit.  This prevents an unscannable barcode from being generated.
- All errors can be accessed via the BarcodeLib.Errors properties which is a list of seperate errors encountered.
- All symbologies were moved to the BarcodeLib.Symbologies namespace for better organization.
- FormattedData property was not being used so it was removed.
- Version property was added to BarcodeLib to allow reading the libraries version number.
1.0.0.8
- Changed the use of a Pen object that was not disposed of.  This was not causing a problem just bad technique.
- Fixed an encoding issue with C128-B that had a wrong character in its encoding set at one point. (U instead of Z in codeset B)
1.0.0.7
- Fixed a bug that allowed non-numeric data to be encoded with Code128-C, a check has been put in place to handle this.  It throws an error EC128-6 now if found to contain something that isnt in Code128-C.
- Fixed a bug in GetEncoding() for C128.  This would allow Code128-B to switch and dynamically use Code128-A if it couldnt find a char in its set.
1.0.0.6
- Fixed a bug in Code128-A and Code128-B that would cause it to encode incorrectly due to incorrectly trying to compact the barcode for Code128-C.  This functionality is now bypassed if Code128-A or Code128-B is selected.
- Removed a useless variable bEncoded from BarcodeLib.cs
- Static methods now support generating the data label (required addition of a parameter to 3 of the 5 static methods used to encode).
- Property now available to retrieve the amount of time (EncodingTime) it took to encode and generate the image. (Might be helpful for diagnostics)
- Modified a few error messages to be more descriptive about correcting the problem with data length.
- Barcode class now inherits from IDisposable
- XML export functionality added to BarcodeLib to allow the data, encoded data and other properties to be exported in XML along with the Image in Base64String format.  This includes functionality to GetXML() and GetImageFromXML(BarcodeXML).
- To go along with the XML functionality there is now a dataset included that has the basic layout of the XML data, to make importing and exporting easy.
- ImageFormat is now a property to set to select what type of image you want returned (JPEG is default).  This can help speed of transferring data if using a webservice.
- ITF-14 now draws the label with the proper background color instead of always being white.