2015年4月15日 星期三

[Popcorn Time] 20150415 增加自定義中文字型功能

本來以為官方已開始支援字幕字型設定功能, 所以在上一版就把我之前加入的
字幕字型功能拿掉, 但後來有網友反應, 官方的功能只能指定英文字型, 不能指
定中文字型.



今天終於有空查看了一下原始碼, 發現官方是用指定的方式來支援特定的字型,
三個作業系統( win, linux, mac) 共支援底下這幾個字型, Popcorn Time 在執行時
會去字型目錄下查看是否有這些字型檔存在, 若有的話, 則顯示出來讓使用者點選.

{name:"Deja Vu Sans", id:"dejavusans"},
{name:"Droid Sans", id:"droidsans"},
{name:"Comic Sans MS", id:"comic"},
{name:"Georgia", id:"georgia"},
{name:"Geneva", id:"geneva"},
{name:"Helvetica", id:"helvetica"},
{name:"Lato", id:"lato"},
{name:"Montserrat", id:"montserrat"},
{name:"OpenDyslexic", id:"opendyslexic"},
{name:"Open Sans", id:"opensans"},
{name:"PT Sans",id:"pts"},
{name:"Tahoma", id:"tahoma"},
{name:"Trebuchet MS", id:"trebuc"},
{name:"Roboto",id:"roboto"},
{name:"Ubuntu", id:"ubuntu"},
{name:"Verdana", id:"verdana"},


那為什麼不用列表的方式, 將系統下所有的字型一次列出來讓使用者選擇呢?
其實這不是Popcorn Time的問題, 因為我之前在實作指定字幕字型功能時, 也發現
這個問題, 因為 node.js 到目前為止, 並不提供取得系統字型的方法, 所以我後來也只是
留一個欄位來讓使用者將自己要使用的字型名稱鍵入.

回歸正題, 所以我這次將一些ubuntu 及win7的系統內建的中文字型加上去, 在這裡要向
MAC 的使用者說聲抱歉, 因為我沒有 MAC的環境,不知道MAC有哪些內建中文字型可以
選擇, 因此就沒加進去了, 再麻煩你們使用後面要介紹的自定義字型功能了.


因為加入的內建中文字型有限, 也不一定是大家想用的字型, 因此我在後面又加入一個
自定義字型的功能, 當你選擇 "Customize" 時, 就可以在後面的 "Customize Font" 欄位
填入你要用的中文字型.



不過使用這功能要注意一下, 那個中文字型名稱需要使用系統
裡明確的字型名稱, 以 win 7 為例, 在控制台->外觀及個人化->字型 可以看到正確的字型
名稱, 點選你要使用的字型進去, 就可以看到它的字型名稱, 然後把它填入  "Customize Font" 欄位就可以了

這個版本只增加中文及自定義字型的功能


有需要的話, 請大家至 爆米花製造機 下載!