爱技术

 找回密码
 注册会员

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
楼主: LanEast
收起左侧

中文字体修改,第二阶段完工 P15!!

[复制链接]
发表于 2005-12-13 00:01:53 | 显示全部楼层
原帖由 LanEast 于 2005-12-12 18:24 发表
我是直接用软件生成c源代码然后用vim整理成vkp的,2个小时至少能做出500个来
算1W个汉字,一个人累计40个小时就搞定了,把繁体挑出来花的功夫更大的。。。。

能不能把你的方法再说详细一点。要用哪些软件;要如何做?
回复 支持 反对

使用道具 举报

发表于 2005-12-13 00:10:59 | 显示全部楼层
为防止其他手机论坛使用此项技术,须对其保密。
同时,小8提高听筒音量的补丁及方法,绿茶也须保密。
这样,就可以使其他论坛的兄弟们都回归6688阵营,那真是如滔滔江水,绵绵不绝啊哈哈哈
我们同时要给他们宾至如归。
回复 支持 反对

使用道具 举报

发表于 2005-12-13 00:14:04 | 显示全部楼层
原帖由 konyeth 于 2005-12-13 00:10 发表
为防止其他手机论坛使用此项技术,须对其保密。
同时,小8提高听筒音量的补丁及方法,绿茶也须保密。
这样,就可以使其他论坛的兄弟们都回归6688阵营,那真是如滔滔江水,绵绵不绝啊哈哈哈
我们同时要给他们宾 ...

BS
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-12-13 09:00:59 | 显示全部楼层
呵呵,其实不是不可以说,而是说起来比较麻烦
我今天尝试着写写吧
回复 支持 反对

使用道具 举报

发表于 2005-12-13 09:45:05 | 显示全部楼层
原帖由 chino000 于 2005-12-13 00:14 发表

BS


BS是什么意思?没听过啊。
回复 支持 反对

使用道具 举报

发表于 2005-12-13 09:47:57 | 显示全部楼层
BS=鄙视,^_^
回复 支持 反对

使用道具 举报

发表于 2005-12-13 12:15:29 | 显示全部楼层
佛印与东坡交好。
一日,东坡至佛印处,见佛印正参禅。东坡于是坐其对面,与其相视。
佛印问曰:居士看见何物?
东坡曰:狗屎。
然后东坡问佛印:高僧看见何物?
佛印答曰:莲花。
东坡哈哈大笑而去。
归语之小妹。
小妹笑曰:哥哥被骂也~~
东坡不解。
小妹释之曰:
佛心即我心,我心即我眼,我眼见莲花,我心见我佛。
哥哥看见的是狗屎,哥哥内心当然就是狗屎了。
若玩笑之语,非但不解,反而较真乃至骂人,那真是狗屎都不如你也。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-12-13 13:56:59 | 显示全部楼层
已经更新,顶上去大家支持
回复 支持 反对

使用道具 举报

发表于 2005-12-13 14:36:25 | 显示全部楼层
绝对支持楼主的工作!
回复 支持 反对

使用道具 举报

发表于 2005-12-13 14:42:55 | 显示全部楼层
已刷。
由于只改了部分字,所以大小有些参差不齐,显不出优势。
如“中国移动通信”这六个字,移和通字就是大的,其他四个是小的。
“日历”这两个字,日是大的,历是小的。
“菜单”这两个字,菜是大的,单是小的。
“新增条目”中,新条目是大的,增是小的。
单个字体看可能不习惯,不过总体感觉就是极熟的WINDOWS字体了,很不错的说
回复 支持 反对

使用道具 举报

发表于 2005-12-13 14:43:10 | 显示全部楼层
辛苦楼主了。现在看哪为大侠帮忙做出显示七行字的阅读器来?
回复 支持 反对

使用道具 举报

发表于 2005-12-13 14:46:00 | 显示全部楼层
原帖由 czad 于 2005-12-13 14:36 发表
绝对支持楼主的工作!



                               
登录/注册后可看大图
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-12-13 15:14:18 | 显示全部楼层
原帖由 konyeth 于 2005-12-13 14:42 发表
已刷。
由于只改了部分字,所以大小有些参差不齐,显不出优势。
如“中国移动通信”这六个字,移和通字就是大的,其他四个是小的。
“日历”这两个字,日是大的,历是小的。
“菜单”这两个字,菜是大的,单是 ...



用我附带的压缩包里的TXT可以看到整体的效果,里面是到目前为止所支持的汉字,这样就没有大小参差的问题了

FontTest.zip

3.52 KB, 下载次数: 22

回复 支持 反对

使用道具 举报

发表于 2005-12-13 15:21:13 | 显示全部楼层
佩服楼主啊。顶!!要是能实现7行,那就爽了!!!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-12-13 15:25:47 | 显示全部楼层
刚在MicroReader里面截的图,感觉这些字象麻将。。。。。-_-UU
1.GIF
回复 支持 反对

使用道具 举报

发表于 2005-12-13 16:03:55 | 显示全部楼层
已经刷了,看书确实舒服多了,非常熟悉的感觉。

就是没有修改完全,有些字还是大的。

再次表示支持,期待全面的修改
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-12-13 16:05:31 | 显示全部楼层
呵呵,小8所支持的字不知道有多少,1W个差不多了吧?
目前已经修改了2000多个了
回复 支持 反对

使用道具 举报

发表于 2005-12-13 16:12:13 | 显示全部楼层
原帖由 LanEast 于 2005-12-13 16:05 发表
呵呵,小8所支持的字不知道有多少,1W个差不多了吧?
目前已经修改了2000多个了

这么快。。厉害....
回复 支持 反对

使用道具 举报

发表于 2005-12-13 16:14:34 | 显示全部楼层
这速度.....强~~~~~~~
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-12-13 16:20:57 | 显示全部楼层
原帖由 chino000 于 2005-12-13 00:01 发表

能不能把你的方法再说详细一点。要用哪些软件;要如何做?


我用的软件:

FontGen        一个可以输入汉字,生成点阵信息的C语言代码的程序
vim               一个Linux下常见的文本编辑器,当然也有windows版的,正则表达式功能较强,用它可以将上个程序产生的c代码做成vkp
SiemensCE     这个不用多说了,专业改字体的
FullflashComparer   这个,通过对比fullflash来生成vkp
V_Klay           这个..........
还有就是一个文字列表,列出小8所支持的所有汉字,这个我是用一个简单的程序生成的,按照unicode排序好了,对应着SiemensCE里面CJK的区域的,这样就可以直接在这里删除没有的字,得到按顺序排好的汉字了,Unicode3.txt

具体的做法是,用vim打开Unicode3.txt(因为vim删除文字,移动光标方便),用SiemensCE打小8的FullFlash,找到对应的区域,然后根据SiemensCe里面显示的汉字,在Unicode3.txt中删除小8不支持的汉字,因为小8所支持的汉字在unicode上没有什么规律,至少我没看出来,所以要慢慢挑,这个地方比较耗费时间
1.GIF

累计到一定数量之后(但是这些字在fullflash中必须连续),将汉字复制到FontGen中,生成C源代码,假定叫1.c(同时还会产生1.h,不过没用)
2.GIF

图中标记红色的地方是设置字体后的,宋体9号,默认是16X16的

使用vim编辑1.c,有时候生成的c源代码有可能出现^M,不是每次都出现,所以要先手工去掉这个东西:
:%s/^M//g
这里的^M在vim里面是用ctrl+V,ctrl+M打出来的
然后的操作基本上是固定的了:
:%s/\t//g
:%s/^[^{].\+\n//g
:%s/[{,} ]//g
:%s/0x//g
:%s/^\(.\)/0c\1/g
:%s/\(.\)$/\10000/g
:%s/[\n ]//g
上面几行的具体含义依次是:
去掉产生的代码中的tab键
去掉所有不是以{开头的行(不能完全删除空行)
去掉所有的"{",",","}"," "
去掉每个十六进制开头的0x
在每个字前加0c,这个是由小8字体的结构决定的
在每个字后加0000,同样是小8字体结构决定的,比windows字体多一行,所以要多加一行的空白
去处所有换行

我做成了vim的脚本,一个命令执行完了之后就得到了一整行的十六进制,我们只要在前面加上地址,就可以当作vkp用了,刷到一个单独的fullflash文件中,不过,因为没有原始数据,所以会提示强刷,不管,反正文件可以备份,多备份一份fullflash就好了
3.GIF


下面这个图是执行了上面一串操作之后,加上地址的:
4.GIF

这个时候的字体有个问题,windows下9号字和小8的字体宽度是相同的,但是小8的习惯是在最左侧保留一个空行作为字与字之间的空白,但是windows的字则是在右侧,所以我们还需要把字向右移动一格.
这个就要用SiemensCe来手工完成了,不过SiemensCe可以一次右移一个页面,32个汉字,所以操作起来也不太费时间了
5.GIF

图中标记红色的地方的含义:
CharMap是一次将一个页的字都移动,Hide width bytes是因为用SiemensCe编辑字体后,,会自动根据字的最右侧所到位置来确定字的宽度,那么就会导致有些字比较窄,将这个地方勾上,那么每个字的上方都会多出一小块,看着那个地方就知道字体宽度需要不需要调节了

SiemensCe生成的vkp再刷到刚才那个fullflash中,然后就可以根据原始的fullflash和我们刷过两个补丁的fullflash来生成vkp了,这次得到的vkp就是最后的vkp了

等我去弄几个图来说明:)

[ 本帖最后由 LanEast 于 2005-12-13 16:42 编辑 ]
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员 微信登录

本版积分规则

小黑屋|Archiver|手机版|爱技术 ( 沪ICP备08115260号-3 )

GMT+8, 2024-6-15 17:35

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表