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

汉化资料 【汉化与汇编】游戏汉化中的双字节问题处理原理

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

[汉化资料] 【汉化与汇编】游戏汉化中的双字节问题处理原理

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

【汉化与汇编】游戏汉化中的双字节问题处理原理

在网上找到一篇很稀有珍贵的关于游戏汉化中的双字节问题处理原理的文章。
; @* H, K! @2 R) ?原文
: \+ x, b. E# k) hhttp://www.cnblogs.com/Sunwayking/articles/1380777.html - f- j. U$ L- M2 |
- ]( H/ G6 ]+ H; E- K- {
假设原始字库引擎如下(单字节字库引擎,不支持双字节):
4 N* h4 p: k/ s2 o
6 m# z8 d) P; }! Q5 x/ h" M@begin:
! H0 ]0 Z- \+ J3 I.... + d& n; _/ c+ M  h8 K7 C3 N/ B
mov al,byte ptr[ecx] ;把要单字节字符取出来放在al中 7 K/ k9 J  o  S4 y/ X5 ]' h: u
movzx eax,al ;零扩展一下
9 e% k$ x! P4 ~push eax ;要处理的字符压栈
8 {7 w# d. {6 l7 \) Acall 贴字的函数 ;查询字库并控制显卡绘制出字符 ' x- a* [2 a/ z( G$ I) p, }
inc ecx
/ t# d3 A% s' K/ F" ijmp @begin   X4 @% j* O- \6 J  d
% K3 j4 C  F' C- g

3 y( V) p! _- p现在想让他支持中文,需要对双字节特别处理:
' v6 }% c0 _* r9 R2 X
$ O$ ~" s0 T) E: |# n9 M@begin:
, C: u7 Q% i: K( z; j. I.... ; I, V' }9 z$ ]) l* S
mov al,byte ptr[ecx] ;把要单字节字符取出来放在al中 4 y* r# U6 h. E+ x

# B0 q! `4 O* L: \8 d9 d0 V/*双字节处理代码*/ ; i/ Y" S5 F. \' X
test al,80h ;判断是否是中文gb2312编码. 1 Q/ m6 w# |% g/ a' y4 z; R
je @单字节 ; Q% a  n- C- n- V' S" M' r6 P, _
shl eax,08h ) r* K/ P8 @$ A8 q4 I
inc ecx
! ]; ^% W: U+ Q3 E3 Cmov al,byte ptr[ecx] ;再取出一个单字节字符放在al中
. J! m# g  F  m3 `1 M' D4 O# M6 j% @jmp @双字节 . K  x) E3 o, o- j
/*双字节处理代码*/ ( I6 B, g, |3 t+ ?2 I3 S
- q. s& k, m& b2 D1 W+ g
@单字节:
5 T$ a2 M( z' k( h) F7 ^5 Nmovzx eax,al ;零扩展一下
7 c* K9 T" a% r8 [5 d, s9 P! o@双字节:
5 s) n1 N8 x! tpush eax ;要处理的字符压栈 2 K% F& l2 j! I
call 贴字的函数 ;查询字库并控制显卡绘制出字符
/ j6 F7 _) T' z6 A/ Dinc ecx
4 q. c7 w* D* ejmp @begin
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享分享 很美好很美好 很差劲很差劲
回复

使用道具 举报

沙发
 楼主| 发表于 2009-10-12 17:02 | 只看该作者
2009.10.12  更新标题
回复 支持 反对

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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