What printer are you using? Here is a link to the most recent ZPL Programming Manual, P1012728-009 Rev. A. last updated 5/7/2014. You might compare the sections between your documentation and this file (focusing on the sections you were using) to see what the differences are, as I do not have a copy of the same document as you.
This is from the status page when I connect to the printer: ZTC S4M-300dpi ZPL ZBR4368871 External Wired PrintServer. Not sure why it indicates "External", the Ethernet card is internal to the printer.
Here is an image of the respective table from the document I have, which is from 2005. However the tables are the same in both documents. Only fonts A to H print larger than indicated in the table.
Could you post the ZPL your sending along with the scanned printed label? How much bigger are they compared to the documentation?
Do you have a different 300dpi printer model there you could send the same ZPL to? Does it produce the same result?
I have got the same results on multiple S4M printers and a ZT410. All 300 DPI printers.
Here is the ZPL
^FX Fonts 0 to GS ^FS
^FO100,100^A0,N,15,12^FD0 - 15x12 JjRr^FS
^FO100,200^AA,N,9,5^FDA - 9x5 JjRr^FS
^FO100,300^AB,N,11,7^FDB - 11x7 JjRr^FS
^FO100,500^AD,N,18,10^FDD - 18x10 JjRr^FS
^FO100,600^AE,N,42,20^FDE - 42x20 JjRr^FS
^FO100,700^AF,N,26,13^FDF - 26x13 JjRr^FS
^FO100,800^AG,N,60,40^FDG - 60x40 JjRr^FS
^FO100,900^AH,N,34,22^FDH - 34x22 JjRr^FS
I'm directly connected to all of these printers on the network. Here is a screen shot from the print preview. The label looks the same when it is printed.
Each of the fonts below should fit between their respective lines based on their documented height.
BTW. Fonts P to V....
^FX Fonts P to V ^FS
^FO100,100^AP,N,20,18^FDP - 20x18 JjRr^FS
^FO100,200^AQ,N,28,24^FDQ - 28x24 JjRr^FS
^FO100,300^AR,N,35,31^FDR - 35x31 JjRr^FS
^FO100,400^AS,N,40,35^FDS - 40x35 JjRr^FS
^FO100,500^AT,N,48,42^FDT - 48x42 JjRr^FS
^FO100,600^AU,N,59,53^FDU - 59x53 JjRr^FS
^FO100,700^AV,N,80,71^FDV - 80x71 JjRr^FS
Same results on each printer. Each fits between the lines, which represent the height of the font according to documentation.
I think those are bitmapped fonts so according to the manual the height and width are multipliers so I'd try printing them all using ^A[font],N,1,1.
My guess is ^AT,N,48,42, for example is likely using a 4x multiplier giving you larger characters than you expect.
Following that train of thought... I changed the '^A' to this format "^AD,N,1", leaving off the third parameter. (Note that I tried using both parameters).
Then ^AD,N,1 should be scaled 1x
and ^AD,N,2 should be scaled 2x
and so forth....
However that isn't the case.
However, I did find a pattern using 'AD,N,n' where 'n' is a multiple of the width.
So you would expect a font that is 18x10 to scale to the next size when n is 20, but it doesn't. The D font actually scaled up at n=15 and then continued in multiples of the width.
The same held true for the B font. Both having the first scale point at a value of Height - 3.
I tried this with the A font, but the first scale point was Height - 1 and then multiples of the width.
It's a little weird, and definitely not documented to indicate this, but at least it's consistent across our printers.
Re-reading the description again, I think your original ZPL was correct and the parameter is multiples of the standard height/width in increments 1-10. I see the same issues on 203dpi.
I agree it does not make sense - we'll investigate.
I found a difference in the latest ZPL documentation, which makes the fonts act as documented. That's what I get for working with obsolete documentation.
Notice the difference in the Format of the command. The first picture is from document 45541L-003 Rev. A, dated 6/9/06. The second is from P1012728-009, dated 5/7/14. In the new document there is no comma between parameter 'f' and 'o'.
45541L-003 Rev. A
Great! Thanks for letting us know.