I have a ZPL-2 document containing a text based on an extra TTF font which is "partially" incorporated in the file.
The amount of glyphs used in that font is large: around 120. Mainly the alphanumerical symbols [a-zA-Z0-9], some punctuation, and some Japanese characters.
ZPL disposes of several ways to use a font and embed a font.
This document uses the "send to RAM" method, syntax ~DUR:MYFNTID,17104,.. hexa data 17104 long .. .
After that, the glyphs of the font are used in labels (text), for instance:
^FT341,260 // positioning
^A@R,25,0,R:MYFNTID.FNT // declaring the font in use
^FD!f8i // text, based on intra-font glyph mapping
^FS // end field
Due to the manner the ^FD texts must use ascii character (minus ^ ~ | \ which are ZPL key-symbols). The amount of characters storable in one font is limited. About 94 glyph max.
So, for our 120 glyphs, we needed to split them into 2 separate ZPL fonts.
What is the content of the previous .. hexa data 17104 long ... Well, this is a True TTF format content.
So we have our glyphs splited between MYFNTID1 and MYFNTID2. And we permute from one or the other as needed in the ^A@R,25,0,R:MYFNTID1.FNT commands.
Here is a small example: Download ZPL file
My question now...
As said FNT1 and FNT2 result from a common Full TTF font (lets say Arial), containing all glyph (Latin and Japanese).
So, despite the glyphs have been cherry picked, and FNT1 and FNT2 drastically compressed to fit the limited amount of glyphs in use, meaning that CMAP have been rewritten. The rest of the TTF table are unchanged (name, head for instance).
And despite the ZPL language ~DUR instruction reclames a unique identifier (here MYFNTID1 and MYFNTID2). It seems that the printer disregards the second font.
My question is : On which keys (ZPL or internal TTF) does the printer identify its fonts?
PS: while writing my question, I see how much choices where maid. And how much specific knowledge are involved to understand the problem. So, I would be glad to edit and rephrase if needed.