如何根据语言检测正确使用的字体

时间:2011-10-03 17:59:28

标签: python unicode localization fonts

对于我的程序,我在unicode中有一个充满街道名称(使用GIS内容)的数据库。用户选择他想要看的世界的任何部分(使用openstreetmap,谷歌地图或其他),我的程序显示使用漂亮字体选择的每个街道以显示他们的名字。你可能知道并不是每种字体都能显示非拉丁字符......这让我头疼。我想知道如何告诉我的程序“这个单词是用中文写的,然后使用中文字体”。

编辑:我忘了提到我想使用非标准字体。 Arial,Courier和其他一些可以显示非拉丁语单词,但我想使用其他字体(我有一个特定的中文字体,另一个用于日语,另一个用于阿拉伯语......)。我只需知道根据我想写的单词选择什么字体。

2 个答案:

答案 0 :(得分:0)

使用utf-8文本和对每个可能定义的字符都有字形的字体,例如Windows中的Arial / Verdana。这绕过了整个检测问题。一种字体可以处理所有事情。

答案 1 :(得分:0)

您需要有关文字语言的信息。 当你决定你想要什么字体时,你会做一个从语言到字体的映射。

如果您尝试自动执行此操作,则无效。日语,繁体中文和简体中文的字体即使对于相同的字符也会有不同的外观。他们可能是有智慧的,但本地人可以告诉(好吧,抱怨)字体错误。

另外,如果你在算法上做任何事情,就没有办法考虑estethic部分(例如你不喜欢Arial的事实: - )