ニコニコ動画(秋)になって、動画視聴ページでの動画タイトルと動画説明文が折りたたまれて表示されるようになりました(正確には直前の開閉状態を cookie に保存しているので、開いたら開きっぱなし)。タイトルや説明文が長い場合は、折りたたまれた時には省略されます。長い説明文に定評のある人は涙目でしょうし、説明文をロクに読まないでコメで文句を言う視聴者が増えそうです(表示されてても文句を言う奴はいるんだけど)。それはともかく、どういう条件で折りたたまれた時に省略されるかを実験的に調べています。
例によって SMILEVIDEO で投稿した動画に関してのみ調べていますが、前の動画タイトルと説明文の文字数制限の場合と違って、ここはおそらくニコ動側の制限(つまり、他の場所で投稿した動画でも同じ)だと思うので、問題ないでしょう。
で、省略されない最大の長さ
- タイトル
- 半角数字30文字
- 説明文
- 半角数字60文字
この制限を超えると、半角数字換算で「制限文字数-4文字」までで切られ、その後ろに「 ・・・」(半角スペース1つと半角中点3つ)がくっついた文字列で表示されます。半角数字換算で複数文字分になる文字が切る位置をまたがっている場合は、そのまたがっている文字は除いた文字列が採用されます。
さて、わざわざこんな表現をしていることから分かるように、全ての文字が半角数字1文字分になるわけではありません。日本語でよく使われる範囲(の一部)では以下のようになります。
- 半角数字
- 1文字分(当たり前)
- 全角数字
- 2文字分
- 全角かな/カナ
- 2文字分
- 全角漢字
- 2文字分
- 半角カナ
- 1文字分
- (プレミア会員のみ)各種XHTMLタグ
- 半角スペースに変換されて表示&換算、つまり1文字分
ここまでの結果を見ると、SJIS にして計算しているのかな?と思ってしまいますが、そうではないようです。たとえば、以下のようになります。
- ギリシャ文字
- 1文字分
- キリル文字
- 1文字分
どうなってんの?と思って調べる範囲を JIS 外まで広げると、さらに訳が分からなくなります。
- ラテン1補助 (U+0080-U+00FF)
- 1文字分
- ラテン拡張 (U+0100-U+017F)
- 1文字分
- ギリシャおよびコプト (U+0370-U+03FF)
- 1文字分
- キリル (U+0400-U+04FF)
- 1文字分
- デバナガリ (U+0900-U+097F)
- 1文字分
- 一般句読点 (U+2000-U+206F)
- 1文字分
- 装飾記号 (U+2700-U+27BF)
- 1文字分
- アラビア表示形A (U+FB50-U+FBFF)
- 1文字分
- 全角英数記号 (U+FF00-U+FF5F)
- 2文字分
- 半角カナ (U+FF60-U+FF9F)
- 1文字分
- 半角ハングル? (U+FFA0-U+FFDF)
- 1文字分
上記のうち、装飾記号と全角英数記号は、IE7 for XP で再生ページを表示したときの表示幅で言えば全角相当ですが、一方は1文字分、他方は2文字分となっています。
いったいどういう基準で分けられているんでしょう。教えてえらい人!
no comment untill now