VLC media playerのスキンを編集して文字化けを直す

VLCメディアプレイヤーのイメージ。

VLC は Mac, Windows, Linuxといった各環境でそれなりのシェアがあるメディアプレイヤーです。 ただ見た目にこだわる人は VLC の標準的なルックスに不満を覚えるでしょう。

そこでスキンを入れて編集するわけですが、ここで問題が生じます。 日本語のファイル名を再生する場合などに、プレイリストやタイトルバーの文字が文字化けたりします。

字幕のほうはシステムから調整することができますが、(タイトルバーや)プレイリストのフォントに関する設定はシステムから調整することができないため、 自分でスキンを編集する必要があります。

ここでは文字化けを直すための編集のメモ書きを残します(Windowsベースです)。

利用するフォントの用意

スキンに適用する日本語フォントを用意しておきます。Webで検索をかけるといくつか似たような記事が発見できますが、 VLC 2.0.5 以降のバージョンでは「TrutypeFont」でも「OpentypeFont」でも構わないようです。

Windowsに標準で与えられるフォントを利用するのもよいでしょう。 ここでは Windows7 以降に標準でインストールされている「MeiroUI」を利用します。

MeiryoUIは「ローカルディスク(C:) > Windows > Fonts」の中にあります。対象のファイルをコピーして適当なところに保存しておきます。

MerioUI は複数のフォントから構成されているため、コピーして貼り付けるといくつかのフォントファイルが貼り付けられることになります。 必要なのはそのうちの1つだけなので、適当な1つを選択します。ここではmeiryo.ttcとします。

編集するスキン(theme)の用意

利用したいスキンファイルを用意します。「***.vlc」ファイルです。 このファイルの実態は「tar」であったり「zip」であるため、拡張子を変更して展開できるようにします。拡張子を変更したら、そのまま展開してしまいましょう。

展開したスキンファイルのフォルダの中に、先に用意したフォントをコピーします。ここでは meiryo.ttc です。

次いで展開されたファイルの中から「theme.xml」を探します。 展開されたスキンファイルは恐らく画像ファイルやフォントファイルが多数同梱されていることでしょう。 それらは全てスキンを構成するファイルで、その構成情報が theme.xml に記述されています。

theme.xmlをテキストエディタなどで開きます。Windows 標準のメモ帳では XML ファイルが見難いので、適切なテキストエディタを用意することを推奨します。 尤もこの記事を確認して編集する人は標準のメモ帳は使っていないでしょうが。

エディタに表示された XML データの適切な箇所を変更するなどして問題を解決します。 VLC のスキンを構成する XML データは比較的見やすいので、展開した時点で理解して修正できる人も少なくないかもしれません。 必要なら不満な点をすべて修正して下さい。

ここではプレイリストの文字化け問題だけを焦点に置きます。

記述と修正

theme 内で利用するフォントを XML 内に定義します。恐らく XML の上部のほうに標準で利用するフォントが定義されているので、それを参考に記述します。 ここでは「meiryo.ttc」を定義します。

id は仮に「jpnfont」としました。この id は重複しない限り複数定義することができるようです。ついで file 属性に利用するフォントの相対パスを記述します。 相対パスは theme.xml からの相対パスになります。ここでは「meiryo.ttc」です。

size 属性は文字通りフォントのサイズに関する定義ですから、適切なサイズを選択してください。ここでは標準で定義されていたものと同じ、14 を指定しておきました。

//元々の記述
<Font id="mainfont" file="***.ttf" size="14"/>
//追記
<Font id="jpnfont" file="meiryo.ttc" size="14"/>

mainfont に定義されているフォントファイルを用意した日本語フォント(ここでは MeiryoUI )と差し替えることで、 プレイリストに限らずタイトルバーなどすべての範囲で文字化けを解消することができる可能性があります(ほぼ間違いなく解決する)。

次いで検索機能を利用して「Playtree」なるタグ記述を発見します。該当するタグの font 属性を、先に定義したフォント、つまり jpnfont に書き換えれば修正は終了です。 ※元の mainfont を用意したフォントと差し替えた場合には mainfont になります。

<Playtree
    id="theplaytree"
    font="jpnfont"
    fgcolor="#FFFFFF"
    selcolor="#689FFF"
    playcolor="#FFFFFF"
    bgimage="pl.png.background" itemimage="item" openimage="collapse"
    closedimage="expand" width="490" height="245" rightbottom="rightbottom">
    <Slider id="Unnamed Slider #84" x="495" …/>
</Playtree>

「.vlc」へ再圧縮、おわりに

編集が終了したら再度「vlc形式」に戻します。手順は簡単で、編集したファイルが含まれるフォルダを再度 zip で圧縮した後、拡張子を「vlc」に変更するだけです。

ここで最初の手順で「tar形式」を解凍(展開)した場合についてですが、Windows で利用する分には zip 形式で十分なようです。 異なる環境下での試験は行っていませんが、zip 形式で圧縮した後、vlc に拡張子を変更したスキンファイルが動作しない場合には、tar 形式で圧縮するようにすれば良いでしょう。

修正が完了したスキンファイルを適切な箇所に置いて、VLC の設定からスキンファイルとして設定することで動作試験を行ってください。 修正前と同一のスキンファイル名を定義している場合には、VLC 本体を再起動しなければ変更が適用されない点に注意する必要があります。

Reference