我目前正在尝试弄清楚如何为给定的Locale设置Character.UnicodeBlock。 语言需要从一个到另一个不同的字符。
我正在努力实现的是拥有一个String,其中包含用特定语言编写所需的每个字符。然后,我可以使用此String从TrueTypeFont文件中预先计算一组OpenGL纹理,这样我就可以轻松地用任何语言编写任何文本。
预先清除每个角色并拥有大约1000000个纹理当然不是一种选择。
有没有人有想法?或者有人看到这个程序有缺陷吗?
答案 0 :(得分:4)
这不是那么简单。大多数欧洲语言中的文本通常可以使用一组简单的预组合Unicode字符编写,但对于更复杂的脚本,您需要处理组合字符。这可以通过组合西方字母的重音来轻松开始,通过对语境敏感的阿拉伯字母(它们具有不同的形状,取决于它们是第一个,最后一个还是在一个单词的中间),并以完全的疯狂结束。可以在很多印度语脚本中找到。
Unicode Standard有关于渲染可编码的各种脚本所涉及的复杂性的章节。例如,在第10章早期对藏文的描述进行抽样,如果这不会吓到你,请在第9章中回到梵文。你很快就会放弃“用任何语言写文字”的野心。 。正确地这样做需要专门的渲染软件,由熟悉相关脚本的专家编写。