最近做的事情是用android通过udp方式往灯板控制卡发送文字,让灯板显示。灯板控制卡为scl2008.

发送流程为,将要发送的文字转码为GB2312,两字节一个汉字,编码之后,发送到灯板上去,灯板一个单元板为32*32的,一块灯板由6块单元板组成,所以一块灯板尺寸为192*32.

这里对于普通的gb2312字符都是没啥问题的,GB2312编码可以参考链接:2312

GBK编码可以参考链接:GBK

GBK编码范围:8140-FEFE,关于GBK的编码,如下属描述

 全部编码分为三大部分:1. 汉字区。包括:
a. GB 2312 汉字区。即 GBK/2: B0A1-F7FE。收录 GB 2312 汉字 6763 个,按原顺序排列。
b. GB 13000.1 扩充汉字区。包括:
(1) GBK/3: 8140-A0FE。收录 GB 13000.1 中的 CJK 汉字 6080 个。
(2) GBK/4: AA40-FEA0。收录 CJK 汉字和增补的汉字 8160 个。CJK 汉字在前,按 UCS 代码大小排列;增补的汉字(包括部首和构件)在后,按《康熙字典》的页码/字位排列。2. 图形符号区。包括:
a. GB 2312 非汉字符号区。即 GBK/1: A1A1-A9FE。其中除 GB 2312 的符号外,还有 10 个小写罗马数字和 GB 12345 增补的符号。计符号 717 个。
b. GB 13000.1 扩充非汉字区。即 GBK/5: A840-A9A0。BIG-5 非汉字符号、结构符和“○”排列在此区。计符号 166 个。3. 用户自定义区:分为(1)(2)(3)三个小区。
(1) AAA1-AFFE,码位 564 个。
(2) F8A1-FEFE,码位 658 个。
(3) A140-A7A0,码位 672 个。

GB2312编码范围:A1A1-FEFE,其中汉字编码范围:B0A1-F7FE。,因为GB2312是按区域来划分汉字的,具体算法参考上面的2312链接。

比如A1A1为空格,A1A2为顿号,A2D9为圈1,B0A1为啊

如果想知道一个汉字或者字符的相应编码,可以参考链接:字符编码查询

但这里遇到了问题,如果一个字符在GB2312里没有,怎么显示。

在windows自带的造字程序里添加该字符,然后用makefontlib.exe导出操作系统的相关字库文件,(比如宋体),然后将该字库文件发送到灯板上,然后在用造字相关的编码区调用,并不成功。

该问题还需继续调查。

接着上面的继续说,需要提到的是windows系统,这里是在win7下做的。附件-专用字符编辑程序,这个工具可以造一个自己的字体,可以直接画上去,同时有对应的编码。比如AAA1,然后保存的时候可以点一下  文件-字体链接  会提示保存的选项,如果是全链接,则表示链接所有字体,我选的是只链接宋体,那么就是只在宋体中关联使用这个字。

然后下面可以使用字符隐射表去查看刚才添加的特殊字符,在专用字符一栏去查找,当然也有可能压根就没这个选项,暂不关心。

然后使用字库提取工具,取指定字体的字库,应该就能够提取到刚才的特殊字符。

这里再说说另外的思路,可以下载font creator这个工具,编辑本地字库,然后安装。也可以使用font lab这个工具,两个工具都有类似的功能。把字库修改然后安装进去。那么提取的时候就指定提取该字库即可。

这里说明下,我本地使用的是自己的一个字库,Untitled.ttf,编辑,安装,然后提取的时候选择这个字库。编码即使不是GB2312,好像关系也不大,我记得用的是西欧。

比如你自己造字的编码是AAA1,那么调用的时候,就调用到了你自己造的这个字。如果是替换,效果也一样。

要说明的是,在数字和文字显示的混个方式中,字库也必须配两个,32*32和16*32的,因为这样,两个英文字符才占用一个汉字位置。除非只想让一个英文字符就占用一个汉字大小位置,那么只要一个32*32的字库就够了。否则,会出现乱码等现象。

还有很多小问题可能会出现,但主要思路就是这样。至于图片的方式,要看通讯协议是否满足才行。

关于编辑字符,参见下述:打开fontlab,这里以替换字符为例,把A字符复制,然后粘贴到B的位置,会弹出对话框,去掉勾选项,然后保存,当所有字符替换完成之后,选择font-info选项,在点击name and copyright,然后填写名字,然后点build names - apply。下面依次点击OpenType,填写。copyright -build 。然后点击additional opentype,点击reset names(叉叉),然后点击import names(FI),会生成内容,(这里看到的是copyright前俩个,然后依次按照NID向下排列,具体还需要了解)。

platform选microsoft,encoding选unicode,最后一个没管(这里我是这么做的,至于是否正确还需要多了解)。

到这里名字改完了,点击font-generate font导出ttf文件。

然后使用font creator去导入刚生成的ttf文件,查看字符是否修改正确,然后点击font-install ,如果没问题,一般可以安装成功。

剩下的上面都说了,使用makefontlib导出fon文件,字体选择刚安装的字体。供控制卡使用。一般在传输完成字库之后,需要重启控制卡。

最后,我本地使用的是UNTI.Fon和TEST.Fon文件,应该是Nsimsun3.ttf  和 Test.ttf文件抽取出来的。大概如此吧。

android控制板相关推荐

  1. android 两足机器人,基于Android的双足机器人语音控制系统研究

    摘要: 随着智能终端的快速普及和移动互联网的高速发展,人们通过一部手机连接整个世界的目标似乎已经实现.进入二十一世纪后,人工智能是科技领域绕不开的一个主题.虽然当下对于人工智能的研究或应用还都处于初级 ...

  2. android car bt模块,大谷蓝牙小车BT Car/Android Car手机控制 重力控制小车 安卓操控小车...

    产品介绍: Android蓝牙遥控小车平台.是通过Android手机以蓝牙方式操控小车前进后退左转右转等,具有重力感应操控.触摸屏虚拟操控.虚拟摇杆三种控制模式.并且还具有呼吸灯.电源指示灯.蓝牙连接 ...

  3. 背景差分法android代码,【学术论文】基于背景差分法的尾气烟度检测系统设计...

    摘要随着机动车尾气的大量排放,为减少大气污染,对尾气进行相关的检测也越来越重要.为自动检测机动车尾气黑度,设计并实现了一种对尾气图片使用图像处理的方法进行林格曼级数检测的系统.通过对汽车尾气进行拍照处 ...

  4. android,手机 遥控,

    Android手机遥控智能小车源码 - 下载频道 - CSDN.NETandroid手机控制电脑源码+android安全卫士源码 - 各类源码 - 中国红客联盟 - Powered by HUC安卓手 ...

  5. 树莓派Android Things物联网开发:GitHub案例程序汇总

    [转载请注明出处:http://blog.csdn.net/leytton/article/details/78275085] <树莓派Android Things物联网开发>系列文章专栏 ...

  6. android厕所app源码,智能家居app源码(android)

    [实例简介] 登录的用户名密码均为 a, 有 门禁控制 窗帘控制 空调控制 灯控制 [实例截图] [核心代码] package com.geclab.smarthome; import java.io ...

  7. STM32毕业设计——基于STM32+JAVA+Android的六足机器人控制系统设计与实现(毕业论文+程序源码)——六足机器人控制系统

    基于STM32+JAVA+Android的六足机器人控制系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于STM32+JAVA+Android的六足机器人控制系统设计与实现,文章末尾附有 ...

  8. Android学习笔记-常用的一些源码,防止忘记了

    Android学习笔记-常用的一些源码,防止忘记了... 设置拨打电话 StringdialUri="tell:"+m_currentTelNumble; IntentcallIn ...

  9. android 智能家居连接wifi模块,智能家居应用篇 WiFi模块智能开关解决方案

    原标题:智能家居应用篇 WiFi模块智能开关解决方案 在家居智能化进程中,其实开关和插座一样,都是必备的基础产品,在一套的智能家居系统里面,不可能少了智能开关这一个基础产品.智能开关是指利用控制板和电 ...

最新文章

  1. CentOs下php连mssql并配置unixODBC
  2. java获取栈最大值_实现O(1)获取最大最小值的栈----java
  3. linux 编译opencv 慢,opencv4.0 cuda10 编译速度太慢
  4. C++ function bind以及lamda表达式
  5. JS 停留几秒后返回上一页
  6. 随想录(嵌入式工程师的出路)
  7. 大数据在消防安全中的新应用
  8. Android ViewGroup介绍+实例
  9. OneStep 移植
  10. Excel批量核实输入的银行卡号信息是否正确!
  11. 中国电信php,一个基于中国电信开放应用平台的短信发送函数(PHP版)
  12. 非常规方法彻底删除System Volume Information.exe
  13. Svelte-Ui-Admin基于svelte-ui中后台管理系统|Svelte3+Vite3后台框架
  14. 数据结构-malloc申请动态空间-链表的创建
  15. 壁挂炉洗澡怎么调水温_松鼠洗澡水温-小松鼠壁挂炉怎么调水温 热死人!
  16. 尚硅谷JavaWeb教程
  17. Day10.如何给⽑不易的歌曲做词云展示
  18. FreeModbus从站源码解析(portserial.c)
  19. js之内置对象的练习
  20. iOS 视频拍摄与压缩

热门文章

  1. linux 分区 4k对齐,分区4K对齐那些事,你想知道的都在这里
  2. Fama-French五因子模型
  3. ant编译错误:不再支持源选项 1.5,请使用 1.6 或更高版本。
  4. 9012,9013,9014,9015,8050,8550三极管的区别
  5. 计算几何@_@不规则四边形求法
  6. poj3678 Katu Puzzle 【解法一】
  7. 统计学(1)二项分布 几何分布 泊松分布 指数分布 正态分布 gamma分布 beta分布
  8. 支付系统-概念与架构
  9. 神马VS百度,移动互联网战争全面升级!
  10. 主动学习(active learning)