#落ちる
IDLEのシェルまたはエディタで IVS付きの文字を入力すると、何も言わずに実行を終了する。
※ Windows10 の Python 3.7.3 (64bit) で確認。Windows 以外はわかりません。
キーボードからIVSを入力するのは少々面倒なので、大抵はコピペした文字列にそういう文字が混じっていたというケースになります。そういったデータを扱う機会の多い人が IDLEで何かしようと企んだ時だけ起こりうる事故で、とてもびっくりします。
※ たとえば次項「IVSとは」の本文を貼り付けると、落ちます。
【追記】 (2020-06-28)
これはPython 3.8以降および3.7のメンテナンスリリースで修正されています。8年越しの懸案だったようです・・
課題13153 IDLE 3.x on Windows exits when pasting non-BMP unicode
#IVSとは
IVSは「異体字セレクタ」の一種で、フォントが内蔵する別字体をUnicodeで指定するための仕組み。
例として、「進(U+9032)」を表示するとき。
「進」の左側は、戦後日本では一点のしんにょう(辶)とされているが、もし二点(辶)で表示したい場合には、文字コードの後にセレクタを付与して「進󠄁(U+9032, U+E0101)」あるいは「進󠄃(U+9032, U+E0103)」とすれば選択できる。
……と、UnicodeコンソーシアムのIVD(漢字異体字データベース)には登録されている。
※ U+E0101 の方は「Adobe-Japan1」コレクション、U+E0103 の方は「Hanyo-Denshi(汎用電子情報交換環境整備プログラム)」コレクション、または「Moji_Joho(文字情報基盤整備事業)」のコレクション
実際に表示されるかどうかはフォントの実装次第。なので、どれも「進」にしか見えない可能性もあるが、使用フォントが例えば Adobe-Japan1 に対応する「游ゴシック」か「游明朝」ならば、「進󠄁(U+9032, U+E0101)」は二点(辶)になるだろう。
#参考
- Wikipedia 『異体字セレクタ』
https://ja.wikipedia.org/wiki/%E7%95%B0%E4%BD%93%E5%AD%97%E3%82%BB%E3%83%AC%E3%82%AF%E3%82%BF - Unicode Ideographic Variation Database
https://unicode.org/ivd/