src/vs/base/common/strings.ts/GraphemeBreakTree/getGraphemeBreakType
class GraphemeBreakTree:	public getGraphemeBreakType(codePoint: number): GraphemeBreakType {
		// !!! Let's make 7bit ASCII a bit faster: 0..31
		if (codePoint < 32) {
			if (codePoint === CharCode.LineFeed) {
				return GraphemeBreakType.LF;
			}
			if (codePoint === CharCode.CarriageReturn) {
				return GraphemeBreakType.CR;
			}
			return GraphemeBreakType.Control;
		}
		// !!! Let's make 7bit ASCII a bit faster: 32..126
		if (codePoint < 127) {
			return GraphemeBreakType.Other;
		}

		const data = this._data;
		const nodeCount = data.length / 3;
		let nodeIndex = 1;
		while (nodeIndex <= nodeCount) {
			if (codePoint < data[3 * nodeIndex]) {
				// go left
				nodeIndex = 2 * nodeIndex;
			} else if (codePoint > data[3 * nodeIndex + 1]) {
				// go right
				nodeIndex = 2 * nodeIndex + 1;
			} else {
				// hit
				return data[3 * nodeIndex + 2];
			}
		}

		return GraphemeBreakType.Other;
	}