Обнаружение критических изменений нормализации в Unicode через UCD

Unicode подчеркивает, что программное обеспечение должно быть максимально совместимым с продвижением вперед, по умолчанию обрабатывая неназначенные символы, как если бы они были кодовой точкой частного использования. В большинстве случаев это хорошо работает, поскольку большинство новых символов не меняются при нормализации, свертывании регистра и т. Д.

Однако я хочу проанализировать "критические" изменения нормализации в Unicode: символы, которые имеют свойства, которые могут привести к изменениям при применении нормализации NFx, NFKx, casefold или NFKC_Casefold. Я не уверен на 100% в своем понимании алгоритмов NFC или NFKC и считаю, что произошли некоторые изменения стабильности, которые ограничивают количество особых случаев. Я могу ограничить свой анализ Unicode 4, 5 или даже 6, если это означает, что мне не придется иметь дело с особыми случаями.

Мой первоначальный удар по этому поводу анализирует базу данных символов XML Unicode и выбирает кодовые точки на основе канонического класса комбинирования) (ccc != 0), Быстрая проверка NFxy (NFC_QC != 'Y', NFD_QC != 'Y'и т. д.), и складывание корпуса / NFKC_Casefold (CWKCF = 'Y' or CWCF = 'Y') свойства.

Это лучший подход, или я должен просто смотреть на отображение декомпозиции и тип?

0 ответов

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