我正在开发一个应用程序,它接受英语文本并使用自定义的第 3 方 API 将音译为印度语(受支持的几种语言之一)。该应用程序针对 Windows XP/7 和 Ubuntu。
我们使用自定义输入法来加载所需的印度语字体,并使用它渲染文本。此外,用户还可以通过输入英语并按空格来纠正音译文本(类似于 Google Transliterate 的工作方式)。
问题是,使用某些印度字体时,用英语键入会显示空框字符(即使实际键入的字符已被检测到并相应地音译)。
我使用了 Ubuntu 附带的 ttf-indic-fonts-0.5.0 字体包,并且能够替换其中的一些。对于其他人,如果我从 Windows 复制相应的字体(我正在 Windows 7 上开发它),那么所有问题都可以解决。
但是,我们无法通过我们的应用程序重新分发 Windows 字体,并且需要一个开放的替代方案。
除了尝试找到替代字体之外,我们是否还做错了什么或需要检查什么,以确保在使用印度字体时可以在 JTextField 中键入英文字符?
举个例子 - 从上面提到的 Ubuntu 软件包中,旁遮普语的 lohit_pa.ttf 字体就有这个问题。如果我复制旁遮普语的默认 Windows 字体 (raavi.ttf),则它可以正常工作。
我找到了解决问题的办法。我在 Windows 上安装了字体(打开字体,单击安装)并使用字符映射表浏览内容。这些字体仅具有相关语言的字形,而不是英语。
我用了字体锻造 http://fontforge.sourceforge.net合并 2 种字体。 (Fontforge 的作者不再提供二进制文件 - 但如果您有权访问 Ubuntu,您可以从存储库安装它。如果您只有 Windows,则没有这样的运气)。
之后,我就可以再次输入英文了。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)