[コメントアート] 古いandroidのweb版表示が酷かった話

/

コメントアートの描画が酷い画像が流れてきて、検証が始まった結果、
「古いandroidのweb版では専用のHTMLによる描画が存在して、最近の描画とは全然違うのでコメントアートが崩壊する」ということが判明した、ツイッターでのyammaboo主観な1日の記録です。

発端

普通の描画の画像

(たぶんPCweb版。綺麗に表示されてる。)

問題の描画の画像

これはひどい。

このコメントアートはシンプルな「積み」という方式で作られていて、そうそう崩れることはないです。
なのに崩れるというのはヤバいので、「どういう視聴環境で崩れるのか」と騒ぎになり始めました。

当人から聞き出したところandroidと判明したようですが、androidにも色々な描画環境が知られていました。

とりあえず以下の3つがあります。

  • 公式アプリ
  • 非公式アプリ
  • web版

公式アプリはニコニコ動画の公式で出てるアプリです。
軽微なバグはあるものの、描画はそこそこ優秀とウワサされていました。

非公式アプリはニコニコ動画の運営と関係なく作られたandroidアプリのことです。
コメントの描画は複数ある非公式アプリのそれぞれ次第なので、
最近は「スマホでコメントアートが崩壊したって話は大体非公式アプリの描画再現度低いやつ」疑惑があります。
が、今回は特に崩壊するものがあるということは判明しませんでした。(可能性を否定する材料もないですが。)

web版は、androidのブラウザでニコニコのwebサイトで見る場合です。
描画の中身はPCweb版と大体同じコードになってるので、ここまでの崩壊の場合は違うと思ってました。
が、今回web版も大きく異なる2つがあり、その片方である可能性が出ました。

検証画像たち

公式アプリはそこそこマシ

でも古いandroidは厳しい。

野良アプリは誰も調べてなさそう

疑惑というだけで終わりました。

最近のandroidのweb版で少々崩れていた

問題アリですが問題の画像ほど大きい崩壊はしてない、という感じです。

一部の文字の幅(おそらくU+2588)が狭くなってしまってるようです。
これについては「U+2588を使う時はminchoではなくgothicコマンドを指定すると良い」らしいです。

android5系のweb版が酷かった

本題。

予想外にひどい。
通常、スマホweb版の描画はプログラム的にPCweb版と大体同じはずなのでこうはならないはずです。

「古いandroid用のHTMLによる描画」の発見

古いandroidでは描画がそもそも違うという疑惑が出ました。
(もしFlash版に切り替わるのであれば、Flash版と現在標準化してるPCのHTML5版とは乖離していているので、崩れていてもおかしくないです。)

試しにFirefoxをandroid5のスマホに偽装して視聴し、開発者ツールで中身を見てみました。

すると、通常のandroidのweb版(canvasで描画)でも、Flashでもない、
未知の「span要素にスタイルを指定して描画」という方式であったということが判明しました。

(このSSは後で撮ったものです。通常はcanvas要素という画像表示に描画するのでこんなspan要素は存在しません。)

この場合はかなり描画が違うようなので、この環境でコメントアートを見るとか、この環境も想定に入れたコメントアートを作るのは厳しいと思われます。

結論

  • android5前後程度の「古いandroid用のHTMLによる描画」が発見された
    • HTML5版の描画とは大きく違うよう
    • コメントを投稿する側での互換は不能レベル?
  • 最近のandroidではminchoコマンド時にU+2588が縮む(?)
    • 「U+2588を使う時はminchoではなくgothicコマンドを指定すると良い」らしい

問題の画像の環境は結局よくわからなかったものの、色々なことが判明したし、第3者からリプするほどでもないかなという感じです。