我正在尝试手动安装字体与ZPL。我有一个TTF文件,我相信我有这个命令。问题是,当我尝试用那种字体打印时,什么也打印不出来。
我可以用下面的命令
将字体上传到打印机~DYE:COMIC.TTF,A,T,63040,,AAEAAA.......
注意我截断了数据部分,但我也相信这就是我的问题的来源。
命令完成后,我可以通过运行
来验证字体是否存在^XA^WDE:*.*^XZ
我看到已经安装了COMIC.TTF字体,但是当我用
打印标签时^XA^FO50,50^A@N,50,50,E:COMIC.TTF^FDSAMPLE^FS ^XZ
无显示。我认为这个问题与字体没有正确上传有关。如有任何帮助,不胜感激。
我要感谢https://stackoverflow.com/a/64333380/634911为如何做到这一点的大提示。我没有使用~DY命令来上传字体,而是使用了~DU命令。我相信他们也会做同样的事情,但我设法用~DU命令让它工作。
我遇到的大问题是TTF字体文件的编码。使用上述stackover答案中的模板,我编写了一个快速演示程序,该程序对TTF文件进行编码,将其保存到DRAM中,然后能够使用该文件。
using System;
using System.IO;
namespace Font
{
class Program
{
static void Main(string[] args)
{
var dirPath = @"<path to directory> i.e. C:user";
var fontName = "comic.ttf";
var filePath = $@"{dirPath}{fontName}";
var data= BitConverter.ToString(File.ReadAllBytes(filePath)).Replace("-", "");
var fileSize = File.ReadAllBytes(filePath).Length;
var zpl =
$@"^XA^CI~DUR:{fontName.ToUpper()},{fileSize},{data}^FO100,0^A@N,100,50,R:{fontName.ToUpper()}^FDTESTSTRING^FS^XZ";
Console.WriteLine(zpl);
}
}
}