diff --git a/internal/util/unicode.go b/internal/util/unicode.go index d5a4d022..f1bb9896 100644 --- a/internal/util/unicode.go +++ b/internal/util/unicode.go @@ -16,17 +16,6 @@ import ( // For rendering, micro will display the combining characters. It's not perfect // but it's pretty good. -// combining character range table -var combining = &unicode.RangeTable{ - R16: []unicode.Range16{ - {0x0300, 0x036f, 1}, // combining diacritical marks - {0x1ab0, 0x1aff, 1}, // combining diacritical marks extended - {0x1dc0, 0x1dff, 1}, // combining diacritical marks supplement - {0x20d0, 0x20ff, 1}, // combining diacritical marks for symbols - {0xfe20, 0xfe2f, 1}, // combining half marks - }, -} - // DecodeCharacter returns the next character from an array of bytes // A character is a rune along with any accompanying combining runes func DecodeCharacter(b []byte) (rune, []rune, int) { @@ -35,7 +24,7 @@ func DecodeCharacter(b []byte) (rune, []rune, int) { c, s := utf8.DecodeRune(b) var combc []rune - for unicode.In(c, combining) { + for unicode.In(c, unicode.Mark) { combc = append(combc, c) size += s @@ -54,7 +43,7 @@ func DecodeCharacterInString(str string) (rune, []rune, int) { c, s := utf8.DecodeRuneInString(str) var combc []rune - for unicode.In(c, combining) { + for unicode.In(c, unicode.Mark) { combc = append(combc, c) size += s @@ -72,7 +61,7 @@ func CharacterCount(b []byte) int { for len(b) > 0 { r, size := utf8.DecodeRune(b) - if !unicode.In(r, combining) { + if !unicode.In(r, unicode.Mark) { s++ } @@ -88,7 +77,7 @@ func CharacterCountInString(str string) int { s := 0 for _, r := range str { - if !unicode.In(r, combining) { + if !unicode.In(r, unicode.Mark) { s++ } } diff --git a/pkg/highlight/unicode.go b/pkg/highlight/unicode.go index eea53e53..646c2eec 100644 --- a/pkg/highlight/unicode.go +++ b/pkg/highlight/unicode.go @@ -5,17 +5,6 @@ import ( "unicode/utf8" ) -// combining character range table -var combining = &unicode.RangeTable{ - R16: []unicode.Range16{ - {0x0300, 0x036f, 1}, // combining diacritical marks - {0x1ab0, 0x1aff, 1}, // combining diacritical marks extended - {0x1dc0, 0x1dff, 1}, // combining diacritical marks supplement - {0x20d0, 0x20ff, 1}, // combining diacritical marks for symbols - {0xfe20, 0xfe2f, 1}, // combining half marks - }, -} - // DecodeCharacter returns the next character from an array of bytes // A character is a rune along with any accompanying combining runes func DecodeCharacter(b []byte) (rune, []rune, int) { @@ -24,7 +13,7 @@ func DecodeCharacter(b []byte) (rune, []rune, int) { c, s := utf8.DecodeRune(b) var combc []rune - for unicode.In(c, combining) { + for unicode.In(c, unicode.Mark) { combc = append(combc, c) size += s @@ -43,7 +32,7 @@ func DecodeCharacterInString(str string) (rune, []rune, int) { c, s := utf8.DecodeRuneInString(str) var combc []rune - for unicode.In(c, combining) { + for unicode.In(c, unicode.Mark) { combc = append(combc, c) size += s @@ -61,7 +50,7 @@ func CharacterCount(b []byte) int { for len(b) > 0 { r, size := utf8.DecodeRune(b) - if !unicode.In(r, combining) { + if !unicode.In(r, unicode.Mark) { s++ } @@ -77,7 +66,7 @@ func CharacterCountInString(str string) int { s := 0 for _, r := range str { - if !unicode.In(r, combining) { + if !unicode.In(r, unicode.Mark) { s++ } }