2008-09-30 76 views
0

我正在開發一款遊戲(使用Ruby)並計劃將它用於多種語言。我想知道什麼是渲染文本的最佳選擇。特別是,無論我使用什麼應該能夠呈現複雜的字體(特別是阿拉伯語和波斯語)。什麼是渲染複雜字體的最佳選擇?

我一直在環顧四周,並且偶然發現了freetype,石墨,並使用windows native API函數(我很好,它不是跨平臺的),僅舉幾例。我應該怎麼做,以及有哪些不同的權衡?

回答

1

如果您正在尋找一種將字體柵格化爲位圖的方法,則Freetype和Windows API都可以很好地處理這個問題。

如果您正在尋找一種在屏幕上繪製文本的方法,請儘可能使用Window的本機API;雙向文本和口音以及所有這些東西都非常困難且耗時很長,因此您理想地需要一個可以爲您處理它的API。這對你的遊戲是否可行取決於你使用的圖形API,你沒有指定。

編輯:要光柵化整個文本字符串,您需要使用win32的DrawText,這意味着您需要得到您的手slightly dirty

+0

是否有任何API可以簡單地將所需語言中的字符串呈現爲位圖(因爲它將呈現爲屏幕),而我只是將其呈現給屏幕?我在DirectX上使用了一個抽象API,我只有drawPixel和drawImage例程。 – 2008-09-30 20:31:33

1

退房www.freetype.org 它處理非從左到右的字體。 它會爲您生成字形,但您必須將它們呈現給設備(OpenGL/DirectX等)。

2

對於跨平臺解決方案,請查看Pango

相關問題