File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -52,8 +52,15 @@ var quotesList = []Quote{
5252 {Text : "Information wants to be free." , Author : "Stewart Brand" },
5353}
5454
55- // Character set matching JS RETICLE_CHARS — 20 katakana + 16 hex digits.
56- var matrixChars = []rune ("アイウエオカキクケコサシスセソタチツテト0123456789ABCDEF" )
55+ // charSets contains alternate character sets for the reticle animation.
56+ // One is chosen at random each run.
57+ var charSets = [][]rune {
58+ []rune ("アイウエオカキクケコサシスセソタチツテト0123456789ABCDEF" ), // Katakana
59+ []rune ("АБВГДЕЖЗИКЛМНОПРСТУФ0123456789ABCDEF" ), // Cyrillic
60+ []rune ("ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥ0123456789ABCDEF" ), // Greek
61+ }
62+
63+ var matrixChars []rune
5764
5865const (
5966 reticleWidth = 80
@@ -89,11 +96,14 @@ type reticleChar struct {
8996var reticleChars []reticleChar
9097
9198func init () {
99+ matrixChars = charSets [mathrand .Intn (len (charSets ))] // #nosec G404 -- decorative
92100 reticleChars = generateReticle ()
93101}
94102
95103func isWide (r rune ) bool {
96- return r >= 0x30A0 && r <= 0x30FF
104+ return (r >= 0x30A0 && r <= 0x30FF ) || // Katakana
105+ (r >= 0x4E00 && r <= 0x9FFF ) || // CJK
106+ (r >= 0xAC00 && r <= 0xD7AF ) // Hangul
97107}
98108
99109func visibleWidth (s string ) int {
You can’t perform that action at this time.
0 commit comments