2011-10-03 31 views
1

對於我的程序我有一個數據庫充滿街道名稱(使用GIS的東西)在Unicode。用戶選擇他想看到的世界任何地方(使用openstreetmap,谷歌地圖或其他),我的程序顯示每個選定的街道使用一個很好的字體顯示他們的名字。正如你可能知道不是每一種字體都可以顯示非拉丁字符......這讓我很頭疼。我想知道如何告訴我的程序「如果這個單詞是用中文寫的,那麼用中文字體」。如何檢測正確的字體使用取決於語言

編輯:我忘了提及我想使用非標準字體。 Arial,Courier和其他一些可以顯示非拉丁文字,但我想用其他字體(我有一個特定的字體爲中文,另一個爲日文,另一個爲阿拉伯文...)。我只需要知道什麼字體選擇取決於我想寫的字。

回答

0

您需要有關文本語言的信息。 當你決定你想要的字體時,你需要做一個從語言到字體的映射。

如果您嘗試自動執行此操作,則不起作用。即使對於相同的字符,日文,繁體中文和簡體中文的字體也會有所不同。他們可能是理智的,但本地人可以告訴(確定,抱怨)該字體是錯誤的。

另外,如果你做任何事情算法,是沒有辦法考慮estethic部分(如事實,你爲這個快速回答不喜歡宋體:-)

+0

Arial不是那麼糟...... :)謝謝你的回答。 – lvictorino

0

使用utf-8文本和字體爲每個可能的字符定義了字形,如Windows中的Arial/Verdana。這繞過了整個檢測問題。一種字體將處理一切。

+0

謝謝...我忘了提到我想要顯示非標準字體。我的作品有點「藝術性」,我想用特定的美麗字體。讓我編輯我的帖子。 – lvictorino

+1

什麼? Arial不漂亮嗎?請稍候,一些MS goons將很快通過使用備用MS Bob CD來糾正您的觀點。 –

+2

何!不,不......這是我,我有不好的口味。在考慮你的評論之後,似乎很明顯Arial對於任何印刷項目都是足夠的。我會立即重寫我的程序以僅顯示Arial。非常感謝你(感謝MS創建了這麼漂亮的字體)。 :D – lvictorino