# Swift library for ICU (uspoof et al)

**URL:** <https://forums.swift.org/t/swift-library-for-icu-uspoof-et-al/69325>\
**Category:** Discussion\
**Tags:** unicode, icu\
**Created:** [January 8, 2024, 6:06am UTC](https://forums.swift.org/t/swift-library-for-icu-uspoof-et-al/69325 "2024-01-08T06:06:10Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![sspringer](https://avatars.discourse-cdn.com/v4/letter/s/e9c0ed/32.png) [@sspringer](https://forums.swift.org/u/sspringer)\
**Post date:** [January 8, 2024, 10:42am UTC](https://forums.swift.org/t/swift-library-for-icu-uspoof-et-al/69325/2 "2024-01-08T10:42:14Z")

</div>

> [@Pitch: Unicode Processing APIs](https://forums.swift.org/t/pitch-unicode-processing-apis/69294/9):
>
> > [@Pitch: Unicode Processing APIs](https://forums.swift.org/t/pitch-unicode-processing-apis/69294/9):
> >
> > IMO, the best approach would be to use machine learning. If you search around, you'll find a fair amount of recent academic literature on the topic - it is promising, and there is evidence that it is being further developed with a view to possible production use.
> 
> I actually _did_ look around for this, and found only a handful of meaningful papers …

Well, wouldn‘t you just have to try to recognize e.g. diacritic letters (there is an according [ICU property](https://unicode-org.github.io/icu/userguide/strings/properties.html)) by a “classical” character recognition model trained with non-diacritic letters? Even the general task of finding similar looking characters should easily be implemented (one might search for a model or algorithm tested with the [MPEG 7 dataset](https://dabi.temple.edu/external/shape/MPEG7/dataset.html)). The character images should be available from the Unicode website.

**Update:** Hmm. After some re-thinking I guess some other tool for recognizing similar shapes might fail. Also if you would really like to compare all characters, you need to compare 100000 images every second to finish after 3 days. But for recognizing a faking of latin characters, the first idea could work (you might try to recognize all characters).

**Update 2:** …But in addition, beware of combining characters.

---

_[View the full topic](https://forums.swift.org/t/swift-library-for-icu-uspoof-et-al/69325)._
