Documentation ¶
Overview ¶
Package text is a Go library to operate text.
Calculation of string width is conformed to https://www.unicode.org/reports/tr11/
Index ¶
- Constants
- Variables
- func ByteSize(s string, encoding Encoding) int
- func Decode(src []byte, enc Encoding) ([]byte, error)
- func Encode(src []byte, enc Encoding) ([]byte, error)
- func GetTransformDecoder(r io.Reader, enc Encoding) (io.Reader, error)
- func GetTransformEncoder(r io.Reader, enc Encoding) (io.Reader, error)
- func GetTransformWriter(w io.Writer, enc Encoding) (io.Writer, error)
- func IsHighSurrogate(r rune) bool
- func IsLowSurrogate(r rune) bool
- func IsRightToLeftLetters(s string) bool
- func NewUTF8MEncoder() *encoding.Encoder
- func RuneByteSize(r rune, encoding Encoding) int
- func RuneWidth(r rune, eastAsianEncoding bool, countDiacriticalSign bool, ...) int
- func Width(s string, eastAsianEncoding bool, countDiacriticalSign bool, ...) int
- type Encoding
- type FieldAlignment
- type LineBreak
- type RawText
- type UTF8MEncoder
Constants ¶
View Source
const ( UTF8BOM = "\xef\xbb\xbf" UTF16BEBOM = "\xfe\xff" UTF16LEBOM = "\xff\xfe" )
View Source
const ( SurrogatePairHighBegin = "\xd8\x00" SurrogatePairHighEnd = "\xdb\xff" SurrogatePairLowBegin = "\xdc\x00" SurrogatePairLowEnd = "\xdf\xff" )
Variables ¶
View Source
var AmbiguousTable = &unicode.RangeTable{ R16: []unicode.Range16{ {Lo: 0x00a1, Hi: 0x00a1, Stride: 1}, {Lo: 0x00a4, Hi: 0x00a4, Stride: 1}, {Lo: 0x00a7, Hi: 0x00a7, Stride: 1}, {Lo: 0x00a8, Hi: 0x00a8, Stride: 1}, {Lo: 0x00aa, Hi: 0x00aa, Stride: 1}, {Lo: 0x00ad, Hi: 0x00ad, Stride: 1}, {Lo: 0x00ae, Hi: 0x00ae, Stride: 1}, {Lo: 0x00b0, Hi: 0x00b0, Stride: 1}, {Lo: 0x00b1, Hi: 0x00b1, Stride: 1}, {Lo: 0x00b2, Hi: 0x00b3, Stride: 1}, {Lo: 0x00b4, Hi: 0x00b4, Stride: 1}, {Lo: 0x00b6, Hi: 0x00b7, Stride: 1}, {Lo: 0x00b8, Hi: 0x00b8, Stride: 1}, {Lo: 0x00b9, Hi: 0x00b9, Stride: 1}, {Lo: 0x00ba, Hi: 0x00ba, Stride: 1}, {Lo: 0x00bc, Hi: 0x00be, Stride: 1}, {Lo: 0x00bf, Hi: 0x00bf, Stride: 1}, {Lo: 0x00c6, Hi: 0x00c6, Stride: 1}, {Lo: 0x00d0, Hi: 0x00d0, Stride: 1}, {Lo: 0x00d7, Hi: 0x00d7, Stride: 1}, {Lo: 0x00d8, Hi: 0x00d8, Stride: 1}, {Lo: 0x00de, Hi: 0x00e1, Stride: 1}, {Lo: 0x00e6, Hi: 0x00e6, Stride: 1}, {Lo: 0x00e8, Hi: 0x00ea, Stride: 1}, {Lo: 0x00ec, Hi: 0x00ed, Stride: 1}, {Lo: 0x00f0, Hi: 0x00f0, Stride: 1}, {Lo: 0x00f2, Hi: 0x00f3, Stride: 1}, {Lo: 0x00f7, Hi: 0x00f7, Stride: 1}, {Lo: 0x00f8, Hi: 0x00fa, Stride: 1}, {Lo: 0x00fc, Hi: 0x00fc, Stride: 1}, {Lo: 0x00fe, Hi: 0x00fe, Stride: 1}, {Lo: 0x0101, Hi: 0x0101, Stride: 1}, {Lo: 0x0111, Hi: 0x0111, Stride: 1}, {Lo: 0x0113, Hi: 0x0113, Stride: 1}, {Lo: 0x011b, Hi: 0x011b, Stride: 1}, {Lo: 0x0126, Hi: 0x0127, Stride: 1}, {Lo: 0x012b, Hi: 0x012b, Stride: 1}, {Lo: 0x0131, Hi: 0x0133, Stride: 1}, {Lo: 0x0138, Hi: 0x0138, Stride: 1}, {Lo: 0x013f, Hi: 0x0142, Stride: 1}, {Lo: 0x0144, Hi: 0x0144, Stride: 1}, {Lo: 0x0148, Hi: 0x014b, Stride: 1}, {Lo: 0x014d, Hi: 0x014d, Stride: 1}, {Lo: 0x0152, Hi: 0x0153, Stride: 1}, {Lo: 0x0166, Hi: 0x0167, Stride: 1}, {Lo: 0x016b, Hi: 0x016b, Stride: 1}, {Lo: 0x01ce, Hi: 0x01ce, Stride: 1}, {Lo: 0x01d0, Hi: 0x01d0, Stride: 1}, {Lo: 0x01d2, Hi: 0x01d2, Stride: 1}, {Lo: 0x01d4, Hi: 0x01d4, Stride: 1}, {Lo: 0x01d6, Hi: 0x01d6, Stride: 1}, {Lo: 0x01d8, Hi: 0x01d8, Stride: 1}, {Lo: 0x01da, Hi: 0x01da, Stride: 1}, {Lo: 0x01dc, Hi: 0x01dc, Stride: 1}, {Lo: 0x0251, Hi: 0x0251, Stride: 1}, {Lo: 0x0261, Hi: 0x0261, Stride: 1}, {Lo: 0x02c4, Hi: 0x02c4, Stride: 1}, {Lo: 0x02c7, Hi: 0x02c7, Stride: 1}, {Lo: 0x02c9, Hi: 0x02cb, Stride: 1}, {Lo: 0x02cd, Hi: 0x02cd, Stride: 1}, {Lo: 0x02d0, Hi: 0x02d0, Stride: 1}, {Lo: 0x02d8, Hi: 0x02db, Stride: 1}, {Lo: 0x02dd, Hi: 0x02dd, Stride: 1}, {Lo: 0x02df, Hi: 0x02df, Stride: 1}, {Lo: 0x0300, Hi: 0x036f, Stride: 1}, {Lo: 0x0391, Hi: 0x03a1, Stride: 1}, {Lo: 0x03a3, Hi: 0x03a9, Stride: 1}, {Lo: 0x03b1, Hi: 0x03c1, Stride: 1}, {Lo: 0x03c3, Hi: 0x03c9, Stride: 1}, {Lo: 0x0401, Hi: 0x0401, Stride: 1}, {Lo: 0x0410, Hi: 0x044f, Stride: 1}, {Lo: 0x0451, Hi: 0x0451, Stride: 1}, {Lo: 0x2010, Hi: 0x2010, Stride: 1}, {Lo: 0x2013, Hi: 0x2015, Stride: 1}, {Lo: 0x2016, Hi: 0x2016, Stride: 1}, {Lo: 0x2018, Hi: 0x2018, Stride: 1}, {Lo: 0x2019, Hi: 0x2019, Stride: 1}, {Lo: 0x201c, Hi: 0x201c, Stride: 1}, {Lo: 0x201d, Hi: 0x201d, Stride: 1}, {Lo: 0x2020, Hi: 0x2022, Stride: 1}, {Lo: 0x2024, Hi: 0x2027, Stride: 1}, {Lo: 0x2030, Hi: 0x2030, Stride: 1}, {Lo: 0x2032, Hi: 0x2033, Stride: 1}, {Lo: 0x2035, Hi: 0x2035, Stride: 1}, {Lo: 0x203b, Hi: 0x203b, Stride: 1}, {Lo: 0x203e, Hi: 0x203e, Stride: 1}, {Lo: 0x2074, Hi: 0x2074, Stride: 1}, {Lo: 0x207f, Hi: 0x207f, Stride: 1}, {Lo: 0x2081, Hi: 0x2084, Stride: 1}, {Lo: 0x20ac, Hi: 0x20ac, Stride: 1}, {Lo: 0x2103, Hi: 0x2103, Stride: 1}, {Lo: 0x2105, Hi: 0x2105, Stride: 1}, {Lo: 0x2109, Hi: 0x2109, Stride: 1}, {Lo: 0x2113, Hi: 0x2113, Stride: 1}, {Lo: 0x2116, Hi: 0x2116, Stride: 1}, {Lo: 0x2121, Hi: 0x2122, Stride: 1}, {Lo: 0x2126, Hi: 0x2126, Stride: 1}, {Lo: 0x212b, Hi: 0x212b, Stride: 1}, {Lo: 0x2153, Hi: 0x2154, Stride: 1}, {Lo: 0x215b, Hi: 0x215e, Stride: 1}, {Lo: 0x2160, Hi: 0x216b, Stride: 1}, {Lo: 0x2170, Hi: 0x2179, Stride: 1}, {Lo: 0x2189, Hi: 0x2189, Stride: 1}, {Lo: 0x2190, Hi: 0x2194, Stride: 1}, {Lo: 0x2195, Hi: 0x2199, Stride: 1}, {Lo: 0x21b8, Hi: 0x21b9, Stride: 1}, {Lo: 0x21d2, Hi: 0x21d2, Stride: 1}, {Lo: 0x21d4, Hi: 0x21d4, Stride: 1}, {Lo: 0x21e7, Hi: 0x21e7, Stride: 1}, {Lo: 0x2200, Hi: 0x2200, Stride: 1}, {Lo: 0x2202, Hi: 0x2203, Stride: 1}, {Lo: 0x2207, Hi: 0x2208, Stride: 1}, {Lo: 0x220b, Hi: 0x220b, Stride: 1}, {Lo: 0x220f, Hi: 0x220f, Stride: 1}, {Lo: 0x2211, Hi: 0x2211, Stride: 1}, {Lo: 0x2215, Hi: 0x2215, Stride: 1}, {Lo: 0x221a, Hi: 0x221a, Stride: 1}, {Lo: 0x221d, Hi: 0x2220, Stride: 1}, {Lo: 0x2223, Hi: 0x2223, Stride: 1}, {Lo: 0x2225, Hi: 0x2225, Stride: 1}, {Lo: 0x2227, Hi: 0x222c, Stride: 1}, {Lo: 0x222e, Hi: 0x222e, Stride: 1}, {Lo: 0x2234, Hi: 0x2237, Stride: 1}, {Lo: 0x223c, Hi: 0x223d, Stride: 1}, {Lo: 0x2248, Hi: 0x2248, Stride: 1}, {Lo: 0x224c, Hi: 0x224c, Stride: 1}, {Lo: 0x2252, Hi: 0x2252, Stride: 1}, {Lo: 0x2260, Hi: 0x2261, Stride: 1}, {Lo: 0x2264, Hi: 0x2267, Stride: 1}, {Lo: 0x226a, Hi: 0x226b, Stride: 1}, {Lo: 0x226e, Hi: 0x226f, Stride: 1}, {Lo: 0x2282, Hi: 0x2283, Stride: 1}, {Lo: 0x2286, Hi: 0x2287, Stride: 1}, {Lo: 0x2295, Hi: 0x2295, Stride: 1}, {Lo: 0x2299, Hi: 0x2299, Stride: 1}, {Lo: 0x22a5, Hi: 0x22a5, Stride: 1}, {Lo: 0x22bf, Hi: 0x22bf, Stride: 1}, {Lo: 0x2312, Hi: 0x2312, Stride: 1}, {Lo: 0x2460, Hi: 0x249b, Stride: 1}, {Lo: 0x249c, Hi: 0x24e9, Stride: 1}, {Lo: 0x24eb, Hi: 0x24ff, Stride: 1}, {Lo: 0x2500, Hi: 0x254b, Stride: 1}, {Lo: 0x2550, Hi: 0x2573, Stride: 1}, {Lo: 0x2580, Hi: 0x258f, Stride: 1}, {Lo: 0x2592, Hi: 0x2595, Stride: 1}, {Lo: 0x25a0, Hi: 0x25a1, Stride: 1}, {Lo: 0x25a3, Hi: 0x25a9, Stride: 1}, {Lo: 0x25b2, Hi: 0x25b3, Stride: 1}, {Lo: 0x25b6, Hi: 0x25b6, Stride: 1}, {Lo: 0x25b7, Hi: 0x25b7, Stride: 1}, {Lo: 0x25bc, Hi: 0x25bd, Stride: 1}, {Lo: 0x25c0, Hi: 0x25c0, Stride: 1}, {Lo: 0x25c1, Hi: 0x25c1, Stride: 1}, {Lo: 0x25c6, Hi: 0x25c8, Stride: 1}, {Lo: 0x25cb, Hi: 0x25cb, Stride: 1}, {Lo: 0x25ce, Hi: 0x25d1, Stride: 1}, {Lo: 0x25e2, Hi: 0x25e5, Stride: 1}, {Lo: 0x25ef, Hi: 0x25ef, Stride: 1}, {Lo: 0x2605, Hi: 0x2606, Stride: 1}, {Lo: 0x2609, Hi: 0x2609, Stride: 1}, {Lo: 0x260e, Hi: 0x260f, Stride: 1}, {Lo: 0x261c, Hi: 0x261c, Stride: 1}, {Lo: 0x261e, Hi: 0x261e, Stride: 1}, {Lo: 0x2640, Hi: 0x2640, Stride: 1}, {Lo: 0x2642, Hi: 0x2642, Stride: 1}, {Lo: 0x2660, Hi: 0x2661, Stride: 1}, {Lo: 0x2663, Hi: 0x2665, Stride: 1}, {Lo: 0x2667, Hi: 0x266a, Stride: 1}, {Lo: 0x266c, Hi: 0x266d, Stride: 1}, {Lo: 0x266f, Hi: 0x266f, Stride: 1}, {Lo: 0x269e, Hi: 0x269f, Stride: 1}, {Lo: 0x26bf, Hi: 0x26bf, Stride: 1}, {Lo: 0x26c6, Hi: 0x26cd, Stride: 1}, {Lo: 0x26cf, Hi: 0x26d3, Stride: 1}, {Lo: 0x26d5, Hi: 0x26e1, Stride: 1}, {Lo: 0x26e3, Hi: 0x26e3, Stride: 1}, {Lo: 0x26e8, Hi: 0x26e9, Stride: 1}, {Lo: 0x26eb, Hi: 0x26f1, Stride: 1}, {Lo: 0x26f4, Hi: 0x26f4, Stride: 1}, {Lo: 0x26f6, Hi: 0x26f9, Stride: 1}, {Lo: 0x26fb, Hi: 0x26fc, Stride: 1}, {Lo: 0x26fe, Hi: 0x26ff, Stride: 1}, {Lo: 0x273d, Hi: 0x273d, Stride: 1}, {Lo: 0x2776, Hi: 0x277f, Stride: 1}, {Lo: 0x2b56, Hi: 0x2b59, Stride: 1}, {Lo: 0x3248, Hi: 0x324f, Stride: 1}, {Lo: 0xe000, Hi: 0xf8ff, Stride: 1}, {Lo: 0xfe00, Hi: 0xfe0f, Stride: 1}, {Lo: 0xfffd, Hi: 0xfffd, Stride: 1}, }, R32: []unicode.Range32{ {Lo: 0x1f100, Hi: 0x1f10a, Stride: 1}, {Lo: 0x1f110, Hi: 0x1f12d, Stride: 1}, {Lo: 0x1f130, Hi: 0x1f169, Stride: 1}, {Lo: 0x1f170, Hi: 0x1f18d, Stride: 1}, {Lo: 0x1f18f, Hi: 0x1f190, Stride: 1}, {Lo: 0x1f19b, Hi: 0x1f1ac, Stride: 1}, {Lo: 0xe0100, Hi: 0xe01ef, Stride: 1}, {Lo: 0xf0000, Hi: 0xffffd, Stride: 1}, {Lo: 0x100000, Hi: 0x10fffd, Stride: 1}, }, }
View Source
var DiacriticalSignTable = &unicode.RangeTable{ R16: []unicode.Range16{ {Lo: 0x0300, Hi: 0x036f, Stride: 1}, {Lo: 0x0591, Hi: 0x05af, Stride: 1}, {Lo: 0x05b0, Hi: 0x05bd, Stride: 1}, {Lo: 0x05bf, Hi: 0x05bf, Stride: 1}, {Lo: 0x05c1, Hi: 0x05c2, Stride: 1}, {Lo: 0x05c4, Hi: 0x05c5, Stride: 1}, {Lo: 0x05c7, Hi: 0x05c7, Stride: 1}, {Lo: 0x064b, Hi: 0x0652, Stride: 1}, {Lo: 0x0653, Hi: 0x065f, Stride: 1}, {Lo: 0x0670, Hi: 0x0670, Stride: 1}, {Lo: 0x08a0, Hi: 0x08ff, Stride: 1}, {Lo: 0x1ab0, Hi: 0x1aff, Stride: 1}, {Lo: 0x1dc0, Hi: 0x1dff, Stride: 1}, {Lo: 0x20d0, Hi: 0x20ff, Stride: 1}, {Lo: 0xfbb2, Hi: 0xfbc1, Stride: 1}, {Lo: 0xfe20, Hi: 0xfe2f, Stride: 1}, }, }
View Source
var EncodingLiteral = map[Encoding]string{ AUTO: "AUTO", UTF8: "UTF8", UTF8M: "UTF8M", UTF16: "UTF16", UTF16BEM: "UTF16BEM", UTF16LEM: "UTF16LEM", UTF16BE: "UTF16BE", UTF16LE: "UTF16LE", SJIS: "SJIS", }
View Source
var ErrInvalidEncoding = errors.New("invalid character encoding")
View Source
var ErrUnknownEncoding = errors.New("cannot detect character encoding")
View Source
var FormatCharTable = &unicode.RangeTable{ R16: []unicode.Range16{ {Lo: 0x034f, Hi: 0x034f, Stride: 1}, {Lo: 0x200c, Hi: 0x200f, Stride: 1}, {Lo: 0x2028, Hi: 0x202e, Stride: 1}, {Lo: 0x2061, Hi: 0x2069, Stride: 1}, }, }
View Source
var FullWidthTable = &unicode.RangeTable{ R16: []unicode.Range16{ {Lo: 0x1100, Hi: 0x115f, Stride: 1}, {Lo: 0x231a, Hi: 0x231b, Stride: 1}, {Lo: 0x2329, Hi: 0x2329, Stride: 1}, {Lo: 0x232a, Hi: 0x232a, Stride: 1}, {Lo: 0x23e9, Hi: 0x23ec, Stride: 1}, {Lo: 0x23f0, Hi: 0x23f0, Stride: 1}, {Lo: 0x23f3, Hi: 0x23f3, Stride: 1}, {Lo: 0x25fd, Hi: 0x25fe, Stride: 1}, {Lo: 0x2614, Hi: 0x2615, Stride: 1}, {Lo: 0x2648, Hi: 0x2653, Stride: 1}, {Lo: 0x267f, Hi: 0x267f, Stride: 1}, {Lo: 0x2693, Hi: 0x2693, Stride: 1}, {Lo: 0x26a1, Hi: 0x26a1, Stride: 1}, {Lo: 0x26aa, Hi: 0x26ab, Stride: 1}, {Lo: 0x26bd, Hi: 0x26be, Stride: 1}, {Lo: 0x26c4, Hi: 0x26c5, Stride: 1}, {Lo: 0x26ce, Hi: 0x26ce, Stride: 1}, {Lo: 0x26d4, Hi: 0x26d4, Stride: 1}, {Lo: 0x26ea, Hi: 0x26ea, Stride: 1}, {Lo: 0x26f2, Hi: 0x26f3, Stride: 1}, {Lo: 0x26f5, Hi: 0x26f5, Stride: 1}, {Lo: 0x26fa, Hi: 0x26fa, Stride: 1}, {Lo: 0x26fd, Hi: 0x26fd, Stride: 1}, {Lo: 0x2705, Hi: 0x2705, Stride: 1}, {Lo: 0x270a, Hi: 0x270b, Stride: 1}, {Lo: 0x2728, Hi: 0x2728, Stride: 1}, {Lo: 0x274c, Hi: 0x274c, Stride: 1}, {Lo: 0x274e, Hi: 0x274e, Stride: 1}, {Lo: 0x2753, Hi: 0x2755, Stride: 1}, {Lo: 0x2757, Hi: 0x2757, Stride: 1}, {Lo: 0x2795, Hi: 0x2797, Stride: 1}, {Lo: 0x27b0, Hi: 0x27b0, Stride: 1}, {Lo: 0x27bf, Hi: 0x27bf, Stride: 1}, {Lo: 0x2b1b, Hi: 0x2b1c, Stride: 1}, {Lo: 0x2b50, Hi: 0x2b50, Stride: 1}, {Lo: 0x2b55, Hi: 0x2b55, Stride: 1}, {Lo: 0x2e80, Hi: 0x2e99, Stride: 1}, {Lo: 0x2e9b, Hi: 0x2ef3, Stride: 1}, {Lo: 0x2f00, Hi: 0x2fd5, Stride: 1}, {Lo: 0x2ff0, Hi: 0x2ffb, Stride: 1}, {Lo: 0x3000, Hi: 0x3000, Stride: 1}, {Lo: 0x3001, Hi: 0x3003, Stride: 1}, {Lo: 0x3004, Hi: 0x3004, Stride: 1}, {Lo: 0x3005, Hi: 0x3005, Stride: 1}, {Lo: 0x3006, Hi: 0x3006, Stride: 1}, {Lo: 0x3007, Hi: 0x3007, Stride: 1}, {Lo: 0x3008, Hi: 0x3008, Stride: 1}, {Lo: 0x3009, Hi: 0x3009, Stride: 1}, {Lo: 0x300a, Hi: 0x300a, Stride: 1}, {Lo: 0x300b, Hi: 0x300b, Stride: 1}, {Lo: 0x300c, Hi: 0x300c, Stride: 1}, {Lo: 0x300d, Hi: 0x300d, Stride: 1}, {Lo: 0x300e, Hi: 0x300e, Stride: 1}, {Lo: 0x300f, Hi: 0x300f, Stride: 1}, {Lo: 0x3010, Hi: 0x3010, Stride: 1}, {Lo: 0x3011, Hi: 0x3011, Stride: 1}, {Lo: 0x3012, Hi: 0x3013, Stride: 1}, {Lo: 0x3014, Hi: 0x3014, Stride: 1}, {Lo: 0x3015, Hi: 0x3015, Stride: 1}, {Lo: 0x3016, Hi: 0x3016, Stride: 1}, {Lo: 0x3017, Hi: 0x3017, Stride: 1}, {Lo: 0x3018, Hi: 0x3018, Stride: 1}, {Lo: 0x3019, Hi: 0x3019, Stride: 1}, {Lo: 0x301a, Hi: 0x301a, Stride: 1}, {Lo: 0x301b, Hi: 0x301b, Stride: 1}, {Lo: 0x301c, Hi: 0x301c, Stride: 1}, {Lo: 0x301d, Hi: 0x301d, Stride: 1}, {Lo: 0x301e, Hi: 0x301f, Stride: 1}, {Lo: 0x3020, Hi: 0x3020, Stride: 1}, {Lo: 0x3021, Hi: 0x3029, Stride: 1}, {Lo: 0x302a, Hi: 0x302d, Stride: 1}, {Lo: 0x302e, Hi: 0x302f, Stride: 1}, {Lo: 0x3030, Hi: 0x3030, Stride: 1}, {Lo: 0x3031, Hi: 0x3035, Stride: 1}, {Lo: 0x3036, Hi: 0x3037, Stride: 1}, {Lo: 0x3038, Hi: 0x303a, Stride: 1}, {Lo: 0x303b, Hi: 0x303b, Stride: 1}, {Lo: 0x303c, Hi: 0x303c, Stride: 1}, {Lo: 0x303d, Hi: 0x303d, Stride: 1}, {Lo: 0x303e, Hi: 0x303e, Stride: 1}, {Lo: 0x3041, Hi: 0x3096, Stride: 1}, {Lo: 0x3099, Hi: 0x309a, Stride: 1}, {Lo: 0x309b, Hi: 0x309c, Stride: 1}, {Lo: 0x309d, Hi: 0x309e, Stride: 1}, {Lo: 0x309f, Hi: 0x309f, Stride: 1}, {Lo: 0x30a0, Hi: 0x30a0, Stride: 1}, {Lo: 0x30a1, Hi: 0x30fa, Stride: 1}, {Lo: 0x30fb, Hi: 0x30fb, Stride: 1}, {Lo: 0x30fc, Hi: 0x30fe, Stride: 1}, {Lo: 0x30ff, Hi: 0x30ff, Stride: 1}, {Lo: 0x3105, Hi: 0x312f, Stride: 1}, {Lo: 0x3131, Hi: 0x318e, Stride: 1}, {Lo: 0x3190, Hi: 0x3191, Stride: 1}, {Lo: 0x3192, Hi: 0x3195, Stride: 1}, {Lo: 0x3196, Hi: 0x319f, Stride: 1}, {Lo: 0x31a0, Hi: 0x31ba, Stride: 1}, {Lo: 0x31c0, Hi: 0x31e3, Stride: 1}, {Lo: 0x31f0, Hi: 0x31ff, Stride: 1}, {Lo: 0x3200, Hi: 0x321e, Stride: 1}, {Lo: 0x3220, Hi: 0x3229, Stride: 1}, {Lo: 0x322a, Hi: 0x3247, Stride: 1}, {Lo: 0x3250, Hi: 0x3250, Stride: 1}, {Lo: 0x3251, Hi: 0x325f, Stride: 1}, {Lo: 0x3260, Hi: 0x327f, Stride: 1}, {Lo: 0x3280, Hi: 0x3289, Stride: 1}, {Lo: 0x328a, Hi: 0x32b0, Stride: 1}, {Lo: 0x32b1, Hi: 0x32bf, Stride: 1}, {Lo: 0x32c0, Hi: 0x32fe, Stride: 1}, {Lo: 0x3300, Hi: 0x33ff, Stride: 1}, {Lo: 0x3400, Hi: 0x4db5, Stride: 1}, {Lo: 0x4db6, Hi: 0x4dbf, Stride: 1}, {Lo: 0x4e00, Hi: 0x9fef, Stride: 1}, {Lo: 0x9ff0, Hi: 0x9fff, Stride: 1}, {Lo: 0xa000, Hi: 0xa014, Stride: 1}, {Lo: 0xa015, Hi: 0xa015, Stride: 1}, {Lo: 0xa016, Hi: 0xa48c, Stride: 1}, {Lo: 0xa490, Hi: 0xa4c6, Stride: 1}, {Lo: 0xa960, Hi: 0xa97c, Stride: 1}, {Lo: 0xac00, Hi: 0xd7a3, Stride: 1}, {Lo: 0xf900, Hi: 0xfa6d, Stride: 1}, {Lo: 0xfa6e, Hi: 0xfa6f, Stride: 1}, {Lo: 0xfa70, Hi: 0xfad9, Stride: 1}, {Lo: 0xfada, Hi: 0xfaff, Stride: 1}, {Lo: 0xfe10, Hi: 0xfe16, Stride: 1}, {Lo: 0xfe17, Hi: 0xfe17, Stride: 1}, {Lo: 0xfe18, Hi: 0xfe18, Stride: 1}, {Lo: 0xfe19, Hi: 0xfe19, Stride: 1}, {Lo: 0xfe30, Hi: 0xfe30, Stride: 1}, {Lo: 0xfe31, Hi: 0xfe32, Stride: 1}, {Lo: 0xfe33, Hi: 0xfe34, Stride: 1}, {Lo: 0xfe35, Hi: 0xfe35, Stride: 1}, {Lo: 0xfe36, Hi: 0xfe36, Stride: 1}, {Lo: 0xfe37, Hi: 0xfe37, Stride: 1}, {Lo: 0xfe38, Hi: 0xfe38, Stride: 1}, {Lo: 0xfe39, Hi: 0xfe39, Stride: 1}, {Lo: 0xfe3a, Hi: 0xfe3a, Stride: 1}, {Lo: 0xfe3b, Hi: 0xfe3b, Stride: 1}, {Lo: 0xfe3c, Hi: 0xfe3c, Stride: 1}, {Lo: 0xfe3d, Hi: 0xfe3d, Stride: 1}, {Lo: 0xfe3e, Hi: 0xfe3e, Stride: 1}, {Lo: 0xfe3f, Hi: 0xfe3f, Stride: 1}, {Lo: 0xfe40, Hi: 0xfe40, Stride: 1}, {Lo: 0xfe41, Hi: 0xfe41, Stride: 1}, {Lo: 0xfe42, Hi: 0xfe42, Stride: 1}, {Lo: 0xfe43, Hi: 0xfe43, Stride: 1}, {Lo: 0xfe44, Hi: 0xfe44, Stride: 1}, {Lo: 0xfe45, Hi: 0xfe46, Stride: 1}, {Lo: 0xfe47, Hi: 0xfe47, Stride: 1}, {Lo: 0xfe48, Hi: 0xfe48, Stride: 1}, {Lo: 0xfe49, Hi: 0xfe4c, Stride: 1}, {Lo: 0xfe4d, Hi: 0xfe4f, Stride: 1}, {Lo: 0xfe50, Hi: 0xfe52, Stride: 1}, {Lo: 0xfe54, Hi: 0xfe57, Stride: 1}, {Lo: 0xfe58, Hi: 0xfe58, Stride: 1}, {Lo: 0xfe59, Hi: 0xfe59, Stride: 1}, {Lo: 0xfe5a, Hi: 0xfe5a, Stride: 1}, {Lo: 0xfe5b, Hi: 0xfe5b, Stride: 1}, {Lo: 0xfe5c, Hi: 0xfe5c, Stride: 1}, {Lo: 0xfe5d, Hi: 0xfe5d, Stride: 1}, {Lo: 0xfe5e, Hi: 0xfe5e, Stride: 1}, {Lo: 0xfe5f, Hi: 0xfe61, Stride: 1}, {Lo: 0xfe62, Hi: 0xfe62, Stride: 1}, {Lo: 0xfe63, Hi: 0xfe63, Stride: 1}, {Lo: 0xfe64, Hi: 0xfe66, Stride: 1}, {Lo: 0xfe68, Hi: 0xfe68, Stride: 1}, {Lo: 0xfe69, Hi: 0xfe69, Stride: 1}, {Lo: 0xfe6a, Hi: 0xfe6b, Stride: 1}, {Lo: 0xff01, Hi: 0xff03, Stride: 1}, {Lo: 0xff04, Hi: 0xff04, Stride: 1}, {Lo: 0xff05, Hi: 0xff07, Stride: 1}, {Lo: 0xff08, Hi: 0xff08, Stride: 1}, {Lo: 0xff09, Hi: 0xff09, Stride: 1}, {Lo: 0xff0a, Hi: 0xff0a, Stride: 1}, {Lo: 0xff0b, Hi: 0xff0b, Stride: 1}, {Lo: 0xff0c, Hi: 0xff0c, Stride: 1}, {Lo: 0xff0d, Hi: 0xff0d, Stride: 1}, {Lo: 0xff0e, Hi: 0xff0f, Stride: 1}, {Lo: 0xff10, Hi: 0xff19, Stride: 1}, {Lo: 0xff1a, Hi: 0xff1b, Stride: 1}, {Lo: 0xff1c, Hi: 0xff1e, Stride: 1}, {Lo: 0xff1f, Hi: 0xff20, Stride: 1}, {Lo: 0xff21, Hi: 0xff3a, Stride: 1}, {Lo: 0xff3b, Hi: 0xff3b, Stride: 1}, {Lo: 0xff3c, Hi: 0xff3c, Stride: 1}, {Lo: 0xff3d, Hi: 0xff3d, Stride: 1}, {Lo: 0xff3e, Hi: 0xff3e, Stride: 1}, {Lo: 0xff3f, Hi: 0xff3f, Stride: 1}, {Lo: 0xff40, Hi: 0xff40, Stride: 1}, {Lo: 0xff41, Hi: 0xff5a, Stride: 1}, {Lo: 0xff5b, Hi: 0xff5b, Stride: 1}, {Lo: 0xff5c, Hi: 0xff5c, Stride: 1}, {Lo: 0xff5d, Hi: 0xff5d, Stride: 1}, {Lo: 0xff5e, Hi: 0xff5e, Stride: 1}, {Lo: 0xff5f, Hi: 0xff5f, Stride: 1}, {Lo: 0xff60, Hi: 0xff60, Stride: 1}, {Lo: 0xffe0, Hi: 0xffe1, Stride: 1}, {Lo: 0xffe2, Hi: 0xffe2, Stride: 1}, {Lo: 0xffe3, Hi: 0xffe3, Stride: 1}, {Lo: 0xffe4, Hi: 0xffe4, Stride: 1}, {Lo: 0xffe5, Hi: 0xffe6, Stride: 1}, }, R32: []unicode.Range32{ {Lo: 0x16fe0, Hi: 0x16fe1, Stride: 1}, {Lo: 0x17000, Hi: 0x187f1, Stride: 1}, {Lo: 0x18800, Hi: 0x18af2, Stride: 1}, {Lo: 0x1b000, Hi: 0x1b0ff, Stride: 1}, {Lo: 0x1b100, Hi: 0x1b11e, Stride: 1}, {Lo: 0x1b170, Hi: 0x1b2fb, Stride: 1}, {Lo: 0x1f004, Hi: 0x1f004, Stride: 1}, {Lo: 0x1f0cf, Hi: 0x1f0cf, Stride: 1}, {Lo: 0x1f18e, Hi: 0x1f18e, Stride: 1}, {Lo: 0x1f191, Hi: 0x1f19a, Stride: 1}, {Lo: 0x1f200, Hi: 0x1f202, Stride: 1}, {Lo: 0x1f210, Hi: 0x1f23b, Stride: 1}, {Lo: 0x1f240, Hi: 0x1f248, Stride: 1}, {Lo: 0x1f250, Hi: 0x1f251, Stride: 1}, {Lo: 0x1f260, Hi: 0x1f265, Stride: 1}, {Lo: 0x1f300, Hi: 0x1f320, Stride: 1}, {Lo: 0x1f32d, Hi: 0x1f335, Stride: 1}, {Lo: 0x1f337, Hi: 0x1f37c, Stride: 1}, {Lo: 0x1f37e, Hi: 0x1f393, Stride: 1}, {Lo: 0x1f3a0, Hi: 0x1f3ca, Stride: 1}, {Lo: 0x1f3cf, Hi: 0x1f3d3, Stride: 1}, {Lo: 0x1f3e0, Hi: 0x1f3f0, Stride: 1}, {Lo: 0x1f3f4, Hi: 0x1f3f4, Stride: 1}, {Lo: 0x1f3f8, Hi: 0x1f3fa, Stride: 1}, {Lo: 0x1f3fb, Hi: 0x1f3ff, Stride: 1}, {Lo: 0x1f400, Hi: 0x1f43e, Stride: 1}, {Lo: 0x1f440, Hi: 0x1f440, Stride: 1}, {Lo: 0x1f442, Hi: 0x1f4fc, Stride: 1}, {Lo: 0x1f4ff, Hi: 0x1f53d, Stride: 1}, {Lo: 0x1f54b, Hi: 0x1f54e, Stride: 1}, {Lo: 0x1f550, Hi: 0x1f567, Stride: 1}, {Lo: 0x1f57a, Hi: 0x1f57a, Stride: 1}, {Lo: 0x1f595, Hi: 0x1f596, Stride: 1}, {Lo: 0x1f5a4, Hi: 0x1f5a4, Stride: 1}, {Lo: 0x1f5fb, Hi: 0x1f5ff, Stride: 1}, {Lo: 0x1f600, Hi: 0x1f64f, Stride: 1}, {Lo: 0x1f680, Hi: 0x1f6c5, Stride: 1}, {Lo: 0x1f6cc, Hi: 0x1f6cc, Stride: 1}, {Lo: 0x1f6d0, Hi: 0x1f6d2, Stride: 1}, {Lo: 0x1f6eb, Hi: 0x1f6ec, Stride: 1}, {Lo: 0x1f6f4, Hi: 0x1f6f9, Stride: 1}, {Lo: 0x1f910, Hi: 0x1f93e, Stride: 1}, {Lo: 0x1f940, Hi: 0x1f970, Stride: 1}, {Lo: 0x1f973, Hi: 0x1f976, Stride: 1}, {Lo: 0x1f97a, Hi: 0x1f97a, Stride: 1}, {Lo: 0x1f97c, Hi: 0x1f9a2, Stride: 1}, {Lo: 0x1f9b0, Hi: 0x1f9b9, Stride: 1}, {Lo: 0x1f9c0, Hi: 0x1f9c2, Stride: 1}, {Lo: 0x1f9d0, Hi: 0x1f9ff, Stride: 1}, {Lo: 0x20000, Hi: 0x2a6d6, Stride: 1}, {Lo: 0x2a6d7, Hi: 0x2a6ff, Stride: 1}, {Lo: 0x2a700, Hi: 0x2b734, Stride: 1}, {Lo: 0x2b735, Hi: 0x2b73f, Stride: 1}, {Lo: 0x2b740, Hi: 0x2b81d, Stride: 1}, {Lo: 0x2b81e, Hi: 0x2b81f, Stride: 1}, {Lo: 0x2b820, Hi: 0x2cea1, Stride: 1}, {Lo: 0x2cea2, Hi: 0x2ceaf, Stride: 1}, {Lo: 0x2ceb0, Hi: 0x2ebe0, Stride: 1}, {Lo: 0x2ebe1, Hi: 0x2f7ff, Stride: 1}, {Lo: 0x2f800, Hi: 0x2fa1d, Stride: 1}, {Lo: 0x2fa1e, Hi: 0x2fa1f, Stride: 1}, {Lo: 0x2fa20, Hi: 0x2fffd, Stride: 1}, {Lo: 0x30000, Hi: 0x3fffd, Stride: 1}, }, }
View Source
var RightToLeftTable = &unicode.RangeTable{ R16: []unicode.Range16{ {Lo: 0x0590, Hi: 0x05ff, Stride: 1}, {Lo: 0x0600, Hi: 0x06ff, Stride: 1}, {Lo: 0x0700, Hi: 0x074f, Stride: 1}, {Lo: 0x0750, Hi: 0x077f, Stride: 1}, {Lo: 0x0860, Hi: 0x086f, Stride: 1}, {Lo: 0x08a0, Hi: 0x08ff, Stride: 1}, {Lo: 0xfb50, Hi: 0xfdff, Stride: 1}, {Lo: 0xfe70, Hi: 0xfeff, Stride: 1}, }, R32: []unicode.Range32{ {Lo: 0x10ac0, Hi: 0x10aff, Stride: 1}, {Lo: 0x10c00, Hi: 0x10c4f, Stride: 1}, {Lo: 0x10f00, Hi: 0x10f2f, Stride: 1}, {Lo: 0x10f30, Hi: 0x10f6f, Stride: 1}, {Lo: 0x1ee00, Hi: 0x1eeff, Stride: 1}, }, }
View Source
var SJISSingleByteTable = &unicode.RangeTable{ R16: []unicode.Range16{ {Lo: 0x0020, Hi: 0x007e, Stride: 1}, {Lo: 0xff61, Hi: 0xff9f, Stride: 1}, }, }
View Source
var ZeroWidthSpaceTable = &unicode.RangeTable{ R16: []unicode.Range16{ {Lo: 0x200b, Hi: 0x200b, Stride: 1}, {Lo: 0x2060, Hi: 0x2063, Stride: 1}, {Lo: 0xfeff, Hi: 0xfeff, Stride: 1}, }, }
Functions ¶
func GetTransformDecoder ¶
GetTransformDecoder gets a reader to transform character encoding from any encoding to UTF-8.
func GetTransformEncoder ¶
GetTransformEncoder gets a reader to transform character encoding from UTF-8 to another encoding.
func GetTransformWriter ¶
GetTransformWriter gets a writer to transform character encoding from UTF-8 to another encoding.
func IsHighSurrogate ¶
func IsLowSurrogate ¶
func IsRightToLeftLetters ¶
IsRightToLeftLetters returns true if a string is Right-to-Left horizontal writing characters.
func NewUTF8MEncoder ¶
func RuneByteSize ¶
RuneByteSize calculates byte size of a character.
Types ¶
type Encoding ¶
type Encoding uint8
func DetectEncoding ¶
func DetectEncoding(r io.ReadSeeker) (detected Encoding, err error)
DetectEncoding Detects character encoding
func DetectInSpecifiedEncoding ¶
func DetectInSpecifiedEncoding(r io.ReadSeeker, enc Encoding) (detected Encoding, err error)
func ParseEncoding ¶
type FieldAlignment ¶
type FieldAlignment int
const ( NotAligned FieldAlignment = iota Centering RightAligned LeftAligned )
type UTF8MEncoder ¶
type UTF8MEncoder struct {
// contains filtered or unexported fields
}
func (*UTF8MEncoder) Reset ¶
func (u *UTF8MEncoder) Reset()
Directories ¶
Path | Synopsis |
---|---|
Package color is a Go library to render ANSI escape color sequences.
|
Package color is a Go library to render ANSI escape color sequences. |
Package csv is a Go library to read and write CSV format.
|
Package csv is a Go library to read and write CSV format. |
Package fixedlen is a Go library to read and write Fixed-Length format.
|
Package fixedlen is a Go library to read and write Fixed-Length format. |
Package json is a Go library to read and write JSON format.
|
Package json is a Go library to read and write JSON format. |
Package jsonl is a Go library to read and write JSON Lines format.
|
Package jsonl is a Go library to read and write JSON Lines format. |
Package ltsv is a Go library to read and write LTSV format.
|
Package ltsv is a Go library to read and write LTSV format. |
Package table is a Go library to write text tables.
|
Package table is a Go library to write text tables. |
Click to show internal directories.
Click to hide internal directories.