only need to dupe string for zalgo if zerowidth present

This commit is contained in:
Ted Unangst 2019-04-25 10:59:57 -04:00
parent dd522b8243
commit 49d1574575
1 changed files with 20 additions and 9 deletions

View File

@ -70,19 +70,30 @@ func unpucker(s string) string {
return string(x)
}
s = re_alltheshitz.ReplaceAllStringFunc(s, fixer)
x := make([]byte, 0, len(s))
zw := false
for _, c := range s {
if runewidth.RuneWidth(c) == 0 {
if zw {
continue
}
zw = true
} else {
zw = false
break
}
q := string(c)
x = append(x, []byte(q)...)
}
return string(x)
if zw {
x := make([]byte, 0, len(s))
zw = false
for _, c := range s {
if runewidth.RuneWidth(c) == 0 {
if zw {
continue
}
zw = true
} else {
zw = false
}
q := string(c)
x = append(x, []byte(q)...)
}
return string(x)
}
return s
}