����
One Hat Cyber Team
One Hat Cyber Team
Your IP :
3.16.215.186
Server IP :
104.21.80.1
Server :
Linux in-mum-web1337.main-hosting.eu 4.18.0-553.34.1.lve.el8.x86_64 #1 SMP Thu Jan 9 16:30:32 UTC 2025 x86_64
Server Software :
LiteSpeed
PHP Version :
5.6.40
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
opt
/
golang
/
1.19.4
/
src
/
unicode
/
View File Name :
graphic.go
// Copyright 2011 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package unicode // Bit masks for each code point under U+0100, for fast lookup. const ( pC = 1 << iota // a control character. pP // a punctuation character. pN // a numeral. pS // a symbolic character. pZ // a spacing character. pLu // an upper-case letter. pLl // a lower-case letter. pp // a printable character according to Go's definition. pg = pp | pZ // a graphical character according to the Unicode definition. pLo = pLl | pLu // a letter that is neither upper nor lower case. pLmask = pLo ) // GraphicRanges defines the set of graphic characters according to Unicode. var GraphicRanges = []*RangeTable{ L, M, N, P, S, Zs, } // PrintRanges defines the set of printable characters according to Go. // ASCII space, U+0020, is handled separately. var PrintRanges = []*RangeTable{ L, M, N, P, S, } // IsGraphic reports whether the rune is defined as a Graphic by Unicode. // Such characters include letters, marks, numbers, punctuation, symbols, and // spaces, from categories L, M, N, P, S, Zs. func IsGraphic(r rune) bool { // We convert to uint32 to avoid the extra test for negative, // and in the index we convert to uint8 to avoid the range check. if uint32(r) <= MaxLatin1 { return properties[uint8(r)]&pg != 0 } return In(r, GraphicRanges...) } // IsPrint reports whether the rune is defined as printable by Go. Such // characters include letters, marks, numbers, punctuation, symbols, and the // ASCII space character, from categories L, M, N, P, S and the ASCII space // character. This categorization is the same as IsGraphic except that the // only spacing character is ASCII space, U+0020. func IsPrint(r rune) bool { if uint32(r) <= MaxLatin1 { return properties[uint8(r)]&pp != 0 } return In(r, PrintRanges...) } // IsOneOf reports whether the rune is a member of one of the ranges. // The function "In" provides a nicer signature and should be used in preference to IsOneOf. func IsOneOf(ranges []*RangeTable, r rune) bool { for _, inside := range ranges { if Is(inside, r) { return true } } return false } // In reports whether the rune is a member of one of the ranges. func In(r rune, ranges ...*RangeTable) bool { for _, inside := range ranges { if Is(inside, r) { return true } } return false } // IsControl reports whether the rune is a control character. // The C (Other) Unicode category includes more code points // such as surrogates; use Is(C, r) to test for them. func IsControl(r rune) bool { if uint32(r) <= MaxLatin1 { return properties[uint8(r)]&pC != 0 } // All control characters are < MaxLatin1. return false } // IsLetter reports whether the rune is a letter (category L). func IsLetter(r rune) bool { if uint32(r) <= MaxLatin1 { return properties[uint8(r)]&(pLmask) != 0 } return isExcludingLatin(Letter, r) } // IsMark reports whether the rune is a mark character (category M). func IsMark(r rune) bool { // There are no mark characters in Latin-1. return isExcludingLatin(Mark, r) } // IsNumber reports whether the rune is a number (category N). func IsNumber(r rune) bool { if uint32(r) <= MaxLatin1 { return properties[uint8(r)]&pN != 0 } return isExcludingLatin(Number, r) } // IsPunct reports whether the rune is a Unicode punctuation character // (category P). func IsPunct(r rune) bool { if uint32(r) <= MaxLatin1 { return properties[uint8(r)]&pP != 0 } return Is(Punct, r) } // IsSpace reports whether the rune is a space character as defined // by Unicode's White Space property; in the Latin-1 space // this is // // '\t', '\n', '\v', '\f', '\r', ' ', U+0085 (NEL), U+00A0 (NBSP). // // Other definitions of spacing characters are set by category // Z and property Pattern_White_Space. func IsSpace(r rune) bool { // This property isn't the same as Z; special-case it. if uint32(r) <= MaxLatin1 { switch r { case '\t', '\n', '\v', '\f', '\r', ' ', 0x85, 0xA0: return true } return false } return isExcludingLatin(White_Space, r) } // IsSymbol reports whether the rune is a symbolic character. func IsSymbol(r rune) bool { if uint32(r) <= MaxLatin1 { return properties[uint8(r)]&pS != 0 } return isExcludingLatin(Symbol, r) }