Sunday, November 26, 2006

(XBMC) 調整頁面的文字大小

有個朋友留言問說,他使用Blackbolt Classic或是Project Mayhem III,於Video OSD下的字型都變得很小,其他的則是正常,應該要到哪裡改呢?

這問題回起來要費點篇幅,所以我現在另寫這篇文章來回答。

簡單的概念是,每個skin的各個頁面格式,都是以xml檔的格式存在PAL或PAL16x9資料夾裡,在xml檔裡規定了各頁面的圖像、按鍵、文字標籤的呈現方式和相互的關係;關於文字標籤部分,在設定時,其文字內容是以<label>和</label>之間所設的編號,去找尋語言字串中該編號對應的文字,而其位置,長、寬,對齊方式,字型以及大小,則是在<posx>、<posy>、<width>、<align>、<font>等地方去指定。其中,<font></font>之間設定的,是字型的代號,這個代號,是在你使用的該skin中的NTSC(或720p,1080i)資料夾內font.xml中所定義的。


參照上圖,以這位朋友所問的為例。像我是480i,4x3螢幕,所以我Blackbolt Classic桌面Video OSD的設定,是在「skin/Blackbolt Classic/PAL/VideoOSDSettings.xml」,開啟這個檔,發現其字型設定是以font12和font10這兩組為主。font12被加入黃色特效,是圖中「聲音和字幕設定」所使用的字型和大小,其餘的字體,採用的應該就是font10了。另外還可看到slider,應該就是右上方的滑動條(時間軸)的文字大小設定。

而我的字體設定,是在「skin/Blackbolt Classic/NTSC/font.xml」裡,我擷圖時font12和font10的設定,分別是:

<font>
<name>font12</name>
<filename>msjhbd.ttf</filename>
<size>17</size>
</font>

<font>
<name>font10</name>
<filename>msjhbd.ttf</filename>
<size>15</size>
</font>

以白話文來說,我font12設的是微軟正黑17級;fon10設的是微軟正黑15級。所以說,我若是嫌Video OSD的字型太小,我可以在VideoOSDSettings.xml檔裡動手腳,像我把font12和font10全部改成font14(我font14是設成微軟正黑21級),於是我的OSD就會變成這樣:

另外,我還可以從font.xml裡去動手腳。例如我覺得font12的大小剛好,而font10卻小了一點,於是就單單把font10的級數改大一點就行了。但這種調法會有缺點,因為你會影響到你全部Blackbolt Classic裡,所有用到font10的頁面,有可能你在OSD覺得大小剛好,但跳到另一頁面時,又覺得有的字太大了。

最不怕麻煩的方法,是把你不滿意的大小,另設一組代號。例如上例中,我可以在VideoOSDSettings.xml把font10改成「osd」(名稱自訂),然後到font.xml裡單獨去定義osd這個代號的字型和大小(你甚至可以換另一種字型!)。當然,你個人化的項目越多,當更新了新版本後,還要全部重新來過,所以我會說,這是最不怕麻煩的辦法。

要更動其他頁面的文字大小,其原理都一樣。

6 comments:

Anonymous said...

謝謝Kaku兄用一整個篇幅為小弟解釋這些xml檔案的修改方法.試了之後果然如願的修改成功.萬分感謝...
小弟也是對xbmc的source code修改有粉大的興趣,也成功的build過xbmc.希望日後能常常跟大大分享一些心得.
再一次謝謝大大的解說...

kaku03 said...

我大約是在一年半前開始自己編譯xbmc,也發過文介紹編譯法,但是得到的回應極少。我個人不懂程式語言,衷心期望有懂程式撰寫的高手加入自行編譯的行列,如此才有可能會有合乎本地繁中使用者需求的版本出現。

Anonymous said...

Kaku兄太客氣了.曾拜讀過你的"XBMC也來Unicode補完"一文,大大是會改code的人.未來只要有時間,小弟會好好的為XBMC的中文化盡一份心力的.
小弟另外也在看同一個發起者Frodo的大作--MediaPortal,他的中文化更麻煩...看來想做一個適合中文的Media Center的確要許多人一齊同心來完成才行.

kaku03 said...

XBMC原本就是開放源碼之下的產物,它強大的功能,全是整合自公開、免費可取得的各類工具、程式。我發表過的東西,嚴格說起來,都只是個人大膽的惡搞,方法和原理也都來自於XBMC官網,google或wiki搜尋;我只希望能發揮拋磚引玉的功能,而創作研發的重責大任,還是只有期待真正的高手了。

kaku03 said...

一、DVD裡的字幕,若是用DVD Player播的話,位置和大小都不能改變。你用一般市售的DVD播放機應該也是不行。XBMC若是以Mplayer播出DVD的主影片檔,那字幕的位置就可以調整,若是用我改過的XBMC,那連字幕的大小都可以調整。

二、DVD片裡的字幕是圖形字幕,字體和顏色已經做死了(就是圖檔),故無法變更。XBMC可調整字幕的顏色、大小、形式,那是對使用ttf字型的文字字幕(如最常見的srt)才有用。

kaku03 said...

一、沒聲音的現象,好像曾聽別人說過,我運氣好,還沒碰過,所以我也不知道。Mplayer在非windows領域裡,是非常有名的播放器,或許多用google搜尋可找到答案。

二、改變預設player,我記得是不行。曾看過有人向開發小組建議,希望改成讓使用者可自設,但開發小組認為沒那個必要。現在的方式是還好,差別只在要播很多檔案時,比較麻煩。