字型映射演算法

用於顯示器顯示字型的映射算法。

簡介

在設定了邏輯字型結構後,呼叫CreateFontIndirect來得到邏輯字型代號。當呼叫SelectObject把邏輯字型選入裝置內容時,Windows尋找與所需字型最接近匹配的實際字型。它使用「字型映射演算法」。結構的某些欄位要比其他欄位更重要一些。

說明

了解字型映射的最好方式是花一些時間試驗PICKFONT。以下是幾條指南:
lfCharSet(字元集)欄位是非常重要的。如果您指定了OEM_CHARSET(255),會得到某種筆劃字型或終端機字型,因為它們是唯一使用OEM字元集的字型。然而,隨著TrueType「Big Fonts」的出現(在第六章〈TrueType和大字型〉一節討論過),單一的TrueType字型能映射到包括OEM字元集等不同的字元集。您需要使用SYMBOL_CHARSET(2) 來得到Symbol字型或Wingdings字型。
 
lfPitchAndFamily欄位的FIXED_PITCH間距值很重要,因為您實際上告訴Windows不想處理變寬字型。
 
lfFaceName欄位很重要,因為您指定了所需字型的字樣。如果讓lfFaceName設定為NULL,並在lfPitchAndFamily欄位中將組值設定為FF_DONTCARE以外的值,因為指定了字型系列,所以該欄位也很重要。
 
對於點陣字型,Windows會試圖配合lfHeight值,即使需要增加較小字型的大小。實際字型的高度總是小於或等於所需的字型,除非沒有更小的字型滿足您的要求。對於筆劃或TrueType字型,Windows僅簡單地將字型縮放到需要的高度。
 
可以通過將lfQuality設定為PROOF_QUALITY來防止Windows縮放點陣字型。這么做可以告訴Windows所需的字型高度沒有字型外觀重要。
 
如果指明了對於顯示器的特定縱橫比不協調的lfHeight和lfWeight值,Windows能映射到為顯示器或其他不同縱橫比的設備設計的點陣字型。這是得到細或粗字型的技巧(當然,對於TrueType字型是不必要的)。一般而言,您可能想避免為另一種設備挑配字型。您可以通過單擊標有「Match Aspect」的核取方塊,在PICKFONT中完成。如果選中了核取方塊,PICKFONT會使用TRUE參數呼叫SetMapperFlags

相關詞條

相關搜尋

熱門詞條

聯絡我們