2012-04-19 37 views
2

我試圖調查創建我自己的自定義字體。我已經做了一些閱讀,由於我對字體一無所知,我有一個問題,我一直無法找到答案。字體是否可以在TTF中指定強制背景顏色?

您可以定義字體顏色爲靜態的字體嗎?例如,我想要創建一個字體,其中每個A具有藍色背景,B具有黃色背景等。我所做的閱讀似乎表明您需要將字體轉換爲黑色或白色。我的理解是否正確,並強制在字體中使用特定顏色,特別是不支持背景顏色?

+0

我以前從未見過任何遠程這樣;你是否試圖解決一個簡單的問題,即字符式格式化可以完成這項工作?或者你是否在嘗試自己創建字體供其他人使用? – sarnold 2012-04-19 00:27:22

+0

我想創建一個網頁,其中輸入框有我描述的那些「花哨」的字體,而不是常規的字體。我正在考慮構建一個自定義的javascript控件,將角色的圖像作爲用戶類型來模擬輸入框,但我不確定這是否適用於iPhone或iPad,因爲我不確定鍵盤會彈出(這是一個單獨的問題,我會問)。我就此問了一個單獨的問題,這個想法出現了,也許更好的方法是創建自定義字體,並且所有內容都「正常工作」。 – steve8918 2012-04-19 00:36:18

回答

1

字體沒有顏色,所以你是對的,你不能強制字體文件中的特定顏色。但是,您可以在使用字體時應用所需的任何顏色。

7

支持取決於您的操作系統/瀏覽器版本,但OpenType 1.7支持多色字體,並且有多個選項。

前兩種技術具有可擴展性的優點,無論設備如何,但都缺少精細的像素級細節。後兩種方法具有在圖像中提供精細細節的優勢,但在尺寸不同於預期尺寸時,它們看起來像素化或模糊。

羅埃爾Nieskens有一個很好的寫在這裏,其中包括一個測試頁面,顯示您當前的瀏覽器對不同方法的支持:http://pixelambacht.nl/2014/multicolor-fonts/

多種顏色字體不中的OpenType 1.6規範直接支持,但你仍然有選項...

  • 創建所有字形的圖集紋理(基本上是一個大的位圖與CSS精靈一起使用)。遊戲使用這種方法,但要注意的是它們不具有可擴展性 - 無論如何,並非沒有像素化。
  • 覆蓋多個OpenType字體的文本。多層OpenType是圖形設計師使用的一種方法(例如In-Design)。創建多種字體有點奇怪,每種顏色都有一種顏色,但是它很有用。你會將浮動跨度透明地疊加在彼此上面。
  • 通過InkScape使用SVG字體(在支持它的瀏覽器的子集中)。 SVG字體可擴展並支持多種顏色(實際上幾乎所有SVG都支持的功能),但它們的支持有限:Opera 9+或Chrome 4+,但不支持IE10或FF。
  • 直接使用SVG組件。這不是真正的「SVG字體」,但是仍然可以通過編程將每個字符與其相應的SVG部分相關聯(假設我們處於ASCII範圍內,而不是整個Unicode中的任何字符)。目前所有的瀏覽器都支持SVG:Opera9,IE10,FF3,Chrome4,Safari3.2。
相關問題