大風呂は敷(迷信解毒)。

迷信解毒というか政治経済ネットのニュースなどに三人称多視点ぽくツッコミ入れていくスタイル。

kantray version 20150619F112854。単漢字辞書の項目変更をCapsLockに変更、項目も追加で7350×17⇔124950文字。あとPython3のprint関数がWineのDOS上で日本語(utf-8)エラー問題をctypesでprintf召喚で解決。

ミユ「字引入力効率化のため単漢字辞書の項目変更を[KANA]から[CapsLock]に変更しました。kanmap.pngのアイコンの配置もズレるのでkantray_imの更新も必須です。

注目は紫αの部分。α鍵盤の切替と同じような操作で単漢字辞書の項目も変更できるようにしました。

単漢字辞書の項目それ自体も変更&増量です(E名音訓送異俗熙簡繁越顔鍵難→英名音訓送異俗熙簡繁越地顔鍵難逆非)。
項目が17種類に増えたので7350×17⇔124950文字を扱える、という設定。
[CapsLock]+[Q(た)]「英」英単語を字引(和英)。Eを英に変更。「英九⇔nine」「英英⇔talented/England/Britain」「英金⇔gold」のように英単語の字引入力。
[CapsLock]+[0(わ)]「地」国名や地名など漢字表記を字引。「地日⇔日本」「地米⇔亜米利加」「地英⇔英吉利西」「地中⇔中華人民共和国」みたいに地名漢字の字引入力。
[CapsLock]+[-(ほ)]「逆」反対の意味の漢字を字引(論理学等の逆ではない)。「逆暖⇔涼」「逆温⇔冷」「逆北⇔南」みたいに反対の意味の漢字の字引入力。
[CapsLock]+[^(へ)]「非」似て非なる意味の漢字を字引。「非描⇔書」「非喩⇔例」「非熔⇔溶」「非熔⇔溶」「非〜⇔~」みたいに似て非なる意味の漢字の字引入力。
ひらがな濁音の鍵盤に残してた全角チルダ「~」を波ダッシュ「〜」に変更。XP・Vista以降のWindowsは10に繰り上げされるのでフォントや文字コードの問題は解決されるはず。

Microsoftは2006年発売のWindows Vistaでグリフを修整したが、今でも古いMS明朝・MSゴシックのWAVE DASHを見ることがある。
WAVE DASHの問題は、Unicodeが世界中の実装を覆い、Windows XPのサポートが終了するような長い時間がたつうちに、倒れた自転車のように「通行のジャマ」程度まで影が薄くなったのだ。

UnicodeのWAVE DASH例示字形が、25年ぶりに修正された理由 -INTERNET Watch

ひらがなついでに「𛀁(や行え)」も収録。[NFER]+[7(や)],[E(え)]。
昔は「ゐ」「ゑ」の間にも「わ行う」とかあったっぽい。

「あめつちの詞」は、「いろは歌」同様、すべての仮名を1文字ずつ使った誦文である。『広辞苑』には(や行え)の平仮名を使って引用されている。
ただしいろは歌についても、本来(あ行え)が含まれていた可能性が指摘されている。

や行え - Wikipedia


シルキ「国名を漢字一文字で表記の延長線上に都道府県を漢字一文字ってネタがあったので都道府県を2ストロークで入力するコマンド表作ってみたよ。

都道府県を漢字一文字で表記する必要性がないよ」とお思いでしょうが、競輪では所属都道府県を一文字で表しています。とにかく紙面を節約するための苦肉の策ですね。

[都道府県を漢字1文字で表すと?] by 何カト見聞録

[NFER]+[G(き)],[KANA]+[Q(た)]「地北⇔北海道」
[NFER]+[3(あ)],[KANA]+[6(お)]「地青⇔青森」
[NFER]+[E(い)],[KANA]+[0(わ)]「地岩⇔岩手」
[XFER]+[D(シ)],[KANA]+[_(ロ)]「地城⇔宮城」
[NFER]+[3(あ)],[KANA]+[G(き)]「地秋⇔秋田」
[XFER]+[Y(ン)],[KANA]+[Q(タ)]「地形⇔山形」
[NFER]+[D(し)],[KANA]+[J(ま)]「地島⇔福島」
[XFER]+[E(イ)],[KANA]+[F(ハ)]「地茨⇔茨城」
[XFER]+[H(ク)],[KANA]+[F(ハ)]「地群⇔群馬」
[NFER]+[X(さ)],[KANA]+[Q(た)]「地埼⇔埼玉」
[XFER]+[/(メ)],[KANA]+[^(ヘ)]「地千⇔千葉」
[XFER]+[V(ヒ)],[KANA]+[T(カ)]「地東⇔東京」
[NFER]+[Y(ん)],[KANA]+[N(み)]「地神⇔神奈川」
[NFER]+[Y(ん)],[KANA]+[Q(た)]「地潟⇔新潟」(「地新⇔新加坡/新西蘭/新潟」「地星⇔新加坡」「地乳⇔新西蘭」)
[NFER]+[S(と)],[KANA]+[N(み)]「地富⇔富山」
[NFER]+[E(い)],[KANA]+[D(し)]「地石⇔石川」
[XFER]+[E(イ)],[KANA]+[S(ト)]「地井⇔福井」
[NFER]+[U(な)],[KANA]+[D(し)]「地梨⇔山梨」
[NFER]+[K(の)],[KANA]+[7(や)]「地野⇔長野」
[XFER]+[;(レ)],[KANA]+[1(ヌ)]「地岐⇔岐阜」
[NFER]+[D(し)],[KANA]+[R(す)]「地静⇔静岡」
[NFER]+[A(ち)],[KANA]+[@(゛)]「地知⇔愛知」(「地愛⇔愛知/愛蘭」)
[XFER]+[/(メ)],[KANA]+[3(ア)]「地三⇔三重」
[XFER]+[D(シ)],[KANA]+[9(ヨ)]「地滋⇔滋賀」
[XFER]+[/(メ)],[KANA]+[}(゚ )]「地京⇔京都」※readme.txtで記載ミス。次回更新で修正予定。
[NFER]+[F(ハ)],[KANA]+[Y(ン)]「地阪⇔大阪」(「地大⇔大阪/大分」)
[NFER]+[^(へ)],[KANA]+[M(も)]「地兵⇔兵庫」
[NFER]+[U(な)],[KANA]+[O(ら)]「地奈⇔奈良」
[NFER]+[0(わ)],[KANA]+[^(へ)]「地和⇔和歌山」(「地歌⇔和歌山」)
[NFER]+[S(と)],[KANA]+[L(り)]「地鳥⇔鳥取」(「地取⇔鳥取」)
[NFER]+[.(ね)],[KANA]+[M(も)]「地根⇔島根」
[NFER]+[6(お)],[KANA]+[T(か)]「地岡⇔岡山」
[NFER]+[V(ひ)],[KANA]+[_(ろ)]「地広⇔広島」
[NFER]+[H(く)],[KANA]+[A(ち)]「地口⇔山口」(「地山⇔山美亜/山形/富山/山梨/和歌山/岡山/山口」)
[XFER]+[I(ニ)],[KANA]+[H(ク)]「地徳⇔徳島」
[NFER]+[T(か)],[KANA]+[0(わ)]「地川⇔香川」(「地香⇔香港/香川」)
[NFER]+[V(ひ)],[KANA]+[/(め)]「地媛⇔愛媛」
[NFER]+[Q(た)],[KANA]+[T(か)]「地高⇔高知」
[NFER]+[Q(ふ)],[KANA]+[J(ま)]「地福⇔福岡」
[NFER]+[X(サ)],[KANA]+[T(カ)]「地佐⇔佐賀」
[NFER]+[U(な)],[KANA]+[E(い)]「地長⇔長崎」
[NFER]+[H(く)],[KANA]+[J(ま)]「地熊⇔熊本」
[XFER]+[/(メ)],[KANA]+[L(レ)]「地分⇔大分」
[NFER]+[N(み)],[KANA]+[7(や)]「地宮⇔宮崎」
[NFER]+[D(し)],[KANA]+[T(か)]「地鹿⇔鹿児島」
[NFER]+[6(お)],[KANA]+[G(き)]「地沖⇔沖縄」
新潟の「新」がシンガポール(新加坡)やニュージーランド(新西蘭)と、愛知の「愛」がアイルランド(愛蘭)と、香川の「香」が香港と、山形山梨山口など「山」がザンビア(山美亜)と被ったので回避アレンジに注意してね。」
フレア「ひらがなやダッシュ変更の話繋がりで[KANA]で濁音半濁音拗音促音入力もできるように([XFER]濁音移動[NFER]清音復帰の往復を削る)。
事前に[CapsLock]+[:(け)]で単漢字辞書の項目を「鍵」に切替。[NFER]で清音鍵盤に変更。
「にっこにっこにー」や「ザッケンナコラー」や「ティロフィナーレ」みたいなフレーズで、
([NFER]+[1(ふ)],)[KANA]+[I(に)]で小さい'っ'が、
([XFER]+[1(フ)],)[KANA]+[I(ニ)]で小さい'ッ'が、
([XFER]+[1(フ)],)[KANA]+[E(イ)]で小さい'ィ'が、
([NFER]+[1(ふ)],)[KANA]+[_(ロ)]で長音符'ー'が入力でき、親指シフトの隠れストローク削減に貢献。」
レクィド「さっきから入力できる漢字数自体が増える気配はねーじゃねーか」
フレア「漢字数を増やすのも大事だけど漢字に辿り着く導線も増やす事も大事だったり。というわけで「異」「非」「逆」の使い分けの例でも抜粋。

鎔 送:鎔鉱炉/鎔(いがた) 異:熔 俗:鋳型/鎔鉱炉→熔鉱炉→溶鉱炉 非:
熔 送:液状に熔解/鉄が熔ける/ガラスも熔かす 異:鎔 俗:カラメル/キャラメル/熔接 非:溶
溶 送:液体へ溶融/水に溶ける/絵の具を溶かす 異: 俗:砂糖水/水溶液 非:熔
融 送:融合/雪が融ける/資産を融かす 異: 俗:接着剤/融着/融雪/融通/金融 逆:解
解 送:分解/科学は熱狂と迷信に対する偉大な解毒剤/誤解を解く/謎が解ける 異: 俗:剥がし液/解凍レンジ 逆:融

漢字で迷っても単漢字辞書の各項目を見れば同音異義語の使い分けバッチシ。」
アケミ「そういうの今時のIMEだとサジェスト表示してくれない?」
フレア「ポップアップ類や言語バーを片付けるために漢直作ってるんですのな。

夏は特にタスクトレイの温度計が言語バーで隠れるとパソコン熱暴走の危機。」
シルキ「フォント描いてたのセーブ前に消えたとかホント辛い。」


ミユ「で、kantrayはHSP版BaCon版のメンテ放置してでもPythonに移植したい話。
とりあえずtsvtoolのltsv_UTF8MID$に不具合が見つかってる事を連絡。

FUNCTION ltsv_UTF8MID$(char *ltsv_data,NUMBER ltsv_dataptr,NUMBER ltsv_datalen)
 LOCAL tsvdata$: tsvdata$=ltsv_data
 LOCAL UTF8midL,UTF8midR
  IF UTF8midL<0 THEN
   UTF8midL=ltsv_UTF8LEN(tsvdata$)+UTF8midL
  ENDIF
  IF ltsv_datalen<0 THEN
   UTF8midL=UTF8midL+ltsv_datalen
  ENDIF
  UTF8midR=UTF8midL+ABS(ltsv_datalen)
 LOCAL ASCIIptr,ASCIIlen,ASCIImidL,ASCIImidR: ASCIIptr=0: ASCIIlen=LEN(tsvdata$): ASCIImidL=ASCIIptr: ASCIImidR=ASCIIlen
 LOCAL ASCIIchar TYPE unsigned char
 LOCAL UTF8len: UTF8len=0
  FOR ASCIIptr=0 TO ASCIIlen-1
   ASCIIchar=PEEK(tsvdata$+ASCIIptr)
   IF ASCIIchar/64!=2 THEN
    IF UTF8len==UTF8midL THEN
     ASCIImidL=ASCIIptr
    ENDIF
    IF UTF8len==UTF8midR THEN
     ASCIImidR=ASCIIptr
    ENDIF
    INCR UTF8len
   ENDIF
  NEXT
 RETURN MID$(tsvdata$,ASCIImidL+1,ASCIImidR-ASCIImidL)
END FUNCTION

上が修正前下が修正後。

FUNCTION ltsv_UTF8MID$(char *ltsv_data,NUMBER ltsv_dataptr,NUMBER ltsv_datalen)
 LOCAL tsvdata$: tsvdata$=ltsv_data
 LOCAL UTF8midL,UTF8midR: UTF8midL=ltsv_dataptr
  IF UTF8midL<0 THEN
   UTF8midL=ltsv_UTF8LEN(tsvdata$)+UTF8midL
  ENDIF
  IF ltsv_datalen<0 THEN
   UTF8midL=UTF8midL+ltsv_datalen
  ENDIF
  UTF8midR=UTF8midL+ABS(ltsv_datalen)
 LOCAL ASCIIptr,ASCIIlen,ASCIImidL,ASCIImidR: ASCIIptr=0: ASCIIlen=LEN(tsvdata$): ASCIImidL=ASCIIptr: ASCIImidR=ASCIIlen
 LOCAL ASCIIchar TYPE unsigned char
 LOCAL UTF8len: UTF8len=0
  FOR ASCIIptr=0 TO ASCIIlen-1
   ASCIIchar=PEEK(tsvdata$+ASCIIptr)
   IF ASCIIchar/64!=2 THEN
    IF UTF8len==UTF8midL THEN
     ASCIImidL=ASCIIptr
    ENDIF
    IF UTF8len==UTF8midR THEN
     ASCIImidR=ASCIIptr
    ENDIF
    INCR UTF8len
   ENDIF
  NEXT
 RETURN MID$(tsvdata$,ASCIImidL+1,ASCIImidR-ASCIImidL)
END FUNCTION

「UTF8midL=ltsv_dataptr」が抜けてたので開始位置の設定が機能してなかった問題。
修正が必要な場合ソースをコピペ修正するかkantrayに付属してる「tsvtool7L.bac」と「tsvtool7L_imports.bac」をコピー。さらにBaConでコンパイル
フレア「本当は修正版出すべきなんですが」
ミユ「だってMID$なんてPythonD言語だと変数スライスのレイヤーで、関数ですらないんですよ?

#! /usr/bin/env python
# -*- coding: utf-8 -*-
from __future__ import division,print_function,absolute_import,unicode_literals
import sys
import codecs

test_helloworld="helloワールド\u5496\u55B1"
print(test_helloworld)
print(test_helloworld[5:9])

はてな記法のしくみでカレー(咖喱)がエスケープされてます。

helloワールド&#21654;&#21937;
ワールド

車輪の再発明に足を取られて開発が遅れるとかおかしいと思いませんか?あなた。」
クレイ「最近PythonアゲだけどPythonが再ブレイクする兆しデモ?」
シルキ「今後スマホやクライアントでJavaも含めて極力バイナリを動かさないという流れが始まる大推理!

どの脆弱性攻撃キットを使用しているかに関わらず、攻撃者は IEJavaSilverlightAdobe Flash と言ったインターネット上でよく使用される製品の脆弱性をすべて攻撃します。
自動更新できる Microsoft社製品に加え、JavaFlash Player の自動更新も必ず確認しておきましょう。

狙いはIE、Java、Flash、Silverlight:Web経由脆弱性攻撃の手口|トレンドマイクロ セキュリティブログ

Java」などの製品に同梱されているWebブラウザー向けツールバー「Ask Toolbar」が同社製ウイルス対策製品でマルウェアと検知されることを明らかにした。
「Ask Toolbar」は検索プロバイダーの上書きなどを行うことでユーザーのブラウザー操作を著しく制限する場合があるという。
ユーザーの予期せぬ動作を行うツールバーをセキュリティ強化のためマルウェアとして扱うよう、「Windows Defender」をはじめとする同社のウイルス対策製品のマルウェア検出評価基準を変更しているとのこと。

Microsoft、「Ask Toolbar」をマルウェアとして扱う方針を明らかに - 窓の杜

月例パッチで、これだけ何度も不具合撒き散らしてるってのに、そのWindows Updateするタイミングを自由に調整できないという欠点がある時点でWindows 10は様子見
XP Modeは新OSへの移行が間に合わないユーザーの便宜のためにつけました、という位置づけなので10で無くなるのは当然と言えば当然
Windows 10 Home ってウェブブラウザが、Edge だけになるんですよね?←IE11も入ってるから大丈夫

Windows 10へのアップグレードで失われる機能、使えなくなると困るのは? | スラド IT


ミユ「残念ながら今後各種ブラウザはバイナリに系統する様子。

どのWebブラウザでも高速に実行できるバイナリフォーマットを開発する、というのがWebAssemblyが目指すものです。
Unity WebGLも、ブラウザで利用可能になったらアウトプットをWebAssemblyバイトコードに切り替える計画だ。
なぜこのような、Webをターゲットにした新しい実行系の開発が始まったのでしょうか?
1つは、モバイルやIoTといったネットワーク回線やマシンパワーが比較的小さいデバイスにおいても効率よく実行できるように、圧縮しやすくパースも高速かつ軽量で済むフォーマットが望まれていたこと。
もう1つは、すでに存在する低レベル言語としてのasm.jsは拡張が難しく、ネイティブスピードを実現するという要求には、新しいものを作った方がよいだろうと考えられたことです。
WebAssemblyはJavaScriptを置き換えるのではなく、補完するように設計されています。長期的にはWebAssemblyは多くの言語をコンパイルしてWebで実行できるようになるでしょう。

主要ブラウザで実行可能なバイナリ形式「WebAssembly」の開発がスタート。Chrome、WebKit、Firefox、Microsoft Edge、LLVM、Unityらがサポートを相次いで表明 − Publickey


レクィド「Webでバイナリとかフラグの臭いしかしねーわw

エンドユーザーが圧縮ファイルを解凍すると、WordやExcel、PDFなどのアイコンに偽装した、興味をひく内容の“おとりファイル”と遠隔操作ツール「mimikatz」が忍び込ませてある。
「風邪はひくものだと認識せよ」として、として、マルウェアに侵入されることを前提で考えるべきと示唆。
実際に感染したのは2014年末とみられるケースがほとんどであり、感染してから数カ月して発見されたものだ。Emdiviに感染していてもまだ気付いていない企業が多く存在している可能性があると指摘

年金機構事件で発覚--感染に気付かれず潜伏する「Emdivi」の恐ろしさ - ZDNet Japan

そもそもメールサーバ側で.exeが削除されていないのかw.exeを送ってくるとか相当馬鹿にされているな←ROL偽装されてたら大抵の奴は騙されそう

【年金機構】添付ファイル「.exe」実行で感染か 今後は「exe」クリックしないよう呼びかけ - ゴールデンタイムズ

日本年金機構から個人情報約百二十五万件が流出した問題で、ウイルスメールに添付されていた「.exe」ファイルを実行していたことが明らかとなった。
更にその報道があたかも「exeファイル」がウイルスであるかのような印象
報道でexe=ウイルスと早合点したマヌケ社長が社内に「パソコンの中のエグゼを全部削除しろ」と御触れを出したせいで「あれ、パソコンが動かなくなったぞ!サイバー攻撃だ!」と騒ぎ出すお笑い光景が日本中で
上記のような冗談のようなツイートも、もしかしたら本当にありえるのかもしれない。

exeヤバイ!多くのPC内に「exe」ファイルが存在し「ウイルス」だという風評被害が発生!|面白ニュース 秒刊SUNDAY


ミユ「バイナリ拘泥に対する反論として昔NOKIAJavaではなくPythonで動かすケータイが存在したので、AndroidでもPython公式対応の可能性はありえる。

Pythonは世の中のあちこちで利用されているのに目に見えにくいだけなんです。
Vodafone 702NK
NOKIA製携帯電話。Pythonランタイムがポーティングされ実装された携帯。携帯電話アプリケーションをPythonで自作して動作させる事ができます。

なぜPythonユーザは少ないの? ― PythonMatrixJp

LSB3.2では新たに、PerlPythonといったスクリプト言語を含む
Linuxではディストリビューションごとに、インストールされているコマンドやライブラリ、ディレクトリ構造、デスクトップ環境が異なる。
LSBは、こうした違いのあるLinux同士で互換性を向上する標準仕様を定めるもの

Linux標準にPerlとPythonが追加−@IT

Androidサードパーティ製のPython環境は既に存在してた様子。

メニューから編集アイコンを選択します。鉛筆アイコンです。すると、エディタにソースコードが表示されます。

はじめての SL4A (Python) プログラム - Android 開発入門

SL4AのPythonインタープリタが、Android 5.0.2では全く起動しないことが判明。QPython3は問題なく起動するので、当面はこっちで遊ぶしかないようです

時間城年代記:Android5.0.2でSL4AのPythonは起動不可能?

WebAssemblyで逆にJavaScript以外の言語もブラウザで使える展開になってコーディング規約で揉める理由の少ないPythonに開発者が集まる可能性もあると思います。
不特定多数の開発でもPythonだとコーディングスタイルがバベルしづらいので安心。

Pythonではブロックをインデントで表す記法があり、“{”、“}”の位置が書く人の趣味でまちまちになる言語と比べると、誰が書いても同じになりやすいのです。
自分が昔書いたコードや、他人が書いたコードの挙動を、ソースを見て把握したり、手を加えたりする場合のハードルが低いです。

ASCII.jp:Pythonが最高である3つの理由 (2/3)|山崎徳之の実践Python塾

三項演算子は使用禁止 理由:分からない人がいるから←本当はわからない人がいるからじゃなくて「自分がわかんない。勉強もしたくない」なんだよなw
Java8でラムダ式禁止とかなったりして←Java8でラムダ式禁止はむしろありだと思う。中途半端に使われたらかなわん←コードが悪くなるんじゃなくて「わからない人間がいるから」を理由にしてはいけない
インデントは2か4か6で喧嘩になるから何も言わない←6は初めて聞いた←タブと勘違いしてない?インデントとタブは別の概念だぞ←もしTABが昔から4文字移動するキーだったらこんな論争は起きなかったと思うよ。

本当にあった変な社則とコーディング規約 WALL

Python 3 では、インデントにタブとスペースを混ぜることを禁止しています。1レベルインデントするごとに、スペースを4つ使いましょう。
引用符が文字列に含まれていた場合は、文字列中でバックスラッシュを使うことを避けるため、もう一方の引用符を使うようにしましょう。
複合文 (一行に複数の文を入れること) は一般的に推奨されません。

pep8-ja 1.0 ドキュメント


フレア「なんでプログラムの開発人数が特定できないとかホラーな事象が」
ミユ「気がつくと隣の席に知らない人が座ってるとかチャメシインシデント。

こんなずさんな管理を身近でやっといてよくマイナンバーやら派遣法を「改正」するなんて言えたもんだ

痛いニュース(ノ∀`) : 【日本年金機構】 データ入力業務、“違法派遣”でどこの誰だか知らない人が入力していた

国会でソースは2chをやるとは…←2chで起きた事の説明に2chをソースにするのは仕方ないからな?w
引く手あまたがなぜ弓K手になるのか←OCRやろなあ←なぜわざわざ刷ってOCRにかけるのか

国会で2chからレスを堂々引用wwww | アルファルファモザイク

2ちゃんねるに書き込まれたのは5月28日で、年金機構が記者会見で謝罪をしたのは6月1日となっています。つまり、この書き込みがなければ、そのまま謝罪会見をしなかったかもしれなかったということなのです。
特定秘密にしようとしたけど2ちゃんねるに書き込まれて出来なくなったから制裁かな。

【酷い】年金情報漏えい事件を世間に暴露した職員、守秘義務違反で告発へ!2ちゃんねる書き込みで機構が対応!|真実を探すブログ

レクィド「Pythonスゴイ言語ならなぜ日本で普及しなかったってぜってー突っ込まれるは」
ミユ「日本語処理が\Windowsで/使えないイメージのせい。実際文字化けやエラーが発生。
プログラミングの環境を整えよう(newsokur)

Python 2.xと3.xのプログラムには一部互換性がないので、2で作ったコードを3で使うことや、その逆ができないことが多々ありますので注意してください。

Pythonで学ぶ 基礎からのプログラミング入門 (2) プログラミングの環境を整えよう | マイナビニュース

それぞれPerl 6、Python 3、PHP 6へと大幅なバージョンアップに乗り出しました。ところが、Unicodeのサポート問題などの表面的な類似点があるにも関わらず、根本的に異なった展開を見せています。
PHPのコミュニティは実質的にPHP 6を諦めることを決め、PHP 6の第一の問題であるUnicodeサポートと関係ない、追加の変更だけを提供しています。
Perlは“一気に全てを壊す”というビジョンにこだわることを決め、バージョンアップに15年の年月を費やしています。これはHTML 5の開発期間に匹敵する長さです。
Pythonは、達成可能な変更をいくつか加えることを決め、それを3年以内に実行に移し、出荷しました。print()関数を採用しprintは削除。建前上はAPIの連続性を保つためで、本音は人々をもてあそぶためと思われる

セカンドシステム症候群にまつわる3つの話―Perl 6, Python 3, PHP 6 | インフラ・ミドルウェア | POSTD

とりあえずWine上のWindowsXP上にPythonをインストールして実行するとこうなる。

#! /usr/bin/env python
# -*- coding: utf-8 -*-
from __future__ import division,print_function,absolute_import,unicode_literals
import sys
import codecs

test_helloworld="helloワールド\u5496\u55B1"
print(test_helloworld)
Traceback (most recent call last):
  File "oldprinttest.py", line 8, in <module>
    print(test_helloworld)
UnicodeEncodeError: 'cp932' codec can't encode character '\u5496' in position 9: illegal multibyte sequence

cp932(シフトJIS)が要求されてるのでとりあえずencodeしてもバイナリをprint関数に渡すのでこうなる。

#! /usr/bin/env python
# -*- coding: utf-8 -*-
from __future__ import division,print_function,absolute_import,unicode_literals
import sys
import codecs

test_helloworld="helloワールド\u5496\u55B1"
#print(test_helloworld)
print(test_helloworld.encode(sys.stdout.encoding,'xmlcharrefreplace'))
b'hello\x83\x8f\x81[\x83\x8b\x83h&#21654;&#21937;'


アケミ「ダメじゃん。そんな状態で日本語入力が使えるわけが」
ミユ「tkinterは普通に動いたのでMS-DOSターミナルの問題。

#! /usr/bin/env python
# -*- coding: utf-8 -*-
import tkinter as TK

mainw=TK.Label(text='Hello World!MS ゴシック',font=('MS ゴシック','18'),bg="white")
mainw.pack()
mainw.mainloop()


ならばMS-DOSターミナルで動く「printf」を召喚する関数作ればいいじゃない。

#! /usr/bin/env python
# -*- coding: utf-8 -*-
from __future__ import division,print_function,absolute_import,unicode_literals
import sys
import codecs
import ctypes

if sys.platform.startswith('win'):
    LTsv_libc=ctypes.cdll.msvcrt
if sys.platform.startswith('linux'):
    LTsv_libc=ctypes.CDLL("libc.so.6")

def LTsv_libc_printf(LTsv_text):
    LTsv_Btext=LTsv_text.encode(sys.stdout.encoding,'xmlcharrefreplace')
    LTsv_libc.printf(b"%s\n",LTsv_Btext)

def LTsv_libc_printf_codec():
    LTsv_libc_printf(sys.stdout.encoding)

def LTsv_libc_printf_type(LTsv_text):
    Btext=LTsv_text.encode(sys.stdout.encoding,'xmlcharrefreplace')
    LTsv_libc_printf("{0} {1}".format(type(Btext),[Btext]))

if __name__=="__main__":
    print("__main__")
    LTsv_libc_printf("{0}".format(sys.version_info))
    LTsv_libc_printf("{0}".format(sys.platform))
    LTsv_libc_printf_codec()
    print("")
    LTsv_helloworld="helloワールド\u5496\u55B1"
    LTsv_libc_printf(LTsv_helloworld[0:5])
    LTsv_libc_printf_type(LTsv_helloworld[0:5])
    print("")
    LTsv_libc_printf(LTsv_helloworld[0:9])
    LTsv_libc_printf_type(LTsv_helloworld[0:9])
    print("")
    LTsv_libc_printf(LTsv_helloworld[5:11])
    LTsv_libc_printf_type(LTsv_helloworld[5:11])
    print("")
    print("__main__")

以下Linuxの出力結果。
はてな記法のしくみでカレー(咖喱)がエスケープされてます。

__main__
sys.version_info(major=2, minor=7, micro=3, releaselevel='final', serial=0)
linux2
UTF-8

hello
<type 'str'> ['hello']

helloワールド
<type 'str'> ['hello\xe3\x83\xaf\xe3\x83\xbc\xe3\x83\xab\xe3\x83\x89']

ワールド&#21654;&#21937;
<type 'str'> ['\xe3\x83\xaf\xe3\x83\xbc\xe3\x83\xab\xe3\x83\x89\xe5\x92\x96\xe5\x96\xb1']

__main__


Linuxターミナルのキャプチャは一見フォントの都合で豆腐文字になってますがGeany等にコピペするとカレー(咖喱)が復活します。

以下Wine(WindowsXP)の出力結果。Wineの方はcp932(シフトJIS)で表示でき無い文字はエスケープ処理。

__main__
sys.version_info(major=3, minor=4, micro=3, releaselevel='final', serial=0)
win32
cp932

hello
<class 'bytes'> [b'hello']

helloワールド
<class 'bytes'> [b'hello\x83\x8f\x81[\x83\x8b\x83h']

ワールド&#21654;&#21937;
<class 'bytes'> [b'\x83\x8f\x81[\x83\x8b\x83h&#21654;&#21937;']

__main__


念のためバランス的にWineの方もログGeanyコピペ版も用意。

Pythonで日本語がprintできない場合はctypesをimportしてlibcからprintfを召喚して渡す文字列はformat関数で作ればよかっただけだった。」

レクィド「なんでprintfとか簡単な事誰も気づかなかったし。」
ミユ「多分Python使いは英語を知っているという謎の前提があったからと。
「ASCIIでない文字を使う機能をテストするテストケース」とかじゃなく常時日本語でprintデバッグ得られないと困るPython使いが、偶 然 今 ま で い な か っ た。

Python の標準ライブラリの識別子には ASCII のみを使わなければなりませんし、適切な場合 (英語でない技術的な用語や略語が使われる場合が多くあります) はいつでも英単語を使うべきです。
加えて、文字列リテラルやコメントにも ASCII を使わなければなりません。これに対する唯一の例外は (a) ASCII でない文字を使う機能をテストするテストケース と (b) 作者の名前 だけです。
名前をラテンアルファベットで書かない作者については、アルファベット表記を使わなければなりません。
世界中の人が利用するオープンソースプロジェクトは、これと似たポリシーを採用することを推奨します。

pep8-ja 1.0 ドキュメント

そんな感じでコツコツと進めてるのでtsvtoolやkantrayのPython移植はもう少し時間がかかります。」