-
点阵字体发票打印字体中文字体
2019-07-25 00:04:53点阵字体是一款用于发票打印的中文字体,这款字体名称叫小点阵,点阵字体是把每一个字符都分成16×16或24×24个点,然后用每个点的虚实来表示字符的轮廓,喜欢的朋友们可以前来下载使用。 文字添加方法: 第一种 1.... -
点阵宋字字体中文字体
2019-08-06 05:08:25点阵宋字字体是一款用于漫画设计方面的字体,拥有、点点刚劲、漫画、设计等效果,给人的感觉是仿佛每个字体都是点点连接起来的,特别是在撇捺这些地方,本站提供了点阵宋字字体下载,欢迎有喜欢或需要的此字体的朋友... -
Python实现点阵字体读取与转换
2017-10-13 18:00:53点阵字体是指根据文字的像素点来显示的字体,效果如下: 使用Python读取并显示的过程如下: 根据中文字符获取GB2312编码 通过GB2312编码计算该汉字在点阵字库中的区位和码位 通过区位和码位计算在点阵字库...点阵字体是指根据文字的像素点来显示的字体,效果如下:
使用Python读取并显示的过程如下:
- 根据中文字符获取GB2312编码
- 通过GB2312编码计算该汉字在点阵字库中的区位和码位
- 通过区位和码位计算在点阵字库中的偏移量
- 基于偏移量获取该汉字的32个像素存储字节
- 解析像素字节获取点阵坐标信息
- 在对应的坐标显示信息位。如该像素点是否显示点亮
使用该代码前提:下载点阵字体库到本地,这里默认使用的是hzk16点阵字库
字体库下载地址:
代码如下:
#!/usr/bin/python #encoding: utf-8 import binascii RECT_HEIGHT = 16 RECT_WIDTH = 16 BYTE_COUNT_PER_ROW = RECT_WIDTH / 8 BYTE_COUNT_PER_FONT = BYTE_COUNT_PER_ROW * RECT_HEIGHT KEYS = [0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01] class FontRender(object): def __init__(self, font_file, rect_height=RECT_HEIGHT, rect_width=RECT_WIDTH, byte_count_per_row=BYTE_COUNT_PER_ROW): self.font_file = font_file self.rect_height = rect_height self.rect_width = rect_width self.byte_count_per_row = byte_count_per_row self.__init_rect_list__() def __init_rect_list__(self): self.rect_list = [] * RECT_HEIGHT for i in range(RECT_HEIGHT): self.rect_list.append([] * RECT_WIDTH) def get_font_area_index(self, txt, encoding='utf-8'): if not isinstance(txt, unicode): txt = txt.decode(encoding) gb2312 = txt.encode('gb2312') hex_str = binascii.b2a_hex(gb2312) area = eval('0x' + hex_str[:2]) - 0xA0 index = eval('0x' + hex_str[2:]) - 0xA0 return area, index def get_font_rect(self, area, index): offset = (94 * (area-1) + (index-1)) * BYTE_COUNT_PER_FONT btxt = None with open(self.font_file, "rb") as f: f.seek(offset) btxt = f.read(BYTE_COUNT_PER_FONT) return btxt def convert_font_rect(self, font_rect, ft=1, ff=0): for k in range(len(font_rect) / self.byte_count_per_row): row_list = self.rect_list[k] for j in range(self.byte_count_per_row): for i in range(8): asc = binascii.b2a_hex(font_rect[k * self.byte_count_per_row + j]) asc = eval('0x' + asc) flag = asc & KEYS[i] row_list.append(flag and ft or ff) def render_font_rect(self, rect_list=None): if not rect_list: rect_list = self.rect_list for row in rect_list: for i in row: if i: print '■', else: print '○', print def convert(self, text, ft=None, ff=None, encoding='utf-8'): if not isinstance(text, unicode): text = text.decode(encoding) for t in text: area, index = self.get_font_area_index(t) font_rect = self.get_font_rect(area, index) self.convert_font_rect(font_rect, ft=ft, ff=ff) def get_rect_info(self): return self.rect_list if '__main__' == __name__: text = u'同创伟业' fr = FontRender('./font/16x16/hzk16h') fr.convert(text, ft='/static/*', ff=0) # print fr.get_rect_info() fr.render_font_rect()
关于学习Python的更多文章,请扫描下方二维码。
-
Python实现点阵字体读取与转换的方法
2021-01-20 06:53:18点阵字体是指根据文字的像素点来显示的...使用该代码前提:下载点阵字体库到本地,这里默认使用的是hzk16点阵字库 代码如下: #!/usr/bin/python #encoding: utf-8 import binascii RECT_HEIGHT = 16 RECT_WIDTH = 1 -
python点阵显示数字_Python实现点阵字体读取与转换的方法
2021-02-04 05:38:35点阵字体是指根据文字的像素点来显示的字体,效果如下: 使用python读取并显示的过程如下:根据中文字符获取GB2312编码通过GB2312编码计算该汉字在点阵字库中的区位和码位通过区位和码位计算在点阵字库中的偏移量...点阵字体是指根据文字的像素点来显示的字体,效果如下:
使用python读取并显示的过程如下:
根据中文字符获取GB2312编码
通过GB2312编码计算该汉字在点阵字库中的区位和码位
通过区位和码位计算在点阵字库中的偏移量
基于偏移量获取该汉字的32个像素存储字节
解析像素字节获取点阵坐标信息
在对应的坐标显示信息位。如该像素点是否显示点亮
使用该代码前提:下载点阵字体库到本地,这里默认使用的是hzk16点阵字库
代码如下: #!/usr/bin/python
#encoding: utf-8
import binascii
RECT_HEIGHT = 16
RECT_WIDTH = 16
BYTE_COUNT_PER_ROW = RECT_WIDTH / 8
BYTE_COUNT_PER_FONT = BYTE_COUNT_PER_ROW * RECT_HEIGHT
KEYS = [0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01]
class FontRender(object):
def __init__(self, font_file,
rect_height=RECT_HEIGHT, rect_width=RECT_WIDTH, byte_count_per_row=BYTE_COUNT_PER_ROW):
self.font_file = font_file
self.rect_height = rect_height
self.rect_width = rect_width
self.byte_count_per_row = byte_count_per_row
self.__init_rect_list__()
def __init_rect_list__(self):
self.rect_list = [] * RECT_HEIGHT
for i in range(RECT_HEIGHT):
self.rect_list.append([] * RECT_WIDTH)
def get_font_area_index(self, txt, encoding='utf-8'):
if not isinstance(txt, unicode):
txt = txt.decode(encoding)
gb2312 = txt.encode('gb2312')
hex_str = binascii.b2a_hex(gb2312)
area = eval('0x' + hex_str[:2]) - 0xA0
index = eval('0x' + hex_str[2:]) - 0xA0
return area, index
def get_font_rect(self, area, index):
offset = (94 * (area-1) + (index-1)) * BYTE_COUNT_PER_FONT
btxt = None
with open(self.font_file, "rb") as f:
f.seek(offset)
btxt = f.read(BYTE_COUNT_PER_FONT)
return btxt
def convert_font_rect(self, font_rect, ft=1, ff=0):
for k in range(len(font_rect) / self.byte_count_per_row):
row_list = self.rect_list[k]
for j in range(self.byte_count_per_row):
for i in range(8):
asc = binascii.b2a_hex(font_rect[k * self.byte_count_per_row + j])
asc = eval('0x' + asc)
flag = asc & KEYS[i]
row_list.append(flag and ft or ff)
def render_font_rect(self, rect_list=None):
if not rect_list:
rect_list = self.rect_list
for row in rect_list:
for i in row:
if i:
print '■',
else:
print '○',
print
def convert(self, text, ft=None, ff=None, encoding='utf-8'):
if not isinstance(text, unicode):
text = text.decode(encoding)
for t in text:
area, index = self.get_font_area_index(t)
font_rect = self.get_font_rect(area, index)
self.convert_font_rect(font_rect, ft=ft, ff=ff)
def get_rect_info(self):
return self.rect_list
if '__main__' == __name__:
text = u'同创伟业'
fr = FontRender('./font/16x16/hzk16h')
fr.convert(text, ft='/static/*', ff=0)
# print fr.get_rect_info()
fr.render_font_rect()
以上这篇Python实现点阵字体读取与转换的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持聚米学院。
-
8x8点阵字体在线生成器_字体字形网站合集
2020-11-15 15:49:27求字体,提供中文和英文字体库下载、识别与预览服务。传送门:http://www.qiuziti.com字体之家,提供各种字体打包下载,中文字体、英文字体、PS字体、艺术字体、手机软件、字体工具等。传送门:...求字体,提供中文和英文字体库下载、识别与预览服务。
传送门:http://www.qiuziti.com
字体之家,提供各种字体打包下载,中文字体、英文字体、PS字体、艺术字体、手机软件、字体工具等。
传送门:http://www.17ziti.com
站长字体,提供PS字体、免费字体、商业字体库等下载服务。
传送门:http://font.chinaz.com
字体传奇。
传送门:http://www.ziticq.com
搜字网,提供各类字体大全预览和下载服务。
传送门:http://www.sozi.cn/zitidaquan/
fontsup。
传送门:https://fontsup.com
找字网,提供中英文字体下载、手写字体下载、书法字体下载、艺术字体下载等服务。
传送门:http://www.zhaozi.cn
字由,为设计师量身定做的一款字体下载管理工具。
传送门:http://www.hellofont.cn
fontex。
传送门:http://www.fontex.org
1001freefonts。
传送门:https://www.1001freefonts.com
dafont。
传送门:https://www.dafont.com
头文字,提供各种的字体下载服务,中文字体、英文字体、PS字体、艺术字体、字体工具等服务。
传送门:https://www.touwenzi.com
ffonts,提供各种字体下载。
传送门:https://cn.ffonts.net
字体下载网,提供各种的中文字体、英文字体、艺术字体、韩文字体、日文字体等字体打包下载和在线预览等服务。
传送门:http://www.ztxz.cn
第一字体网,提供字体转换器在线转换、艺术字体在线生成器和字体下载,包括书法字体在线转换、毛笔字在线生成器等服务。
传送门:http://www.diyiziti.com
艺术字体在线生成器。
传送门:https://www.qt86.com
提供毛笔字体在线生成、毛笔字转换等服务。
传送门:https://www.zhenhaotv.com
米艺字,提供艺术字体在线生成、艺术字在线转换等服务。
传送门:http://www.miyizi.com
Fonts2u。
传送门:https://zh.fonts2u.com
-
8x8点阵字体在线生成器_好用的字体字形网站合集
2020-11-15 15:49:30求字体,提供中文和英文字体库下载、识别与预览服务。传送门:http://www.qiuziti.com字体之家,提供各种字体打包下载,中文字体、英文字体、PS字体、艺术字体、手机软件、字体工具等。传送门:...求字体,提供中文和英文字体库下载、识别与预览服务。
传送门:http://www.qiuziti.com
字体之家,提供各种字体打包下载,中文字体、英文字体、PS字体、艺术字体、手机软件、字体工具等。
传送门:http://www.17ziti.com
站长字体,提供PS字体、免费字体、商业字体库等下载服务。
传送门:http://font.chinaz.com
字体传奇。
传送门:http://www.ziticq.com
搜字网,提供各类字体大全预览和下载服务。
传送门:http://www.sozi.cn/zitidaquan/
fontsup。
传送门:https://fontsup.com
找字网,提供中英文字体下载、手写字体下载、书法字体下载、艺术字体下载等服务。
传送门:http://www.zhaozi.cn
字由,为设计师量身定做的一款字体下载管理工具。
传送门:http://www.hellofont.cn
fontex。
传送门:http://www.fontex.org
1001freefonts。
传送门:https://www.1001freefonts.com
dafont。
传送门:https://www.dafont.com
头文字,提供各种的字体下载服务,中文字体、英文字体、PS字体、艺术字体、字体工具等服务。
传送门:https://www.touwenzi.com
ffonts,提供各种字体下载。
传送门:https://cn.ffonts.net
字体下载网,提供各种的中文字体、英文字体、艺术字体、韩文字体、日文字体等字体打包下载和在线预览等服务。
传送门:http://www.ztxz.cn
第一字体网,提供字体转换器在线转换、艺术字体在线生成器和字体下载,包括书法字体在线转换、毛笔字在线生成器等服务。
传送门:http://www.diyiziti.com
艺术字体在线生成器。
传送门:https://www.qt86.com
提供毛笔字体在线生成、毛笔字转换等服务。
传送门:https://www.zhenhaotv.com
米艺字,提供艺术字体在线生成、艺术字在线转换等服务。
传送门:http://www.miyizi.com
Fonts2u。
传送门:https://zh.fonts2u.com
-
mplus_hzk_12:中文字体字体-源码
2021-02-05 06:39:48#bdf_to_sdf.py把bdff子模生成sdf文件使用库bdflib( ) #hzk_to_sdf.py把hzk子模生成... -> ipix的字体我也下载试用了,可是我还是想要一个12替换的中文字体。 ->最开始找到了mplus字体,能免费自由的随意使用,太 -
Linux系统字体下载
2012-03-26 16:05:46文泉驿 网站:http://wenq.org/ 可下载多种中文字体,可应用于Linux系统。 这个网站的字体为点阵方式实现。 windows系统下的字体文件(ttf文件)也可以直接拿到Linux系统来用,只是汉字的处理上要注意些。 -
Ubuntu(12):如何安装文泉驿中文字体
2010-04-05 21:17:00有两种方法:方法一:采用官网介绍的方法Debian/Ubuntu的官方软件仓库中包含了文泉驿点阵宋体(早期版本0.7,Debian sid已更新到0.9.9),安装该字体可以使用下面的命令。sudo apt-get install xfonts-wqy这种方法的... -
OLED屏显和汉字点阵编码原理
2020-12-30 22:19:32文本内容为中文在点阵中为16*16,故都为16进制,我们通过软件进行生成 PCtoLCD2002的链接 提取码:dn7x 使用该软件生成十六进制字模 选择模式中的字符模式,在选择中调整字体大小为16及16进制 -
ubuntu下Eclipse设置字体
2008-01-07 09:30:17中文字体丑 Ubuntu 默认装的中文字体是文鼎捐献的那几个,那几个...最新的版本里面已经包含了一个配置文件,会让中文字体优先使用文泉驿的点阵,只有在文泉驿点阵鞭长莫及的大字体和极小的字体才会用别的。非常简单... -
多国语言开发必备工具(点阵字库+多国语言文本管理+MTK 字库+字库解析源码 c)
2012-08-21 22:49:23支持所有 windows 字符集:CP932(日文Shift-JIS)CP936(简体中文GBK)CP949(韩文)CP950(繁体中文 Big5),CP874(泰文),CP1250(中欧)CP1251(西里尔文),CP1252(西欧--"拉丁文I"),CP1253(希腊文), CP1254... -
使用注册表优化终端、编辑器的中英字体混合显示,如「Consolas + 雅黑」
2015-01-05 21:00:52在终端、cmd、编辑器中偶尔会有中文字符出现,Windows下默认的点阵字体「宋体」和等宽英文字符放在一起非常违和。一个解决方法是下载混合字体,比如「Consolas + YAHEI hybrid」,「Source Code Pro + YAHEI hybrid... -
使用注册表优化终端、编辑器的中英字体混合显示,如「Consolas + 雅黑」「Monaco + 雅黑」...
2015-04-07 18:46:00在终端、cmd、编辑器中偶尔会有中文字符出现,Windows下默认的点阵字体「宋体」和等宽英文字符放在一起非常违和。一个解决方法是下载混合字体,比如「Consolas + YAHEI hybrid」,「Source Code Pro + YAHEI hybrid... -
Ubuntu英文locale标准安装中文简单设置
2007-04-27 15:53:00Ubuntu英文locale标准安装中文简单设置... 1,(如果不使用文泉驿,可以直接跳到2)按 照英文的默认值装完系统后,下载文泉驿点阵字体,使用一个小脚本,该脚本自动下载文泉驿(nightly build),然后安装到/usr/share -
CentOS 5.5 中文显示方块的解决方案
2011-04-28 01:47:001.先下载中文字体包1#yum ...LANG="zh_CN.GB18030"<br />重启后还是显示乱码,很是郁闷,后来发现是缺少中文字体 去www.wenq.org下载开源字库,其中有多种字库下载我下载的是第一个:文泉驿点阵宋体<br / -
字库工具 guitool(Trial) Setup 1.13.rar
2019-07-04 15:51:13支持所有 windows 字符集:CP932(日文Shift-JIS)CP936(简体中文GBK)CP949(韩文)CP950(繁体中文 Big5),CP874(泰文),CP1250(中欧)CP1251(西里尔文),CP1252(西欧--"拉丁文I"),CP1253(希腊文), CP1254... -
手机 pdf 阅读器
2009-02-12 23:00:29内置字体改为14点阵 首页中历史显示个数可以自己设置,当设置为0时,不显示历史,改为显示“打开”的链接 末全部完成部分: 增加网络功能:(请在系统设置中勾上“允许使用网络”) 听MP3时,如果不存在歌词,则会... -
全弹性布局+小程序+智能APP门户内核-逐浪CMS2 x3.9.4发布
2018-04-18 08:46:29■修改:Boot4标签解析,增加font字体,基于逐浪字库的高端字体图标技术。 ■增加:Bis增加订单补录功能 ■修复:邮件页面支持name与title字段传参 ■优化:优化调整商品逻辑层 ■增加:管理员,用户AJAX登录,启用加密...