| A unified "Barcode" tag for HTML 5, Math-ML or SVG | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Abstract | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| A barcode tag is needed for HTML,
either in the form of an introduced HTML 5 tag -- or otherwise via
an introduced tag in SVG or Math-ML. The standard XML or SGML syntax
rules for tag creation should be followed, with minor adjustments.
No current markup language has any formal support for barcodes, in spite of the low complexity in encoding and displaying them. As barcodes do involve math, Math-ML would be the best candidate for adopting the tag. However, as graphic display is involved SVG would also be the best candidate. Therefore this proposal is for a joint SVG + Math-ML adoption of this tag. Any barcode markup and display standard that becomes deployed on
web browsers and HTML word processors should be revised every 2 or
3 years. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Where the technology is today | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| The current "state of the art" is to
have all of the barcode generation done at the webserver at the
website. This is not fair to website owners, as each time bar codes
are required for some industrial purpose, a back end (Java, PHP,
...) library must be acquired and implemented.
Barcodes can be difficult and expensive for websites to adopt, when the browsers that visit the website have access to all the computational machinery they need to generate barcodes rich in data in under 100ms of CPU time. To cope with the vast number of bar codes that have been formally adopted as standards, a mechanism is needed that will accommodate most possibilities of barcode encoding. This sounds simple, but barcodes are extremely variable and this is no easy task. It is assumed that any implementation of this machinery at the web browser level must be done with a codebase that is in the public domain and open source. Complexity reduction is vital, but it may take up to 5 years to perfect the technology. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Ancillary problems | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Barcodes are as a rule rectangular,
and as a rule must be displayed as images. Math Markup Language can
get by without graphic representation due to the special nature of
math markup programs -- but this logic does not apply to barcodes.
It is assumed that the web browser should allow the user to
specify some minimal parameters for barcode generation. This could
be fit in with settings that apply to SVG or Math Markup Language
where needed. Subpixel rendering, and anti-aliasing should not be
allowed. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Syntax
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
The following table is not complete,
but must act as a guide to syntax formalization.So within the "[-]"
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Coding notes
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Contents
of CODE <barcode [-]>CODE</barcode>)
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Rules for coding must be precise and
unambiguous |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Linear barcodes
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2D Matrix or 2D Stacked barcodes
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Coping with website or user coding errors | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| It is inevitable that a website
barcode syntax generation system will make mistakes. Is is also
possible for users, and word processor authors to make mistakes in
the coding of the necessary syntax to enable this barcode syntax to
work. So a simple and unambiguous graphic should be used to indicate
an error has been made. The graphic should adapt in form to the barcode being generated. This is up to the system implementers to figure out how to do this. The blank space should be filled with
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| References
Barcodes
Error Correction
Encoding
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|