gopkg.in/alecthomas/gometalinter.v3@v3.0.0/_linters/src/golang.org/x/text/width/gen_trieval.go (about)

     1  // Copyright 2015 The Go Authors. All rights reserved.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  // +build ignore
     6  
     7  package main
     8  
     9  // elem is an entry of the width trie. The high byte is used to encode the type
    10  // of the rune. The low byte is used to store the index to a mapping entry in
    11  // the inverseData array.
    12  type elem uint16
    13  
    14  const (
    15  	tagNeutral elem = iota << typeShift
    16  	tagAmbiguous
    17  	tagWide
    18  	tagNarrow
    19  	tagFullwidth
    20  	tagHalfwidth
    21  )
    22  
    23  const (
    24  	numTypeBits = 3
    25  	typeShift   = 16 - numTypeBits
    26  
    27  	// tagNeedsFold is true for all fullwidth and halfwidth runes except for
    28  	// the Won sign U+20A9.
    29  	tagNeedsFold = 0x1000
    30  
    31  	// The Korean Won sign is halfwidth, but SHOULD NOT be mapped to a wide
    32  	// variant.
    33  	wonSign rune = 0x20A9
    34  )