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

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

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

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

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

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

在The Dig中文版中有一个chinese.fnt字库,是Big5编码的,我们为了使用这个字库,
- ?% X5 g* Z) \. N+ g; \必须把字挥蒰b码转换为big5码,非常不方便。 4 L2 }; T% J2 {/ w5 ?, D
所以我们想制作一个转换工具,把原来的Big5编码顺序chinese.fnt 转换为gb编码顺序。
5 E6 {# w/ g) ]这个工具是要被scummvm模拟器使用的。
8 m, D& b! f# d9 W) O" L( y0 o+ Q2 X1 Z5 D# g% n
具体要求如下
( x' U/ r1 n$ f# M0 V+ X+ C6 A6 Q
---------------------------------------------------------------------------------------
, k/ `) t4 l" ^/ f原字库                                      chinese.fnt 4 Z) \- T5 M+ i$ Y
字幕文件编码方式                            Big5编码
  |* _. f. C( [6 L! {字库索引算法                                Big5编码              
! v, {0 r" g5 r( S- l" V(即scummvm内部根据2个字节去找字模的算法)         
* {2 F( x/ B3 a1 a6 g0 n字库内字模排列顺序                          Big5编码顺序
' P" m: l: G# [0 v1 f- k-----------------------------------------------------------------------------------------
( X$ a  c- R9 y. v转换后字库                                  chinese_gb.fnt
* A3 P9 Q3 ]3 \. C7 N, X字幕文件编码方式                            gb2312编码
" H: F# J6 P4 p, F+ N# V字库索引算法                                Big5编码(注意,这个没变喔)            
2 K$ P" c0 F7 n6 \+ L5 u(即scummvm内部根据2个字节去找字模的算法)         
0 Q# d- s/ q! U字库内字模排列顺序                          Big5编码对gb2312编码的映射顺序
8 Z/ ]; l: }3 r% F: D; ?----------------------------------------------------------------------------------------- ( S8 D: ?& g: c) {- t

. Q2 }% ?) J% _( U举例来说,我们字幕文件里是一个gb码的 我 字,用big5编码索引后,在big5字库中找到的就是另外一个字,比如说是 你 字。8 V+ [7 z# B9 G$ z) a- s
现在就是希望用big5编码索引后,在新的字库中找到的字仍然是 我 字。, Q' n+ N( \% G* {3 M2 E

" ~0 `. u) p! ]' B1 M6 Q字库是16X15的,每240个点一个字,计30个字节。
/ F; _# P+ p4 S+ J1 Y5 I/ E4 ~& u) T, ?9 V
参考代码
( e  Y+ h$ f( Z. W. C0 Ohttps://www.chinaavg.com/read.php?tid=17038
& C" v( n! X8 n% ~字库浏览程序及字库chinese.fnt9 w! @5 `. S+ i9 z) l
https://www.chinaavg.com/read.php?tid=17017
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享分享 很美好很美好 很差劲很差劲
回复

使用道具 举报

12#
发表于 2009-8-23 12:57 | 只看该作者
汉化? 呵呵,我还从来没汉化过什么项目呢
回复 支持 反对

使用道具 举报

11#
 楼主| 发表于 2009-8-23 12:14 | 只看该作者
其实,这也很简单。
' n, S$ x. R7 O  d2 r2 z) ?& ~$ n4 f! A9 f4 o, w1 ?
所谓索引,就是这个字在字库中是第几个字。& u3 Z/ L/ A+ l% l+ G
由于每个字占30个字节,那么索引为A的话,在字库里的索引就是A-1乘30。+ @/ r2 a8 Q7 c7 ~) W- u
比如第2个字,在字库的索引就是30。5 D" N7 D- Z( {1 ~5 [& ~$ C7 H
8 c  d$ K! J; A' P: h- d
对了,这位朋友能否介绍一下你自己?以及你现在在研究的汉化项目?
回复 支持 反对

使用道具 举报

10#
发表于 2009-8-23 12:00 | 只看该作者
懂了,非常感谢; @1 h* n1 w5 f* B1 J
简体的索引公式和big5的索引公式我知道,但是具体font16.rar字库我不知道其索引公式,这怎么办?
回复 支持 反对

使用道具 举报

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

使用道具 举报

8#
 楼主| 发表于 2009-8-23 10:51 | 只看该作者
引用第6楼heiheiha于2009-08-23 10:28发表的  :8 e& Y& s/ B% V# A! ?
但是这一步这么做呢?用上述那个软件吗?+ q. }: j9 ~5 O0 j
4.制作繁体文本文件到简体文本文件的索引对照表
! S0 h! i* O! h6 P
这个很容易啊。0 T: M; X- e  s; l, {

" ]8 l! q! D: u. Z& p假设繁体字的编码为高位A1,低位B1,字库索引计算公式为f1(A1,B1)
& Y# i! v5 e0 {5 ]6 h' u# Y1 z再假设简体字的编码为高位A2,低位B2,字库索引计算公式为f2(A2,B2)0 n( {* w. k% M$ d  K/ c

# |& w8 \' G3 c  p* v# \现在先从繁体字文本里面读取2个字节A1,B1, (比如说是第1,2个字节)$ J% t, j6 n* C7 a% e2 s) d& q; C
再从简体字文本里面找到对应的2个字节A2,B2,(也是第1,2个字节)
! z+ Q7 t0 K. b2 I1 I8 `% W# }根据f2(A2,B2)找到这个字的简体索引,取30个字节获得字模.0 D# q( D1 u& T- V
这个字模就是第1个字的简体字模,
$ y7 k. I6 g8 W/ K第1个字的繁体字库索引是f1(A1,B1),
- y0 q, b& U: p2 G: m5 ?把上面的简体字模写到繁体字库索引开始的30个字节里面,1 B6 ]+ p/ e# Q
即完成了第一个繁体字的简体化变换,
9 L( ?- P; [  L: e. Y+ [如此循环到繁体字文本结束即可.
回复 支持 反对

使用道具 举报

7#
发表于 2009-8-23 10:28 | 只看该作者
但是这一步这么做呢?用上述那个软件吗?5 g3 U7 R9 y6 b
4.制作繁体文本文件到简体文本文件的索引对照表
回复 支持 反对

使用道具 举报

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

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

5#
 楼主| 发表于 2009-8-22 23:56 | 只看该作者
heiheiha 你好。
' I( h0 D7 P& `' D2 G, O( }3 m6 ]  i* S
转换是完全可行的,不过必须要自己制作一个小工具。
2 @$ T$ J+ f9 V% O& X在此我只能告诉你大致的制作顺序。
* e7 W: o7 z2 s8 B
. t/ j7 k1 b. H1. 用一个工具把简体TTF字库转化为16*15的点阵字库。+ S  L7 ~, h8 T8 M! L6 v
2. 制作1个包含了简体16*15的点阵字库的所有文字的文本文件A。* l$ Y, F) ?/ i- K  \3 p1 F
3. 用一个工具把简体文本文件转化为繁体文本文件B。' ]9 _4 O- H2 z& |, t
4.制作繁体文本文件到简体文本文件的索引对照表- ^+ X3 ]9 F0 ?; o
5.按照索引对照表逐个替换字模# c+ A0 L$ y4 v: U

8 ^4 R; L6 W3 ?' S不知道你要这样转换的目的是什么?
回复 支持 反对

使用道具 举报

地板
发表于 2009-8-22 23:31 | 只看该作者
求教一个问题
6 @9 f8 ^$ k: F# b  I我有一个繁体字库,和chinese.fnt几乎是一样的,我想将它转为简体字库,不知道可以不,怎么转?8 t+ }4 D9 h/ G6 F" |" ^% }, w1 y
ps: 只是改字库,也就是将繁体字库中“劉”改为“刘”,字库中顺序不变。字库是16*15的

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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