- プログラミング雑談スレ♯+++
544 :デフォルトの名無しさん[sage]:2014/11/12(水) 00:23:33.55 ID:IagLMQCH - >>528
前者は「フラグAが偽であるかフラグBが偽である時は処理をする」 後者は「フラグAとフラグB両方が立っている以外の時は処理する」 >>529も含めて仕様というか条件の意図がより近いと思う方で書く。条件自体は等価だし。 >>537 一番良い「場合もある」程度じゃね? >>541 「結構特殊な場合」をよく書く人かもしれん。
|
- 【.cmd】 バッチファイルスクリプト %10 【.bat】
845 :デフォルトの名無しさん[sage]:2014/11/12(水) 00:43:18.12 ID:IagLMQCH - >>843>>844
・regコマンドなどでコンソール用のレジストリ定義を変更して、それに合致するコンソールを開くようなバッチを書く ・WSHなどで自身のコンソールのGUIを自動操作してフォント設定の部分を操作するようなスクリプトを書く
|
- 【.cmd】 バッチファイルスクリプト %10 【.bat】
852 :デフォルトの名無しさん[sage]:2014/11/12(水) 16:35:38.77 ID:IagLMQCH - Unicode文字を取り扱うという話なら、cmd.exe /UとかWriteConsoleWを使った文字出力で取り扱える。
WriteConsoleWに頼るのが一番安定しててUnicode文字もほぼ問題なく取り扱えるけどchcpはダメだ。 chcpが使えるケースもあるけどバグや癖が強すぎてどーにもならん。 全角文字での文字幅計算はほぼ完全にダメ。良くて半角トーフか描画だけ全角で位置ズレする。 コンソールでのファイル名入力 @ XP+ラスタフォント→文字が正しくマップされず別の半角文字を表示して文字化け @ XP+TTFフォント→半角トーフに、後でラスタに変えるとASCII文字を巻き添えにして画面バッファ破損 @ 8.1+ラスタフォント→マップ出来ない文字は無かったものとして表示されない @ 8.1+TTFフォント→半角トーフに、後でラスタに変えると表示されるが、全角分表示だけズレて行末は消滅 typeコマンドでの出力 @ XP+ラスタフォント→上の結果に加え追加で位置ズレや行消滅も @ XP+TTFフォント→先程の結果に同じ @ 8.1+ラスタフォント→全角文字は別の半角2文字の組みに。後続のASCII文字は半角スペースと組になるなど無茶苦茶 @ 8.1+TTFフォント→先程の結果に同じ WriteConsoleA(UTF-8) @ XP+ラスタフォント→1バイトごとに別の半角文字を表示して文字化け @ XP+TTFフォント→先程の結果に同じ @ 8.1+ラスタフォント→XP+ラスタフォントの結果に同じ @ 8.1+TTFフォント→先程の結果に同じ WriteConsoleW(UTF-16) @ XP+ラスタフォント→1文字ごとに別の半角文字を表示して文字化け @ XP+TTFフォント→先程の結果に同じ @ 8.1+ラスタフォント→コンソールでのファイル名入力の結果に同じ @ 8.1+TTFフォント→先程の結果に同じ トーフはフォントリンクで解決できるかもしれんが、幅はどうやっても狂うだろうしダメだと思う。 >>851 chcpするとラスタフォントが別のに代わる。その状態でもフォント指定は効くから問題ない… かとおもいきや、chcpのクソ仕様により文字が化けたりトーフになったり幅が狂ったり散々。
|