国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

Fontconfig用戶手冊

2024-07-21 02:36:59
字體:
來源:轉載
供稿:網友

  原文:http://www.fontconfig.org/fontconfig-user.Html
  作者:Keith Packard , HP Cambridge Research Lab
  翻譯:Conner Mo (connermo@hotmail.com)
  
  Fonts-conf
  
  名稱
  
  fonts.conf - 字體配置文件
  
  
  文件綱要
  
  /etc/fonts/fonts.conf
  /etc/fonts/fonts.dtd
  ~/.fonts.conf
  
  
  描述
  
  fontconfig 是提供系統范圍內字體設置,定制和答應應用程序訪問的函數庫。
  
  功能概述
  
  fontconfig 包含兩個基本的模塊,即讀取xml文件并建立內部配置的配置模塊和接受請求的字體樣板并返回最接近所需字體的匹配模塊。
  
  字體設置
  fontconfig的配置模塊由FcConfig 數據類型,libeXPat和FcConfigParse 組成。它掃描一個XML樹并將其中的數據處理成一個配置文件。從外部來看,函數庫的配置就是生成一個有效的XML樹并將其填充到FcConfigParse里。應用程序改變運行中的函數庫配置的唯一途徑就是添加字體和目錄到用戶的字體文件列表中。
  
  這樣做的目的就是讓字體的配置變得相對靜態,并且可以盡可能多地讓其他應用程序共享。這種做法預計可以在應用程序相互傳遞字體名稱的時候獲得相對穩定的字體選擇。XML被選為配置文件的標準格式是因為它是一個既便于外部程序編輯又可以保留正確結構和語法的格式。
  
  字體的配置和字體的是分開的。需要采取自身特定匹配方式的應用程序可以從庫中訪問已有的字體并執行獨立的匹配操作。這樣做是為了讓應用程序可以從字體庫中挑選并選定合適的庫功能,而不是強迫他們選擇這個庫或者私有的設置機制。這種做法預計可以讓所有應用程序的字體配置可以集中在一處。集中的字體配置可以標準化和簡化字體安裝和定制。
  
  字體屬性
  
  雖然字體樣板可能包含任意基本屬性,但還是有一些眾所周知的屬性及其附帶的類型。Fontconfig利用這些屬性來匹配和完成字體配置。其他屬性則被用來為應用程序的渲染機制提供方便。
  
  屬性
   類型
   描述
  
  family
   String
   字體家族名稱 (宋體,仿宋體等)
  
  style
   String
   字體風格,包括粗度(weight)和傾斜度(slant)。
  
  slant
   Int
   傾斜度,分為Italic(斜體), oblique(傾斜羅馬體)或者roman(羅馬體)
  
  weight
   Int
   Light (微粗),medium(稍粗),demibold(略粗),bold(粗)或者black(黑體)
  
  size
   Double
   尺寸大小
  
  aspect
   Double
   在微調(hinting)前水平拉伸字體
  
  pixelsize
   Double
   像素大小
  
  spacing
   Int
   間距,PRoportial (可變),monospace (等寬) 或者charcell (字符單元)
  
  foundry
   String
   字體廠商名稱
  
  antialias
   Bool
   字體渲染是否采用抗鋸齒功能
  
  hinting
   Bool
   渲染引擎是否采用微調
  
  verticallayout
   Bool
   采用豎直排版
  
  autohint
   Bool
   采用自動微調代替普通微調
  
  globaladvance
   Bool
   使用字體全局間距數據
  
  file
   String
   存儲字體的文件名稱
  
  index
   Int
   字體文件內的字體索引
  
  ftface
   FT_Face
   使用指定的Freetype格式對象
  
  rasterizer
   String
   正在使用的渲染引擎
  
  outline
   Bool
   字型是否中空
  
  scalable
   Bool
   字型是否可以放縮
  
  scale
   Double
   尺寸->像素的放縮比例
  
  dpi
   Double
   目標點數/英寸
  
  rgba
   Int
   unkonw, rgb, brg, vrgb, vbgr, none -子像素的幾何排列
  
  minspace
   Bool
   是否采用最小行間距
  
  charset
   CharSet
   字體的編碼
  
  lang
   String
   字體支持的RFC-3066-style 語言列表。

  
  
  
  字體匹配
  
  Fontconfig用計算輸入的字體樣板和現有系統中字體的距離來實現字體匹配。最接近的字體將被選擇。這樣可以保證任何時候都能夠返回一個字體,但不能保證它和所需要的樣板類似。
  
  字體的匹配是從應用程序所創建的樣板開始的。請求字體的所有屬性會被搜集到一個樣板里。每個屬性可以包含一個或多個值。它們按照優先等級排列。匹配列表前的被認為是比符和列表后的更加接近所需屬性。
  
  最初的字體樣板會按照配置文件中的編輯指令按順序修改。每個修改的過程包括匹配和其它一系列的編輯操作,并且每個匹配的過程都會執行相應的編輯操作。
  
  當字體樣板編輯修改完后,將會執行一系列默認的替換操作,從而標準化已有的一套屬性。這樣可以避免較低層程序在渲染的時候為不同的字體屬性提供一成不變的默認值。
  
  標準化后的字體樣板最后將和系統所有擁有的字體進行匹配。樣板和字體的距離是用它的每個屬性,廠商,編碼,家族,語言,間距,像素大小,風格,斜度,粗度,防鋸齒,渲染引擎和中空測量出來的。這個列表是按照優先級排序的,排在前面的元素比后面的元素占的比重大。
  
  這個規則中有一個非凡的例子:家族的名稱分成兩個部分,strong(強)和weak (弱)。強家族名稱在匹配中比語言元素優先級要高,而弱家族名稱在匹配中比語言元素的優先級別要低。這樣答應在文檔指定字體都不存在的時候,文檔的語言屬性可以指導字體的選擇。
  
  代表所屬字體的樣板會包含所有在那個樣板找到的屬性,而不只是在字體中找到的。這答應應用程序通過匹配系統傳送渲染指令和其它數據。最后,在配置文件中找到字體的編輯指令列表將被應用到樣板。修改過的樣板會返回給應用程序。
  
  返回的值包括充足的字體定位和渲染信息,包括文件名,像素大小和其他渲染數據。因為沒有任何包含的信息屬于Freetype庫,引用程序可以自由選擇渲染引擎,甚至直接獲取和訪問字體文件。
  
  在編輯文件中,匹配和編輯的序列是按照兩步執行的,因為需要有兩個不同操作。第一步是修改如何選取字體,為字體家族取別名和添加合適的默認值。第二步是修改如何渲染已選擇的字體。這些步驟必須應用在已選擇的字體上,而不是原有的字體樣板,因為經常會發生錯誤的匹配。
  
  字體名稱
  
  Fontconfig 為樣板提供一個可以讓函數庫接受和產生的文本表達。表達有三個部分,第一個是字體家族名稱列表,第二個是尺寸大小列表,最后是附加屬性列表:
  
  -:=:=...
  <家族名稱>-<尺寸大小>:<名稱1>=<賦值1>:<名稱2>=<賦值2>...
  
  在列表中的賦值用逗號分開。名稱不需要包含家族或者尺寸大小,它們可以省略。另外,還有一些字符常量可以同時說明名稱和賦值。這里有一些例子:
  
  名稱
   含義
  
  Times-12
   尺寸12的Times Roman
  
  Times-12:bold
   尺寸12的Times粗體
  
  Courier:italic
   Courier默認尺寸的斜體
  
  Monospace:matrix=1 .1 0 1
   用戶首選的采用人工斜體的等寬字體
  
  
  
  語言標記
  
  每種在數據庫中的字體包括一個它所支持的語言列表。這是用比較字體的unicode范圍和語言的正詞法(orthography)計算出來的。語言使用一個兼容RFC-3066的命名標準并且具有兩個部分——ISO693語言標記跟一個連字符,然后是ISO3166國家代碼。連字符和國家代碼可以省略。
  
  Fontconfig在函數庫中有幾種語言的正詞法。除了重新編譯函數庫外,還沒有其他途徑添加新的正詞法。Fontconfig現在支持ISO639-1中命名的139種語言的122種,ISO 639-2的141種有雙字符編碼的語言和另外30種三字符編碼的語言。
  
  配置文件的格式
  
  Fontconfig的配置文件的存儲格式為XML格式。這種格式可以讓延伸的配置工具更加方便的編寫并且可以保證他們可以生成語法結構正確的文件。由于XML文件是純文本文件,專家用戶可以用文本編輯器處理它們。
  
  Fontconfig 文件類型定義在延伸的實體“fonts.dtd”中,通常存儲在默認的字體設置目錄(/etc/fonts)。每個配置文件必須包括下列的結構:
  
  
  
  
   ...
  
  
  
  
  這是字體配置頂層的單元,可以按照任意順序包括dir, cache, include, match和alias單元。
  
  dir
  這個單元包含一個會被掃描目錄名稱,掃描到字體文件將被包括到可用的字體列表中里。
  
  cache
  這個單元包含一個為每個用戶設置的緩存字體信息的文件名稱。假如它以“~”開始的話,代表一個在用戶主目錄的文件。這個文件是用來保留在為每個目錄設置的緩存文件中沒有的字體信息的。Fontconfig將會自動處理緩存文件。默認的緩存文件是“~/.fonts.cache-version”,這里ver

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 巨鹿县| 高雄市| 平阳县| 普宁市| 大田县| 陇西县| 平乐县| 卢龙县| 同德县| 称多县| 大宁县| 四子王旗| 临汾市| 津市市| 银川市| 衡东县| 新安县| 利津县| 鄂托克旗| 蓬莱市| 团风县| 陆河县| 泸州市| 贺州市| 桃江县| 汤阴县| 巴林右旗| 临猗县| 清新县| 绥中县| 昌江| 南召县| 台南县| 安仁县| 金沙县| 黔南| 体育| 尼勒克县| 邓州市| 广水市| 平山县|