# Watched Words Improvement -- similar looking unicode characters

**URL:** https://meta.discourse.org/t/watched-words-improvement-similar-looking-unicode-characters/124864
**Category:** Feature
**Created:** [August 5, 2019, 3:00am UTC](https://meta.discourse.org/t/watched-words-improvement-similar-looking-unicode-characters/124864 "2019-08-05T03:00:09Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![markersocial](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/markersocial/32/170136_2.png) [@markersocial](https://meta.discourse.org/u/markersocial)
#### Post date: [August 5, 2019, 3:00am UTC](https://meta.discourse.org/t/watched-words-improvement-similar-looking-unicode-characters/124864/1 "2019-08-05T03:00:09Z")

</div>

For watched words, I think it could be improved if similar unicode characters also matched.

For example:  
abcabcabc  
𝘢𝘣𝘤𝘢𝘣𝘤𝘢𝘣𝘤  
𝒂𝒃𝒄𝒂𝒃𝒄𝒂𝒃𝒄  
ab𝘤𝘢𝘣𝒄𝒂𝒃𝒄

Essentially allows spammers to have a lot of variations of the same words to circumvent the word filter. I’ve been getting hammered by crafty motivated spammers so they’ve really been pushing Discourse’s anti-spam features to the absolute limit. This is one of the techniques they’re using.

Perhaps this could be useful: [GitHub - janlelis/unicode-confusable: Unicode::Confusable.confusable? "ℜսᖯʏ", "Ruby" · GitHub](https://github.com/janlelis/unicode-confusable)

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [August 5, 2019, 3:07am UTC](https://meta.discourse.org/t/watched-words-improvement-similar-looking-unicode-characters/124864/2 "2019-08-05T03:07:35Z")

</div>

That’s not “font” that is a different set of unicode characters.

---

<div class="post-metadata">

### Author: ![markersocial](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/markersocial/32/170136_2.png) [@markersocial](https://meta.discourse.org/u/markersocial)
#### Post date: [August 5, 2019, 3:17am UTC](https://meta.discourse.org/t/watched-words-improvement-similar-looking-unicode-characters/124864/3 "2019-08-05T03:17:02Z")

</div>

Ah my bad, thanks for the correction. Updated the post.

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [August 5, 2019, 4:00am UTC](https://meta.discourse.org/t/watched-words-improvement-similar-looking-unicode-characters/124864/4 "2019-08-05T04:00:07Z")

</div>

Unlikely, as that kind of unicode “looks like” matching is _extremely_ expensive in CPU time and also very finicky to get right, because who decides what “looks like” something else? 🤔

I suggest you should consider other methods of dealing with these spammers.

In the meantime, just add common variations of spam terms as needed in different unicode characters.
