// This file is generated by gen_props.go. DO NOT EDIT.

package segment

type emProp byte

const (
	emPropNone = emProp(iota)
	emPropExtended_Pictographic
)

var emAsciiLookupTbl = [256]emProp{
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropExtended_Pictographic,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropExtended_Pictographic,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
	emPropNone,
}

var emRanges = [78]struct {
	Prop  emProp
	Start rune
	End   rune
}{
	{
		Prop:  emPropExtended_Pictographic,
		Start: 8252,
		End:   8252,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 8265,
		End:   8265,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 8482,
		End:   8482,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 8505,
		End:   8505,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 8596,
		End:   8601,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 8617,
		End:   8618,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 8986,
		End:   8987,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 9000,
		End:   9000,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 9096,
		End:   9096,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 9167,
		End:   9167,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 9193,
		End:   9203,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 9208,
		End:   9210,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 9410,
		End:   9410,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 9642,
		End:   9643,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 9654,
		End:   9654,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 9664,
		End:   9664,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 9723,
		End:   9726,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 9728,
		End:   9733,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 9735,
		End:   9746,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 9748,
		End:   9861,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 9872,
		End:   9989,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 9992,
		End:   10002,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 10004,
		End:   10004,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 10006,
		End:   10006,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 10013,
		End:   10013,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 10017,
		End:   10017,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 10024,
		End:   10024,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 10035,
		End:   10036,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 10052,
		End:   10052,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 10055,
		End:   10055,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 10060,
		End:   10060,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 10062,
		End:   10062,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 10067,
		End:   10069,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 10071,
		End:   10071,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 10083,
		End:   10087,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 10133,
		End:   10135,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 10145,
		End:   10145,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 10160,
		End:   10160,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 10175,
		End:   10175,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 10548,
		End:   10549,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 11013,
		End:   11015,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 11035,
		End:   11036,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 11088,
		End:   11088,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 11093,
		End:   11093,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 12336,
		End:   12336,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 12349,
		End:   12349,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 12951,
		End:   12951,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 12953,
		End:   12953,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 126976,
		End:   127231,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 127245,
		End:   127247,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 127279,
		End:   127279,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 127340,
		End:   127345,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 127358,
		End:   127359,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 127374,
		End:   127374,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 127377,
		End:   127386,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 127405,
		End:   127461,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 127489,
		End:   127503,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 127514,
		End:   127514,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 127535,
		End:   127535,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 127538,
		End:   127546,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 127548,
		End:   127551,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 127561,
		End:   127994,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 128000,
		End:   128317,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 128326,
		End:   128591,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 128640,
		End:   128767,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 128884,
		End:   128895,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 128981,
		End:   129023,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 129036,
		End:   129039,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 129096,
		End:   129103,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 129114,
		End:   129119,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 129160,
		End:   129167,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 129198,
		End:   129279,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 129292,
		End:   129338,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 129340,
		End:   129349,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 129351,
		End:   129791,
	},
	{
		Prop:  emPropExtended_Pictographic,
		Start: 130048,
		End:   131069,
	},
}

func emPropForRune(r rune) emProp {
	if r < 256 {
		return emAsciiLookupTbl[r]
	}

	i, j := 0, len(emRanges)
	for i < j {
		mid := i + (j-i)/2
		rng := emRanges[mid]
		if rng.Start <= r && r <= rng.End {
			return rng.Prop
		} else if r < rng.Start {
			j = mid
		} else {
			i = mid + 1
		}
	}
	return emPropNone
}
