Top > IT > Software > CustomizeVLCSkin
Last-modified: Sun, 13 Mar 2016 20:44:59 JST
Counter:19948 Today:3 Yesterday:2 Online:14
このエントリーをはてなブックマークに追加

(注意) 記事を引っ越しました

VLC media playerのスキンをカスタマイズして文字化けを直す

About

趣味もあってメディアプレイヤを複数乗り換えたり、同時に使ったりして遊んでいます。VLCはそのうちの一つで、MacでもWindows、Linuxといった各環境でそれなりのシェアがあります。ただ見た目にこだわる人はVLCの標準的なルックスに不満を覚えるでしょう。そこでSkinを入れてカスタマイズするわけですが、ここで問題が生じます。日本語のファイル名であったりする場合に、プレイリストやタイトルバーの文字が文字化けたりします。字幕のほうはシステムから調整することができますが、(タイトルバーや)プレイリストのフォントに関する設定はシステムから調整することができないため、残念なことに自分でSkinをカスタマイズする必要が出てくるわけです。ここではカスタマイズのメモ書きを残します(Windowsベースです)。

XMLファイルの構造を理解できることや、それらを適切に編集できる程度の知識が必要になります。

How to

利用するフォントの用意

スキンに適用する日本語フォントを用意しておきます。Webで検索をかけるといくつか似たような記事が発見できますが、最新版のVLC 2.0.5(2013年1月現在)では「TrutypeFont」でも「OpentypeFont」でも構わないようです。Windowsに標準で与えられるフォントを利用するのもよいでしょう。ここではWindows7以降に標準でインストールされている「MeiroUI」を利用します。MeiryoUIは「ローカルディスク(C:)>Windows>Fonts」の中にあります。対象のファイルをコピーして適当なところに保存しておきます。

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

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

利用したいスキンファイルを用意します。「***.vlc」がそれです。このファイルの実態は「tar」であったり「zip」であるため、拡張子を変更して展開できるようにします。そうしたらそのまま展開してしまいましょう。Windowsでは標準でtarファイルが展開できなかったと記憶しているので、環境によって解凍ソフトを用意する必要があるかもしれません。

展開したスキンファイルのフォルダの中に、先に用意したフォントをコピーします。ここでは「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>

例えばここでfgcolorを変更すると文字色を変更することができたりしますが、詳しい解説は省きます。

  • fgcolor(foreground):文字色
  • selcolor:選択中の文字(背景)色
  • playcolor:再生中の文字色

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

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

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

修正したスキンを配布・再配布する際には、フォントのライセンスにも注意する必要があります。

Reference