问题描述
在Bangla中,Hosonto(U+09CD
)用于创建连字,该连字连接相邻的字母。例如,使用ক+্+ক创建ক্ক。但是有时候我们需要一个未加入的Hosonto( ক্ক )。为了使之成为可能,传统上我们使用零宽度的非连接符( {U+200C
)。
ZWNJ的问题在于,当行太长并且发生换行时,单词会分成两行。为了使单词总体上保持不变,我需要一个字符,例如“零宽度不间断连接符”。但是我在Unicode中看不到这样的字符。因此,我认为Word Joiner(U+2060
)是最好的选择。
对我来说,单词连接器听起来像“连接两个单词”。但就我而言,我需要将一个单词的两个部分连接在一起。所以,问题是,在这里使用Word Joiner是否正确?
解决方法
U + 200C零宽度非JOINER对换行没有影响。它的不存在或存在不会更改可能发生换行的位置。如果在一个单词中插入ZWNJ导致该单词跨行打断,则用于查看文本的任何应用程序都无法正确实现该标准。
ZWNJ是满足您目的的唯一正确字符。不仅如此,实际上使用U + 2060 WORD JOINER可能导致结果不一致。就像ZWNJ不会影响换行符一样,WJ也不应该影响连接行为(就此而言,它被定义为“透明”)。据我所知,尽管该标准并未明确提及此类情况,但您可以合理地辩称,在示例中的两个字母之间插入WJ不应改变它们的显示方式。