设为首页收藏本站官方微博

【汉化任务简报】#26 台湾繁体字库chinese.fnt的转换程序

[复制链接]
查看: 7991|回复: 11
打印 上一主题 下一主题

【汉化任务简报】#26 台湾繁体字库chinese.fnt的转换程序

跳转到指定楼层
楼主
发表于 2009-5-18 20:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

【汉化任务简报】#26 台湾繁体字库chinese.fnt的转换程序

在The Dig中文版中有一个chinese.fnt字库,是Big5编码的,我们为了使用这个字库, 3 A% K0 f/ c2 A$ n) F* c% f' ]
必须把字挥蒰b码转换为big5码,非常不方便。 8 r6 {+ h: R" y2 Z( o) Y
所以我们想制作一个转换工具,把原来的Big5编码顺序chinese.fnt 转换为gb编码顺序。
3 s0 Z; h9 c- m1 |这个工具是要被scummvm模拟器使用的。 " W3 i2 j- q7 c7 P2 X5 b* Q

; j  z& o! b) \" _& _7 m) @具体要求如下
: w. y. K- R2 q: t1 g6 M% D" x
6 [' @8 {1 \2 `6 w+ O" B" p7 _4 V--------------------------------------------------------------------------------------- ) {0 a, }1 ]5 t/ x
原字库                                      chinese.fnt
' j+ g1 Y* Z( h字幕文件编码方式                            Big5编码
2 S" G, w' r4 `9 H3 @字库索引算法                                Big5编码              5 e% w- s- Y% `* o1 {% A+ @
(即scummvm内部根据2个字节去找字模的算法)          ) Z' H( q+ L2 C% P" Y7 L+ y
字库内字模排列顺序                          Big5编码顺序
% X0 T  ^9 q) [: G3 I6 P----------------------------------------------------------------------------------------- * t5 \6 r9 `* q
转换后字库                                  chinese_gb.fnt
# s/ E( x, n# }( p3 G" y6 X字幕文件编码方式                            gb2312编码
0 Z# \1 N; O3 B" ~- O' e字库索引算法                                Big5编码(注意,这个没变喔)            ; }; ?/ M6 W3 K) ^5 i3 o' f
(即scummvm内部根据2个字节去找字模的算法)         
& |& s3 a4 h7 G! q字库内字模排列顺序                          Big5编码对gb2312编码的映射顺序 3 l3 A( B& ~7 {4 e4 b+ N
-----------------------------------------------------------------------------------------
/ Z+ N) x2 J* |
8 W6 A( e4 G- R1 Q$ s% w7 s% e举例来说,我们字幕文件里是一个gb码的 我 字,用big5编码索引后,在big5字库中找到的就是另外一个字,比如说是 你 字。6 b9 J. \; M9 a- T  T
现在就是希望用big5编码索引后,在新的字库中找到的字仍然是 我 字。
7 Y, K4 N4 z& B" F$ ?% A* X
$ O% P5 d8 a' `! B9 D: E' V' |, @字库是16X15的,每240个点一个字,计30个字节。
# C$ R* `3 Y: t; n( E& a& A" ?3 |" B# L5 \* Q* K" O  ~2 J
参考代码
7 J9 q0 a( O/ \' K' [" |https://www.chinaavg.com/read.php?tid=17038; |4 L4 |' p# Z9 f" {
字库浏览程序及字库chinese.fnt
$ Y7 b; [7 C  A( M8 M* k" phttps://www.chinaavg.com/read.php?tid=17017
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享分享 很美好很美好 很差劲很差劲
回复

使用道具 举报

沙发
发表于 2009-5-19 18:04 | 只看该作者
太高深了
" b' r0 t5 f% ^; ]  Q. k% N8 v2 L不會用
回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2009-5-20 00:10 | 只看该作者
已经解决,任务取消
回复 支持 反对

使用道具 举报

地板
发表于 2009-8-22 23:31 | 只看该作者
求教一个问题
* e- F" o$ ?, ~/ n! }4 x) q- r我有一个繁体字库,和chinese.fnt几乎是一样的,我想将它转为简体字库,不知道可以不,怎么转?
3 g* t9 o$ r0 l) k$ C! O: {ps: 只是改字库,也就是将繁体字库中“劉”改为“刘”,字库中顺序不变。字库是16*15的

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

5#
 楼主| 发表于 2009-8-22 23:56 | 只看该作者
heiheiha 你好。
1 U6 ~+ [  ]0 e- {; w
. n$ q  ~+ s" c转换是完全可行的,不过必须要自己制作一个小工具。
) ?9 L% p5 K' v/ Q9 n在此我只能告诉你大致的制作顺序。
, V3 y( B5 R6 f: s" F. a# M9 N7 x, ^8 |4 G+ v+ m7 w- x9 X, W6 [
1. 用一个工具把简体TTF字库转化为16*15的点阵字库。
: y; O. Y$ M( P' h- |2. 制作1个包含了简体16*15的点阵字库的所有文字的文本文件A。
' ^2 w$ R$ W% B3. 用一个工具把简体文本文件转化为繁体文本文件B。
; ]) W: d; o  ?/ p& F4.制作繁体文本文件到简体文本文件的索引对照表& m2 l6 R/ |! O/ p3 E/ i+ A5 w( G2 T
5.按照索引对照表逐个替换字模
, |, z, Z- ~1 t' t; Z/ e% B3 g, u. m5 z/ v: ^$ W: i- P
不知道你要这样转换的目的是什么?
回复 支持 反对

使用道具 举报

6#
 楼主| 发表于 2009-8-23 09:59 | 只看该作者
这是字模图

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

7#
发表于 2009-8-23 10:28 | 只看该作者
但是这一步这么做呢?用上述那个软件吗?- p5 l* ]. D% E; g7 S: k" C
4.制作繁体文本文件到简体文本文件的索引对照表
回复 支持 反对

使用道具 举报

8#
 楼主| 发表于 2009-8-23 10:51 | 只看该作者
引用第6楼heiheiha于2009-08-23 10:28发表的  :8 O. L& B$ f1 g+ Y5 o6 t2 r
但是这一步这么做呢?用上述那个软件吗?
4 R  l7 ^6 o) b7 R4.制作繁体文本文件到简体文本文件的索引对照表

1 {4 U. Q6 K  n0 W这个很容易啊。* t' r4 x4 A6 G& J) T- S6 H
6 x9 b& F0 A  w  y6 x
假设繁体字的编码为高位A1,低位B1,字库索引计算公式为f1(A1,B1)! Q7 B" G/ V0 Y
再假设简体字的编码为高位A2,低位B2,字库索引计算公式为f2(A2,B2)
+ r0 y& x0 H! L  g1 P7 J: s; [3 T6 e% [; G  R7 _5 x$ [  i' c" @; g- @4 }$ _
现在先从繁体字文本里面读取2个字节A1,B1, (比如说是第1,2个字节)
0 G  x# g( ~% O3 s3 b. {1 ]再从简体字文本里面找到对应的2个字节A2,B2,(也是第1,2个字节)( o+ V6 C, q6 h9 N
根据f2(A2,B2)找到这个字的简体索引,取30个字节获得字模.% t3 @! s! F' o0 ^4 B
这个字模就是第1个字的简体字模,
+ z3 t- M/ X9 x* n- J6 y5 O第1个字的繁体字库索引是f1(A1,B1),& }  R; R* S+ b; {" `  v0 x
把上面的简体字模写到繁体字库索引开始的30个字节里面,
4 V  [: `' A" W  j即完成了第一个繁体字的简体化变换,
2 Y& G! f: K; j  C! r, r如此循环到繁体字文本结束即可.
回复 支持 反对

使用道具 举报

9#
 楼主| 发表于 2009-8-23 10:54 | 只看该作者
不知道能否看懂?
回复 支持 反对

使用道具 举报

10#
发表于 2009-8-23 12:00 | 只看该作者
懂了,非常感谢
1 `' ?6 B* q2 k8 v1 L+ b简体的索引公式和big5的索引公式我知道,但是具体font16.rar字库我不知道其索引公式,这怎么办?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

冒险解谜游戏中文网 ChinaAVG

官方微博官方微信号小黑屋 微信玩家群  

(C) ChinaAVG 2004 - 2019 All Right Reserved. Powered by Discuz! X3.2
辽ICP备11008827号 | 桂公网安备 45010702000051号

冒险,与你同在。 冒险解谜游戏中文网ChinaAVG诞生于2004年9月9日,是全球华人共同的冒险解谜类游戏家园。我们致力于提供各类冒险游戏资讯供大家学习交流。本站所有资源均不用于商业用途。

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