2011-01-12 29 views
2

我認爲這是一個愚蠢的問題,但我reaaly需要一個證明。我的問題是我們可以設置UIFont或CTFont屬性,如ascender,descender,cap height和x-height嗎?當我查看類引用(在UIFont中)時,這些屬性是非原子的並且是隻讀的,並且在CTFont中沒有設置屬性的函數。我們可以在UIFont中創建函數,以便我們可以設置屬性或不設置?任何人都可以幫助我。感謝您的關注。 :)如何設置UIFont或CTFont屬性?

回答

2

UIFont和CTFont都只是保存特定字體的信息,而且它們是不可變的。但是,您可以創建NSAttributedString或NSMutableAttributedString,並將某些屬性應用於底層字符串的某些部分。

我不知道在你的問題中你提到的屬性是否可以修改,但是很多可以像重量,外觀,尺寸,字距,間距等。查閱CTParagraphStyleRef上的文檔以獲得關於顯示屬性字符串時可以修改的屬性。

0

您可以使用Apple的Font Suite自行修改字體。 http://developer.apple.com/fonts/

安裝該工具,使用此命令將文件屬性解構成XML文件。

ftxdumperfuser -t hhea -A d font.ttfz 

以後,進行必要的修改,並重新構造使用

ftxdumperfuser -t hhea -A f font.ttf 

現在使用新fon.ttf在你的應用程序!