ノベルゲームで台詞に英語と日本語が混ざっているときの判別

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
Der

ノベルゲームで台詞に英語と日本語が混ざっているときの判別

#1

投稿記事 by Der » 12年前

ノベルゲームを作ろうと思っているのですが、例えば"abcdeあいうえお"みたいな文章を1文字ずつ描画するとき、
英語と日本語ではバイト数が違うらしいので、それを判別して参照バイト数を進めなければならないらしいです。
調べた結果、SHIFT_JISの文章なら1バイト目で判別はできるらしいですが、
"今時SHIFT_JISでプログラム組んだりしないよね"みたいな記事もあったりして不安です。
他にも、環境によって3バイト文字があったりするらしいし、どうするのが正解か分かりません。
何か情報があれば教えて下さい。

アバター
h2so5
副管理人
記事: 2212
登録日時: 15年前
住所: 東京
連絡を取る:

Re: ノベルゲームで台詞に英語と日本語が混ざっているときの判別

#2

投稿記事 by h2so5 » 12年前

正解といったものはないですが、Windows環境でDXライブラリを利用するのであれば、
文字セットをUnicodeにしてUTF-16を利用するのが便利だとおもいます。

これなら英語でも日本語でも2バイトで統一されるので計算が楽です。
(一部の漢字は4バイトになるようですが)

ISLe
記事: 2650
登録日時: 15年前
連絡を取る:

Re: ノベルゲームで台詞に英語と日本語が混ざっているときの判別

#3

投稿記事 by ISLe » 12年前

Shift_JISとUTF-8のバイト列を直接処理するものなら、わたしのブログでサンプルコードを公開しています。

ノベルゲーム風に一文字ずつ表示する:ISLeのビデオゲーム工房 ※Shift_JIS/DXライブラリ版/禁則および改行機能付き
ノベルゲーム風に一文字ずつ表示する【UTF-8/DXライブラリ版】:ISLeのビデオゲーム工房 ※禁則および改行機能付き
参照する際には、前後の記事も合わせて読んでください。

入力データとしてShift_JISを使うことはいまでも少なくはないと思いますけど。

閉鎖

“C言語何でも質問掲示板” へ戻る