このソフトを日本語化して欲しい! パッチ17at TECH
このソフトを日本語化して欲しい! パッチ17 - 暇つぶし2ch4:デフォルトの名無しさん
09/06/27 12:32:24
VB製の文字化け回避方法

00 00 00 64 00 44 42 01 00 06 54 61 68 6F 6D 61|.....DB...Tahoma

上のようなフォント指定があった場合の内容は以下の通り

00: Font charset
00: ?????????????
00: Strikethrough*8+Underline*4+Italic*2
Strikethrough = 0 'Falsetrue=1000=08h
Underline = 0 'Falsetrue=0100=04h
Italic = 0 'Falsetrue=0010=02h
64 00: Weight = 100
44 42 01 00: Size = 8.3 (00014244h=82500)
06: lenght of the フォント名
54 61 68 6F 6D 61:"Tahoma"

なので、文字化けを回避したい場合はFont charsetの場所を
80に書き換えればOK
それでも文字化けする場合は
「非日本語対応 Windows アプリケーションで日本語を表示させるための一般的手法」
URLリンク(www.tt.rim.or.jp)
を参照すればOK(なはず。<弱気)

5:デフォルトの名無しさん
09/06/27 12:33:06
文字化け回避の汎用をば

MOV BYTE PTR SS:[EAX+17],80
CALL DWORD PTR DS:[********]
JMP ********


PixelsPerInch 96→80
50 69 78 65 6C 73 50 65 72 49 6E 63 68 02 60
50 69 78 65 6C 73 50 65 72 49 6E 63 68 02 50

JMPで"CALL <JMP.&gdi32.CreateFontIndirectA> ; \CreateFontIndirectA"
をOllyで書き換えてやればたぶんOK

そのあとにDelphi(製だったかな?)はフォントサイズでPixelsPerInchを書き換えれば文字切れ回避はたぶんOK

(細かい修正箇所があるかもしれないが、FontIndirectAを使ってるアプリならたぶん大丈夫)


○文字化け修正方その3
リソースにRC Dataがある場合は、
「Font.Charset = DEFAULT_CHARSET」や「Font.Charset = ANSI_CHARSET」などを
「Font.Charset = SHIFTJIS_CHARSET」にしたり、
「Font.Name = 'MS Shell Dlg'」や「Font.Name = 'MS Sans Serif'」などを
「Font.Name = 'MS UI Gothic'」や「Font.Name = 'MS Pゴシック'」にするといいかもしれません。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch