‘Double Byte’ Characters not displaying
This problem only occurs in “Double Byte Windows” such as in versions of Microsoft Windows that display Japanese or Chinese characters.
When in a double-byte environment, an excellent alternative would be to use IDAutomation’s Universal Barcode Font Advantage, which creates linear barcodes as a single font on multiple operating systems, languages, and locales. This package supports AIM USS Code 128, UCC-128, EAN-128, Code 39, Interleaved 2 of 5, USPS Postnet, Planet, MSI, and Codabar.
If the purchase of IDAutomation’s Universal Barcode Font Advantage is not an option for this task, consider the following suggestions:
- If another barcode type can be used, consider Data Matrix or QR Code.
- If using Visual Basic source code, or Microsoft Office VBA, download the latest version from IDAutomation’s Website. The latest version may solve the issues. If that does not solve the problem, change every occurrence of Chr( to ChrW( and Asc( to AscW( in the code using the replace option.
- If implementing barcodes in Crystal Reports, try the IDAutomation Formulas for Crystal Reports and change every occurrence of Chr( to ChrW( and Asc( to AscW( using the replace option.
- For example:
Change: = DataToPrint & Chr(CurrentCharNum + 103)
To: = DataToPrint & ChrW(CurrentCharNum + 103)
NOTE: If using the Microsoft Office Macros or VBA, make the change in the Visual Basic Editor by choosing Tools – Macro – Visual Basic Editor. Then make the Edit – Replace in the module. In Crystal Reports, the entire formula may have to be copied to notepad to do the replace and then paste the entire formula back.
- For example:
- The problem does not usually occur for normal characters such as !@#$%^&*(), 0-9, a-z and A-Z, but will occur with the start and stop characters of Code 128 and Interleaved 2 of 5 fonts. Therefore, if Code 128 or ITF is not used, it is suggested that Code 39 or Codabar be used instead.
- If the “Country Options,” “Language settings” to “Western Europe and U.S.” is set, then the fonts should work fine, but if it is set to “Traditional Chinese” for example, the problem occurs. The problem has something to do with the code page window or the inability of “Double Byte Windows” to utilize ASCII characters or commands.