unicodedata

package
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 5, 2021 License: MIT Imports: 2 Imported by: 2

Documentation

Overview

Package unicodedata provides additional lookup functions for unicode properties, not covered by the standard package unicode.

Index

Constants

View Source
const (
	HangulSBase  = 0xAC00
	HangulLBase  = 0x1100
	HangulVBase  = 0x1161
	HangulTBase  = 0x11A7
	HangulSCount = 11172
	HangulLCount = 19
	HangulVCount = 21
	HangulTCount = 28
	HangulNCount = HangulVCount * HangulTCount
)

Algorithmic hangul syllable [de]composition

View Source
const FirstArabicShape = 0x0621
View Source
const LastArabicShape = 0x06d3

Variables

View Source
var ArabicJoinings = map[rune]ArabicJoining{}/* 775 elements not displayed */
View Source
var ArabicLigatures = [...]struct {
	First     rune
	Ligatures [4][2]rune // {second, ligature}
}{
	{0xfedf, [4][2]rune{
		{0xfe82, 0xfef5},
		{0xfe84, 0xfef7},
		{0xfe88, 0xfef9},
		{0xfe8e, 0xfefb},
	}},
	{0xfee0, [4][2]rune{
		{0xfe82, 0xfef6},
		{0xfe84, 0xfef8},
		{0xfe88, 0xfefa},
		{0xfe8e, 0xfefc},
	}},
}

ArabicLigatures exposes lam-alef ligatures

View Source
var ArabicShaping = [...][4]uint16{}/* 179 elements not displayed */

ArabicShaping defines the shaping for arabic runes. Each entry is indexed by the shape, between 0 and 3:

  • 0: isolated
  • 1: final
  • 2: initial
  • 3: medial

See also the bounds given by FirstArabicShape and LastArabicShape.

View Source
var Emoji = &unicode.RangeTable{
	R16: []unicode.Range16{
		{Lo: 0x0023, Hi: 0x002a, Stride: 7},
		{Lo: 0x0030, Hi: 0x0039, Stride: 1},
		{Lo: 0x00a9, Hi: 0x00ae, Stride: 5},
		{Lo: 0x203c, Hi: 0x2049, Stride: 13},
		{Lo: 0x2122, Hi: 0x2139, Stride: 23},
		{Lo: 0x2194, Hi: 0x2199, Stride: 1},
		{Lo: 0x21a9, Hi: 0x21aa, Stride: 1},
		{Lo: 0x231a, Hi: 0x231b, Stride: 1},
		{Lo: 0x2328, Hi: 0x23cf, Stride: 167},
		{Lo: 0x23e9, Hi: 0x23f3, Stride: 1},
		{Lo: 0x23f8, Hi: 0x23fa, Stride: 1},
		{Lo: 0x24c2, Hi: 0x25aa, Stride: 232},
		{Lo: 0x25ab, Hi: 0x25b6, Stride: 11},
		{Lo: 0x25c0, Hi: 0x25fb, Stride: 59},
		{Lo: 0x25fc, Hi: 0x25fe, Stride: 1},
		{Lo: 0x2600, Hi: 0x2604, Stride: 1},
		{Lo: 0x260e, Hi: 0x2614, Stride: 3},
		{Lo: 0x2615, Hi: 0x2618, Stride: 3},
		{Lo: 0x261d, Hi: 0x2620, Stride: 3},
		{Lo: 0x2622, Hi: 0x2623, Stride: 1},
		{Lo: 0x2626, Hi: 0x262e, Stride: 4},
		{Lo: 0x262f, Hi: 0x2638, Stride: 9},
		{Lo: 0x2639, Hi: 0x263a, Stride: 1},
		{Lo: 0x2640, Hi: 0x2642, Stride: 2},
		{Lo: 0x2648, Hi: 0x2653, Stride: 1},
		{Lo: 0x265f, Hi: 0x2660, Stride: 1},
		{Lo: 0x2663, Hi: 0x2665, Stride: 2},
		{Lo: 0x2666, Hi: 0x2668, Stride: 2},
		{Lo: 0x267b, Hi: 0x267e, Stride: 3},
		{Lo: 0x267f, Hi: 0x2692, Stride: 19},
		{Lo: 0x2693, Hi: 0x2697, Stride: 1},
		{Lo: 0x2699, Hi: 0x269b, Stride: 2},
		{Lo: 0x269c, Hi: 0x26a0, Stride: 4},
		{Lo: 0x26a1, Hi: 0x26a7, Stride: 6},
		{Lo: 0x26aa, Hi: 0x26ab, Stride: 1},
		{Lo: 0x26b0, Hi: 0x26b1, Stride: 1},
		{Lo: 0x26bd, Hi: 0x26be, Stride: 1},
		{Lo: 0x26c4, Hi: 0x26c5, Stride: 1},
		{Lo: 0x26c8, Hi: 0x26ce, Stride: 6},
		{Lo: 0x26cf, Hi: 0x26d3, Stride: 2},
		{Lo: 0x26d4, Hi: 0x26e9, Stride: 21},
		{Lo: 0x26ea, Hi: 0x26f0, Stride: 6},
		{Lo: 0x26f1, Hi: 0x26f5, Stride: 1},
		{Lo: 0x26f7, Hi: 0x26fa, Stride: 1},
		{Lo: 0x26fd, Hi: 0x2702, Stride: 5},
		{Lo: 0x2705, Hi: 0x2708, Stride: 3},
		{Lo: 0x2709, Hi: 0x270d, Stride: 1},
		{Lo: 0x270f, Hi: 0x2712, Stride: 3},
		{Lo: 0x2714, Hi: 0x2716, Stride: 2},
		{Lo: 0x271d, Hi: 0x2721, Stride: 4},
		{Lo: 0x2728, Hi: 0x2733, Stride: 11},
		{Lo: 0x2734, Hi: 0x2744, Stride: 16},
		{Lo: 0x2747, Hi: 0x274c, Stride: 5},
		{Lo: 0x274e, Hi: 0x2753, Stride: 5},
		{Lo: 0x2754, Hi: 0x2755, Stride: 1},
		{Lo: 0x2757, Hi: 0x2763, Stride: 12},
		{Lo: 0x2764, Hi: 0x2795, Stride: 49},
		{Lo: 0x2796, Hi: 0x2797, Stride: 1},
		{Lo: 0x27a1, Hi: 0x27bf, Stride: 15},
		{Lo: 0x2934, Hi: 0x2935, Stride: 1},
		{Lo: 0x2b05, Hi: 0x2b07, Stride: 1},
		{Lo: 0x2b1b, Hi: 0x2b1c, Stride: 1},
		{Lo: 0x2b50, Hi: 0x2b55, Stride: 5},
		{Lo: 0x3030, Hi: 0x303d, Stride: 13},
		{Lo: 0x3297, Hi: 0x3299, Stride: 2},
	},
	R32: []unicode.Range32{
		{Lo: 0x1f004, Hi: 0x1f0cf, Stride: 203},
		{Lo: 0x1f170, Hi: 0x1f171, Stride: 1},
		{Lo: 0x1f17e, Hi: 0x1f17f, Stride: 1},
		{Lo: 0x1f18e, Hi: 0x1f191, Stride: 3},
		{Lo: 0x1f192, Hi: 0x1f19a, Stride: 1},
		{Lo: 0x1f1e6, Hi: 0x1f1ff, Stride: 1},
		{Lo: 0x1f201, Hi: 0x1f202, Stride: 1},
		{Lo: 0x1f21a, Hi: 0x1f22f, Stride: 21},
		{Lo: 0x1f232, Hi: 0x1f23a, Stride: 1},
		{Lo: 0x1f250, Hi: 0x1f251, Stride: 1},
		{Lo: 0x1f300, Hi: 0x1f321, Stride: 1},
		{Lo: 0x1f324, Hi: 0x1f393, Stride: 1},
		{Lo: 0x1f396, Hi: 0x1f397, Stride: 1},
		{Lo: 0x1f399, Hi: 0x1f39b, Stride: 1},
		{Lo: 0x1f39e, Hi: 0x1f3f0, Stride: 1},
		{Lo: 0x1f3f3, Hi: 0x1f3f5, Stride: 1},
		{Lo: 0x1f3f7, Hi: 0x1f4fd, Stride: 1},
		{Lo: 0x1f4ff, Hi: 0x1f53d, Stride: 1},
		{Lo: 0x1f549, Hi: 0x1f54e, Stride: 1},
		{Lo: 0x1f550, Hi: 0x1f567, Stride: 1},
		{Lo: 0x1f56f, Hi: 0x1f570, Stride: 1},
		{Lo: 0x1f573, Hi: 0x1f57a, Stride: 1},
		{Lo: 0x1f587, Hi: 0x1f58a, Stride: 3},
		{Lo: 0x1f58b, Hi: 0x1f58d, Stride: 1},
		{Lo: 0x1f590, Hi: 0x1f595, Stride: 5},
		{Lo: 0x1f596, Hi: 0x1f5a4, Stride: 14},
		{Lo: 0x1f5a5, Hi: 0x1f5a8, Stride: 3},
		{Lo: 0x1f5b1, Hi: 0x1f5b2, Stride: 1},
		{Lo: 0x1f5bc, Hi: 0x1f5c2, Stride: 6},
		{Lo: 0x1f5c3, Hi: 0x1f5c4, Stride: 1},
		{Lo: 0x1f5d1, Hi: 0x1f5d3, Stride: 1},
		{Lo: 0x1f5dc, Hi: 0x1f5de, Stride: 1},
		{Lo: 0x1f5e1, Hi: 0x1f5e3, Stride: 2},
		{Lo: 0x1f5e8, Hi: 0x1f5ef, Stride: 7},
		{Lo: 0x1f5f3, Hi: 0x1f5fa, Stride: 7},
		{Lo: 0x1f5fb, Hi: 0x1f64f, Stride: 1},
		{Lo: 0x1f680, Hi: 0x1f6c5, Stride: 1},
		{Lo: 0x1f6cb, Hi: 0x1f6d2, Stride: 1},
		{Lo: 0x1f6d5, Hi: 0x1f6d7, Stride: 1},
		{Lo: 0x1f6e0, Hi: 0x1f6e5, Stride: 1},
		{Lo: 0x1f6e9, Hi: 0x1f6eb, Stride: 2},
		{Lo: 0x1f6ec, Hi: 0x1f6f0, Stride: 4},
		{Lo: 0x1f6f3, Hi: 0x1f6fc, Stride: 1},
		{Lo: 0x1f7e0, Hi: 0x1f7eb, Stride: 1},
		{Lo: 0x1f90c, Hi: 0x1f93a, Stride: 1},
		{Lo: 0x1f93c, Hi: 0x1f945, Stride: 1},
		{Lo: 0x1f947, Hi: 0x1f978, Stride: 1},
		{Lo: 0x1f97a, Hi: 0x1f9cb, Stride: 1},
		{Lo: 0x1f9cd, Hi: 0x1f9ff, Stride: 1},
		{Lo: 0x1fa70, Hi: 0x1fa74, Stride: 1},
		{Lo: 0x1fa78, Hi: 0x1fa7a, Stride: 1},
		{Lo: 0x1fa80, Hi: 0x1fa86, Stride: 1},
		{Lo: 0x1fa90, Hi: 0x1faa8, Stride: 1},
		{Lo: 0x1fab0, Hi: 0x1fab6, Stride: 1},
		{Lo: 0x1fac0, Hi: 0x1fac2, Stride: 1},
		{Lo: 0x1fad0, Hi: 0x1fad6, Stride: 1},
	},
	LatinOffset: 3,
}
View Source
var Emoji_Modifier = &unicode.RangeTable{
	R32: []unicode.Range32{
		{Lo: 0x1f3fb, Hi: 0x1f3ff, Stride: 1},
	},
}
View Source
var Emoji_Modifier_Base = &unicode.RangeTable{
	R16: []unicode.Range16{
		{Lo: 0x261d, Hi: 0x26f9, Stride: 220},
		{Lo: 0x270a, Hi: 0x270d, Stride: 1},
	},
	R32: []unicode.Range32{
		{Lo: 0x1f385, Hi: 0x1f3c2, Stride: 61},
		{Lo: 0x1f3c3, Hi: 0x1f3c4, Stride: 1},
		{Lo: 0x1f3c7, Hi: 0x1f3ca, Stride: 3},
		{Lo: 0x1f3cb, Hi: 0x1f3cc, Stride: 1},
		{Lo: 0x1f442, Hi: 0x1f443, Stride: 1},
		{Lo: 0x1f446, Hi: 0x1f450, Stride: 1},
		{Lo: 0x1f466, Hi: 0x1f478, Stride: 1},
		{Lo: 0x1f47c, Hi: 0x1f481, Stride: 5},
		{Lo: 0x1f482, Hi: 0x1f483, Stride: 1},
		{Lo: 0x1f485, Hi: 0x1f487, Stride: 1},
		{Lo: 0x1f48f, Hi: 0x1f491, Stride: 2},
		{Lo: 0x1f4aa, Hi: 0x1f574, Stride: 202},
		{Lo: 0x1f575, Hi: 0x1f57a, Stride: 5},
		{Lo: 0x1f590, Hi: 0x1f595, Stride: 5},
		{Lo: 0x1f596, Hi: 0x1f645, Stride: 175},
		{Lo: 0x1f646, Hi: 0x1f647, Stride: 1},
		{Lo: 0x1f64b, Hi: 0x1f64f, Stride: 1},
		{Lo: 0x1f6a3, Hi: 0x1f6b4, Stride: 17},
		{Lo: 0x1f6b5, Hi: 0x1f6b6, Stride: 1},
		{Lo: 0x1f6c0, Hi: 0x1f6cc, Stride: 12},
		{Lo: 0x1f90c, Hi: 0x1f90f, Stride: 3},
		{Lo: 0x1f918, Hi: 0x1f91f, Stride: 1},
		{Lo: 0x1f926, Hi: 0x1f930, Stride: 10},
		{Lo: 0x1f931, Hi: 0x1f939, Stride: 1},
		{Lo: 0x1f93c, Hi: 0x1f93e, Stride: 1},
		{Lo: 0x1f977, Hi: 0x1f9b5, Stride: 62},
		{Lo: 0x1f9b6, Hi: 0x1f9b8, Stride: 2},
		{Lo: 0x1f9b9, Hi: 0x1f9bb, Stride: 2},
		{Lo: 0x1f9cd, Hi: 0x1f9cf, Stride: 1},
		{Lo: 0x1f9d1, Hi: 0x1f9dd, Stride: 1},
	},
}
View Source
var Emoji_Presentation = &unicode.RangeTable{
	R16: []unicode.Range16{
		{Lo: 0x231a, Hi: 0x231b, Stride: 1},
		{Lo: 0x23e9, Hi: 0x23ec, Stride: 1},
		{Lo: 0x23f0, Hi: 0x23f3, Stride: 3},
		{Lo: 0x25fd, Hi: 0x25fe, Stride: 1},
		{Lo: 0x2614, Hi: 0x2615, Stride: 1},
		{Lo: 0x2648, Hi: 0x2653, Stride: 1},
		{Lo: 0x267f, Hi: 0x2693, Stride: 20},
		{Lo: 0x26a1, Hi: 0x26aa, Stride: 9},
		{Lo: 0x26ab, Hi: 0x26bd, Stride: 18},
		{Lo: 0x26be, Hi: 0x26c4, Stride: 6},
		{Lo: 0x26c5, Hi: 0x26ce, Stride: 9},
		{Lo: 0x26d4, Hi: 0x26ea, Stride: 22},
		{Lo: 0x26f2, Hi: 0x26f3, Stride: 1},
		{Lo: 0x26f5, Hi: 0x26fa, Stride: 5},
		{Lo: 0x26fd, Hi: 0x2705, Stride: 8},
		{Lo: 0x270a, Hi: 0x270b, Stride: 1},
		{Lo: 0x2728, Hi: 0x274c, Stride: 36},
		{Lo: 0x274e, Hi: 0x2753, Stride: 5},
		{Lo: 0x2754, Hi: 0x2755, Stride: 1},
		{Lo: 0x2757, Hi: 0x2795, Stride: 62},
		{Lo: 0x2796, Hi: 0x2797, Stride: 1},
		{Lo: 0x27b0, Hi: 0x27bf, Stride: 15},
		{Lo: 0x2b1b, Hi: 0x2b1c, Stride: 1},
		{Lo: 0x2b50, Hi: 0x2b55, Stride: 5},
	},
	R32: []unicode.Range32{
		{Lo: 0x1f004, Hi: 0x1f0cf, Stride: 203},
		{Lo: 0x1f18e, Hi: 0x1f191, Stride: 3},
		{Lo: 0x1f192, Hi: 0x1f19a, Stride: 1},
		{Lo: 0x1f1e6, Hi: 0x1f1ff, Stride: 1},
		{Lo: 0x1f201, Hi: 0x1f21a, Stride: 25},
		{Lo: 0x1f22f, Hi: 0x1f232, Stride: 3},
		{Lo: 0x1f233, Hi: 0x1f236, Stride: 1},
		{Lo: 0x1f238, Hi: 0x1f23a, Stride: 1},
		{Lo: 0x1f250, Hi: 0x1f251, 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: 0x1f3f8, Stride: 4},
		{Lo: 0x1f3f9, Hi: 0x1f43e, Stride: 1},
		{Lo: 0x1f440, Hi: 0x1f442, Stride: 2},
		{Lo: 0x1f443, 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: 0x1f595, Stride: 27},
		{Lo: 0x1f596, Hi: 0x1f5a4, Stride: 14},
		{Lo: 0x1f5fb, Hi: 0x1f64f, Stride: 1},
		{Lo: 0x1f680, Hi: 0x1f6c5, Stride: 1},
		{Lo: 0x1f6cc, Hi: 0x1f6d0, Stride: 4},
		{Lo: 0x1f6d1, Hi: 0x1f6d2, Stride: 1},
		{Lo: 0x1f6d5, Hi: 0x1f6d7, Stride: 1},
		{Lo: 0x1f6eb, Hi: 0x1f6ec, Stride: 1},
		{Lo: 0x1f6f4, Hi: 0x1f6fc, Stride: 1},
		{Lo: 0x1f7e0, Hi: 0x1f7eb, Stride: 1},
		{Lo: 0x1f90c, Hi: 0x1f93a, Stride: 1},
		{Lo: 0x1f93c, Hi: 0x1f945, Stride: 1},
		{Lo: 0x1f947, Hi: 0x1f978, Stride: 1},
		{Lo: 0x1f97a, Hi: 0x1f9cb, Stride: 1},
		{Lo: 0x1f9cd, Hi: 0x1f9ff, Stride: 1},
		{Lo: 0x1fa70, Hi: 0x1fa74, Stride: 1},
		{Lo: 0x1fa78, Hi: 0x1fa7a, Stride: 1},
		{Lo: 0x1fa80, Hi: 0x1fa86, Stride: 1},
		{Lo: 0x1fa90, Hi: 0x1faa8, Stride: 1},
		{Lo: 0x1fab0, Hi: 0x1fab6, Stride: 1},
		{Lo: 0x1fac0, Hi: 0x1fac2, Stride: 1},
		{Lo: 0x1fad0, Hi: 0x1fad6, Stride: 1},
	},
}
View Source
var Extended_Pictographic = &unicode.RangeTable{
	R16: []unicode.Range16{
		{Lo: 0x00a9, Hi: 0x00ae, Stride: 5},
		{Lo: 0x203c, Hi: 0x2049, Stride: 13},
		{Lo: 0x2122, Hi: 0x2139, Stride: 23},
		{Lo: 0x2194, Hi: 0x2199, Stride: 1},
		{Lo: 0x21a9, Hi: 0x21aa, Stride: 1},
		{Lo: 0x231a, Hi: 0x231b, Stride: 1},
		{Lo: 0x2328, Hi: 0x2388, Stride: 96},
		{Lo: 0x23cf, Hi: 0x23e9, Stride: 26},
		{Lo: 0x23ea, Hi: 0x23f3, Stride: 1},
		{Lo: 0x23f8, Hi: 0x23fa, Stride: 1},
		{Lo: 0x24c2, Hi: 0x25aa, Stride: 232},
		{Lo: 0x25ab, Hi: 0x25b6, Stride: 11},
		{Lo: 0x25c0, Hi: 0x25fb, Stride: 59},
		{Lo: 0x25fc, Hi: 0x25fe, Stride: 1},
		{Lo: 0x2600, Hi: 0x2605, Stride: 1},
		{Lo: 0x2607, Hi: 0x2612, Stride: 1},
		{Lo: 0x2614, Hi: 0x2685, Stride: 1},
		{Lo: 0x2690, Hi: 0x2705, Stride: 1},
		{Lo: 0x2708, Hi: 0x2712, Stride: 1},
		{Lo: 0x2714, Hi: 0x2716, Stride: 2},
		{Lo: 0x271d, Hi: 0x2721, Stride: 4},
		{Lo: 0x2728, Hi: 0x2733, Stride: 11},
		{Lo: 0x2734, Hi: 0x2744, Stride: 16},
		{Lo: 0x2747, Hi: 0x274c, Stride: 5},
		{Lo: 0x274e, Hi: 0x2753, Stride: 5},
		{Lo: 0x2754, Hi: 0x2755, Stride: 1},
		{Lo: 0x2757, Hi: 0x2763, Stride: 12},
		{Lo: 0x2764, Hi: 0x2767, Stride: 1},
		{Lo: 0x2795, Hi: 0x2797, Stride: 1},
		{Lo: 0x27a1, Hi: 0x27bf, Stride: 15},
		{Lo: 0x2934, Hi: 0x2935, Stride: 1},
		{Lo: 0x2b05, Hi: 0x2b07, Stride: 1},
		{Lo: 0x2b1b, Hi: 0x2b1c, Stride: 1},
		{Lo: 0x2b50, Hi: 0x2b55, Stride: 5},
		{Lo: 0x3030, Hi: 0x303d, Stride: 13},
		{Lo: 0x3297, Hi: 0x3299, Stride: 2},
	},
	R32: []unicode.Range32{
		{Lo: 0x1f000, Hi: 0x1f0ff, Stride: 1},
		{Lo: 0x1f10d, Hi: 0x1f10f, Stride: 1},
		{Lo: 0x1f12f, Hi: 0x1f16c, Stride: 61},
		{Lo: 0x1f16d, Hi: 0x1f171, Stride: 1},
		{Lo: 0x1f17e, Hi: 0x1f17f, Stride: 1},
		{Lo: 0x1f18e, Hi: 0x1f191, Stride: 3},
		{Lo: 0x1f192, Hi: 0x1f19a, Stride: 1},
		{Lo: 0x1f1ad, Hi: 0x1f1e5, Stride: 1},
		{Lo: 0x1f201, Hi: 0x1f20f, Stride: 1},
		{Lo: 0x1f21a, Hi: 0x1f22f, Stride: 21},
		{Lo: 0x1f232, Hi: 0x1f23a, Stride: 1},
		{Lo: 0x1f23c, Hi: 0x1f23f, Stride: 1},
		{Lo: 0x1f249, Hi: 0x1f3fa, Stride: 1},
		{Lo: 0x1f400, Hi: 0x1f53d, Stride: 1},
		{Lo: 0x1f546, Hi: 0x1f64f, Stride: 1},
		{Lo: 0x1f680, Hi: 0x1f6ff, Stride: 1},
		{Lo: 0x1f774, Hi: 0x1f77f, Stride: 1},
		{Lo: 0x1f7d5, Hi: 0x1f7ff, Stride: 1},
		{Lo: 0x1f80c, Hi: 0x1f80f, Stride: 1},
		{Lo: 0x1f848, Hi: 0x1f84f, Stride: 1},
		{Lo: 0x1f85a, Hi: 0x1f85f, Stride: 1},
		{Lo: 0x1f888, Hi: 0x1f88f, Stride: 1},
		{Lo: 0x1f8ae, Hi: 0x1f8ff, Stride: 1},
		{Lo: 0x1f90c, Hi: 0x1f93a, Stride: 1},
		{Lo: 0x1f93c, Hi: 0x1f945, Stride: 1},
		{Lo: 0x1f947, Hi: 0x1faff, Stride: 1},
		{Lo: 0x1fc00, Hi: 0x1fffd, Stride: 1},
	},
	LatinOffset: 1,
}

Functions

func Compose

func Compose(a, b rune) (rune, bool)

Compose composes a sequence of two input Unicode code points by canonical equivalence, returning the composed code, if successful. It returns `false` otherwise

func Decompose

func Decompose(ab rune) (a, b rune, ok bool)

Decompose decompose an input Unicode code point, returning the two decomposed code points, if successful. It returns `false` otherwise.

func HasArabicJoining

func HasArabicJoining(script language.Script) bool

HasArabicJoining return 'true' if the given script has arabic joining.

func LookupCombiningClass

func LookupCombiningClass(ch rune) uint8

LookupCombiningClass returns the class used for the Canonical Ordering Algorithm in the Unicode Standard, defaulting to 0.

From http://www.unicode.org/reports/tr44/#Canonical_Combining_Class: "This property could be considered either an enumerated property or a numeric property: the principal use of the property is in terms of the numeric values. For the property value names associated with different numeric values, see DerivedCombiningClass.txt and Canonical Combining Class Values."

func LookupMirrorChar

func LookupMirrorChar(ch rune) (rune, bool)

LookupMirrorChar finds the mirrored equivalent of a character as defined in the file BidiMirroring.txt of the Unicode Character Database available at http://www.unicode.org/Public/UNIDATA/BidiMirroring.txt.

If the input character is declared as a mirroring character in the Unicode standard and has a mirrored equivalent, it is returned with `true`. Otherwise the input character itself returned with `false`.

Types

type ArabicJoining

type ArabicJoining byte

ArabicJoining is a property used to shape Arabic runes. See the table ArabicJoinings.

const (
	U          ArabicJoining = 'U' // Un-joining, e.g. Full Stop
	R          ArabicJoining = 'R' // Right-joining, e.g. Arabic Letter Dal
	Alaph      ArabicJoining = 'a' // Alaph group (included in kind R)
	DalathRish ArabicJoining = 'd' // Dalat Rish group (included in kind R)
	D          ArabicJoining = 'D' // Dual-joining, e.g. Arabic Letter Ain
	C          ArabicJoining = 'C' // Join-Causing, e.g. Tatweel, ZWJ
	L          ArabicJoining = 'L' // Left-joining, i.e. fictional
	T          ArabicJoining = 'T' // Transparent, e.g. Arabic Fatha
	G          ArabicJoining = 'G' // Ignored, e.g. LRE, RLE, ZWNBSP
)

Directories

Path Synopsis
Generate lookup function for Unicode properties not covered by the standard package unicode.
Generate lookup function for Unicode properties not covered by the standard package unicode.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL