code up

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

VLC Playerで字幕が表示されなくなった

VLCプレイヤーをバージョンアップしたところOSD(On Screen Display; 音量変えたときに右上に%が表示されたりする機能)、字幕が表示できなくなった。

調べてみると1.1.10からfont-cacheを作成する機能を削除したとのこと。

これが原因かは不明だが、1.1.10, 1.1.11, 1.1.12, 1.2.0-pre3, vlc-1.3.0-gitいずれでも日本語の字幕が表示されず(文字化けの□すら表示せず)、OSDが非表示になってしまった。フォーラムによるとNo more chinese subtitle in 1.1.10とあり、おそらくは1.1.10からこの問題が発生したようである。

1.1.8, 1.1.9で確認したところフォント"メイリオ"でOSD、字幕共に正しく表示できている。もちろんフォントキャッシュ(フォントキャッシュは[ユーザーフォルダ]\AppData\Roaming\vlc\[32文字の16進数字]-i686.cache-3)の再構築付きである。

1.1.10以降で日本語を表示させるとりあえずの解決策はフォントを"Meiryo UI"等、日本語名でない(恐らく正確にはASCII文字だけの)フォント名に変更すると表示できる。

日本語のフォント名にするとログには(ツール→メッセージでメッセージ出力レベルを2にする)

freetype error: failed to load font file (null)

と出ているので、恐らく日本語のフォント名がうまく取れないのだろう。nullの部分は本来はフォント名が入るはずの変数にうまく代入できなかったことがうかがえる。

正常に読み込めた場合↓

freetype debug: Using Meiryo UI as font from file C:\Windows\Fonts\MEIRYO.TTC

下図は、右上の"音量"という文字、あと.srtファイルを適当に作って読み込ませてみた状態。バージョンはとりあえずその時動かしていた1.3.0-git版だが、1.1.11(現在の最新)でも表示できるようになっている。

2012年2月18日にリリースされたVLC 2.0.0でも現象は改善していなかった。相変わらずMeiryo UIを利用中。

2012年3月19日にリリースされたVLC 2.0.1でも現象は改善していなかった。相変わらずMeiryo UIを利用中。このバージョンで気づいたのだが、日本語フォントを含む.assの字幕ファイルを読み込むとフォントキャッシュの再構築が行われた。ただ、フォントキャッシュ再構築後も問題は解消していなかったので、やっぱりMeiryo UI。

関連記事
タグ:Windows VLC
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。