Обнаружение текстовых лигатур Unicode в Clojure / Java

Лигатуры - это символы Юникода, которые представлены более чем одной кодовой точкой. Например, в Деванагари त्र - лигатура, состоящая из кодовых точек त + ् + र .

При просмотре в простых редакторах текстовых файлов, таких как Блокнот, त्र отображается как त् + र и сохраняется в виде трех символов Юникода. Однако, когда тот же файл открывается в Firefox, он отображается как правильная лигатура.

Так что мой вопрос в том, как программно обнаружить такие лигатуры при чтении файла из моего кода. Поскольку Firefox делает это, должен существовать способ сделать это программно. Существуют ли какие-либо свойства Unicode, которые содержат эту информацию, или мне нужно иметь карту для всех таких лигатур?

Свойство SVG CSS text-render , когда установлено optimizeLegibility делает то же самое вещь (объединить кодовые точки в правильную лигатуру).

PS: я использую Java.

РЕДАКТИРОВАТЬ

Цель моего кода - подсчитать символы в тексте Unicode, предполагая, что лигатура является одним символом. Поэтому мне нужен способ свести несколько кодов в одну лигатуру.

6
задан Abhinav Sarkar 13 August 2010 в 10:49
поделиться