フォント変化と明朝化DR10行固定
閉じる
閉じる

新しい記事を投稿しました。シェアして読者に伝えましょう

×

フォント変化と明朝化DR10行固定

2013-05-17 00:31
  • 1
  • 9

フォント変化
ニコニコのコメントの描画で使用されるフォントには既定がありません。指定はおそらく Arial であり、それを Flash プレイヤーがそれぞれの環境で解釈してフォント描画を行なっている状態で、言ってしまえば『Flashプレイヤーの挙動が仕様』となっています。

実際には Window では MS P ゴシック、Macではヒラギノで描画されます。

明示的に MS P ゴシックで描画せよ、ヒラギノで描画せよ、と指示しているわけではありません。与えられた文字列から Flash プレイヤーは頑張って文脈を解釈し、
『 Arial と言われたが、Arial では描画できない、この文字列はおそらく日本語であろうから、日本語が描画できるフォントを選ぼう』
と判断して、MS P ゴシックなり、ヒラギノなりが選択されます。

ここに、普通日本語では使用されない文字や特殊な記号を与えると、このフォントの判断基準を騙すことができます。特殊な文字を与えることで Flash プレイヤーに文字列が日本語ではないと判断させるることで、MS P ゴシックではないフォントでコメントを描画させることができます。

この挙動は Flash プレイヤーの都合ですが、その都合に従うのがニコニコ動画の仕様です。
そのルールは非常に複雑で、一言で説明することはできません。

このフォント変化なのですが、ほとんどのひとは『あの明朝体でコメントが流れてくるやつね』ぐらいにしか思わないでしょう。
非 Flash 環境でのプレイヤーの実装の観点からも、MS P ゴシックすらないのに別のフォントに対応して何の意味があるのか、と思うのは無理もないと思います。

ですが、このフォント変化は単純に『文字が明朝体になる』ということよりも大きな意味があり、コメントアートでは非常に広く利用されています。場合によってはフォントが1種類しか使用できない環境下でも、複雑なルールを超えてでも、対応を検討する価値のあるものです。

ふつう『フォントが変わる』といったら、フォント自体による表現を考え、それ以外の影響など意識することもないでしょう。

もちろん、明朝体であること、丸文字であること自体による表現も強力です。
ですが、それ以上に、多くのコメントアートではフォント変化を文字の幅を変更するために利用します。

文字の幅

一言で言ってしまうと、MS P ゴシックは文字の幅が変なのです。全体的に妙にせまく、広い文字と狭い文字のブレが非常に大きい。

これに対して明朝化後に使用される SimSun は多くの文字が等幅になっています。

等幅であれば別の環境でも構築できるため、いわゆる絵画系コメントアートを別のエディタで作成する場合、明朝化は前提となることがあります。

互換性

Flash のプレイヤーは mac 環境では文字が Windows 環境よりも少し小さく描画されます。そのため、Widows と Mac で互換性のある位置合わせは非常に難しいのですが、フォント変化と2重リサイズを組み合わせると比較的簡単に Windows と Mac で互換性のある位置合わせを行うことができます。

これは、2重リサイズが元々のフォントサイズとは違う固定値を基準にフォントサイズを決定することと、ヒラギノの日本語が等幅なことによります。

Windows と Mac の互換性の向上にはフォント変化は大きな武器となるのですが、ブラウザ間の互換性という意味では、現状はフォント変化は足枷になっています。

これは Google Chrome に内蔵されている Flash プレイヤーではフォント変化がおこらない(アルゴリズムが違う?)ことによります。

明朝化DR10行固定

2重リサイズによる固定では、文字の幅によってフォントのサイズを調整しそれによって高さを合わせて固定を行います。この文字の幅によるフォントサイズの調整は非常にデリケートであり、ちょっとした違いが大きなズレを呼び起こしてしまいます。
ですが、ここで明朝化によるフォントの等幅化を利用すると非常に単純に考えることができるようになります。

これは偶然でしかないのですが、明朝化した big の2重リサイズコメントは 29 文字で 10 行固定ができるフォントサイズになります。

そして、すべての行を明朝化し、全体を等幅であることを前提にしてしまえば方眼紙に文字を書くようにコメントアートをデザインすることができるようになります。

実装上の注意

Flashプレイヤーの複雑な挙動が仕様となってしまっているため Flash 以外のデバイスでフォント変化に対応することは非常にコストが大きく、どのように対応するか(あるいはしないか)という点ではしっかりと仕様を理解した上で、明確な意志を持って行う必要があるでしょう。

フォント変化と2重リサイズの組み合わせは非常に強力であり多くのコメントアートがこの技術を利用しています。厳密に対応しなくとも、よくある明らかにフォント変化を狙ったコメントに対してのみ簡易的に対応するといった選択肢も十分に考えられます。

さらに 29 文字で 10 行固定、という指標は非常にわかりやすいため、対応しておけばこれを基準にほかの要素を調整することもできます。

あまり具体的な値は書きたくないのですが、文字送りを行送りの約 0.92 倍にすると明朝化DR10行固定を保証することができます。


広告
×
Macでの見え方、DR10行が固定されやすい理由、互換に関して重要なことが非常にわかりやすく書かれていて、すごく助かりました( ◠_◠) ありがとうございました!
34ヶ月前
コメントを書く
コメントをするには、
ログインして下さい。