印度文字的复杂文本布局
Posted
技术标签:
【中文标题】印度文字的复杂文本布局【英文标题】:complex text layout of Indic scripts 【发布时间】:2011-05-20 12:05:45 【问题描述】:我正在为泰卢固语使用 unicode truetype 字体。我想在为泰卢固语指定的范围内输入一个 unicode 字符序列,并使用 java 函数来显示相应的字母。java 的哪个部分处理将序列分成簇?我相信在 Windows UNISRIBE 中可以做到这一点。我想知道 java 是否有类似的东西 西瓦钱德
【问题讨论】:
我不确定您是在询问渲染 Telegu 文本还是查找 Telegu 字形之间的中断,因为 multiple Unicode "code points" combine to form a single glyph。你能澄清一下你在找什么吗? 【参考方案1】:除非您正在开发一种新字体,否则您无需了解 java 如何根据 unicode 代码点呈现字形。
无论何时需要字符串,您都可以传入一系列 unicode 代码点,Java 会正确呈现这些代码点(元音、辅音、辅音上的变音符号、辅音混合)。这是一个例子
g.drawString("\u0C36\u0C3F\u0C35\u0C1C\u0C3E\u0C38\u0C4D\u0C24\u0C3F", 75,100);
【讨论】:
【参考方案2】:如果我理解正确,您正在寻找BreakIterator.getCharacterInstance。
来自文档:
字符边界分析允许用户按照他们期望的方式与字符进行交互,例如,在文本字符串中移动光标时。字符边界分析提供通过字符串的正确导航,无论字符是如何存储的。返回的边界可能是补充字符、组合字符序列或连字簇的边界。例如,重音字符可能存储为基本字符和变音符号。用户认为是字符的内容可能因语言而异。
【讨论】:
【参考方案3】:Java 的显示例程依赖于底层库,但如果您想对它们进行更严格的控制,java-gnome 具有针对 Cairo 和 Pango 的绑定。
【讨论】:
以上是关于印度文字的复杂文本布局的主要内容,如果未能解决你的问题,请参考以下文章
Android Compose 新闻App下拉刷新复杂数据网格布局文字样式
CSSCSS 文本样式 ③ ( 文字排版案例一 | 设置标题 | div 中设置布局 | hr 标签设置横线 | p 标签分割段落 | 设置页面总体文字大小 | 修改 h1 标签样式 )