源:Linux下简单的取点阵字模程序

Linux操作系统下进行简单的图形开发,经常会用到取字模的软件,但是Linux并没有像Windows下的小工具可用,我们也并不希望为了取字模而频繁地切换操作系统。(由于是完全由C语言编写,所以不需要任何修改,这个字库同样可以用在嵌入式环境的Windows操作系统下面)

本人结合网上的资料,对这个问题进行了总结,整理了代码,供有需要的朋友使用我参考。转载请注明出处:http://blog.csdn.net/weiwang876253631/article/details/8824858

一、简介
        所有的代码都在附件的压缩包里,压缩包目录如下图。具体的操作说明在解压以后,可以阅读readme文件。

二、示例

1.比如要取汉字“模”的字模,只需要输入以下命令即可

2.要取字符'h'的字模,只需进行以下操作即可。

三、使用说明
本目录包含了一个汉字库HZK16(16*16点阵)和一个ASCII字库ascii_zk(8*16点阵)的相
关信息

1.汉字库是网上直接下载的,ASCII字库是自己制作的,制作过程如下:
1)编译运行get_ascii.c,得到ascii.txt
2)用Windows的字模提取软件将ascii.txt的内容转换成code.txt的字模表,转换要求
是宽高为8*16,提取结果每个字节用逗号分隔。
3)将code.txt中的回车换行符去掉,将最后一个逗号改为英文句号(即点号,0x2e),
另存为ascii_zk.txt
4)将ascii_zk.txt中的有效数据(即去掉逗号,句号,以及0x头以后的数据)转换
为二进制文件,做法是编译运行txt2bin.c,得到名为ascii_zk的二进制文件

2.字库的使用
1)执行make得到名为zimo的可执行文件
2)如果要得到汉字的16*16字模,查看gb2312.pdf,找到相应的区位码,比如“模”字的
区位码为36,03,然后运行./zimo h 36 03即可得到数据和预览,其中的h表示汉字
3)如果要得到ascii字符的8*16字模,比如'd'的字模,运行./zimo a d即可得到数据
和预览,其中的a表示ascii字符,与上面的h区别,某些需要转义的字符,使用\进行转
义即可,比如./zimo a \|,会得到|的字模数据

附件:Linux_zk.tar.gz

Linux下简单的取点阵字模程序的更多相关文章

  1. Linux下使用Eclipse开发Hadoop应用程序

    在前面一篇文章中介绍了如果在完全分布式的环境下搭建Hadoop0.20.2,现在就再利用这个环境完成开发. 首先用hadoop这个用户登录linux系统(hadoop用户在前面一篇文章中创建的),然后 ...

  2. Linux下通过源码编译安装程序

    本文简单的记录了下,在linux下如何通过源码安装程序,以及相关的知识.(大神勿喷^_^) 一.程序的组成部分 Linux下程序大都是由以下几部分组成: 二进制文件:也就是可以运行的程序文件 库文件: ...

  3. Linux下简单的socket通信实例

    Linux下简单的socket通信实例 If you spend too much time thinking about a thing, you’ll never get it done. —Br ...

  4. linux下简单的备份的脚本 2 【转】

    转自:http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=26807463&id=4577034 之前写过linux下简单的 ...

  5. Linux下简单粗暴使用rsync实现文件同步备份【转】

    这篇来说说如何安全的备份,还有一点不同的是上一篇是备份服务器拉取数据,这里要讲的是主服务器如何推送数据实现备份. 一.备份服务器配置rsync文件 vim /etc/rsyncd.conf #工作中指 ...

  6. linux下简单好用的端口映射转发工具rinetd 转

    linux下简单好用的工具rinetd,实现端口映射/转发/重定向 官网地址http://www.boutell.com/rinetd 软件下载 wget http://www.boutell.com ...

  7. linux下,一个运行中的程序,究竟占用了多少内存

    linux下,一个运行中的程序,究竟占用了多少内存 1. 在linux下,查看一个运行中的程序, 占用了多少内存, 一般的命令有 (1). ps aux: 其中  VSZ(或VSS)列 表示,程序占用 ...

  8. linux下简单好用的端口映射转发工具rinetd

    linux下简单好用的工具rinetd,实现端口映射/转发/重定向官网地址http://www.boutell.com/rinetd 软件下载wget http://www.boutell.com/r ...

  9. Linux 下 简单客户端服务器通讯模型(TCP)

    原文:Linux 下 简单客户端服务器通讯模型(TCP) 服务器端:server.c #include<stdio.h> #include<stdlib.h> #include ...

随机推荐

  1. linux视频学习5(top, 网络监控

    top命令的详解: 1. top :动态监控进程. 第一行:当前系统时间:  up  4days :服务器启动后的持续时间. 5 user 当前服务器上的用户数目 ; load average :负载 ...

  2. Android中的分页加载

    //----------------------MainActivity中--------------------------------------------------- package com ...

  3. JS-运动基础(一)续

    2.淡入淡出的图片 用变量存储透明度 <title>无标题文档</title> <style> #div1{width:293px; height:220px; b ...

  4. HDU1879--继续畅通工程(最小生成树)

    Problem Description 省政府"畅通工程"的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可).现得到城镇道路统计 ...

  5. Lucene4.X 高级应用

    Lucene 简介以及使用 Lucene, 一个基于 Java 的开源的全文搜索工具包,可以方便的嵌入到各种应用系统中,实现针对应用的全文索引以及检索功能.目前是 Apache  jakarta 项目 ...

  6. Polygone对象

    Polylgon对象是由一个或多个Ring对象的有序集合,它可以是由单个Ring 对象构成,也可以使用多个Ring组成.Polygon通常用来代表有面积的多边形矢量对象,如行政区,建筑物等. 组成Po ...

  7. zf-关于统计分析表单导出(写这个的 太麻烦了)

    一个类里面写了2个一样的方法 如果是我 会重复利用 而不是这样写 今天改bug的时候我把一个类修改了2次 差点以为进错了类

  8. 转 oraenv

    代码如下: lines, characters #!/bin/sh # # Get the machine type and then set up ORATAB and TNS_ADMIN vari ...

  9. 利用hibernate实现oracle(每张表的ID)自动增长

    设置ID的增长策略是sequence,同时指定sequence的名字,最好每个表建一个sequence 例如创建一个序列:CREATE SEQUENCE DEPARTMENT_ID_SEQ MINVA ...

  10. POJ 1426 Find The Multiple BFS

    没什么好说的 从1开始进行广搜,因为只能包涵0和1,所以下一次需要搜索的值为next=now*10 和 next=now*10+1,每次判断一下就可以了,但是我一直不太明白我的代码为什么C++提交会错 ...