視聴環境によるCA互換情報まとめ [2020.04.27更新]

NO IMAGE

※環境ごとの互換性の優劣とSwitchのフォントコマンドの適用について修正しました 2020.04.27

CAの視聴環境による互換の情報をまとめます。
ちょくちょく更新していく予定ですが、抜けなども多いと思うのでコメントで指摘していただけるとありがたいです。

 

ここで紹介している内容はマニアックなものが多いので、全てについて把握する必要はありません。
基本的な互換の方針については以下の記事が分かりやすくまとまっています。

互換性ツヨツヨなCAの制作

 

また、本記事の内容は多くの方々の素晴らしいはたらきによって成り立っています。
日々の地道な検証作業について改めて感謝します。
互換性の検証は、日常のふとした気づきがきっかけの場合が多々あるので、今後も積極的に情報交換を行っていくことが望ましいです。

 


 

現在の大まかな状況

今の環境は一時期に比べると格段によくなっています。
コメントの互換性が全く考慮されずに乱発されていたPC以外のデバイス向けアプリが落ち着き、逆に縮小の流れになりました。

テレビアプリの終了 2019.09.25 (Bravia以外はすでに終了済み)
https://blog.nicovideo.jp/niconews/110746.html
PS Vitaアプリの終了 2019.12.27
http://blog.nicovideo.jp/niconews/114427.html
Amazon fireアプリの終了 2019.09.25
https://blog.nicovideo.jp/niconews/111809.html
Apple TVアプリの終了 2020.03.18
https://blog.nicovideo.jp/niconews/123749.html

参考
orz のブロマガ
コメントアートの互換について(項目だけ)
https://ch.nicovideo.jp/casa/blomaga/ar773983

 

加えて、今年の1月にwindows7のサービスが終了したことも環境互換においては大きな追い風となっています。

現在の主要環境はPC(windows,mac)、スマホとタブレット(android OS,ios)、スマホ向け公式アプリ、任天堂ゲームデバイスの大きく4つです。

 

その他の視聴環境
ガラケー ニコモバ環境(情報が少なすぎてわからない)
PS4 公式アプリなし(基本的にはHTML5プレーヤー?)
Google Chrome OS(Chromium OS)、Linux 情報が少なすぎてよく分からない

 

HTML5プレーヤーへの切り替わりに際して、それまではFlashの仕様に依存していたコメント表示の大部分が、ニコニコのプレーヤー側できちんと定義がなされるようになりました。
これによって各環境でコメントの仕様がある程度統一され、互換性は飛躍的に向上しました。
しかしフォント等の問題があるため完全な互換には至っていません。

 

現在の互換性の悪さを比べると大体以下のような感じです。(windows PC基準)

iOSブラウザの順番を修正しました
android版公式アプリ>>androidブラウザ>ios版公式アプリ>任天堂ゲームデバイス>iosブラウザ>=mac>windows PCブラウザ
 
android版公式アプリ>>androidブラウザ>iosブラウザ>=ios版公式アプリ>任天堂ゲームデバイス>=mac>windows PCブラウザ

主要環境の中ではandroid版公式アプリが頭一つ抜けて劣ります。
スマホ環境で公式アプリよりもブラウザの方が互換性が高いのはいつものニコニコクオリティ。

 

以下では互換に関する個別の事項について紹介します。


Android版公式アプリではデフォルトサイズの横方向の互換性がない

Android版の公式アプリでは幅リサイズをしていないデフォルトのサイズでも横方向の互換が取れていません。
おそらく主要環境の中で唯一互換が取れていない視聴環境となります。

windows PC

Androidブラウザ

Android版公式アプリ(横表示)

Android版公式アプリ(縦表示)

図 デフォルトサイズの表示(紫:big、黄:medium、赤:big改行リサイズ、緑:small、青:medium改行リサイズ、白:small改行リサイズ)

縦表示、横表示でもズレの様相が大きく変わります。

他の仕様は作り手の努力次第である程度なんとかできますが、この仕様だけは対処することができません。
しかも環境的に仕方ないわけではなくておそらくアプリの実装上の不具合なのでなんとかしてほしいですね。。。

 


 

Android版公式アプリのリード行判定

Androidアプリの謎の仕様その2
公式アプリではコメントの幅を決定する行が最も幅が広い行ではなく、最も文字数が多い行になります。

参考
ヒロスのブロマガ
Android版ニコニコ公式アプリのコメント幅の決定基準がおかしい件について【コメントアート】
https://ch.nicovideo.jp/883797/blomaga/ar1442121

基本的な対処方法はリード行の空白文字をU+2003(全角幅)→U+2004×3(1/3幅×3)に置換することです。
タブスペースは2文字としてカウントされるようなのでタブスペースの置換は対策になりません。

足元をすくわれやすく、しかも引っかかると盛大にズレるため、Android端末があるならその都度確認することが好ましいです。
報告は結構前にしていますが、修正される気配は全くないです。。。

 


 

「defont」「gothic」「mincho」の環境安定性

最も環境安定性が高いのはgothicです
特にこだわりがなければgothicを使うのが最も安全です。

参考

defontはひらがな・カタカナがwindowsPCとその他の環境で全て幅が変わるのと、厳密には漢字ですら幅が若干異なるので扱いには注意を要します。

 


 

使用する空白文字について

最安定の空白文字はU+2003「 」です。mincho、gothicコマンドの条件であればU+3000「 」も使えます。
U+2001はAndroid版の公式アプリで若干幅が広くなることが判明したため、現在は非推奨空白となります。
加えて、tabスペースもU+2001×2で定義されている関係上、Android版公式アプリでズレます。

参考

 

その他互換性が高い空白はU+2004(1/3幅)『 』
次点にU+2005(1/4幅)『 』、U+2002(1/2幅)『 』となります。
これらの全角幅の〇分の1空白は後述する、小数点以下のピクセル数の扱いが各環境で異なる関係で完全な互換性を確保することができません。
ただ、極端に多用しなければ環境によって大きくズレることはないでしょう。

参考
コメントアートwiki2
空白文字
https://w.atwiki.jp/commentart2/pages/17.html

 


 

フォントコマンドの適用可否

フォントコマンドは一部の環境については適用されません。
Switchは現在はフォントコマンドがきちんと適用されるようです。
ゲームデバイスはそもそも実装されているフォントが一種類しかないようなので、全て同じフォントで表示されます。

参考
Switchでminchoコマンドが表示されない例

 

Androidのブラウザ表示は日本語は2種類のフォントを同時に表示することができないというのが仕様らしく、基本的に一つのフォントしか表示されません。
ただ、英字に関してはフォントコマンドが適用されます。

参考

 

ヒロスのブロマガ
Androidにおけるスマホブラウザのコメント描写について【コメントアート】
https://ch.nicovideo.jp/883797/blomaga/ar1639299

 


 

ゲームデバイスの対応記号

ゲームデバイスは本体に収録されているユニコードがそもそも少ないので、特殊な記号については表示されません。
ただCAで頻繁に用いられるブロック記号などは、ニコニコの開発側でドットを打ち込んで特別に用意されているため表示されます。

参考
3DSで表示される記号の例

  ニコニコ側で対策が取られる前の対応記号の例

これだけ綺麗に表示させるために並々ならぬ努力があったと思います。感謝

ゲームデバイスでは表示さない記号は全角空白に置換されます。
他の環境のように豆腐化したり幅が変わるわけではないので、対応しない文字が含まれていても表示が極端に崩れることはありません。

なお、対応記号については今後追加されることはないと思われます。悲しいなぁ・・・

 


 

Androidのブラウザ表示

あまりよく分かっていません。
というのもAndroid OSのバージョンと、端末に入ってるフォントの組み合わせが多様なため全容を把握できていません。

古いAndroid(Android5以前)はHTML(not HTML5)によって表示されるため崩壊するらしいです。

参考
yammabooの記録@web
[コメントアート] 古いandroidのweb版表示が酷かった話
https://yammaboo.sakura.ne.jp/weblog/180917.html
  ヒロスのブロマガ
Androidにおけるスマホブラウザのコメント描写について【コメントアート】
https://ch.nicovideo.jp/883797/blomaga/ar1639299

 


 

Androidで引用されるフォントが異なる?

上項と関連して、例えば一部のAndoridのブラウザ環境だとU+2588が縮みます。
(minchoのフォントとしてMSP明朝が引用されている?ほかの環境では游明朝?)

参考

デフォルトで参照されるフォントが端末によって異なる可能性があります。
特にこだわりがなければgothicがやはり安定するみたいです。

 


 

ブラウザによる表示の違い

windowsPCでもブラウザによって若干表示が異なります。
これは小さいフォントサイズのコメントにいて小数点以下のピクセルの扱いが異なるためで、詳しくは以下の記事にまとまっています。

参考
yammabooの記録@web
[コメントアート] 小数点以下の文字幅のブラウザによる扱いの違いの検証
https://yammaboo.sakura.ne.jp/weblog/181008.html

例えば1/4空白やdefontのひらカナというように微妙な幅の文字はブラウザ間で幅が変わります。
変化する幅が小さいので多くの場面で問題となることはありませんが、臨界幅リサイズを利用する場合には注意が必要です。
これは新プレの臨界幅リサイズは横幅の変化に非常に敏感であるため、少しの幅の変化でリサイズ率が変わる可能性があるためです。


 

画面サイズによる互換性

新プレーヤーは基本的にプレーヤーサイズによる互換性は担保されていますが、臨界幅リサイズをつかう場合はズレる可能性があります。

図 中画面、大画面でズレる例(上:中画面、下:大画面、どちらも拡大率100%)

 

理由の1つは中画面と大画面とで、fullの臨界幅が1px違うことによります。

参考
yammabooの記録@web
[コメントアート]中画面と大画面の互換
https://yammaboo.sakura.ne.jp/weblog/181109.html

もう一つの理由は上で紹介したように、フォントサイズによって小数点以下のピクセルの処理が変わるためです。

臨界幅リサイズを使う場合は念のため両方の画面サイズで確認した方がいいでしょう。

 


 

臨界幅リサイズについて

互換性は高くありません。
最も危険なのはフォントサイズが小さくかつ多量改行する場合です。
逆に単行のコメントや、フォントサイズが大きい場合はそこまでズレが大きくないため、ある程度使えます。

参考
ender固定コメントのAndroidブラウザの互換性

  ender固定コメントのAndroid版公式アプリの互換性
(空白にtabスペースを使ってるため参考記録)

改行数が多くなれば多くなるほど高さ方向の誤差が蓄積されるため、画面下半分に配置する場合はshita、上半分に配置する場合はueというようにコマンドを使い分けるとズレが減ります。

高さ方向だけではなく、横方向にもズレる(特にプレーヤーの左右端付近)ので注意が必要です。
なおfullと非fullでは非fullの方が安定性が高いため、非fullで事足りるなら非fullにするのがベターです。

 


 

ニ重リサイズについて

特に注意が必要なのは意図せずに二重リサイズが発生する場合です。
非enderのコメントで、プレーヤーの左右端に配置する場合は常に気を付ける必要があります。
環境によって文字幅が異なることで臨界幅をオーバーする可能性もありますが、環境によってそもそも臨界幅リサイズが発生する幅が異なるのでギリギリいっぱいを攻めるのは自重したほうがいいでしょう。

参考
コメントアートのためのブログ
りあむが互換性ツヨツヨな件【中曽根OFF合作】
https://chu-commentart.ssl-lolipop.jp/2020/04/19/post-5406/

 

fullに比べると非fullの方が臨海幅リサイズが安定している関係上、ender fullに比べると実は互換性が高い可能性があります。
iPhoneアプリとゲームデバイスはhtml5プレーヤー以前の早い段階から二重リサイズを仕様としてきちんと組み込んできたという歴史もあり、もしかしすると二重リサイズの方が環境安定性が高いかもしれません。(要検証)

参考

 


 

コマンドの書式について

PCのコマンドは「Shita」や「Yellow」など大文字が入っていてもきちんと適用されますが、一部環境ではコマンドの大文字に対応していません。
そのため、基本的にコマンドは全て小文字にすることが推奨されます。
また、コマンドの区切りの認識が環境によって若干異なるので、可能であればコマンドの後ろには必ず半角スペースを入れるのがベターです。
例えば、「ue big□」(□はU+2001)の場合、PCだと「ue big」で認識されますが、一部環境では「ue」で認識されます。

 


 

@秒、_liveコマンドについて

スマホアプリは現在対応していません。
コマンドの有無でそれほど見え方に影響がない程度であれば使用することもできます。

 


 

他個別の文字の互換情報

4分の一ブロックの話

隣接文字によって幅が変わる話

空白文字の幅がAndroidの縦表示と横表示とで幅が変わる話

Tab(U+0009)+U+200C(ゼロ幅)の組み合わせがiOS版ニコニコアプリでズレる話

【コメントアート】初音ミクと互換作業と。

絵文字の表示の話

【コメントアート】慎重勇者とドット絵とかデスクトップCAとか。

 


 

投稿者コメントの仕様

公式アプリの投稿者コメント機能周りは開発の優先度がおそらくめちゃくちゃ低いので、互換性は高くありません。
現在、ニコスクリプトは全て対応していません。
公式アプリではPC表示にあるような投稿者コメントスレッドと視聴者コメントスレッドがそもそも存在していないため、投稿者コメントの概念自体がないのかもしれません。
(公式アプリでは投稿者コメントも視聴者コメントもコメント欄に全て一緒に表示されます。)

そのため、環境互換を考えるのであれば投稿者コメント独特の仕様(例えば、3行ごとに空白を入れなくてもいいなど)を利用するのは避けた方がいいでしょう。

検証記事カテゴリの最新記事