【YotaPhone2】超美麗! YotaMirror モードの一般アプリを綺麗に表示する方法【裏技】


電子ペーパーパネル専用でない一般のアプリも YotaMirror で使えるけれど、専用品より色合いやジャギーなんかの品質がよろしくない。否! 綺麗に表示させられる裏技が実はあるんだぜ!

本を読む気にならねえってばよ
カスタマイズしようぜ
設定ファイルの場所
設定ファイルの中身
実際どんなに違うの?
カスタマイズサンプル
本を読む気にならねえってばよ

記者は電池を食わない電子ペーパー画面をメインに使っている。スケジュールや時計、電卓、常に表示しっぱなしにしておけて最高だ。もう電子ペーパーなしのスマホなんて考えられない依存度だ。有機 EL パネルなんてベッドの中でしか使ってない。

でもさ、附属の電子ペーパーパネル専用アプリの YotaReader が日本人にとってはイマイチで、縦書きにもルビにも対応しないんだ。なので、本を読むには縦書きビューワや Perfect Vierwer なんかを使うわけ。電子ペーパー専用アプリ以外の一般アプリを電子ペーパーパネルで使うには YotaMirror モードを介して使うわけだが、中間色は白黒二値のディザリングによる疑似表現で、そうなると当然文字もジャギー出まくりだったりでキタネエわけよ。

他のアプリならそれ程気にならなくても、じっくり文章を読む気にはちょっとなれない。

なんとかなんねえのかよ…と漁っていると、YotaMirror モード時の一般アプリの表示方法をアプリごとに細かく設定できることを知ったわけだ。

カスタマイズしようぜ

残念ながら、設定画面から一発 OK とはいかず、指定のフォルダにアプリごとの設定ファイルを放り込んでやる必要があるんだ。また、設定を反映させるためには YotaPhone2 を再起動する必要がある。

ってことで、まず注意な。

調整する際には必然的に何度も何度も再起動していい感じの表示になるまでパラメーターを追い込んでいくことになるわけだが、

USB 扇風機か何かで冷やしながらやってくれ。

再起動するとフルパワーで YotaPhone2 が動くことになり、連続で何度も再起動するとかなり過熱する。で、下手すると熱で電子ペーパーが壊れる。電子ペーパーの表示を綺麗にしようとしてぶっ壊してしまっては元も子もないので、これは絶対の約束だぜ。かなり熱いなと思ったら、冷めるまで次の再起動は待ってくれ。

設定ファイルの場所

設定ファイルは /Android/epd_optimizer に置く。フォルダは存在しているはずだが、もしなければ作成してくれ。記者の epd_optimizer フォルダはこんな感じだ。

ファイル名がアプリを示している…って、まずこの名前を知らなければならないのだが、普通の手段でやると PC からコマンドを叩く必要があって、結構メンドクサイ。なので、XDA Developer の電子ペーパーカスタマイズスレにあった epdoptimizer というアプリをこっそり転載しておく。zip ファイルを解凍すると apk ファイルが出てくるので、そいつをインストールだ。

このアプリを起動して、一覧からアプリを選択して保存すると epd_optimizer フォルダに設定ファイルを作って置いてくれる便利な奴…と言いたいところだが、バグがあって、既存の設定ファイルをいじろうとすると尻切れトンボな不完全なファイルが出来上がってしまったりすることがあったりと、イマイチ信用できない。なので、このアプリで設定をいじろうとせず、アプリごとのひな型ファイルを作るだけのものとし、できたファイルをテキストエディタで自分で編集しよう。

設定ファイルの中身

各アプリごとの設定ファイルは必ず { で始まり、} で終わること。上の設定アプリが作ってくれるファイルは改行が入っておらず全て一行になっており見づらいので適当に改行を入れておこう。下の設定は記者の Perfect Viewer のものだ。

{
"name":"com.rookiestudio.perfectviewer",
"description":"3.5.1.1",
"brightness":-10,
"contrast": 40,
"dithering":"FLOYD_STEINBERG",
"regional_update":false,
"sharpening":0.2,
"stretch_black":0,
"stretch_white":255,
"update_timeout":-1,
"update_type":"GRAYSCALE_FINE"
}

なお、Android は Linux 系なので、Windows 上でファイルを編集する場合はメモ帳などの改行コードが CR+LF にしか対応しないものはダメだ。改行コードが LF のみの UNIX 系の改行流儀に対応しているものを使ってくれ。記者は EmEditor のフリー版を使っている。まあ、ちょこっと編集するだけなら、いちいち PC で作業せずとも Android 上のテキスト編集でいいだろう。

パラメーターはいろいろある。このうち、update_type と dithering がキモだ。

パラメーター備考
nameアプリ名さわるな危険…かも
descriptionアプリの説明どうでもいい
update_type多数 (後述)中間色表現モード
dithering多数 (後述)疑似中間色表現アルゴリズム
sharpening記者推奨: 0.2シャープネス。0.0 にすると薄い線が消滅してしまい、0.4 以上では輪郭がおかしくなり始める。
contrast コントラスト調整
brightness 明るさ調整
stretch_black0 ~ 255

これ以下の明度は一律に 0 (真っ黒) とみなして描画する。暗い色でディザリングが鬱陶しい場合に指定。

stretch_white0 ~ 255

これ以上の明度は一律に 255 (真っ白) とみなして描画する。明るい色でディザリングが鬱陶しい場合に指定。

regional_updatetrue / false描画を画面の部分更新とするか、或いは全画面一括更新とするか。アプリによって使い分ける。
update_timeout 画面更新のタイムアウト…らしいが、よくわからん。デフォルトは -1 で無効。
color_inversiontrue / false白黒反転…だが動作がイマイチで期待を裏切ってくれる。不推奨。
activities_only 使わない
activities 使わない

update_type は主に、白か黒の二値表現か、濃淡のあるグレースケールかということ。文章を読んだり写真を見るようなアプリでは GRAYSCALE か GRAYSCALE_FINE にするととっても綺麗。その代わり、何回も画面をリフレッシュするので、動作が非常にトロくなる。

GRAYSCALE_READER は文書リーダー向けで、リフレッシュが少ないがその代わり残像が残る。リーダー用には三種類の選択肢があるが、記者にはその差はわからない。ハードウェアキーでページ送りができ、且つページめくりアニメーションを無効に設定できるアプリなら、GRAYSCALE_READER 系より GRAYSCALE 系がおすすめ。

update_type の値階調表現
MONOCHROME白黒二値
MONOCHROME_FINE白黒二値
GRAYSCALE濃淡あり。写真向け。
GRAYSCALE_FINE濃淡あり。写真向け。
GRAYSCALE_READER濃淡あり。文書リーダー向け。
GRAYSCALE_READER_R濃淡あり。文書リーダー向け。
GRAYSCALE_READER_D濃淡あり。文書リーダー向け。

dithering は、中間色の疑似表現方式だ。少ない階調を補うため、白点と黒点を並べて疑似表現する(誤差拡散法)のだが、この拡散方式を選ぶことができ、それぞれで見た目が変わってくる。何やらたくさん選べるのだが、違いは微妙。update_type を MONOCHROME 系にした場合は “BINARY” がつくものを、GRAYSCALE 系にした場合は何もつかないものを指定する。

dithering の値
ATKINSON
ATKINSON_BINARY
FLOYD_STENBERG
FLOYD_STEINBERG_BINARY
BURKES
BURKES_BINARY
STUCKI
STUCKI_BINARY
SIERRA_LITE
SIERRA_LITE_BINARY

主要パラメーターについては、こんなとこですかね。いろいろ弄ってみてくれ。

実際どんなに違うの?

普通に YotaMirror モードを使うのと一体どんだけ違うんだよってところが一番気になるところだと思う。以下は比較だ…が、カメラがアレなので差がよくわからんかもしれない。許せ。目視では明らかに違うので、調整に労力をかけた期待は裏切らないはずだ。

縦書きビューワ

カスタマイズ前。写真ではわかりにくいが、変なジャギーが出てしまっている。update_type を GRAYSCALE_FINE に変更してみる。

カスタマイズ後。ジャギーがなくなって美しい文字だ…が、標準だと線が細く文字が薄いので、設定を「太字」に変更するとよい。

・・・とか言ってもほんとにこんな写真じゃ違いがわからんな。一部分を切り取ってみるとこんな感じ。

為替レート

カスタマイズ前。背景のディザリングが汚いので、暗い色をstrech_black パラメータで黒一色とみなすことで、ディザリング処理をキャンセルしてみる。

カスタマイズ後。汚らしいディザリングが一掃されてすっきり。

Perfect Viewer

カスタマイズ前。中間色がディザリングによる表現でいやーん。update_type を GRAYSCALE_FINE にしてちゃんと表現させてみる。

超綺麗になった…が、リフレッシュ頻度が高すぎてメニュー操作は厳しい。記者はファイルマネージャーから文書ファイルを Perfect Viewer で開かせるようにしている。ページめくりアニメーションは無効にしておかないと、トロすぎて死ねる。

やっぱりよくわからんので、一部を切り取ってみるとこんな感じ…なんだかカクカクしているのは、元々の PDF の画像の解像度が低いからだ。

ブラウザやマップは…

勿論カスタマイズはでき、頑張ればイイ線まで行けると思うのだが、元から電子ペーパー専用に作られた YoBrowser や YotaMap なんかのアプリが綺麗なので、記者はもっぱらそっちを使っている。難点は有料なのと、YotaMirror モード上での動作ではないので日本語入力ができないことだな。まあ、グーグル先生たちは賢いから、ローマ字で入力しても適当に検討つけてサジェストしてくれるけどね。

YoBrowser

YotaMap

カスタマイズサンプル

パラメータを追い込んでいくの結構かったるいんだよな。再起動しないと結果がわからないし。ということで、記者が使っているコンフィグをまとめたものを置いておくわ。zip の中から試してみたいアプリのコンフィグだけ、/Android/epd_optimizer フォルダに放り込んでくれや。どのコンフィグがどのアプリに対応しているのかは…ファイル名から判断してくれw

じゃ、快適なよたぽんライフを!!


「【YotaPhone2】超美麗! YotaMirror モードの一般アプリを綺麗に表示する方法【裏技】」への4件のフィードバック

  1. こんにちは、sugaretと申します。
    この記事を読んで凄く感動しました。
    私もYotaPhone2の愛用者ですが、同じくe-inkの画面が色薄いの悩みがあります。
    置いているzip,ありがとうございます。
    Moon + ReaderとSmartNewsというアプリがいつも使ています。
    自分がパソコンバカなので、カスタマイズをお願いできますでしょうか
    お願いいたします。(>、<)

    1. Moon + Reader と SmartNews 用カスタマイズファイルを俺様サンプルコンフィグセットに追加しました。
      Moon+Reader 用(com.flyersoft.moonreader.cfg)は、単純に PerfectViewer 用のパラメータまんまです。
      綺麗に表示されますが、ページアニメーションを ON にしてしまうと画面書き換えがトロすぎて死ねます。

      問題は SmartNews 用(jp.gocro.smartnews.android.cfg)ですが…。
      このアプリはページアニメーションやスクロールを設定で OFF にできず、
      ハードウェアボタンでのページ送り操作もできないようなので、
      超綺麗設定にすると少し画面が動くたびに画面リフレッシュが発生し、まったく使い物にならなくなります。
      なので、それほど綺麗にできませんが、コントラストとシャープネスを強めにして薄い文字を見やすくしてみました。

  2. Hi
    My epdoptimizer is not working…
    Can you tell me how to make it works?
    Caz I can’t see any difference after rebooting my yotaphone

    Thank you

    1. Hello,

      Maybe config file is invalid.

      epdoptimizer often generates incomplete config file.
      So, you’d better to use it just to know application’s real name.
      (eg. K-9 Mail > “com.fsck.k9”)

      Launch epdoptimizer and select your favorite application, and just “save” and close.
      Don’t try to change any parameter on epdoptimizer.
      And then, edit config file in “/Android/epd_optimizer/” by your own hand.

      Never forget,
      config must be started with “{“, also must be ended with “}”.

      See my sample configration pack.

コメントを残す

メールアドレスが公開されることはありません。

日本語が含まれないコメントは無視されますのでご注意ください。 (スパム対策)