2017-10-05 31 views
1

改變我試圖做的事似乎很簡單,但我無法讓它正常工作。我正在嘗試更改HTML5畫布中繪製的元素的字體類型。我所擁有的是這樣的:fillText HTML5畫布中的字體不會從默認的

function drawStaticElements(){ 
    /*Few other non text elements here*/ 

    gameScreenCtx.font = "18px Buxton Sketch"; 
    //gameScreenCtx.font = '18px Comic Sans MS'; 
    gameScreenCtx.fillStyle = "white"; 
    gameScreenCtx.fillText(gameScreenCtx.font, 5, 20); 

    gameScreenCtx.font = "18px Buxton Sketch"; 
    gameScreenCtx.fillStyle = "white"; 
    gameScreenCtx.fillText("Number of victories: "+numberOfVictories, 5, 40); 

我不知道這可能是一個瀏覽器版本的東西或別的東西,但在我的PC用於開發它,代碼工作正常,即使上傳到網絡服務器。如果我嘗試從另一臺PC訪問它,它總是默認使用相同的字體,但我嘗試了一些更常見的字體,甚至連Comic Sans都沒有。文本正確顯示字體名稱,但不會以該字體呈現。

由於發生了什麼事我上傳到Bitballoon網絡服務器和2級不同的計算機訪問它的樣本,從開發計算機結果是這樣的:

enter image description here

而且從不同的計算機結果是這樣的:

enter image description here

上午我做錯了什麼嗎?

回答

0

那麼,在正常情況下,計算機只能渲染安裝在系統上的字體,即使如此,我想像他們的確切名稱可能存在問題等等。至於「通用字體」,這些操作系統之間有所不同 - 例如,我的Linux計算機沒有Comic Sans MS。

當你訪問你的網站的每個用戶(甚至是大部分用戶)都會安裝你的特定字體似乎不太可能。

在所有用戶設備上實現一致外觀的常見解決方案是使用CSS3 Web Fonts,它可以在加載頁面之前告訴瀏覽器何處下載實際字體。