На какие типы свертывания дел ссылается U_FOLD_CASE_DEFAULT?
Я реализую сворачивание дела в функции для JavaScript. Я сгенерировал код из файла CaseFolding.txt необходимый код JavaScript.
Документация для U_FOLD_CASE_DEFAULT
говорит, что ICU будет использовать:
сопоставления по умолчанию, определенные в CaseFolding.txt.
Я хотел бы подтвердить, что используя типы C
а также F
опция по умолчанию. я знаю T
исключено согласно документации.
A. Чтобы сделать простое сворачивание дела, используйте сопоставления со статусом C + S.
B. Чтобы сделать полное свертывание дела, используйте сопоставления со статусом C + F.
Отображения со статусом T могут использоваться или опускаться в зависимости от желаемого поведения сворачивания регистра. (По умолчанию опция исключает их.)
Я выбираю правильные значения из CaseFolding.txt
?
2 ответа
Это зависит от того, есть ли доступ к буферу: U_FOLD_CASE_DEFAULT
относится к C
+ S
отображения при использовании символьных функций в uchar.h
(лайк u_foldCase()
) и C
+ F
отображения при использовании строковых функций в ustring.h
(лайк u_strFoldCase()
).
В общем, вы должны предпочесть использовать C
+ F
отображения, когда это возможно (например, вам не нужно отображение 1:1).
Да, это по умолчанию. В соответствии с разделом 3.13 ( PDF) текущего стандарта Unicode (8.0.0) стандартное сворачивание регистра:
... Использует сопоставления со значением поля состояния "C" или "F" в файле данных CaseFolding.txt в базе данных символов Unicode.