冒险解谜游戏中文网 ChinaAVG

标题: 【汉化任务简报】#26 台湾繁体字库chinese.fnt的转换程序 [打印本页]

作者: shane007    时间: 2009-5-18 20:18
标题: 【汉化任务简报】#26 台湾繁体字库chinese.fnt的转换程序
在The Dig中文版中有一个chinese.fnt字库,是Big5编码的,我们为了使用这个字库,
# ]$ h2 `% O- P# w* N必须把字挥蒰b码转换为big5码,非常不方便。
5 R- g! [+ \3 n3 m所以我们想制作一个转换工具,把原来的Big5编码顺序chinese.fnt 转换为gb编码顺序。 5 F  q. I% c) I# y
这个工具是要被scummvm模拟器使用的。
9 F5 x7 t+ J5 t4 M3 h
* ?* p  B. U# I2 |0 R具体要求如下 ' K8 D# B6 A: P4 I4 z
  ~9 z- y8 O+ O. L8 u( l& f1 J7 f
--------------------------------------------------------------------------------------- 2 A/ z& {( O: ~/ A" }1 |* g
原字库                                      chinese.fnt
9 j% v7 K% `& r" q7 A字幕文件编码方式                            Big5编码 $ b  }& l+ l2 y# }* d/ a; `
字库索引算法                                Big5编码              6 p, B7 F6 y7 V+ U
(即scummvm内部根据2个字节去找字模的算法)         
/ f# g" A- j- o, c7 b% Z0 D字库内字模排列顺序                          Big5编码顺序
/ k. R# X, P6 P& s  G- v----------------------------------------------------------------------------------------- # ?# t# e; n, q5 q% ^
转换后字库                                  chinese_gb.fnt
8 c+ M5 E0 l+ g' l/ h& Q- k字幕文件编码方式                            gb2312编码
& I4 c. S% g7 O" m字库索引算法                                Big5编码(注意,这个没变喔)            + J) c& ^* e, L9 F( E1 v9 X8 {
(即scummvm内部根据2个字节去找字模的算法)         
" t! E# b( R" J! p5 x2 D字库内字模排列顺序                          Big5编码对gb2312编码的映射顺序
; X9 C/ h6 O' y+ K----------------------------------------------------------------------------------------- ; {4 t5 y5 W+ \0 v* r
* K/ C+ K, v5 U; G- |' Q+ t  Z' Y
举例来说,我们字幕文件里是一个gb码的 我 字,用big5编码索引后,在big5字库中找到的就是另外一个字,比如说是 你 字。
) i+ a, {" Z8 M现在就是希望用big5编码索引后,在新的字库中找到的字仍然是 我 字。
/ q" J- K' j4 g6 ?3 ~8 M+ r( }; v* R" ^* \0 `8 @
字库是16X15的,每240个点一个字,计30个字节。  t0 t4 L% j; K( C2 d1 P
! q- h! K8 p' K) B% U" ~
参考代码4 G8 m3 N1 w% p: {
https://www.chinaavg.com/read.php?tid=17038
5 P. h# o* c) S# M2 ~字库浏览程序及字库chinese.fnt
4 f! N2 @  P( j  {8 q2 e/ m: O% Ohttps://www.chinaavg.com/read.php?tid=17017
作者: lennel    时间: 2009-5-19 18:04
太高深了9 o5 ^: L3 u' ^% n& |' i4 }  p
不會用
作者: shane007    时间: 2009-5-20 00:10
已经解决,任务取消
作者: heiheiha    时间: 2009-8-22 23:31
求教一个问题7 l+ y6 E$ z0 p
我有一个繁体字库,和chinese.fnt几乎是一样的,我想将它转为简体字库,不知道可以不,怎么转?
# A$ [$ U5 ~* b: }7 Dps: 只是改字库,也就是将繁体字库中“劉”改为“刘”,字库中顺序不变。字库是16*15的
作者: shane007    时间: 2009-8-22 23:56
heiheiha 你好。
5 R2 ^1 ?6 K/ l- ?8 v; @) }! `" F+ a- Q/ y% w: p4 N
转换是完全可行的,不过必须要自己制作一个小工具。1 E4 n4 x* k7 s8 t  q2 N
在此我只能告诉你大致的制作顺序。
) D2 }9 ?/ ^& v2 L. l# t! K0 x' L8 R  n. M& i( H! N
1. 用一个工具把简体TTF字库转化为16*15的点阵字库。% E; W$ l* `* p/ N3 i" @
2. 制作1个包含了简体16*15的点阵字库的所有文字的文本文件A。: G% w6 c% t0 e8 _# K; v* v4 y3 {% g- @
3. 用一个工具把简体文本文件转化为繁体文本文件B。
0 N1 g6 ^5 B+ E. O/ N$ F- A4.制作繁体文本文件到简体文本文件的索引对照表3 E- t+ n; Q, y# y
5.按照索引对照表逐个替换字模" i* u- a/ O9 w  `% B  D  H2 u
( q. s. W% K: t/ l
不知道你要这样转换的目的是什么?
作者: shane007    时间: 2009-8-23 09:59
这是字模图
作者: heiheiha    时间: 2009-8-23 10:28
但是这一步这么做呢?用上述那个软件吗?
+ e& c6 m7 L" U! n: Z  C& }- `4.制作繁体文本文件到简体文本文件的索引对照表
作者: shane007    时间: 2009-8-23 10:51
引用第6楼heiheiha于2009-08-23 10:28发表的  :  e& i) r7 z9 o. a$ _
但是这一步这么做呢?用上述那个软件吗?% r# P3 C  V, d7 Q& R
4.制作繁体文本文件到简体文本文件的索引对照表
; T# ?+ k! H" x/ `
这个很容易啊。. k) l8 F$ K" ~% `3 l" z

5 X& A9 j- C! g& ]假设繁体字的编码为高位A1,低位B1,字库索引计算公式为f1(A1,B1)) Z% ]% m6 T: B# W3 B
再假设简体字的编码为高位A2,低位B2,字库索引计算公式为f2(A2,B2)
) `; a. i/ u$ g2 d
& ~$ Y) g8 w6 \. C4 C现在先从繁体字文本里面读取2个字节A1,B1, (比如说是第1,2个字节)
9 d- m4 T1 R* R. M2 k& U6 E再从简体字文本里面找到对应的2个字节A2,B2,(也是第1,2个字节)1 l% n. G5 ^3 m4 H( G
根据f2(A2,B2)找到这个字的简体索引,取30个字节获得字模.- r( C8 g. v( W
这个字模就是第1个字的简体字模,3 C; d- U+ |$ x/ g3 |& ?# g- g* k
第1个字的繁体字库索引是f1(A1,B1),+ O) S/ X% i- s1 c& E
把上面的简体字模写到繁体字库索引开始的30个字节里面,
' q# ?. E0 h4 X; ?) Z, {) z即完成了第一个繁体字的简体化变换,  K0 F' V" w4 W9 x; H2 ~
如此循环到繁体字文本结束即可.
作者: shane007    时间: 2009-8-23 10:54
不知道能否看懂?
作者: heiheiha    时间: 2009-8-23 12:00
懂了,非常感谢
+ Y# O& Z8 d4 B& J' A简体的索引公式和big5的索引公式我知道,但是具体font16.rar字库我不知道其索引公式,这怎么办?
作者: shane007    时间: 2009-8-23 12:14
其实,这也很简单。* f, w5 c9 a: [% [6 s" k3 Z

8 T/ k6 c* g6 q/ g所谓索引,就是这个字在字库中是第几个字。, e$ X# z9 T( c
由于每个字占30个字节,那么索引为A的话,在字库里的索引就是A-1乘30。
" j1 q7 V0 m/ d+ w5 l7 s1 Y! G比如第2个字,在字库的索引就是30。; t1 {1 N: m) m) M
2 M, f9 F# n# t, h
对了,这位朋友能否介绍一下你自己?以及你现在在研究的汉化项目?
作者: heiheiha    时间: 2009-8-23 12:57
汉化? 呵呵,我还从来没汉化过什么项目呢




欢迎光临 冒险解谜游戏中文网 ChinaAVG (https://chinaavg.com/) Powered by Discuz! X3.2