[過去ログ] C++相談室 part164 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
378: (スププ Sd02-+VJx) 2023/07/01(土)12:18 ID:W7avfgkdd(1) AAS
日本語も右から左に書く言語だ
正確には上から下と右から左ニダ
379: (ワッチョイ 17f0-mXgB) 2023/07/01(土)12:20 ID:86MprtLh0(1) AAS
BiDiモード
380: (ラクッペペ MM8e-J/Sn) 2023/07/01(土)12:42 ID:ZV4XYgX9M(1) AAS
世界でも珍しい縦書き文化
381(1): (ワッチョイ 0e79-p0MK) 2023/07/01(土)15:53 ID:GgZZqhZy0(1) AAS
UTF32派の人ってWin32でW系API通す時に毎回変換するってこと?
382: はちみつ餃子◆8X2XSCHEME (ワッチョイ 433e-hRAP) 2023/07/01(土)16:08 ID:7zrd4+jP0(3/3) AAS
>>381
そうだよ。
作るアプリケーションがエディタ (またはシーケンシャルではない
テキスト操作をする何か) であるという前提を置いているときなら
という条件付きな話だが。
383: (ワッチョイ e2ad-hRAP) 2023/07/01(土)17:26 ID:6RngsvF70(2/3) AAS
そもそもWin32でA系APIにutf8渡せないし
384(1): (ワッチョイ 7b9c-44el) 2023/07/01(土)17:29 ID:ceIwatEY0(1) AAS
A系にはutf8渡せるんじゃないの?
385: (ワッチョイ e2ad-hRAP) 2023/07/01(土)17:36 ID:6RngsvF70(3/3) AAS
渡せるという表現がまずかったかな
結果を気にしなければ、なんでも渡せるよ
386(1): (ワッチョイ 06f2-fGW2) 2023/07/01(土)17:43 ID:XU86fDmw0(1/2) AAS
>>384
Windows バージョン 1903 (2019 年 5 月の更新プログラム) 以降、ActiveCodePage プロパティを使って、プロセスのコード ページとして UTF-8 を使うように強制できるようになりました。
387(2): (ラクッペペ MM8e-J/Sn) 2023/07/01(土)19:58 ID:Z2fZL/QQM(1) AAS
A系はASCIIなのでunicode由来のutfもshift-jis などのMBCSも扱えない
388: (ワッチョイ 06f2-HE4y) 2023/07/01(土)20:10 ID:XU86fDmw0(2/2) AAS
>>387
最近までは、-A API がレガシと見なされていました。
これは、何十年もの間、Windows が "Unicode" -W バリアントを推進していたためです。
しかし、最近のリリースの Windows では、ANSI コード ページと -A API を活用し、
新しい SKU で UTF-8 サポートを導入しています。 ANSI コード ページが
UTF-8 に対して構成されている場合、-A API は UTF-8 で動作します。
389: 蟻人間◆T6xkBnTXz7B0 (スフッ Sd02-Ojup) 2023/07/01(土)20:13 ID:6ckc7dLGd(1/2) AAS
>>387
以前からCP_ACPは日本語環境でシフトJISを扱えたはず。CP_ACPの解釈をCP_UTF8にすることができる設定と見なせる。
390(1): (ブーイモ MM8e-44el) 2023/07/01(土)20:43 ID:B2exONcuM(1) AAS
ASCIIしか考えてないアメリカ人の作ったプログラムでもUTF-8ならそれなりに動くよね
strlenが正確な文字数を返してくれるわけではないけども
391(2): 蟻人間◆T6xkBnTXz7B0 (スフッ Sd02-Ojup) 2023/07/01(土)20:55 ID:6ckc7dLGd(2/2) AAS
WideCharToMultiByteとMultiByteToWideCharの第一引数に明示的にシフトJISのコードページ932を指定すればUTF-8な環境でも動く。
392: (ワッチョイ 7f28-iz2R) 2023/07/01(土)23:06 ID:5I1AeY3j0(1) AAS
そうなの?
ただ単に変換APIの第一引数に明示的にシフトJISのコードページ932を指定しただけだと
とりわけWideCharToMultiByte()の場合、文字コードの自動判別が介在する余地もなく、
ウィンドーズ内部表現のUTF-16がシフトJISのコードページ932に(指定通りに)変換されるだけなんじゃないの……
M$のページ見たら
>マニフェストの ActiveCodePage プロパティを使って、プロセスのコード ページとして UTF-8 を使うように強制できるようになりました。
>マニフェストの ActiveCodePage プロパティを使って
と書いてあった
マニフェストファイル変えたら中で何がどう切り替わるのかわ皆目わからんが、
ただ単に変換APIの第一引数に明示的にシフトJISのコードページ932を指定したら万事OKというよりは得心が行く
393(1): (ワッチョイ 06f2-HE4y) 2023/07/02(日)00:11 ID:26TSX02F0(1) AAS
そういう話じゃない
〜A系のAPIの文字列引数にUTF8が使えるようになったという話だ
394: (ワッチョイ ce9a-EKe4) 2023/07/02(日)00:28 ID:MfIRncIE0(1/3) AAS
>>390
>strlenが正確な文字数を返してくれるわけではないけども
そもそも正確な文字数が必要な局面って?
そもそもUnicodeにおける「文字」って
395: (ラクッペペ MM8e-J/Sn) 2023/07/02(日)00:43 ID:B6PMzb/YM(1) AAS
A系ならstrlen、W系ならlstrlen使えば済む話では?
396(2): (ワッチョイ ce9a-EKe4) 2023/07/02(日)01:40 ID:MfIRncIE0(2/3) AAS
>>377
Unicode自体と同様、文句もあるけど世界中が規格化標準化されるのはやはり
有益な面があるなあと思ったり
言語を完全に知らなくてもそういう規則に従えばまあまあのものが出来る
そうやって自分もRTLなテキストを処理するコードを書いたことがあるし
日本語を(も)扱うコードだってどこかの外人が書いてるわけで
そうだ、日本語だって戦前はRTL。あれ、英語はどうしてたんだろ.... 敵性言語だから
ないことになってたのかなw
そういえば、テキストだけじゃなくてUIのレイアウトも変わるし、テキストのスクロール
方向とかも変わるし、注意が必要だったり
397: (ワッチョイ cb02-ctHD) 2023/07/02(日)04:10 ID:3Rb9PhMu0(1/2) AAS
Visual C++してもいいでしょうか?
特定の既定のライブラリの無視に「LIBCMT.lib」を設定して
マルチスレッド使っても大丈夫でしょうか?
もちろんランタイムライブラリの設定はマルチスレッドにしてます。
これでマルチスレッド使っても大丈夫でしょうか?
上下前次1-新書関写板覧索設栞歴
あと 605 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.011s