【Python_Zebra斑马打印机编程学习笔记(三)】解决ZPL指令无法显示中文的问题

news2024/11/18 3:43:42

解决ZPL指令无法显示中文的问题

    • 解决ZPL指令无法显示中文的问题
    • 前言
    • 一、问题描述
    • 二、字符集、码表文件、字库文件
      • 1、字符集
      • 2、码表文件
      • 3、字库文件
    • 三、两种设置中文字体的方式
    • 1、通过设置字符集、码表文件、字库文件改变默认字体
    • 2、通过^CF指令设置标准字体名称改变默认字体

解决ZPL指令无法显示中文的问题

前言

本文介绍如何解决 ZPL 指令无法显示中文的问题,有需要的读者可以点赞收藏,也欢迎在评论区进行讨论。

一、问题描述

在 Labelary Online ZPL Viewer 上对编写的 zpl 文档预览时发现当标贴中又需要打印中文时,会出现乱码,如下图所示:
在这里插入图片描述
ZPL为:

^XA
^FO50,50 ^ADN30,30^FD标贴:Label^FS
^XZ

二、字符集、码表文件、字库文件

在解决该显示中文问题前,需要明确几个概念:字符集、码表文件、字库文件

1、字符集

可以理解为编码格式,ZPL 提供了各种国际字符字体:美国、英国、荷兰、丹麦等,遵循国际字符的ISO标准。
在 ZPL 语言中用 ^CI charset, src1, dest1, src2, dest2, ... 指令更改字符集
在这里插入图片描述

指令字符编码
0USA1 (开机初始化设置)
1美国2
2英国
3荷兰
4丹麦/挪威
5瑞典/芬兰
6德国
7法国1
8法国2
9意大利
10西斑牙
11其它
12日本
13IBM 850码
15Shift-JIS,日本字库的曲线字库
28Unicode (UTF-8 编码)

要选取中文编码,常用的字符集为28,Unicode 字符集,ZPL 指令为:^CI28

2、码表文件

码表文件,即字符编码文件,当设置完字符集后,需要选择对应的字符编码文件;
注意:当设置为 Unicode 编码时,不需要设置码表文件;当使用 ANSI 编码时必须配置码表文件。

编码说明:

编码说明
ANSI 编码双字节内码,2个字节=1个文字
ASCII 编码单字节内码,1个字节=1个文字
Unicode 编码3个+字节=1个文字
UTF-8 编码对 Unicode 进行“压缩”

在 ZPL 语言中用 ^SE path 指令更改码表文件,如^SEE:GB18030.DAT^FS
其中,E: 为默认存储位置,大多数机器都默认存储在E盘;
存储盘符说明:

存储盘符说明
RDRAM
BPCMCIA Card
EFlash Memory

常用的中文码表有 :GB.DAT、GB8BIT.DAT、GB2312.DAT、GB18030.DAT;

注意:在 Labelary Online ZPL Viewer 中无法设置码表文件。
在这里插入图片描述

3、字库文件

也就是字体文件,字库文件后缀为 FNT 或 TTF ,字库文件需要自行下载,可以在 斑马的打印机官网 上获取;
在 ZPL 语言中用 ^CW fontName, path 指令更改字体文件,如^CW1,R:MYFONT.FNT,其中 1 为定义的字体标识名称。
自定义标识名称时不能使用 ZPL 标准的字体名称 (A, B, C, D, E, F, G, H, P, Q, R, S, T, U, V, 0)
在这里插入图片描述
如果从斑马打印机中获取打印机的字体呢?
在打印机面板上选择工具->打印信息->字体->打印
即可得到下面的字体清单:
在这里插入图片描述

三、两种设置中文字体的方式

1、通过设置字符集、码表文件、字库文件改变默认字体

  1. 设置字符集:^CI28
  2. 设置码表文件:^SEE:GB18030.DAT^FS
  3. 设置字库文件: ^CWA,E:SIMSUN.FNT^FS
    注意:设置 Unicode 编码时,只需要字库文件即可

完整ZPL代码:

^XA
^CI28
^SEE:GB18030.DAT^FS
^CWA,E:SIMSUN.FNT^FS
^FO30,30^FD标贴Label^FS
^XZ

注意:上述代码无法在 Labelary Online ZPL Viewer 中实现预览

2、通过^CF指令设置标准字体名称改变默认字体

想在 Labelary Online ZPL Viewer 还有另一种方式,即通过 ^CF 的标准字体名称来设置字体
在 ZPL 语言中用 ^CF fontName, height, width 指令设置字体、字体高度、字体宽度
ZPL 提供了一些标准的字体名称,如 A, B, C, D, E, F, G, H, P, Q, R, S, T, U, V, 0
Labelary 也有特定的标准字体名称,如J, L, N;其中 J 为中文字体名称;
在设置字体前,也需要设置字符集,也就是字体编码。

`^XA
^CI28
^CFJ,30,30
^FO50,50^FD标贴Label^FS
^XZ`

预览得到的结果如下:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1479196.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DOM 创建节点、添加节点和删除节点

创建元素节点 document.createElement(‘标签名’) 创建文本节点document.createTextNode ( 内容 ) 根据传入的标签名创建出一个空的元素对象创建出来的默认不显示,要成为别人的子元素才能显示,所以要结合appendChild使用 添加节点(后面&am…

【AI Agent系列】【MetaGPT多智能体学习】4. 基于MetaGPT的Team组件开发你的第一个智能体团队

本系列文章跟随《MetaGPT多智能体课程》(https://github.com/datawhalechina/hugging-multi-agent),深入理解并实践多智能体系统的开发。 本文为该课程的第四章(多智能体开发)的第二篇笔记。主要是对MetaGPT中Team组件…

每日一练:LeeCode-701、二叉搜索树中的插入操作【二叉搜索树+DFS+全搜】

本文是力扣 每日一练:LeeCode-701、二叉搜索树中的插入操作【二叉搜索树DFS全搜】学习与理解过程,本文仅做学习之用,对本题感兴趣的小伙伴可以出门左拐LeeCode。 给定二叉搜索树(BST)的根节点 root 和要插入树中的值 …

机器学习图像识别如何处理标签以外的图像?

机器学习图像识别技术是一种基于人工智能的图像处理方法,它通过训练大量的图像数据集来让计算机学习如何识别和分类图像。在图像识别任务中,我们通常需要对图像进行标注和分类,以便让计算机能够从中学习。但是,有时候我们可能会遇…

减少页面加载时间:提升用户体验的关键

✨✨ 祝屏幕前的您天天开心,每天都有好运相伴。我们一起加油!✨✨ 🎈🎈作者主页: 喔的嘛呀🎈🎈 目录 引言 一、为什么页面加载时间重要? 二、如何减少页面加载时间? …

集中和离散

数据分类&#xff1a;定性(分类&#xff0c;顺序)&#xff0c;定量(数值) 分类&#xff1a;男&#xff0c;女 顺序&#xff1a;高&#xff0c;中&#xff0c;低 数值&#xff1a;可计算的数字 数据等级&#xff1a;分类<顺序<数值。高级数据可以用低级数据&#xff0c…

day09_面向对象_构造方法_封装

今日内容 零、 复习昨日 一、构造方法 二、重载 三、封装 零、 复习昨日 1 类和对象是什么关系? 类是模板(原材料)对象是具体实例(成品)类创建出对象 2 类中有什么?(类的成员) 成员属性(成员变量), 成员方法 3 创建对象的语法? 类名 对象名 new 类名(); 4 调用对象属性,方法…

音频筑基:CD还是HiRes?高清音频分类一文说透

音频筑基&#xff1a;CD还是HiRes&#xff1f;高清音频分类一文说透 前言音乐品质分类相关资料 前言 音频信号中&#xff0c;经常遇到高清音乐、无损音质、CD、HiRes等说法&#xff0c;本文主要在纯数字信号级别&#xff0c;从音源分类和编码质量两个维度&#xff0c;做一个分析…

[AutoSar]BSW_Com06 CAN报文应用层到Can总线的函数调用

目录 关键词平台说明一、背景二、PDU转换三、函数调用 关键词 嵌入式、C语言、autosar、OS、BSW 平台说明 项目ValueOSautosar OSautosar厂商vector &#xff0c;芯片厂商TI 英飞凌编程语言C&#xff0c;C编译器HighTec (GCC)autosar版本4.3.X >>>>>回到总目…

《商用密码应用安全性评估管理办法》解读

根据《中华人民共和国密码法》&#xff08;以下简称《密码法》&#xff09;、《商用密码管理条例》&#xff08;以下简称《条例》&#xff09;等法律法规&#xff0c;国家密码管理局研究制定了《商用密码应用安全性评估管理办法》&#xff08;国家密码管理局令第3号&#xff09…

Vue页面更新后刷新页面不会渲染解决

小编今天犯了个很低级的错误&#xff0c;导致VUE页面刷新样式不会更新的问题&#xff01; 解决方法&#xff1a;查看你的路由路径大小写是否正确&#xff01;小编是犯了这种错误&#xff0c;特此分享下&#xff01;

Vite 构建的 Vue3 项目如何整合 Monaco Editor 代码编辑器

目录 &#x1f981; 一. 前言&#x1f981; 二. 探索过程2.1 安装2.2 配置 Monaco Editor2.3 编写 Monaco Editor 代码编辑器2.3.1 创建 Coding Editor 组件2.3.2 父组件使用 CodingEditor 组件 2.4 效果展示 三. 总结 &#x1f981; 一. 前言 各位好&#xff01;我是&#x1…

Unity 预制体与变体

预制体作用&#xff1a; 更改预制体&#xff0c;则更改全部的以预制体复制出的模型。 生成预制体&#xff1a; 当你建立好了一个模型&#xff0c;从层级拖动到项目中即可生成预制体。 预制体复制模型&#xff1a; 将项目中的预制体拖动到层级中即可复制。或者选择物体复制粘贴。…

2024年2月总结及随笔之平平安安过大年

1. 回头看 日更坚持了425天。 读《千脑智能》开更并更新完成 读《十堂极简人工智能课》开更并更新完成 读《人工不智能&#xff1a;计算机如何误解世界》开更并持续更新中 2023年至2024年2月底累计码字898882字&#xff0c;累计日均码字2115字。 2024年2月码字84475字&am…

【机器学习:Recommendation System】推荐系统

推荐系统&#xff08;或推荐系统&#xff09;是一类机器学习&#xff0c;它使用数据来帮助预测、缩小范围并在呈指数级增长的选项中找到人们正在寻找的内容。 【机器学习&#xff1a;Recommendation System】推荐系统 什么是推荐系统&#xff1f;用例和应用电子商务与零售&…

基于springboot+vue的常规应急物资管理系统

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战&#xff0c;欢迎高校老师\讲师\同行交流合作 ​主要内容&#xff1a;毕业设计(Javaweb项目|小程序|Pyt…

动态规划|【路径问题】礼物的最大价值(LCR 166.珠宝的最高价值)

目录 题目 题目解析 思路 1.状态表示 2.状态转移方程 3.初始化 4.填表顺序 5.返回值 代码 题目 LCR 166. 珠宝的最高价值 &#xff08;现在leetcode上面是这个题&#xff09;这个题跟下面这个题叙述方式一样&#xff0c;就拿下面这个 题来讲解&#xff09; 题目描述&…

基于语义解析的KBQA——代码和论文详细分析

根据论文&#xff1a;Semantic Parsing on Freebase from Question-Answer Pairs&#xff0c;分析其代码和步骤&#xff0c;以加强对这一流程的深入理解&#xff0c;重点关注模型的输入、输出和具体方法。 前言 提供阅读本文的前提知识&#xff0c;引用自Semantic Parsing on…

Python利用pandas对数据进行特定排序

更多Python学习内容&#xff1a;ipengtao.com 在数据分析和处理过程中&#xff0c;排序是一项常见而重要的操作。Python中的pandas库提供了丰富的功能&#xff0c;可以方便地对数据进行各种排序操作。本文将详细介绍如何利用pandas对数据进行特定排序&#xff0c;包括基本排序、…

ODOO12设置收发邮件服务器教程

一、设置-技术 二、设置–技术–发件服务器 信息填写完整后&#xff0c;点击‘测试连接’&#xff0c;若提示成功&#xff0c;则发件服务器设置成功。 三、设置–技术–收件服务器 四、设置–参数–系统参数 修改之前的email系统参数&#xff1a; mail.catchall.alias: 收件服…