2011-01-25 21 views
1

請耐心等待,我是Uniscribe的新手,所以我希望這不是一個愚蠢的問題,但我一直無法在其他任何地方找到解決方案。所以,這裏去...如何使用Uniscribe API調整字體的寬度

我想使用Uniscribe API來減少字體的寬度;也就是說,給定特定高度的特定字體,我希望能夠通過某個用戶定義的百分比減少每個字符的寬度(以及所有相關的間距)。

我已經成功地實現了這個功能,通過獲取當前字體的LOGFONT結構並將lfWidth字段調整爲其原始值的百分比來調用任何Uniscribe函數。我意識到這只是一個平均字符寬度,但它似乎有所需的結果。

但是,當我嘗試使用Uniscribe做同樣的事情時,我注意到lfWidth字段在調用ScriptShape()後重置爲0。結果,所有呈現的文本都使用其原始寬度輸出。我無法解釋爲什麼這是或如何解決它。

有沒有人有任何想法,如果甚至有可能做我想做的事情?

回答

0

您可能想要開始here(查看生成字形信息部分),然後導致this

希望它有幫助!

+0

謝謝你。雖然SciptShape()不會返回失敗代碼,但我認爲當前加載的字體是可以接受的。隨後對ScriptPlace()的調用也成功了,只不過它們最終對lfWidth使用的值爲0,而不是我先前分配的自定義值。 – 2011-01-26 14:20:34