Подавая правило "NFD; [:Nonspacing Mark:] Remove; NFC"
в демонстрационную версию ICU Transliterator , символ Ø
(\u00d8
== LATIN CAPITAL LETTER O WITH STROKE
) остается как есть (то есть ХОД не убран).
В списке немаркированных пробелов (Категория Mn
) я не могу найти ничего с именем COMBINING DIAGONAL STROKE
, схожим с COMBINING SHORT STROKE OVERLAY
(\u0335
) или COMBINING LONG STROKE OVERLAY
(\u0336
).
Однако я нахожу COMBINING SHORT SOLIDUS OVERLAY
(\u0337
) и COMBINING LONG SOLIDUS OVERLAY
(\u0338
).Они выглядят одинаково, но в моем браузере отображают гораздо более толстые линии при сочетании с o
и O
.
Данные Unicode, к которым я получил доступ для \u00d8
, не обеспечивают декомпозициидля этого символа.
В то же время, Demo Collator ICU будет сопоставлять каждый из ø
, o
, Ø
, O
, o\u0337
и O\u0338
до той же кодовой точки с использованием первичного (уровень = 1 = базовая буква) коллатера.
Означает ли это, что языковой стандарт Collator, использованный в демоверсии, был настроен для идентификации базового символа в некотором родегде спецификация Unicode молчит?
Если это так, нужен ли мне собственный транслитератор на основе правил, если я хочу убрать STROKE из LATIN [CAPITAL, SMALL] LETTER *
символов при транслитерации?