Source File
width.go
Belonging Package
golang.org/x/text/width
package width // import "golang.org/x/text/width"
import (
)
)
var trie = newWidthTrie(0)
func ( []byte) ( Properties, int) {
, := trie.lookup()
return Properties{elem(), [-1]},
}
func ( string) ( Properties, int) {
, := trie.lookupString()
return Properties{elem(), [-1]},
}
func ( rune) Properties {
var [4]byte
:= utf8.EncodeRune([:], )
, := trie.lookup([:])
:= byte()
if >= utf8.RuneSelf {
= 0x80 + byte(&0x3f)
}
return Properties{elem(), }
}
func ( Properties) () Kind {
return .elem.kind()
}
func ( Properties) () rune {
if .elem&tagNeedsFold != 0 {
:= inverseData[byte(.elem)]
[[0]] ^= .last
, := utf8.DecodeRune([1 : 1+[0]])
return
}
return 0
}
func ( Properties) () rune {
if := .elem.kind(); byte(.elem) != 0 && ( == EastAsianFullwidth || == EastAsianWide || == EastAsianAmbiguous) {
:= inverseData[byte(.elem)]
[[0]] ^= .last
, := utf8.DecodeRune([1 : 1+[0]])
return
}
return 0
}
func ( Properties) () rune {
if := .elem.kind(); byte(.elem) != 0 && ( == EastAsianHalfwidth || == EastAsianNarrow) {
:= inverseData[byte(.elem)]
[[0]] ^= .last
, := utf8.DecodeRune([1 : 1+[0]])
return
}
return 0
}
type Transformer struct {
t transform.SpanningTransformer
}
func ( Transformer) () { .t.Reset() }
func ( Transformer) ( []byte) []byte {
, _, _ = transform.Bytes(, )
return
}
func ( Transformer) ( string) string {
, _, _ = transform.String(, )
return
}
![]() |
The pages are generated with Golds v0.3.2-preview. (GOOS=darwin GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @Go100and1 (reachable from the left QR code) to get the latest news of Golds. |