Unicode TR39 Skeleton algorithm

Implementation of Skeleton algorithm from Unicode TR39

Лицензия

Лицензия

Группа

Группа

com.github.mpkorstanje
Идентификатор

Идентификатор

tr39-confusables-skeleton
Последняя версия

Последняя версия

8.0.10
Дата

Дата

Тип

Тип

jar
Описание

Описание

Unicode TR39 Skeleton algorithm
Implementation of Skeleton algorithm from Unicode TR39

Скачать tr39-confusables-skeleton

Как подключить последнюю версию

<!-- https://jarcasting.com/artifacts/com.github.mpkorstanje/tr39-confusables-skeleton/ -->
<dependency>
    <groupId>com.github.mpkorstanje</groupId>
    <artifactId>tr39-confusables-skeleton</artifactId>
    <version>8.0.10</version>
</dependency>
// https://jarcasting.com/artifacts/com.github.mpkorstanje/tr39-confusables-skeleton/
implementation 'com.github.mpkorstanje:tr39-confusables-skeleton:8.0.10'
// https://jarcasting.com/artifacts/com.github.mpkorstanje/tr39-confusables-skeleton/
implementation ("com.github.mpkorstanje:tr39-confusables-skeleton:8.0.10")
'com.github.mpkorstanje:tr39-confusables-skeleton:jar:8.0.10'
<dependency org="com.github.mpkorstanje" name="tr39-confusables-skeleton" rev="8.0.10">
  <artifact name="tr39-confusables-skeleton" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.github.mpkorstanje', module='tr39-confusables-skeleton', version='8.0.10')
)
libraryDependencies += "com.github.mpkorstanje" % "tr39-confusables-skeleton" % "8.0.10"
[com.github.mpkorstanje/tr39-confusables-skeleton "8.0.10"]

Зависимости

test (2)

Идентификатор библиотеки Тип Версия
junit : junit jar 4.12
org.hamcrest : hamcrest-library jar 1.3

Модули Проекта

Данный проект не имеет модулей.

tr39-confusables Maven Central Build Status

Skeleton algorithm from Unicode TR39 for testing confusability of strings.

Version 8.0.10 matches version 8.0 draft 10 of TR39

Usage

import static com.github.mpkorstanje.unicode.tr39confusables.Skeleton.skeleton;
...
// Skeleton representations of unicode strings containing 
// confusable characters are equal 
skeleton("paypal").equals(skeleton("paypal")); // true
skeleton("paypal").equals(skeleton("𝔭𝒶ỿ𝕡𝕒ℓ")); // true
skeleton("paypal").equals(skeleton("ρ⍺у𝓅𝒂ן")); // true
skeleton("ρ⍺у𝓅𝒂ן").equals(skeleton("𝔭𝒶ỿ𝕡𝕒ℓ")); // true
skeleton("ρ⍺у𝓅𝒂ן").equals(skeleton("𝔭𝒶ỿ𝕡𝕒ℓ")); // true

// The skeleton representation does not transform case
skeleton("payPal").equals(skeleton("paypal")); // false

// The skeleton representation does not remove diacritics
skeleton("paypal").equals(skeleton("pàỳpąl")); // false

Note on the use of Skeleton, from TR39:

A skeleton is intended only for internal use for testing confusability of strings; the resulting text is not suitable for display to users, because it will appear to be a hodgepodge of different scripts. In particular, the result of mapping an identifier will not necessary be an identifier. Thus the confusability mappings can be used to test whether two identifiers are confusable (if their skeletons are the same), but should definitely not be used as a "normalization" of identifiers.

Maven

<dependency>
  <groupId>com.github.mpkorstanje</groupId>
  <artifactId>tr39-confusables-skeleton</artifactId>
  <version>8.0.10</version>
</dependency>

Версии библиотеки

Версия
8.0.10
0.5.0