mirror of https://github.com/docker/cli.git
Merge pull request #2589 from thaJeztah/19.03_backport_bump_x_text
[19.03 backport] vendor: golang.org/x/text v0.3.3 (CVE-2020-14040)
This commit is contained in:
commit
8e7ff60ee1
|
@ -84,7 +84,7 @@ golang.org/x/net eb5bcb51f2a31c7d5141d810b708
|
||||||
golang.org/x/oauth2 ef147856a6ddbb60760db74283d2424e98c87bff
|
golang.org/x/oauth2 ef147856a6ddbb60760db74283d2424e98c87bff
|
||||||
golang.org/x/sync e225da77a7e68af35c70ccbf71af2b83e6acac3c
|
golang.org/x/sync e225da77a7e68af35c70ccbf71af2b83e6acac3c
|
||||||
golang.org/x/sys 4b34438f7a67ee5f45cc6132e2bad873a20324e9
|
golang.org/x/sys 4b34438f7a67ee5f45cc6132e2bad873a20324e9
|
||||||
golang.org/x/text f21a4dfb5e38f5895301dc265a8def02365cc3d0 # v0.3.0
|
golang.org/x/text 23ae387dee1f90d29a23c0e87ee0b46038fbed0e # v0.3.3
|
||||||
golang.org/x/time fbb02b2291d28baffd63558aa44b4b56f178d650
|
golang.org/x/time fbb02b2291d28baffd63558aa44b4b56f178d650
|
||||||
google.golang.org/genproto 02b4e95473316948020af0b7a4f0f22c73929b0e
|
google.golang.org/genproto 02b4e95473316948020af0b7a4f0f22c73929b0e
|
||||||
google.golang.org/grpc 39e8a7b072a67ca2a75f57fa2e0d50995f5b22f6 # v1.23.1
|
google.golang.org/grpc 39e8a7b072a67ca2a75f57fa2e0d50995f5b22f6 # v1.23.1
|
||||||
|
|
|
@ -66,7 +66,7 @@ To update a Unicode version run
|
||||||
|
|
||||||
UNICODE_VERSION=x.x.x go generate
|
UNICODE_VERSION=x.x.x go generate
|
||||||
|
|
||||||
where `x.x.x` must correspond to a directory in http://www.unicode.org/Public/.
|
where `x.x.x` must correspond to a directory in https://www.unicode.org/Public/.
|
||||||
If this version is newer than the version in core it will also update the
|
If this version is newer than the version in core it will also update the
|
||||||
relevant packages there. The idna package in x/net will always be updated.
|
relevant packages there. The idna package in x/net will always be updated.
|
||||||
|
|
||||||
|
@ -75,7 +75,7 @@ To update a CLDR version run
|
||||||
CLDR_VERSION=version go generate
|
CLDR_VERSION=version go generate
|
||||||
|
|
||||||
where `version` must correspond to a directory in
|
where `version` must correspond to a directory in
|
||||||
http://www.unicode.org/Public/cldr/.
|
https://www.unicode.org/Public/cldr/.
|
||||||
|
|
||||||
Note that the code gets adapted over time to changes in the data and that
|
Note that the code gets adapted over time to changes in the data and that
|
||||||
backwards compatibility is not maintained.
|
backwards compatibility is not maintained.
|
||||||
|
@ -89,5 +89,5 @@ This repository uses Gerrit for code changes. To learn how to submit changes to
|
||||||
this repository, see https://golang.org/doc/contribute.html.
|
this repository, see https://golang.org/doc/contribute.html.
|
||||||
|
|
||||||
The main issue tracker for the image repository is located at
|
The main issue tracker for the image repository is located at
|
||||||
https://github.com/golang/go/issues. Prefix your issue with "x/image:" in the
|
https://github.com/golang/go/issues. Prefix your issue with "x/text:" in the
|
||||||
subject line, so it is easy to find.
|
subject line, so it is easy to find.
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
module golang.org/x/text
|
||||||
|
|
||||||
|
require golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e
|
||||||
|
|
||||||
|
go 1.11
|
|
@ -78,8 +78,8 @@ type SpanningTransformer interface {
|
||||||
// considering the error err.
|
// considering the error err.
|
||||||
//
|
//
|
||||||
// A nil error means that all input bytes are known to be identical to the
|
// A nil error means that all input bytes are known to be identical to the
|
||||||
// output produced by the Transformer. A nil error can be be returned
|
// output produced by the Transformer. A nil error can be returned
|
||||||
// regardless of whether atEOF is true. If err is nil, then then n must
|
// regardless of whether atEOF is true. If err is nil, then n must
|
||||||
// equal len(src); the converse is not necessarily true.
|
// equal len(src); the converse is not necessarily true.
|
||||||
//
|
//
|
||||||
// ErrEndOfSpan means that the Transformer output may differ from the
|
// ErrEndOfSpan means that the Transformer output may differ from the
|
||||||
|
@ -493,7 +493,7 @@ func (c *chain) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err erro
|
||||||
return dstL.n, srcL.p, err
|
return dstL.n, srcL.p, err
|
||||||
}
|
}
|
||||||
|
|
||||||
// Deprecated: use runes.Remove instead.
|
// Deprecated: Use runes.Remove instead.
|
||||||
func RemoveFunc(f func(r rune) bool) Transformer {
|
func RemoveFunc(f func(r rune) bool) Transformer {
|
||||||
return removeF(f)
|
return removeF(f)
|
||||||
}
|
}
|
||||||
|
@ -648,7 +648,8 @@ func String(t Transformer, s string) (result string, n int, err error) {
|
||||||
// Transform the remaining input, growing dst and src buffers as necessary.
|
// Transform the remaining input, growing dst and src buffers as necessary.
|
||||||
for {
|
for {
|
||||||
n := copy(src, s[pSrc:])
|
n := copy(src, s[pSrc:])
|
||||||
nDst, nSrc, err := t.Transform(dst[pDst:], src[:n], pSrc+n == len(s))
|
atEOF := pSrc+n == len(s)
|
||||||
|
nDst, nSrc, err := t.Transform(dst[pDst:], src[:n], atEOF)
|
||||||
pDst += nDst
|
pDst += nDst
|
||||||
pSrc += nSrc
|
pSrc += nSrc
|
||||||
|
|
||||||
|
@ -659,6 +660,9 @@ func String(t Transformer, s string) (result string, n int, err error) {
|
||||||
dst = grow(dst, pDst)
|
dst = grow(dst, pDst)
|
||||||
}
|
}
|
||||||
} else if err == ErrShortSrc {
|
} else if err == ErrShortSrc {
|
||||||
|
if atEOF {
|
||||||
|
return string(dst[:pDst]), pSrc, err
|
||||||
|
}
|
||||||
if nSrc == 0 {
|
if nSrc == 0 {
|
||||||
src = grow(src, 0)
|
src = grow(src, 0)
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
|
|
||||||
// Package bidi contains functionality for bidirectional text support.
|
// Package bidi contains functionality for bidirectional text support.
|
||||||
//
|
//
|
||||||
// See http://www.unicode.org/reports/tr9.
|
// See https://www.unicode.org/reports/tr9.
|
||||||
//
|
//
|
||||||
// NOTE: UNDER CONSTRUCTION. This API may change in backwards incompatible ways
|
// NOTE: UNDER CONSTRUCTION. This API may change in backwards incompatible ways
|
||||||
// and without notice.
|
// and without notice.
|
||||||
|
|
|
@ -12,7 +12,7 @@ import (
|
||||||
|
|
||||||
// This file contains a port of the reference implementation of the
|
// This file contains a port of the reference implementation of the
|
||||||
// Bidi Parentheses Algorithm:
|
// Bidi Parentheses Algorithm:
|
||||||
// http://www.unicode.org/Public/PROGRAMS/BidiReferenceJava/BidiPBAReference.java
|
// https://www.unicode.org/Public/PROGRAMS/BidiReferenceJava/BidiPBAReference.java
|
||||||
//
|
//
|
||||||
// The implementation in this file covers definitions BD14-BD16 and rule N0
|
// The implementation in this file covers definitions BD14-BD16 and rule N0
|
||||||
// of UAX#9.
|
// of UAX#9.
|
||||||
|
@ -246,7 +246,7 @@ func (p *bracketPairer) getStrongTypeN0(index int) Class {
|
||||||
// assuming the given embedding direction.
|
// assuming the given embedding direction.
|
||||||
//
|
//
|
||||||
// It returns ON if no strong type is found. If a single strong type is found,
|
// It returns ON if no strong type is found. If a single strong type is found,
|
||||||
// it returns this this type. Otherwise it returns the embedding direction.
|
// it returns this type. Otherwise it returns the embedding direction.
|
||||||
//
|
//
|
||||||
// TODO: use separate type for "strong" directionality.
|
// TODO: use separate type for "strong" directionality.
|
||||||
func (p *bracketPairer) classifyPairContent(loc bracketPair, dirEmbed Class) Class {
|
func (p *bracketPairer) classifyPairContent(loc bracketPair, dirEmbed Class) Class {
|
||||||
|
|
|
@ -7,7 +7,7 @@ package bidi
|
||||||
import "log"
|
import "log"
|
||||||
|
|
||||||
// This implementation is a port based on the reference implementation found at:
|
// This implementation is a port based on the reference implementation found at:
|
||||||
// http://www.unicode.org/Public/PROGRAMS/BidiReferenceJava/
|
// https://www.unicode.org/Public/PROGRAMS/BidiReferenceJava/
|
||||||
//
|
//
|
||||||
// described in Unicode Bidirectional Algorithm (UAX #9).
|
// described in Unicode Bidirectional Algorithm (UAX #9).
|
||||||
//
|
//
|
||||||
|
@ -480,15 +480,15 @@ func (s *isolatingRunSequence) resolveWeakTypes() {
|
||||||
|
|
||||||
// Rule W1.
|
// Rule W1.
|
||||||
// Changes all NSMs.
|
// Changes all NSMs.
|
||||||
preceedingCharacterType := s.sos
|
precedingCharacterType := s.sos
|
||||||
for i, t := range s.types {
|
for i, t := range s.types {
|
||||||
if t == NSM {
|
if t == NSM {
|
||||||
s.types[i] = preceedingCharacterType
|
s.types[i] = precedingCharacterType
|
||||||
} else {
|
} else {
|
||||||
if t.in(LRI, RLI, FSI, PDI) {
|
if t.in(LRI, RLI, FSI, PDI) {
|
||||||
preceedingCharacterType = ON
|
precedingCharacterType = ON
|
||||||
}
|
}
|
||||||
preceedingCharacterType = t
|
precedingCharacterType = t
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
|
// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
|
||||||
|
|
||||||
// +build go1.10
|
// +build go1.10,!go1.13
|
||||||
|
|
||||||
package bidi
|
package bidi
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -407,7 +407,7 @@ func decomposeHangul(buf []byte, r rune) int {
|
||||||
|
|
||||||
// decomposeHangul algorithmically decomposes a Hangul rune into
|
// decomposeHangul algorithmically decomposes a Hangul rune into
|
||||||
// its Jamo components.
|
// its Jamo components.
|
||||||
// See http://unicode.org/reports/tr15/#Hangul for details on decomposing Hangul.
|
// See https://unicode.org/reports/tr15/#Hangul for details on decomposing Hangul.
|
||||||
func (rb *reorderBuffer) decomposeHangul(r rune) {
|
func (rb *reorderBuffer) decomposeHangul(r rune) {
|
||||||
r -= hangulBase
|
r -= hangulBase
|
||||||
x := r % jamoTCount
|
x := r % jamoTCount
|
||||||
|
@ -420,7 +420,7 @@ func (rb *reorderBuffer) decomposeHangul(r rune) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// combineHangul algorithmically combines Jamo character components into Hangul.
|
// combineHangul algorithmically combines Jamo character components into Hangul.
|
||||||
// See http://unicode.org/reports/tr15/#Hangul for details on combining Hangul.
|
// See https://unicode.org/reports/tr15/#Hangul for details on combining Hangul.
|
||||||
func (rb *reorderBuffer) combineHangul(s, i, k int) {
|
func (rb *reorderBuffer) combineHangul(s, i, k int) {
|
||||||
b := rb.rune[:]
|
b := rb.rune[:]
|
||||||
bn := rb.nrune
|
bn := rb.nrune
|
||||||
|
@ -461,6 +461,10 @@ func (rb *reorderBuffer) combineHangul(s, i, k int) {
|
||||||
// It should only be used to recompose a single segment, as it will not
|
// It should only be used to recompose a single segment, as it will not
|
||||||
// handle alternations between Hangul and non-Hangul characters correctly.
|
// handle alternations between Hangul and non-Hangul characters correctly.
|
||||||
func (rb *reorderBuffer) compose() {
|
func (rb *reorderBuffer) compose() {
|
||||||
|
// Lazily load the map used by the combine func below, but do
|
||||||
|
// it outside of the loop.
|
||||||
|
recompMapOnce.Do(buildRecompMap)
|
||||||
|
|
||||||
// UAX #15, section X5 , including Corrigendum #5
|
// UAX #15, section X5 , including Corrigendum #5
|
||||||
// "In any character sequence beginning with starter S, a character C is
|
// "In any character sequence beginning with starter S, a character C is
|
||||||
// blocked from S if and only if there is some character B between S
|
// blocked from S if and only if there is some character B between S
|
||||||
|
|
|
@ -4,6 +4,8 @@
|
||||||
|
|
||||||
package norm
|
package norm
|
||||||
|
|
||||||
|
import "encoding/binary"
|
||||||
|
|
||||||
// This file contains Form-specific logic and wrappers for data in tables.go.
|
// This file contains Form-specific logic and wrappers for data in tables.go.
|
||||||
|
|
||||||
// Rune info is stored in a separate trie per composing form. A composing form
|
// Rune info is stored in a separate trie per composing form. A composing form
|
||||||
|
@ -178,6 +180,17 @@ func (p Properties) TrailCCC() uint8 {
|
||||||
return ccc[p.tccc]
|
return ccc[p.tccc]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func buildRecompMap() {
|
||||||
|
recompMap = make(map[uint32]rune, len(recompMapPacked)/8)
|
||||||
|
var buf [8]byte
|
||||||
|
for i := 0; i < len(recompMapPacked); i += 8 {
|
||||||
|
copy(buf[:], recompMapPacked[i:i+8])
|
||||||
|
key := binary.BigEndian.Uint32(buf[:4])
|
||||||
|
val := binary.BigEndian.Uint32(buf[4:])
|
||||||
|
recompMap[key] = rune(val)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Recomposition
|
// Recomposition
|
||||||
// We use 32-bit keys instead of 64-bit for the two codepoint keys.
|
// We use 32-bit keys instead of 64-bit for the two codepoint keys.
|
||||||
// This clips off the bits of three entries, but we know this will not
|
// This clips off the bits of three entries, but we know this will not
|
||||||
|
@ -186,8 +199,14 @@ func (p Properties) TrailCCC() uint8 {
|
||||||
// Note that the recomposition map for NFC and NFKC are identical.
|
// Note that the recomposition map for NFC and NFKC are identical.
|
||||||
|
|
||||||
// combine returns the combined rune or 0 if it doesn't exist.
|
// combine returns the combined rune or 0 if it doesn't exist.
|
||||||
|
//
|
||||||
|
// The caller is responsible for calling
|
||||||
|
// recompMapOnce.Do(buildRecompMap) sometime before this is called.
|
||||||
func combine(a, b rune) rune {
|
func combine(a, b rune) rune {
|
||||||
key := uint32(uint16(a))<<16 + uint32(uint16(b))
|
key := uint32(uint16(a))<<16 + uint32(uint16(b))
|
||||||
|
if recompMap == nil {
|
||||||
|
panic("caller error") // see func comment
|
||||||
|
}
|
||||||
return recompMap[key]
|
return recompMap[key]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -128,8 +128,9 @@ func (i *Iter) Next() []byte {
|
||||||
func nextASCIIBytes(i *Iter) []byte {
|
func nextASCIIBytes(i *Iter) []byte {
|
||||||
p := i.p + 1
|
p := i.p + 1
|
||||||
if p >= i.rb.nsrc {
|
if p >= i.rb.nsrc {
|
||||||
|
p0 := i.p
|
||||||
i.setDone()
|
i.setDone()
|
||||||
return i.rb.src.bytes[i.p:p]
|
return i.rb.src.bytes[p0:p]
|
||||||
}
|
}
|
||||||
if i.rb.src.bytes[p] < utf8.RuneSelf {
|
if i.rb.src.bytes[p] < utf8.RuneSelf {
|
||||||
p0 := i.p
|
p0 := i.p
|
||||||
|
|
|
@ -29,8 +29,8 @@ import (
|
||||||
// proceed independently on both sides:
|
// proceed independently on both sides:
|
||||||
// f(x) == append(f(x[0:n]), f(x[n:])...)
|
// f(x) == append(f(x[0:n]), f(x[n:])...)
|
||||||
//
|
//
|
||||||
// References: http://unicode.org/reports/tr15/ and
|
// References: https://unicode.org/reports/tr15/ and
|
||||||
// http://unicode.org/notes/tn5/.
|
// https://unicode.org/notes/tn5/.
|
||||||
type Form int
|
type Form int
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
|
|
@ -60,8 +60,8 @@ func (w *normWriter) Close() error {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Writer returns a new writer that implements Write(b)
|
// Writer returns a new writer that implements Write(b)
|
||||||
// by writing f(b) to w. The returned writer may use an
|
// by writing f(b) to w. The returned writer may use an
|
||||||
// an internal buffer to maintain state across Write calls.
|
// internal buffer to maintain state across Write calls.
|
||||||
// Calling its Close method writes any buffered data to w.
|
// Calling its Close method writes any buffered data to w.
|
||||||
func (f Form) Writer(w io.Writer) io.WriteCloser {
|
func (f Form) Writer(w io.Writer) io.WriteCloser {
|
||||||
wr := &normWriter{rb: reorderBuffer{}, w: w}
|
wr := &normWriter{rb: reorderBuffer{}, w: w}
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -18,7 +18,6 @@ func (Form) Reset() {}
|
||||||
// Users should either catch ErrShortDst and allow dst to grow or have dst be at
|
// Users should either catch ErrShortDst and allow dst to grow or have dst be at
|
||||||
// least of size MaxTransformChunkSize to be guaranteed of progress.
|
// least of size MaxTransformChunkSize to be guaranteed of progress.
|
||||||
func (f Form) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) {
|
func (f Form) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) {
|
||||||
n := 0
|
|
||||||
// Cap the maximum number of src bytes to check.
|
// Cap the maximum number of src bytes to check.
|
||||||
b := src
|
b := src
|
||||||
eof := atEOF
|
eof := atEOF
|
||||||
|
@ -27,13 +26,14 @@ func (f Form) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error)
|
||||||
eof = false
|
eof = false
|
||||||
b = b[:ns]
|
b = b[:ns]
|
||||||
}
|
}
|
||||||
i, ok := formTable[f].quickSpan(inputBytes(b), n, len(b), eof)
|
i, ok := formTable[f].quickSpan(inputBytes(b), 0, len(b), eof)
|
||||||
n += copy(dst[n:], b[n:i])
|
n := copy(dst, b[:i])
|
||||||
if !ok {
|
if !ok {
|
||||||
nDst, nSrc, err = f.transform(dst[n:], src[n:], atEOF)
|
nDst, nSrc, err = f.transform(dst[n:], src[n:], atEOF)
|
||||||
return nDst + n, nSrc + n, err
|
return nDst + n, nSrc + n, err
|
||||||
}
|
}
|
||||||
if n < len(src) && !atEOF {
|
|
||||||
|
if err == nil && n < len(src) && !atEOF {
|
||||||
err = transform.ErrShortSrc
|
err = transform.ErrShortSrc
|
||||||
}
|
}
|
||||||
return n, n, err
|
return n, n, err
|
||||||
|
@ -79,7 +79,7 @@ func (f Form) transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error)
|
||||||
nSrc += n
|
nSrc += n
|
||||||
nDst += n
|
nDst += n
|
||||||
if ok {
|
if ok {
|
||||||
if n < rb.nsrc && !atEOF {
|
if err == nil && n < rb.nsrc && !atEOF {
|
||||||
err = transform.ErrShortSrc
|
err = transform.ErrShortSrc
|
||||||
}
|
}
|
||||||
return nDst, nSrc, err
|
return nDst, nSrc, err
|
||||||
|
|
|
@ -2,7 +2,19 @@
|
||||||
|
|
||||||
package width
|
package width
|
||||||
|
|
||||||
import "fmt"
|
import "strconv"
|
||||||
|
|
||||||
|
func _() {
|
||||||
|
// An "invalid array index" compiler error signifies that the constant values have changed.
|
||||||
|
// Re-run the stringer command to generate them again.
|
||||||
|
var x [1]struct{}
|
||||||
|
_ = x[Neutral-0]
|
||||||
|
_ = x[EastAsianAmbiguous-1]
|
||||||
|
_ = x[EastAsianWide-2]
|
||||||
|
_ = x[EastAsianNarrow-3]
|
||||||
|
_ = x[EastAsianFullwidth-4]
|
||||||
|
_ = x[EastAsianHalfwidth-5]
|
||||||
|
}
|
||||||
|
|
||||||
const _Kind_name = "NeutralEastAsianAmbiguousEastAsianWideEastAsianNarrowEastAsianFullwidthEastAsianHalfwidth"
|
const _Kind_name = "NeutralEastAsianAmbiguousEastAsianWideEastAsianNarrowEastAsianFullwidthEastAsianHalfwidth"
|
||||||
|
|
||||||
|
@ -10,7 +22,7 @@ var _Kind_index = [...]uint8{0, 7, 25, 38, 53, 71, 89}
|
||||||
|
|
||||||
func (i Kind) String() string {
|
func (i Kind) String() string {
|
||||||
if i < 0 || i >= Kind(len(_Kind_index)-1) {
|
if i < 0 || i >= Kind(len(_Kind_index)-1) {
|
||||||
return fmt.Sprintf("Kind(%d)", i)
|
return "Kind(" + strconv.FormatInt(int64(i), 10) + ")"
|
||||||
}
|
}
|
||||||
return _Kind_name[_Kind_index[i]:_Kind_index[i+1]]
|
return _Kind_name[_Kind_index[i]:_Kind_index[i+1]]
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
|
// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
|
||||||
|
|
||||||
// +build go1.10
|
// +build go1.10,!go1.13
|
||||||
|
|
||||||
package width
|
package width
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -12,7 +12,7 @@
|
||||||
// are kept together in words or runs that are rotated sideways in vertical text
|
// are kept together in words or runs that are rotated sideways in vertical text
|
||||||
// layout.
|
// layout.
|
||||||
//
|
//
|
||||||
// For more information, see http://unicode.org/reports/tr11/.
|
// For more information, see https://unicode.org/reports/tr11/.
|
||||||
package width // import "golang.org/x/text/width"
|
package width // import "golang.org/x/text/width"
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
@ -27,7 +27,7 @@ import (
|
||||||
// (approximation, fixed pitch only).
|
// (approximation, fixed pitch only).
|
||||||
// 3) Implement display length.
|
// 3) Implement display length.
|
||||||
|
|
||||||
// Kind indicates the type of width property as defined in http://unicode.org/reports/tr11/.
|
// Kind indicates the type of width property as defined in https://unicode.org/reports/tr11/.
|
||||||
type Kind int
|
type Kind int
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
@ -106,7 +106,7 @@ func (e elem) kind() Kind {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Kind returns the Kind of a rune as defined in Unicode TR #11.
|
// Kind returns the Kind of a rune as defined in Unicode TR #11.
|
||||||
// See http://unicode.org/reports/tr11/ for more details.
|
// See https://unicode.org/reports/tr11/ for more details.
|
||||||
func (p Properties) Kind() Kind {
|
func (p Properties) Kind() Kind {
|
||||||
return p.elem.kind()
|
return p.elem.kind()
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue