Правильно ли использовать Word Joiner (U+2060) в одном слове?

В Бангла, Хосонто (U+09CD) используется для создания лигатуры, которая соединяет соседние буквы. Например, ঠ• ৠঠ• создается с помощью ঠ• + ৠ+ ঠ•. Но иногда нам нужен не присоединяющийся к Hosonto (ঠ• ৠ⠀ ঠ•). Чтобы сделать это возможным, традиционно мы используем не соединяющий элемент нулевой ширины (â € Œâ € Œâ € Œâ € Œâ € ŒU+200C‌).

Проблема с "ZWNJ" заключается в том, что, когда строка слишком длинная и происходит перенос строки, слово разбивается на две строки. Чтобы сохранить слово как единое целое, мне нужен символ, что-то вроде "неразрывно не соединяющегося с нулевой шириной". Но я не вижу такого символа в Юникоде. Думаю, Word Joiner (U+2060) - лучший вариант.

Для меня Word Joiner звучит как "соединяет два слова". Но в моем случае мне нужно соединить две части одного слова. Итак, вопрос в том, правильно ли здесь использовать Word Joiner?

1 ответ

Решение

U+200C ZERO WIDTH NON-JOINER не влияет на разрыв строки. Его отсутствие или наличие не меняет места, где может произойти перенос строки. Если вставка ZWNJ в слово приводит к тому, что это слово разбивается по строкам, то любое приложение, которое вы используете для просмотра текста, не реализует стандарт правильно.

ZWNJ - единственный правильный персонаж для ваших целей. Более того, использование U+2060 WORD JOINER может привести к противоречивым результатам. Подобно тому, как ZWNJ не влияет на разрывы строк, WJ не должен влиять на поведение соединения (в этом отношении он определяется как "прозрачный"). Хотя, насколько мне известно, в стандарте явно не упоминаются такие случаи, но можно было бы разумно возразить, что вставка WJ между двумя буквами в вашем примере не должна изменять способ их отображения.

Другие вопросы по тегам