Board logo

标题: [原创]MKFON for Windows。支持GBK。 [打印本页]

作者: byxyk     时间: 2009-6-28 23:14    标题: [原创]MKFON for Windows。支持GBK。

试用了yaya的configp.mnu v4.02,这个版本比较完美了。
自然也要用本是的MKFON,配合起来非常方便。


本程序算本是MKFON的辅助吧。如果要个别突出字形的汉字,可以试用一下。
昨日完成的。delphi 6.0编写。未压缩。已测试GBK16H,GBK16J,HZK16H等dos的字库。生成的字库与本是的MKFON所生相同。

欢迎试用。

高手莫笑,低手勿闹。

使用说明请看9楼和25楼。

2009.7.1
1.修正了“同步字库”时的字体错位BUG。请重新下试。
2009.7.6
1.新增YAYA所提的字模替换。
2.新增简易点阵编辑。
2010.11.18
上传DELPHI6源码

[ Last edited by byxyk on 2010-11-18 at 09:20 ]
附件 1: MKFONWIN 2009.07.06.part1.rar (2009-7-6 01:56, 120 K,下载次数: 64)
附件 2: MKFONWIN 源码.rar (2010-11-18 09:18, 10.38 K,下载次数: 13)

作者: byxyk     时间: 2009-6-28 23:15
下一半

[ Last edited by byxyk on 2009-7-6 at 01:59 ]
附件 1: MKFONWIN 2009.07.06.part2.rar (2009-7-6 01:59, 92.35 K,下载次数: 51)

作者: yaya     时间: 2009-6-29 01:28
可喜可贺!
经测试,生成的字库可在configp.mnu v4.02正常使用。

“使用dos字体”选项不可使用?如何加载?
“设置”中Size是指点阵吗?实测12就是16×16点阵。
“保存本字”是什么意思,保存在什么地方?
作者: byxyk     时间: 2009-6-29 03:25
程序启动时自动在程序所在目录搜索HZK*.* 和 GBK*.*文件作为DOS字库。
如无,则DOS字体不可用。
size:windows字体时如隶书,同样是16点,但比楷宋等小,所以可适当加大此值;而如彩云的16点可能太大,此时则可适当减小此值。
保存此字:如更改了设置,则此时显示的为新字模,用它则存此字的字模到小字库中。
作者: byxyk     时间: 2009-6-29 03:30
另:
修正一下错误。
已重传于一二楼。
作者: yaya     时间: 2009-6-29 04:44
写一使用说明就更加完善了。

使用体会:
打开源文本——按默认设置自动生成小字库。
用当前设置....生成全部——按当前设置重新生成小字库。
前一字/后一字——选择小字库字体。
选择不同windows/dos字体,点按保存本字,更换选中的小字库字体。这样就生成了不同字体风格的菜单。
注意,调整Size,使字体大小基本一致,不要使字体超出16×16显示的范围,否则菜单显示不完整的字符。

建议:‘前一字/后一字’长时间点按,自动移动。否则选择第50字符,得点按49次。
可以上传393kb,压缩成一个rar即可。

[ Last edited by yaya on 2009-6-29 at 04:48 ]
作者: byxyk     时间: 2009-6-29 08:19
可在汉字编辑框中输入汉字,如已存在于小字库中,则自动定位。
说明过两天再写,有点忙。
作者: 本是     时间: 2009-6-29 10:59
祝贺!可惜我对窗口的系统知识不懂,编程语言只知道汇编和各种BASIC。

建议:可以参考一下弄潮儿的vtEdit:他的16点阵字库生成操作比较方便、直观。
作者: byxyk     时间: 2009-6-30 03:02
MKFON for Windows.

一、前言
    前几日在XP上用 VPC v5.0 测试YAYA的 CONFIGP.PMU v4.02。为了方便,又用了本是的MKFON,在XP上修改CONFIG.SYS,在VPC中用批处理实现:生成小字库、复制CONFIG.SYS到VPC、重启。
    但没试几下,MKFON的生成字库遇到了问题。在等待本是的新MKFON期间,想到了同屏不同字体汉字的显示,就动手折腾了一下。写这个程序的原由很简单,就是想在菜单上以不同的字体显示“亲亲宝贝”这四个字,让各位见笑了。
二、功能
    本质是操作小字库。
    1、对打开的文本文件,进行汉字的过滤、排序,并生成小字库。
    2、对打开的小字库,可全部更改成新字体,或对个别汉字进行字体设定。当然如果有心肠,可以逐个调整至满意为止。
    3、小字库格式同本是的MKFON所生相同。请参阅之。
三、实现
    1、Delphi 6.0 在Windows XP上通过。
    2、DOS下读取通用GBK16、HZK16,已用从本是处下来的10多个试过。
    3、WINDOWS下只要系统安装的字体就可用,当然也要看字体是否支持GBK。
四、使用
    1、将DOS下GBK*.*、HZK*.*等字库与本程序放在一起。将在列表框[DOS字体]中显示,且允许使用DOS字体。
    2、按钮[打开源文本]:选择包含汉字的文件以进行处理。可能有如下情况:
       2.1 无同名的.FON存在:对源文件进行汉字过滤排序,并同时用当前的设置DOS字库/Windows字体生成小字库。然后同下面的 3
       2.2 有同名的.FON存在:程序将弹出对话框以选择操作:
          (1)[清除重建]:效果同前面的 2.1
          (2)[与源同步]:根据源文本中的汉字对小字库进行增删,同时存在于两者的则字模不变。新增的将以当前WINDOWS字体生成字模。
          (3)[打开字库]:效果同下面的 [打开小字库]。
          (4)[取消]:取消本次操作,什么都没发生。
    3、按钮[打开小字库]:选择一个小字库进行操作。首先会取出小字库中的汉字显示并定位第一个,按在小字库的顺序。
    4、汉字编辑框:显示当前进行操作的汉字。可在此框中输入汉字,如汉字在于小字库中,则自动定位并选择它,如不在,则没有反应。支持复制粘贴的。
    5、内码编辑框:显示当前进行操作的汉字内码。无其它功能。
    6、按钮[保存本字]:当对字体等(WINDOWS或DOS字体)设置后,如对当前汉字预览的效果满意,则可点此按钮,只将当前汉字的字模存入小字库。
    7、按钮[用当前设置…生成全部]:用当前字体等设置重新生成小字库。
    8、列表框[DOS字体]:显示当前可用的DOS字库,可选择使用。只是依据文件名收录,是不是或格式能用与否请自斟酌测试。
    9、使用WINDOWS,DOS,小字库三种字体的单选钮:选择当前预览显示使用的设置,本身不对字库进行修改。会有条件关联。
    10、offset x, offset y, size 三个调节框:只在单选了[使用WINDOWS字体]时起作用。根据当前汉字的预览来调整位置及大小,满意为止,没对小字库修改。
五、后语
    我对这个程序的定位就是辅助CONFIG.PMU和MKFON,每次修改CONFIG.SYS测试时既能增加新汉字的字体字模,又可保留原有汉字的字体字模。其它功能纯属意外。没什么技术,顶多算有点技巧吧。
    感谢YAYA、本是的程序。
    感谢YAYA、本是的关注。

    2009.6.30
     byxyk
作者: byxyk     时间: 2009-6-30 03:06
YAYA、本是的邮箱是?
作者: 本是     时间: 2009-6-30 03:42
邮箱在各人回复过的楼层的左下角点第二个按键[邮件],即可写信息;其实在此论坛,可以发坛内短消息,也很好。
作者: yaya     时间: 2009-6-30 05:08
如果标题选用楷体,菜单选用宋体,但同时含有“文件”2字,怎样实现?
想法:
1.把标题中的“文件”2字改为“物体”(随便什么,在config.sys中)。
2.生成小字库。
3.定位于“物”字,不改变内码,修改字形为“文”,更换小字库的点阵。
4.“体”字处理同上。

带来的问题是,左下方小字库字体显示区,“物体”2字应更改显示为“文件”。这时不能按内码显示,而只能由点阵生成。这又带来字体定位问题,麻烦不少。或者不改变左下方小字库字体显示区内容,当定位到“物”字时,另有窗口显示“文”字。或者byxyk还有更好的办法。
作者: 本是     时间: 2009-6-30 06:09
这可以用上GBK字库的空白位。即利用mkfonWin取到相关字模,利用空白位设内码,理论上应该可以。

另:mkfon 1.20版已经实现Yaya建议的智能判断!
作者: lq1088     时间: 2009-6-30 08:51
使用WINDOWS,DOS,小字库三种字体的单选钮:选择当前预览显示使用的设置,本身不对字库进行修改。会有条件关联。
作者: byxyk     时间: 2009-6-30 21:38
YAYA的问题,可能程序和字库都要改变一下才行。
例如:小字库的格式分为 菜单、标题两个区域。但这样需要一个专门的程序分析处理CONFIG.SYS来生成小字库。
作者: yaya     时间: 2009-6-30 22:50
我说的菜单、标题只是个例子,本意是实现不同位置的同一字符可显示不同字体。
我觉得只要再开一个小窗口,比如命名为“汉字替换为”,只要在其中输入汉字,16×16区域就显示新汉字的字形。当选择好字体后,按“保存本字”,不改变小字库内码,只更新点阵。

由于不改变config.sys内容,故不能使用GBK字库的空白位。重复字体只能使用config.sys没有的汉字,自己编辑自己明白就行。
作者: byxyk     时间: 2009-7-1 01:32
如果你的意思是指 MKFONWIN和小字库 的操作中,用一个汉字的字模替换另一个的话,是没问题的。
另外,我觉得你的程序如果菜单、标题等可以显示不同字体的话,应该是个不错的主意。你的编程改变量只在显示汉字取字库方面增加。不妨考虑一下。
作者: yaya     时间: 2009-7-1 04:01
期待
作者: byxyk     时间: 2009-7-1 06:08
已发到你的邮箱。不知是否符合。
作者: yaya     时间: 2009-7-1 06:50
经测试,功能已基本达到。
在"字模替换"框中输入新的汉字,不应当限制已存在于小字库中的字符。否则达不到既定目的。

再接再厉。

[ Last edited by yaya on 2009-7-1 at 19:46 ]
作者: byxyk     时间: 2009-7-1 22:05
程序好像是:此框中输入的汉字不能已在于不字库。
等会我再瞧瞧。
作者: byxyk     时间: 2009-7-1 22:48
我测试了一下。应该与你说的那种限制相反。
另外,增添了此功能后,如在“汉字”输入框中输入小字库中没有的汉字,也会有反应的,同样内码显示不变,预览新字。你看看源码就清楚了。
使用WINDOW字体,就算是想把一个汉字的字模变成任何图形都是很简单的,因为操作WINDOW字体,其实就是操作图形。
如果想把此程序增加点阵编辑,也是很容易的。只是没必要。
源码都是完整的,可在DELPHI6中任意编辑编译测试。
作者: yaya     时间: 2009-7-2 01:57
现在的情况是:在"字模替换"框中输入新的汉字,如果与小字库相同,则被限制,没有反映,不能输入。应当把此限制去掉。

没有安装DELPHI软件,不能编译。你的作品应由你完善,改进,别人只能提建议,不宜改动。
作者: byxyk     时间: 2009-7-2 06:29
嘿,我没那么多讲究。既然给了你源码,如果用得着可以随便搞。千万别客气。
今天晚了,要下班了,明天上班没事时再给你瞧瞧。
作者: yaya     时间: 2009-7-3 04:36
非常好!请打包成1个rar文件上传到1楼。感谢byxyk的努力。

用法详解:
一、生成小字库
1.选择“使用windows字体”或“使用dos字体”,再选择相应字体。
2.点“打开源文本”,打开config.sys文件,自动生成小字库。
3.对于windows字体,从16×16窗口查看字型,需要的话调整offset及size。调整后需点“用当前设置...生成全部”
二、修改字体
1.选择“使用windows字体”或“使用dos字体”,再选择相应字体。
2.点“前一字”或“后一字”,或在“汉字”框直接输入欲修改字符。
3.对于windows字体,从16×16窗口查看字型,需要的话调整offset及size。
4.点“保存本字”
三、替换字模
如果同一字符需多种字体,比如宋体“文”和楷体“文”,应在config.sys中将非默认字体用不常用字符替代,比如楷体“文”用“尷”替代。
1.选择“使用windows字体”或“使用dos字体”,再选择相应字体。
2.点“前一字”或“后一字”,或在“汉字”框直接输入欲替换字符,比如“尷”。
3.对于windows字体,从16×16窗口查看字型,需要的话调整offset及size。
4.在“字模替换”中输入替换字符,比如“文”。
5.点“保存本字”
四、自由字体、符号
1.在16×16窗口用鼠标点击小方格,生成新字模。
2.点“保存本字”。
五、查看修改、替换情况
1.点“使用小字库字模”。
2.点“前一字”或“后一字”,或在“汉字”框直接输入修改前的字符。

[ Last edited by yaya on 2009-7-7 at 05:33 ]
作者: yaya     时间: 2009-7-5 23:20
替byxyk上传新版本:

[ Last edited by yaya on 2009-7-7 at 05:32 ]
附件 1: MKFONWIN source 2009.07.06.rar (2009-7-7 05:32, 215.74 K,下载次数: 31)

作者: yaya     时间: 2009-7-7 00:04
又有新功能。可以自造字符、图像。byxyk的新版本发布于26楼。

[ Last edited by yaya on 2009-7-7 at 05:32 ]
作者: byxyk     时间: 2009-7-7 05:49
谢谢YAYA。
我试了几次,都是附件不能大于130K。
可能是等级不高吧。
作者: titanred     时间: 2009-8-3 05:31
不错不错,贫僧路过下
作者: buyitj     时间: 2010-7-19 16:29
看看
作者: boredleo     时间: 2010-8-12 16:38
谢谢楼主!先收下了
作者: visi     时间: 2010-10-24 17:11
360报有毒?
作者: byxyk     时间: 2010-10-25 21:07


  Quote:
Originally posted by visi at 2010-10-24 05:11 PM:
360报有毒?

不会吧,难道是压缩过的问题?
你下源码自己编译一下瞧瞧。
作者: byxyk     时间: 2010-10-25 21:14
噢,好像没上传过源码。
等明天上班处再传。家里没有。