Re: Unicode文字セットを使用する場合について ( No.1 ) |
- 名前:管理人 日時:2018/05/13 20:45
> ・ソースコード自体の文字コードはShift-JISでも問題ないでしょうか?
はい、問題ありません
海外OSの環境で VisualStudio を使ってコンパイルする場合はおそらく問題になると思いますが、
日本語OSの環境で VisualStudio を使ってコンパイルすると文字コードが Shift-JIS でも問題ありません
海外OSの環境の VisualStudio でも正常にコンパイルできるようなソースコードとされたい場合は
ソースコードの文字コードを UTF-8 や Unicode 形式で保存するようにしてください m(_ _)m
> ・DrawVStringToHandleで縦書きフォント(フォント名に@がついているもの)を使用して
> 縦書き表示するなどの日本語的なものも、海外OSでも問題なく表示できるでしょうか?
> (フォントは「@MS ゴシック」を使用しています)
海外OSに縦書き用フォントがインストールされている場合は問題なく表示されると思いますが、
私も試したことがないのでわかりません・・・
|
Re: Unicode文字セットを使用する場合について ( No.2 ) |
- 名前:sereparu(解決) 日時:2018/05/13 21:04
管理人さん
いつも迅速なご回答、誠にありがとうございます。
ソースコード自体の文字コードはコンパイルする環境によって変える必要があるんですね。
日本語OSでコンパイルするので、Shift-JISのままで問題ないと分かって安心しました。
縦書きフォントはインストールされているか不安なので、あまり使わない方が良さそうですね。
念のためにDrawVStringToHandleは使わないようにして
横書きの文字列を1文字ずつ分割して縦に順番に表示していくような機能を
自前で作ることを考えてみます。
Unicodeを使うのは初めてなので、色々と悩んでいましたが
これでUnicode化の作業に集中できます。
本当にありがとうございました。
|
Re: Unicode文字セットを使用する場合について ( No.3 ) |
- 名前:yumetodo 日時:2018/05/14 09:10
え、ちょっとまった、Shift-JISのままではだめです。誤った情報です。
管理人さんが言いたいのは多分CP932に含まれる文字で日本語locale下のVSにおいては、ということだと思いますが、
CP932に含まれない文字については当たり前ですがソースコード上でその文字を表現できないので
- エスケープシーケンスで書く
- ソースコードの文字コードをUTF-8にする
が考えられますが、どう考えてもソースコードの文字コードをUTF-8にする一択です。
なおBOMをつけておかないとVSがUTF-8と認識できないので正確にはUTF-8 with BOMですね。
なおソースコードの文字コードがいくらUTF-8でも文字/文字列リテラルのprefixが
- L : 処理系定義ののUnicode
- u : UTF-16
- U : UTF-32
のいずれかがついていないとコンパイル時にUnicodeな文字列として埋め込まれません。
|
Re: Unicode文字セットを使用する場合について ( No.4 ) |
- 名前:sereparu(解決) 日時:2018/05/14 21:57
yumetodoさん
ご回答ありがとうございます。
現在はCP932に含まれない文字を使用してないので、そのままで良いと思ったのですが
試しにVisualStudio上で、ソースコードにUnicodeの環境依存文字を書くと
現在のコードページでは保存できないため、Unicodeで保存し直すか、という警告が出てきて
「はい」を選択すると、BOM付きのUTF-8で保存されました。
今後、特殊な文字を使うこともあるかもしれないので
ソースコードもBOM付きのUTF-8で保存しようと思います。
大変ご丁寧な説明ありがとうございました。
|