diff --git a/skulduggery.go b/skulduggery.go index fded8c3..d39f74f 100644 --- a/skulduggery.go +++ b/skulduggery.go @@ -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 }