Skip to content

Aztec Mesas

Terry Burton edited this page Oct 20, 2026 · 4 revisions

Aztec Mesas

Aztec Mesas supplement a linear host symbol with a two-dimensional field of layers above it, and optionally below it, that is an Aztec Code symbol rearranged to the width of the host. The host remains readable by conventional scanners and the Mesa is read by imagers.

Also known as: Mesas.

Standards: AIM ITS/99-003 - ISS Aztec Mesas.

Data and Options

  • The data field contains the primary message for the host followed by a pipe character | and the supplemental message for the Mesa, e.g. 0123456789|Supplement.
  • The first pipe character separates the two messages, so a pipe character in the primary message is given as ^124 with the parse option.
  • A host that encodes only zeros, or nothing, is not transmitted by readers, so that the Mesa functions as a stand-alone symbol. The zeros are given as digits, or as ^048 with the parse option; a host that transmits only zeros from raw codewords or after FNC1 is not treated as one.
  • The host option selects the host symbology: code128 (the default), code39, code93, code93i, interleaved2of5, ean13 or upca. The width of the host sets the width, and therefore the capacity, of the Mesa. The options that change the encodation of the host are passed to it: includecheck, validatecheck, errorcorrection, suppressc, unlatchextbeforec, raw, parse and parsefnc. A Code 93 host always has its check characters, a Code 93i host has no 93i companion flag, an Interleaved 2 of 5 host has at least two pairs of digits, and UPC-A and EAN-13 hosts have no add-on.
  • hostwidenarrow=2 or hostwidenarrow=3 (the default) sets the wide-to-narrow ratio of a Code 39 or Interleaved 2 of 5 host.
  • The supplemental message is encoded as for Aztec Code, with the parse and parsefnc options (^FNC1, ^FNC@ and ^ECInnnnnn), eclevel (default 23) and ecaddchars (default 3) for the minimum error correction, readerinit for reader initialisation, which requires a Mesa of fewer than 512 codewords, and sampos, samtotal and samid for Structured Append, which requires a host that encodes only zeros.
  • Readers transmit the data of the host before the supplemental message, so FNC1 at the start of the supplemental message is in first position, and ^FNC@ is available, only with a host that encodes only zeros. Otherwise FNC1 is a field separator.
  • ECIs are not available with FNC1 at the start of the supplemental message, or in second position.
  • layers=1 to layers=32 fixes the number of layers; otherwise the Mesa has the fewest layers that hold the data with the minimum error correction. A Mesa holds at most 4095 codewords, which limits the layers of a host wider than about 770 modules.
  • twosided places the even-numbered layers below the host, so that an odd number of layers has one more above it.
  • rowheight sets the height of each row of the Mesa in modules (default 2). hostheight sets the height of the host in modules, by default the greater of 12 and 15% of its width.
  • barrier=n places a barrier pattern n modules high between the host and each side of the Mesa. UPC-A and EAN-13 hosts have a barrier of stilts 6 modules high by default, which barrier=0 removes for closed systems.
  • bearers adds bearer bars 2 modules high to an Interleaved 2 of 5 host, open at the reference ladders on any side that carries the Mesa.
  • clocktrack=n places a clocking track n modules high below a one-sided Mesa on a UPC-A or EAN-13 host, above a clear area 6 modules high in place of the barrier, for a Mesa that is printed separately from its host.
  • The quiet zone is 1 module above the Mesa, and below it when it is two-sided; at the sides it is that of the host, into which the Mesa extends.
  • width and height scale the whole symbol, as for other two-dimensional symbols.
  • The X-dimension of the Mesa is that of its host, so the physical specification options, such as strictspec, loosespec and ast, apply the specification profile of the host.
  • The human readable text of the host is not shown.

Examples

A two-sided Mesa on a Code 128 host:

Data:    0123456789|This is Aztec Mesas
Options: host=code128 twosided layers=2
Encoder: aztecmesas

A two-sided Mesa on a Code 39 host:

Data:    CODE 39|It was the best of times, it was the worst of times, it was the age of wisdom, it was the age of foolishness
Options: host=code39 twosided
Encoder: aztecmesas

A Mesa on a UPC-A host, with the barrier pattern:

Data:    012345000058|This is Aztec Mesas
Options: host=upca
Encoder: aztecmesas

A two-sided Mesa on an Interleaved 2 of 5 host with a wide-to-narrow ratio of 2, with bearer bars:

Data:    1234567890|This is Aztec Mesas
Options: host=interleaved2of5 hostwidenarrow=2 twosided bearers
Encoder: aztecmesas

A Mesa on a Code 93 host:

Data:    CODE 93|This is Aztec Mesas
Options: host=code93
Encoder: aztecmesas

A Mesa on a Code 93i host:

Data:    Code 93i|This is Aztec Mesas
Options: host=code93i
Encoder: aztecmesas

A Mesa on an EAN-13 host, with a clocking track for printing the Mesa separately:

Data:    9520123456788|This is Aztec Mesas
Options: host=ean13 clocktrack=4
Encoder: aztecmesas

A Mesa that stands alone, on a host of zeros that readers do not transmit:

Data:    0000000000|Call me Ishmael. Some years ago, never mind how long precisely, having little or no money in my purse
Options: host=code128 twosided
Encoder: aztecmesas

The first of two symbols that carry one message by Structured Append:

Data:    0000000000|Call me Ishmael. Some years ago, never mind how long precisely,
Options: host=code128 sampos=1 samtotal=2 samid=MOBY
Encoder: aztecmesas

The second of the two symbols:

Data:    0000000000| having little or no money in my purse, and nothing particular to interest me on shore
Options: host=code128 sampos=2 samtotal=2 samid=MOBY
Encoder: aztecmesas

A Mesa on a Code 128 host, with a barrier pattern:

Data:    0123456789|This is Aztec Mesas
Options: host=code128 barrier=4
Encoder: aztecmesas


Symbologies Reference

Point of Sale

GS1 DataBar

Supply Chain

Two-dimensional Symbols

One-dimensional Symbols

Postal Symbols

Pharmaceutical Symbols

Less-used Symbols

GS1 Composite Symbols

Raw Symbols

Partial Symbols

Clone this wiki locally