相互RSS


Windows10次期大型アップデートでコマンドプロンプトがカラーに対応!IBM PCの制限がついに廃止

1: 名無しさん@涙目です。(catv?) [ニダ] 2019/01/01(火) 20:19:43.95 ID:hFUnFvP80 BE:323057825-PLT(12000)

Windows 10の次期大型アップデートで現在プレビュー版が提供されている19H1(来年4月にリリース予定)では、コンソールが改良された。
具体的には、文字色と背景色で「デフォルトカラー」をサポートした。
そのほかにカーソルの形状や色の指定などが可能になっている。ここでは、この文字色と背景色について考えてみる。

Windowsコンソールの表示色は
IBM PC当初のハードウェアの制限を受け続けていた
そもそもWindowsのコンソールは、Win32アプリケーション(デスクトップアプリケーション)がコンソールAPIを使って出力などをするように作られたもの。
コンソールは、文字や背景の色を16個のカラーコードで指定する。つまり全部で16色しか利用できない。

WindowsアプリケーションはグラフィックスでRGB各8bitのフルカラーを使えるというのに、コンソールの中の文字や背景の色はたった16色しか指定できないのである。

これは、IBM PCに搭載されたCGAなどのテキストモードの仕様を引き継いだからだ。
現在のコンソールは、アプリケーションが指定した文字列をWindowsがフォントのビットパターンとして描画している。
しかし、IBM PCが発売された当時は、CPUも高速ではなかったため、現在のような「ビットマップディスプレイ」で文字を扱うと描画速度が遅くなってしまう。

そんなIBM PCのディスプレイカード(CGA、MGAと呼ばれるハードウェア)では、文字をハードウェアで表示していた。
具体的には、ビデオメモリーに文字コードとアトリビュートを書き込むと、ハードウェアでフォントパターン(当時は、これをキャラクタージェネレーターと呼んでいた)として表示させていた。
プログラム側は、8bitの文字コードをビデオメモリに書き込むだけで、文字が表示できた。

このときビデオメモリには、文字コードだけでなく、表示色を指定する「アトリビュート」も同時に書き込んだ。合わせて16bitをメモリに書き込むだけで文字が表示できたわけだ。

進化するWindows 10のターミナル、“色”で30年来の制限から脱却
http://ascii.jp/elem/000/001/792/1792101/
no title

no title

2: 名無しさん@涙目です。(catv?) [ニダ] 2019/01/01(火) 20:20:04.81 ID:hFUnFvP80

>>1続き
IBM PCはそのままではいわゆる7bitアスキーコードや互換の1バイト文字コードしか想定しておらず、日本語の表示はできない。

アトリビュートは、表示モード(たとえば白黒モードなどもある)によって違うが、
テキストモードでは、上位4bitが背景色、下位4bitが文字色になっていた(正確には、点滅ビットや輝度ビットなどがあるのだが、それについては省略)。
それぞれ4bitしかないため、最大16色しか指定できない。

そもそも、CGAは16色表示のCRTディスプレイのためのハードウェアで、最大16色しか表示させることができなかった。
16色表示のディスプレイは、Red、Green、BlueのいわゆるRGB各1bitと輝度(Intensety)1bitの4bitでドットを表現する。
RGB各1bit値を組みあわせた8色(黒、青、緑、シアン、赤、マゼンタ、ブラウン、明るいグレー)の暗い色と明るい色で合計16色となる(明るいグレーの輝度の高いものが白。
黒の輝度の高いものが暗いグレー、ブラウンの輝度の高いものが黄色になることに注意)。

この仕組みはずっと継承されており、後継のEGA、PS/2向けに開発されたVGAでもテキストモードは、この方式のアトリビュートを使っていた。
VGAではこの16色に対して、RGB値を自由に割り当てる「カラーパレット」の仕組みも持っていた。
カラーパレットを使うことで、同時に表示できる色は16色だが、任意の色を表示させることができた。

Windowsのコンソールは、CGAやVGAのテキストモードを前提に開発されたMS-DOSアプリケーションを移植しやすいように作られた。
このため、テキスト表示時のアトリビュートは、CGAから使われている「伝統ある」方式を踏襲している。

また、カラーパレットもコンソールAPIから制御可能だ。
さらに、コンソールプロパティのダイアローグボックスにある「画面の色」タブで、ユーザーは手動で16色に対して任意のRGB値を設定することもできる。

3: 名無しさん@涙目です。(茸) [US] 2019/01/01(火) 20:20:56.41 ID:BvWW1Aar0
やったー!カラーでコマンドプロンプト打ちたかったんだよねー!

4: 名無しさん@涙目です。(茸) [US] 2019/01/01(火) 20:21:29.26 ID:VF6FpDAD0
そこじゃない

293: 名無しさん@涙目です。(東京都) [US] 2019/01/04(金) 16:25:51.12 ID:p7dD0sTW0
>>4
だよな
そんなことはどうでもいい
その単色のっぺりテーマをどうにかしろって感じ
そんなのXPの時代に掃いて捨てるほどいっぱいあった

5: 名無しさん@涙目です。(家) [US] 2019/01/01(火) 20:21:38.72 ID:C/6ktJRY0
そんなとこよりシェルの機能低すぎるのなんとかしてくれ

14: 名無しさん@涙目です。(庭) [GB] 2019/01/01(火) 20:28:08.47 ID:hQ02AqBb0
>>5
こっちだよなあ
linuxかじったときコンソール面白かったわ

18: 名無しさん@涙目です。(空) [VN] 2019/01/01(火) 20:30:18.56 ID:yCqV4P1k0
>>5
powershellというものをご存知ない?

20: 名無しさん@涙目です。(空) [FR] 2019/01/01(火) 20:31:20.26 ID:XwnqlX/K0
>>5
powershellで足りないなら、操作される側のアプリの問題だろ。

11: 名無しさん@涙目です。(茸) [US] 2019/01/01(火) 20:24:29.34 ID:gRLBZG3V0
どうでも良過ぎで笑うわ

16: 名無しさん@涙目です。(埼玉県) [CN] 2019/01/01(火) 20:28:55.88 ID:coc04KCm0
何色でコマンド打とうか今から楽しみです

63: 名無しさん@涙目です。(庭) [US] 2019/01/01(火) 21:16:45.97 ID:dIIycVKX0
>>16
黒ww

17: 名無しさん@涙目です。(愛知県) [GB] 2019/01/01(火) 20:29:39.81 ID:5hyIbBut0
今更需要があるんか…

19: 名無しさん@涙目です。(dion軍) [CN] 2019/01/01(火) 20:30:56.24 ID:rcHCjcSg0
設定項目の場所ややり方をコロコロ変えるのはやめてくれ(´・ω・`)

21: 名無しさん@涙目です。(dion軍) [ニダ] 2019/01/01(火) 20:31:20.44 ID:50h766Vl0
んなこたーいいから、軽くしてくれ―――

24: 名無しさん@涙目です。(チベット自治区) [GB] 2019/01/01(火) 20:35:27.85 ID:ISZyTHOP0
どうでも良すぎてWin7のままでいいや

26: 名無しさん@涙目です。(長屋) [US] 2019/01/01(火) 20:36:06.01 ID:q7LVkZTg0
いいからコマンド体系をLinuxと合わせろよ
dirが打ちにくくて死ぬ
あとセパレータも\使うな/にしろ

41: 名無しさん@涙目です。(東京都) [JP] 2019/01/01(火) 20:56:29.87 ID:D+4vXNPr0
>>26
bash側でdirをaliasしとけよ

28: 名無しさん@涙目です。(高知県) [ニダ] 2019/01/01(火) 20:38:17.44 ID:mZp08/U30
とりあえず日本語インライン入力にちゃんと対応しろ
あとメモ帳も改行コードどうにかろしろ

202: 名無しさん@涙目です。(愛知県) [JP] 2019/01/02(水) 12:12:19.67 ID:5WXjycDe0
>>28
対応するって記事みたことあるぞ

40: 名無しさん@涙目です。(庭) [IE] 2019/01/01(火) 20:55:18.10 ID:yyMiK7Ll0

パワーシェルって誰が好き好んで使うんだ?
コマンド名が補完向きじゃないし
スクリプトは記号を多用する傾向

無駄に凝って設計したゴミとしか思えん

51: 名無しさん@涙目です。(東京都) [CO] 2019/01/01(火) 21:05:03.82 ID:ZHiTDnbp0
すまないが・・・・
まずは動作不良起こさないwindowsにしてくれないか。

55: 名無しさん@涙目です。(長野県) [ニダ] 2019/01/01(火) 21:08:22.32 ID:9zH+8+B40
win10の大型アップデートで余計なことばかりして巨大不具合が出るから
ほとぼりが冷めるまで7に退避(´・ω・`)

291: 名無しさん@涙目です。(静岡県) [US] 2019/01/04(金) 16:22:11.90 ID:sSJfG4RG0
>>55
俺も同じだよ
変な話題が多いよな、10って

56: 名無しさん@涙目です。(神奈川県) [US] 2019/01/01(火) 21:09:10.87 ID:W9nJL/Hn0
ビルド1809って無かったことになったのか

72: 名無しさん@涙目です。(東京都) [US] 2019/01/01(火) 21:26:32.33 ID:cpZzDQPe0
わーいカラーだー
ってよろこぶとでもおもってんのかクソバカ

73: 名無しさん@涙目です。(dion軍) [US] 2019/01/01(火) 21:27:41.86 ID:grsw30AE0
powershellって覚えにくくね?

75: 名無しさん@涙目です。(庭) [US] 2019/01/01(火) 21:28:27.24 ID:n/uA8q+J0
>>73
無能は大変だな

77: 名無しさん@涙目です。(静岡県) [US] 2019/01/01(火) 21:30:54.62 ID:/TPT0AM00
>>73
一回没頭しないと難しいかもね
必要なもんをチョコチョコ使ってるだけの頃、使うたびに知識リセットされてたw

84: 名無しさん@涙目です。(dion軍) [US] 2019/01/01(火) 21:36:18.07 ID:grsw30AE0
>>77
それだわ、すぐ忘れる
windowsなのにコマンドってのに抵抗あるし

74: 名無しさん@涙目です。(dion軍) [US] 2019/01/01(火) 21:27:42.57 ID:ptz3EcTj0
Windowsユーザーの92%が「はぁ?」という画期的なアップデートだな

82: 【猿】 【125円】 (石川県) [GB] 2019/01/01(火) 21:33:31.06 ID:FeZqf0Dz0
>>74
残りの8%だわ
仕事でターミナルソフト使うときも色いじってる

86: 名無しさん@涙目です。(神奈川県) [US] 2019/01/01(火) 21:37:30.02 ID:tJL9Vpca0
cmdなんて廃止してしまえ、PowerShellに統合しろ

100: 名無しさん@涙目です。(catv?) [US] 2019/01/01(火) 21:56:49.92 ID:wKtZpbS/0
PowerShellはコマンド体系が、複雑になりすぎな上に
コマンド名が冗長で統一性がなく、使ってて発狂しそうだわ

253: sage(SB-iPhone) [US] 2019/01/03(木) 16:37:57.79 ID:r6sf5FcT0
>>100
動詞-名詞な感じに統一されてるんじゃね
Get-Childitem
みたいに

6: 【1等組違い】 【340円】 (福島県) [CO] 2019/01/01(火) 20:21:57.13 ID:RBpW3jSh0
至極どうでもいい

引用元

https://hayabusa3.2ch.sc/test/read.cgi/news/1546341583/

管理人からひと言

そこじゃないんだよなぁ