Windows 10のメモ帳、CRLF以外の改行コードサポート追加へ 109
ストーリー by headless
改行 部門より
改行 部門より
Microsoftは8日、Windowsの「メモ帳 (notepad.exe)」で現在の「CR+LF」に加え、「CRのみ」および「LFのみ」の改行(EOL)コードをサポートする計画を明らかにした(Windows Command Line Tools For Developersの記事、
BetaNewsの記事)。
現行のメモ帳ではLinuxやmacOSで作成したテキストファイルを開くと改行が正しく処理されない。改行コードのサポートを拡大することで、改行コードを変換することなく正しく表示できるようになる。また、ファイルを編集・保存しても改行コードの種類は維持されるほか、ステータスバーに改行コードの種類を表示する機能も追加される。
この機能はWindows 10 Insider Preview ビルド17661 (RS5)以降で既に実装されている。これまでカーソル位置表示にのみ使われていたステータスバーは「右端で折り返す」を選択すると表示されなくなっていたが、改行コード表示機能追加に伴って常時表示可能となっている。保存時に改行コードを変更する機能は用意されていないようだ。
なお、ファーストリングとSkip Ahead向けに9日提供が始まったWindows 10 Insider Preview ビルド17666のメモ帳では、選択したテキストをBingで検索する機能も追加されている。既定のWebブラウザーがMicrosoft Edgeの場合、Setsの新しいタブで検索結果が表示される。他のブラウザーを既定にしている場合は新しいウインドウが開いて検索結果が表示されることになる。
ビルド17666ではこのほか、Alt+Tabでウインドウに加えてMicrosoft Edgeのタブを切り替えられるようになっており、複数のクリップボード項目の保存およびデバイス間の同期(設定→システム→クリップボードでの設定が必要)やエクスプローラーのダークモード対応、スタートメニューのタイルフォルダーへの名前設定機能なども追加されている。
現行のメモ帳ではLinuxやmacOSで作成したテキストファイルを開くと改行が正しく処理されない。改行コードのサポートを拡大することで、改行コードを変換することなく正しく表示できるようになる。また、ファイルを編集・保存しても改行コードの種類は維持されるほか、ステータスバーに改行コードの種類を表示する機能も追加される。
この機能はWindows 10 Insider Preview ビルド17661 (RS5)以降で既に実装されている。これまでカーソル位置表示にのみ使われていたステータスバーは「右端で折り返す」を選択すると表示されなくなっていたが、改行コード表示機能追加に伴って常時表示可能となっている。保存時に改行コードを変更する機能は用意されていないようだ。
なお、ファーストリングとSkip Ahead向けに9日提供が始まったWindows 10 Insider Preview ビルド17666のメモ帳では、選択したテキストをBingで検索する機能も追加されている。既定のWebブラウザーがMicrosoft Edgeの場合、Setsの新しいタブで検索結果が表示される。他のブラウザーを既定にしている場合は新しいウインドウが開いて検索結果が表示されることになる。
ビルド17666ではこのほか、Alt+Tabでウインドウに加えてMicrosoft Edgeのタブを切り替えられるようになっており、複数のクリップボード項目の保存およびデバイス間の同期(設定→システム→クリップボードでの設定が必要)やエクスプローラーのダークモード対応、スタートメニューのタイルフォルダーへの名前設定機能なども追加されている。
いいぞ (スコア:0)
次はデフォルトの文字コードに手を付けてくれたまへ
Re:いいぞ (スコア:1)
うむ。
しかし20年前にやって欲しかったよなw
Re:いいぞ (スコア:2)
そういえば全然ハイパーでないハイパーターミナルも緊急時には使っていたけどDOS窓でDOSの通信ソフトを動かした方がまともだったりしたなぁ。
Re: (スコア:0)
確かに今更感はありますねw
※マルチプラットフォーム開発だと地味に面倒くさい
Re: (スコア:0)
PHPがプラットフォーム関係なくLFだぞって規格で決めててくれるのありがたいね。
Re: (スコア:0)
Windowsの文字コードって複数あるの?
Re:いいぞ (スコア:1)
ありますよ。
日本語版WindowsはデフォルトではShift_JISの派生のCP932ですし、各言語でデフォルトの文字コードが違います。
関連ストーリーでUTF-8をデフォルトに変更可能になった [srad.jp]というのも有ります。
その気になればMacの文字コードやメインフレームに使われていたEBCDICも扱えます。
参考:扱える文字コード一覧 [microsoft.com]
Re: (スコア:0)
> その気になればMacの文字コードやメインフレームに使われていたEBCDICも扱えます。
え、これは初耳と思ったが、「Macの文字コード」や、「EBCDIC」も使えるって話か
なーんだ。
Re: (スコア:0)
こんなところでEBCDICが出てくるとは
コードページなんてDOS窓の中だけの話だと思ってたよ......
Re: (スコア:0)
地域と言語によって違ってたはず。
Re: (スコア:0)
メモ帳のだぞ
デフォルトだとANSIになってる
他にUnicode、Unicode big endian、UTF-8が使える
最近はHTMLやソースコード関連がUTF-8推奨なので
デフォルトをUTF-8に変えても良さそう
Re:いいぞ (スコア:1)
BOM は重要 (スコア:1)
BOMは文字エンコーディングやエンディアンを確実に判別できるという重要な役割を果たしているわけなんだけど
それが無かったら判別のためにテキスト全文を読んで、どの文字コードだと解釈すれば矛盾が無いかを評価しなくてはならず
非常に負荷が高い
その上、本文が短い場合には複数の文字コードで矛盾が生じないケースもあって、自動判別が不可能な場合まである
複数のファイルを結合して問題が生じる?
いや、BOMはファイルの先頭以外では無視しなければならない(幅0の空白文字)仕様なんだから不具合が生じる方がおかしい
そして、BOMのせいで動作しないアプリケーションはUnicode自体に非対応なのだから、Ascii だけ使ってればいいのでは
BOMで不具合を起こすようなアプリケーションは、UTF-8 が読めているように思えてもたまたま動いているだけで、
その他のUnicode制御文字も扱えないでしょう
シェルスクリプトから Ascii しか扱えないような古いスクリプトを呼び出して使いたいとかだったら
その前にBOM消してから渡す処理書けばいいだけでは、そんなの1分ありゃ書けるでしょ
UTF-8 において、BOMは必須でも推奨でもないけど、付けたからといって仕様違反ではない
扱えないアプリがタコ
Re: (スコア:0)
PCゲームの海外版の開発に関わっていたとき、あるキャラクタのロードでクラッシュするという謎の現象を追いかけていたらテクスチャのファイル名にいわゆる全角の漢字が含まれていたのが原因だった。
コスパ (スコア:0)
notepadって昔から使われているがほとんど変わってないよね。
最新の開発環境なら数日あれば作れそうなのに。
利用時間を開発コストで割ると全ソフトウェアでも世界最高近くのコストパフォーマンスかもしれない。
正直手を付けられる人、手を付けようとする人はほとんどいないんじゃないか?
ソリティア・マインスイーパーよりよほど書き直した方がいいソフトだと思うけどな。
Re:コスパ (スコア:1)
一切の仕様変更をしないのなら書き直す意味がないし、何らかの仕様変更を伴うならユーザーの反発を覚悟しないといけない。
書き直すのにリスクばかりが高くなる案件だと思うけどな。
Re:コスパ (スコア:1)
だよね。
ミニマムのツールはミニマムのツールとしてデフォルト、デファクトになる信頼性を持って存在し続ける事に意味がある。
Re:コスパ (スコア:1)
ミニマムのツールねぇ…
誰も語らなかったメモ帳のすごい隠し技 [arinco.org]
Re:コスパ (スコア:1)
[HKEY_CURRENT_USER\Software\Microsoft\Notepad]
"lfEscapement"=dword:00000000
"lfOrientation"=dword:00000000
"lfWeight"=dword:00000190
"lfItalic"=dword:00000000
"lfUnderline"=dword:00000000
"lfStrikeOut"=dword:00000000
"lfCharSet"=dword:00000000
"lfOutPrecision"=dword:00000003
"lfClipPrecision"=dword:00000002
"lfQuality"=dword:00000001
"lfPitchAndFamily"=dword:00000031
"iPointSize"=dword:00000050
"fWrap"=dword:00000001
"fSavePageSettings"=dword:00000000
"lfFaceName"="Andale Mono"
"szHeader"="&n"
"szTrailer"="Page &s"
"iMarginTop"=dword:000009c4
"iMarginBottom"=dword:000009c4
"iMarginLeft"=dword:000007d0
"iMarginRight"=dword:000007d0
これのことだな
lfで始まるのはLOGFONT構造体にそのまま対応しているだけだな
typedef struct tagLOGFONT {
LONG lfHeight;
LONG lfWidth;
LONG lfEscapement;
LONG lfOrientation;
LONG lfWeight;
BYTE lfItalic;
BYTE lfUnderline;
BYTE lfStrikeOut;
BYTE lfCharSet;
BYTE lfOutPrecision;
BYTE lfClipPrecision;
BYTE lfQuality;
BYTE lfPitchAndFamily;
TCHAR lfFaceName[LF_FACESIZE];
} LOGFONT, *PLOGFONT;
Re: (スコア:0)
編集日時記録機能とか現在時刻記入機能とかいろいろミニマムなら不要な機能がありますが。
Re: (スコア:0)
UIの一貫性は大事だとは思うけど、個人的には変えてほしい点はいくつかあるな。
でもやっぱりシンプルなのが大事なのはよくわかるからやりすぎてはだめね。
個人的には一部の文字がTerapadでは無警告で再保存で消えたからそういう時に使ってる。
一応メモ帳開発者なので最近は秀丸も多いかな。
Re: (スコア:0)
もとは32kbしか編集できなかったメモ帳に何を求めているんだ?
Re: (スコア:0)
UIが変わらないだけで、中身が変わってないとは限らないかと
Re: (スコア:0)
メモ帳やペイントはVisual Studio初心者のためにわざと残してあると思うんだけど。
メモ帳って、Vi動かすまでしか使わないよね (スコア:0)
タイトルは冗談ですが、本的にメモ帳って使っている人居るのでしょうか
居るから騒がれるんでしょうけど)
自分の場合、OSインストール直後かクライアントのローカル設定時位にしか
使ったことないもんで
Re:メモ帳って、Vi動かすまでしか使わないよね (スコア:2, 興味深い)
すみません、私、本( 200 ページ弱)を一冊だけ出したことのあるナンチャッテライター(昨年改訂版出せた)なんですが、メモ帳で書きました。
テキストファイルダブルクリックだけですぐに開きますし、頭の中で考えたことを垂れ流すだけなので、他の機能も不要でした。
あるといいなと思った機能としては表記の揺れのチェックくらいでしょうか。
別に他のエディタでもいいのでしょうが、勝手に落ちたりとかも経験がないので、私にとっては安定のアプリケーションですね。
Linux 上で扱うファイルを見るにはワードパッドで開けば改行問題は解消(保存はしない)できるので、メモ帳で不便を感じたこともありません。
Vi(Vim)って、Emacs動かすまでしか使わないよね (スコア:1)
タイトルは冗談で、WindowsではサクラエディタやAtomを使っていますが
*.txtの関連付けはメモ帳からは変えませんね。
メモを書くならメモ帳です。
# え? OneNote? 何ですかそれは。
Re: (スコア:0)
Windowsサーバーの本番環境などメモ帳以外の選択肢が無い環境ってのも結構有ります。
Windowsだけで環境が固まってれば良いですが、
それ以外とファイルをやり取りする場合、改行コードはネックになりますね。
Re:メモ帳って、Vi動かすまでしか使わないよね (スコア:1)
気持ちはわかるけど本番環境にログインしてエディタで何かしら編集するってのは時流的にダメなのでは
Re: (スコア:0)
代わりにどんな方法を使うんでしょうか?
設定がテキストファイルのみなサーバーって沢山ありますよね。
Re:メモ帳って、Vi動かすまでしか使わないよね (スコア:1)
その場合であってもFTP転送モードのascii/binaryを理解しないまま逆に使って
ダイジェスト値が合わないとかその他のすったもんだがよくある話のひとつ。
Re:メモ帳って、Vi動かすまでしか使わないよね (スコア:1)
ftpとか。
ええと、元の話としては、「本番環境」として「時流的に」どうか、なんだよね。
で、ftpって、本番環境でなくとも時流的にどうなの?
サーバ上でエディタを使うのと比べても、かな~~~~~~り時代遅れな気がするけど。
Re:メモ帳って、Vi動かすまでしか使わないよね (スコア:1)
tftpと読み替えて、サーバ・ワークステーションだけでなくネットワーク機器も
含むと話をまとめ直すと時代遅れでも妥協できるのではないかと思う。
Re: (スコア:0)
標準以外NGとかするクセに改行LFとプラットフォームの標準無視とかバカじゃね?と。
まあ全体通したシステム設計(そこで何か起きたときの対応方法、時間、手間の複雑さを考慮)なんかSIでやるトコ皆無、その他でも稀だからなんだろうけどさ。
で、指摘すると「頑張る」という無策。
そりゃブラックになるわ。
Re: (スコア:0)
SIerにいると客先PCを借りなくてはいけなかったりして、OS標準のツールにしか頼れないことがありまして...
LinuxのログをWindowsで読む際、Wordpadで開いて一度保存して改行コードをLFからCR+LFに強制変換してからNotepadで開くなんてことをしてました。
本当は慣れたツールを使えるといいんですけどね。
Re:メモ帳って、Vi動かすまでしか使わないよね (スコア:1)
SIerじゃなくても、諸般の事情で、いろんなPC使っていると、メモ帳とか、NotePadは必須。
Unix系で、Viを使うみたいに。
効率は悪いが、ある事が期待できるツール。
Edlinより、ずっとまし。
Re:メモ帳って、Vi動かすまでしか使わないよね (スコア:1)
VzエディタのソースコードってEdlinで書いたものだったらしい。すげぇ。
Re:メモ帳って、Vi動かすまでしか使わないよね (スコア:1)
そのcatもUnixブート起動時に走る nantoka.rc に織り込まれている
catとほぼ等価のサブセットのシェル・スクリプトではないかという話は
さすがにないか…
余談だが vi 開発の際 BSD マシンが飛んだことは一度や二度ではなかったはず。
Re:メモ帳って、Vi動かすまでしか使わないよね (スコア:1)
最初の入力にはcatを使ったかもしれないけど、
viより前にラインエディタであるedやexがあったあら、
さすがにcatでは編集・修正はしてないと思う。
そのexやedは、viの祖先みたいなもんだから、edがcatで書かれた可能性は無くは無い。
けど、edの祖先のQEDってのはあったみたいだから、catのみ、ってことも無さそうな。
Re:メモ帳って、Vi動かすまでしか使わないよね (スコア:1)
ご教示多謝。
Edlinで開発したのはVzエディタと命名される前のごく初期だけで
以後はM.C.エッシャーのモノクロ絵、Drawing Hands [google.com]同様なのですね。
その方がしっくり来ます。納得。
マイクロソフトなんかどうでもいい (スコア:0)
まともなものは作らないので、初めから論外です。
Re:マイクロソフトなんかどうでもいい (スコア:1)
MSなんかどうでもいいという偏見の人もこの10年くらいは流石に少なくなってたので、こういう意見はむしろ新鮮…。
そのMicrosoftが作ったエディタである Visual Studio Code は、いまやGitHub最人気プロジェクトの1つになってますね。あまりに優秀なので最近はAtomなんかの3倍以上の速度でスターが伸びています。PC初心者はメモ帳でよくて、文字コードとか理解できるレベルの人になったら vscode ってことでいいんじゃないですかね。
Re:マイクロソフトなんかどうでもいい (スコア:1)
Appleの製品よりはマシなのでokです。
#親コメの言い様に合わせた言い方にしました。
Re: (スコア:0)
「どうでもいい」って奴ほど声が大きい
CRのみ (スコア:0)
CRのみの改行コードって、どのOSのいつのバージョンまで存在したのか
具体的にご存じの方はいますでしょうか?
ITバブル時代のCGIでも入力フォームでデコード部分に必要と書かれてましたが
一度もCRのみで送られてきたことはなく、存在をお目にかかったことがありませぬ。
Re:CRのみ (スコア:1)
その昔、
Macが、CRのみで、UnixがLF のみ、DOSが CR+LF と覚えていた。
で、通信規約(どこの?)を見ると、正しいのが、CR+LF で、LFのみも OKとあったと記憶している。
当時の(今も)MACは唯我独尊で、接続時に苦労したことばかり。ファイル名を漢字で作って、MACに行って帰ってすると悲惨なことになる事が、、上司が大好きで、、お蔭で色々と勉強に。
消せないファイルの消し方も知ったし。
当然、ファイル内の改行コードは混在。コンパイルエラーの原因が分からないとか。(親切じゃない) そう言えば、ファイルの最後に 改行が無いと意味不明のエラーを出すコンパイラもあった。それで最後に必ず、改行の習慣、、、最近の Pythonだと逆に警告。
Re: (スコア:0)
MacOSX以前のMacOSがそうだったように記憶しています。
MacOSXはUNIXですからLFのみになっていますが。
10年遅い (スコア:0)
入力はともかく表示とasisの保存くらいはね。
Re:10年遅い (スコア:1)
入力もせず、元々あったファイルを「asisの保存」するのって、何か意味があるの?
Copy-Itemじゃダメなの?
Re:メモ帳に欲しい機能 (スコア:1)
個人的には、そこまでの機能は求めないな。
文章ならWord(とかExcelとか(笑))で書く、って人が多そうだし、メモ帳の機能としては需要が少な過ぎて採用されなさそう。
そういう意味で、改行コードも今までは需要が少ないと思われてたんじゃないかな。
改行コードを問題にするのは、一部のユーザだけで、その他大多数のユーザにとっては気にもしないところでしょう。
あるいは、戦略的にLinuxなんかを無視してた、ってことなのかもしれんけど。