299 lines
14 KiB
C#
299 lines
14 KiB
C#
// Copyright (c) Six Labors.
|
|
// Licensed under the Apache License, Version 2.0.
|
|
|
|
// <auto-generated />
|
|
using System;
|
|
using System.Collections.Generic;
|
|
|
|
namespace SixLabors.Fonts.Unicode.Resources
|
|
{
|
|
internal static class UniversalShapingData
|
|
{
|
|
public static string[] Categories => new string[]
|
|
{
|
|
"O",
|
|
"IND",
|
|
"S",
|
|
"GB",
|
|
"B",
|
|
"FMPst",
|
|
"CGJ",
|
|
"VMAbv",
|
|
"VMPst",
|
|
"VAbv",
|
|
"VPst",
|
|
"CMBlw",
|
|
"VPre",
|
|
"VBlw",
|
|
"H",
|
|
"VMBlw",
|
|
"FMAbv",
|
|
"CMAbv",
|
|
"MBlw",
|
|
"CS",
|
|
"R",
|
|
"HVM",
|
|
"FMBlw",
|
|
"SUB",
|
|
"MPst",
|
|
"MPre",
|
|
"FAbv",
|
|
"FPst",
|
|
"FBlw",
|
|
"MAbv",
|
|
"SMAbv",
|
|
"SMBlw",
|
|
"RK",
|
|
"VMPre",
|
|
"ZWNJ",
|
|
"ZWJ",
|
|
"WJ",
|
|
"VS",
|
|
"N",
|
|
"HN"
|
|
};
|
|
|
|
public static Dictionary<int, int[]> Decompositions => new()
|
|
{
|
|
{ 0x9CB, new int[] { 0x9C7,0x9BE } },
|
|
{ 0x9CC, new int[] { 0x9C7,0x9D7 } },
|
|
{ 0xB48, new int[] { 0xB47,0xB56 } },
|
|
{ 0xB4B, new int[] { 0xB47,0xB3E } },
|
|
{ 0xB4C, new int[] { 0xB47,0xB57 } },
|
|
{ 0xBCA, new int[] { 0xBC6,0xBBE } },
|
|
{ 0xBCB, new int[] { 0xBC7,0xBBE } },
|
|
{ 0xBCC, new int[] { 0xBC6,0xBD7 } },
|
|
{ 0xC48, new int[] { 0xC46,0xC56 } },
|
|
{ 0xCC0, new int[] { 0xCBF,0xCD5 } },
|
|
{ 0xCC7, new int[] { 0xCC6,0xCD5 } },
|
|
{ 0xCC8, new int[] { 0xCC6,0xCD6 } },
|
|
{ 0xCCA, new int[] { 0xCC6,0xCC2 } },
|
|
{ 0xCCB, new int[] { 0xCC6,0xCC2,0xCD5 } },
|
|
{ 0xD4A, new int[] { 0xD46,0xD3E } },
|
|
{ 0xD4B, new int[] { 0xD47,0xD3E } },
|
|
{ 0xD4C, new int[] { 0xD46,0xD57 } },
|
|
{ 0xDDA, new int[] { 0xDD9,0xDCA } },
|
|
{ 0xDDC, new int[] { 0xDD9,0xDCF } },
|
|
{ 0xDDD, new int[] { 0xDD9,0xDCF,0xDCA } },
|
|
{ 0xDDE, new int[] { 0xDD9,0xDDF } },
|
|
{ 0xF73, new int[] { 0xF71,0xF72 } },
|
|
{ 0xF75, new int[] { 0xF71,0xF74 } },
|
|
{ 0xF76, new int[] { 0xFB2,0xF80 } },
|
|
{ 0xF78, new int[] { 0xFB3,0xF80 } },
|
|
{ 0xF81, new int[] { 0xF71,0xF80 } },
|
|
{ 0x1B3B, new int[] { 0x1B3A,0x1B35 } },
|
|
{ 0x1B3D, new int[] { 0x1B3C,0x1B35 } },
|
|
{ 0x1B40, new int[] { 0x1B3E,0x1B35 } },
|
|
{ 0x1B41, new int[] { 0x1B3F,0x1B35 } },
|
|
{ 0x1B43, new int[] { 0x1B42,0x1B35 } },
|
|
{ 0x1112E, new int[] { 0x11131,0x11127 } },
|
|
{ 0x1112F, new int[] { 0x11132,0x11127 } },
|
|
{ 0x1134B, new int[] { 0x11347,0x1133E } },
|
|
{ 0x1134C, new int[] { 0x11347,0x11357 } },
|
|
{ 0x113C5, new int[] { 0x113C2,0x113C2 } },
|
|
{ 0x113C7, new int[] { 0x113C2,0x113B8 } },
|
|
{ 0x113C8, new int[] { 0x113C2,0x113C9 } },
|
|
{ 0x114BB, new int[] { 0x114B9,0x114BA } },
|
|
{ 0x114BC, new int[] { 0x114B9,0x114B0 } },
|
|
{ 0x114BE, new int[] { 0x114B9,0x114BD } },
|
|
{ 0x115BA, new int[] { 0x115B8,0x115AF } },
|
|
{ 0x115BB, new int[] { 0x115B9,0x115AF } },
|
|
{ 0x11938, new int[] { 0x11935,0x11930 } },
|
|
{ 0x16121, new int[] { 0x1611E,0x1611E } },
|
|
{ 0x16122, new int[] { 0x1611E,0x16129 } },
|
|
{ 0x16123, new int[] { 0x1611E,0x1611F } },
|
|
{ 0x16124, new int[] { 0x16129,0x1611F } },
|
|
{ 0x16125, new int[] { 0x1611E,0x16120 } },
|
|
{ 0x16126, new int[] { 0x1611E,0x1611E,0x1611F } },
|
|
{ 0x16127, new int[] { 0x1611E,0x16129,0x1611F } },
|
|
{ 0x16128, new int[] { 0x1611E,0x1611E,0x16120 } },
|
|
{ 0x16D68, new int[] { 0x16D67,0x16D67 } },
|
|
{ 0x16D69, new int[] { 0x16D63,0x16D67 } },
|
|
{ 0x16D6A, new int[] { 0x16D63,0x16D67,0x16D67 } }
|
|
};
|
|
|
|
public static int[][] StateTable => new int[57][]
|
|
{
|
|
new int[] { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 },
|
|
new int[] { 2,2,3,4,4,0,0,5,6,7,8,9,10,11,12,13,0,14,15,0,16,0,0,17,10,18,19,20,21,22,0,0,0,23,0,0,2,0,24,0 },
|
|
new int[] { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,0,0 },
|
|
new int[] { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,27,0,0,0,0,0,26,0,0 },
|
|
new int[] { 0,0,0,0,0,28,0,29,30,31,32,33,34,35,36,37,38,39,40,0,0,0,41,42,34,43,44,45,46,47,0,0,48,49,0,0,0,39,0,0 },
|
|
new int[] { 0,0,0,0,0,0,0,5,6,0,0,0,0,0,0,13,0,0,0,0,0,0,0,0,0,0,19,20,21,0,0,0,0,0,0,0,0,0,0,0 },
|
|
new int[] { 0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,20,21,0,0,0,0,0,0,0,0,0,0,0 },
|
|
new int[] { 0,0,0,0,0,0,0,5,6,7,8,0,0,11,0,13,0,0,0,0,0,0,0,0,0,0,19,20,21,0,0,0,0,23,0,0,0,0,0,0 },
|
|
new int[] { 0,0,0,0,0,0,0,5,6,0,8,0,0,0,0,13,0,0,0,0,0,0,0,0,0,0,19,20,21,0,0,0,0,23,0,0,0,0,0,0 },
|
|
new int[] { 0,0,0,0,0,0,0,5,6,7,8,9,10,11,12,13,0,0,15,0,0,0,0,17,10,18,19,20,21,22,0,0,0,23,0,0,0,0,0,0 },
|
|
new int[] { 0,0,0,0,0,0,0,5,6,7,8,0,10,11,0,13,0,0,0,0,0,0,0,0,0,0,19,20,21,0,0,0,0,23,0,0,0,0,0,0 },
|
|
new int[] { 0,0,0,0,0,0,0,5,6,0,8,0,0,11,0,13,0,0,0,0,0,0,0,0,0,0,19,20,21,0,0,0,0,23,0,0,0,0,0,0 },
|
|
new int[] { 0,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 },
|
|
new int[] { 0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,13,0,0,0,0,0,0,0,0,0,0,19,20,21,0,0,0,0,0,0,0,0,0,0,0 },
|
|
new int[] { 0,0,0,0,0,0,0,5,6,7,8,9,10,11,12,13,0,14,15,0,0,0,0,17,10,18,19,20,21,22,0,0,0,23,0,0,0,0,0,0 },
|
|
new int[] { 0,0,0,0,0,0,0,5,6,7,8,0,10,11,0,13,0,0,0,0,0,0,0,0,10,0,19,20,21,0,0,0,0,23,0,0,0,0,0,0 },
|
|
new int[] { 0,0,0,4,4,0,0,5,6,7,8,9,10,11,12,13,0,14,15,0,0,0,0,17,10,18,19,20,21,22,0,0,0,23,0,0,0,0,0,0 },
|
|
new int[] { 0,0,0,0,0,0,0,5,6,7,8,50,10,11,12,13,0,50,15,0,0,0,0,17,10,18,19,20,21,22,0,0,0,23,0,0,0,51,0,0 },
|
|
new int[] { 0,0,0,0,0,0,0,5,6,7,8,0,10,11,0,13,0,0,15,0,0,0,0,0,10,0,19,20,21,22,0,0,0,23,0,0,0,0,0,0 },
|
|
new int[] { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,20,21,0,0,0,0,0,0,0,0,0,0,0 },
|
|
new int[] { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0 },
|
|
new int[] { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,21,0,0,0,0,0,0,0,0,0,0,0 },
|
|
new int[] { 0,0,0,0,0,0,0,5,6,7,8,0,10,11,0,13,0,0,15,0,0,0,0,0,10,0,19,20,21,0,0,0,0,23,0,0,0,0,0,0 },
|
|
new int[] { 0,0,0,0,0,0,0,5,6,0,0,0,0,0,0,13,0,0,0,0,0,0,0,0,0,0,19,20,21,0,0,0,0,23,0,0,0,0,0,0 },
|
|
new int[] { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,0,53 },
|
|
new int[] { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 },
|
|
new int[] { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,27,0,0,0,0,0,0,0,0 },
|
|
new int[] { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,0,0,0,0,0,0,0,0 },
|
|
new int[] { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 },
|
|
new int[] { 0,0,0,0,0,28,0,29,30,0,0,0,0,0,0,37,38,0,0,0,0,0,41,0,0,0,44,45,46,0,0,0,0,0,0,0,0,0,0,0 },
|
|
new int[] { 0,0,0,0,0,28,0,0,30,0,0,0,0,0,0,0,38,0,0,0,0,0,41,0,0,0,44,45,46,0,0,0,0,0,0,0,0,0,0,0 },
|
|
new int[] { 0,0,0,0,0,28,0,29,30,31,32,0,0,35,0,37,38,0,0,0,0,0,41,0,0,0,44,45,46,0,0,0,0,49,0,0,0,0,0,0 },
|
|
new int[] { 0,0,0,0,0,28,0,29,30,0,32,0,0,0,0,37,38,0,0,0,0,0,41,0,0,0,44,45,46,0,0,0,0,49,0,0,0,0,0,0 },
|
|
new int[] { 0,0,0,0,0,28,0,29,30,31,32,33,34,35,36,37,38,0,40,0,0,0,41,42,34,43,44,45,46,47,0,0,48,49,0,0,0,0,0,0 },
|
|
new int[] { 0,0,0,0,0,28,0,29,30,31,32,0,34,35,0,37,38,0,0,0,0,0,41,0,0,0,44,45,46,0,0,0,0,49,0,0,0,0,0,0 },
|
|
new int[] { 0,0,0,0,0,28,0,29,30,0,32,0,0,35,0,37,38,0,0,0,0,0,41,0,0,0,44,45,46,0,0,0,0,49,0,0,0,0,0,0 },
|
|
new int[] { 0,0,0,0,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 },
|
|
new int[] { 0,0,0,0,0,28,0,0,30,0,0,0,0,0,0,37,38,0,0,0,0,0,41,0,0,0,44,45,46,0,0,0,0,0,0,0,0,0,0,0 },
|
|
new int[] { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,38,0,0,0,0,0,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 },
|
|
new int[] { 0,0,0,0,0,28,0,29,30,31,32,33,34,35,36,37,38,39,40,0,0,0,41,42,34,43,44,45,46,47,0,0,48,49,0,0,0,0,0,0 },
|
|
new int[] { 0,0,0,0,0,28,0,29,30,31,32,0,34,35,0,37,38,0,0,0,0,0,41,0,34,0,44,45,46,0,0,0,0,49,0,0,0,0,0,0 },
|
|
new int[] { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 },
|
|
new int[] { 0,0,0,0,0,28,0,29,30,31,32,54,34,35,36,37,38,54,40,0,0,0,41,42,34,43,44,45,46,47,0,0,48,49,0,0,0,55,0,0 },
|
|
new int[] { 0,0,0,0,0,28,0,29,30,31,32,0,34,35,0,37,38,0,40,0,0,0,41,0,34,0,44,45,46,47,0,0,0,49,0,0,0,0,0,0 },
|
|
new int[] { 0,0,0,0,0,28,0,0,0,0,0,0,0,0,0,0,38,0,0,0,0,0,41,0,0,0,44,45,46,0,0,0,0,0,0,0,0,0,0,0 },
|
|
new int[] { 0,0,0,0,0,28,0,0,0,0,0,0,0,0,0,0,38,0,0,0,0,0,41,0,0,0,0,45,0,0,0,0,0,0,0,0,0,0,0,0 },
|
|
new int[] { 0,0,0,0,0,28,0,0,0,0,0,0,0,0,0,0,38,0,0,0,0,0,41,0,0,0,0,45,46,0,0,0,0,0,0,0,0,0,0,0 },
|
|
new int[] { 0,0,0,0,0,28,0,29,30,31,32,0,34,35,0,37,38,0,40,0,0,0,41,0,34,0,44,45,46,0,0,0,0,49,0,0,0,0,0,0 },
|
|
new int[] { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 },
|
|
new int[] { 0,0,0,0,0,28,0,29,30,0,0,0,0,0,0,37,38,0,0,0,0,0,41,0,0,0,44,45,46,0,0,0,0,49,0,0,0,0,0,0 },
|
|
new int[] { 0,0,0,0,0,0,0,5,6,7,8,50,10,11,12,13,0,0,15,0,0,0,0,17,10,18,19,20,21,22,0,0,0,23,0,0,0,0,0,0 },
|
|
new int[] { 0,0,0,0,0,0,0,5,6,7,8,50,10,11,12,13,0,50,15,0,0,0,0,17,10,18,19,20,21,22,0,0,0,23,0,0,0,0,0,0 },
|
|
new int[] { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,53 },
|
|
new int[] { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0 },
|
|
new int[] { 0,0,0,0,0,28,0,29,30,31,32,54,34,35,36,37,38,0,40,0,0,0,41,42,34,43,44,45,46,47,0,0,48,49,0,0,0,0,0,0 },
|
|
new int[] { 0,0,0,0,0,28,0,29,30,31,32,54,34,35,36,37,38,54,40,0,0,0,41,42,34,43,44,45,46,47,0,0,48,49,0,0,0,0,0,0 },
|
|
new int[] { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,0,53 }
|
|
};
|
|
|
|
public static bool[] AcceptingStates => new bool[]
|
|
{
|
|
false,
|
|
true,
|
|
true,
|
|
true,
|
|
true,
|
|
true,
|
|
true,
|
|
true,
|
|
true,
|
|
true,
|
|
true,
|
|
true,
|
|
false,
|
|
true,
|
|
true,
|
|
true,
|
|
true,
|
|
true,
|
|
true,
|
|
true,
|
|
true,
|
|
true,
|
|
true,
|
|
true,
|
|
true,
|
|
true,
|
|
true,
|
|
true,
|
|
true,
|
|
true,
|
|
true,
|
|
true,
|
|
true,
|
|
true,
|
|
true,
|
|
true,
|
|
true,
|
|
true,
|
|
true,
|
|
true,
|
|
true,
|
|
true,
|
|
true,
|
|
true,
|
|
true,
|
|
true,
|
|
true,
|
|
true,
|
|
true,
|
|
true,
|
|
true,
|
|
true,
|
|
true,
|
|
true,
|
|
true,
|
|
true,
|
|
true
|
|
};
|
|
|
|
public static string[][] Tags => new string[57][]
|
|
{
|
|
Array.Empty<string>(),
|
|
new string[] { "broken_cluster" },
|
|
new string[] { "independent_cluster" },
|
|
new string[] { "symbol_cluster" },
|
|
new string[] { "standard_cluster" },
|
|
new string[] { "broken_cluster" },
|
|
new string[] { "broken_cluster" },
|
|
new string[] { "broken_cluster" },
|
|
new string[] { "broken_cluster" },
|
|
new string[] { "broken_cluster" },
|
|
new string[] { "broken_cluster" },
|
|
new string[] { "broken_cluster" },
|
|
Array.Empty<string>(),
|
|
new string[] { "broken_cluster" },
|
|
new string[] { "broken_cluster" },
|
|
new string[] { "broken_cluster" },
|
|
new string[] { "broken_cluster" },
|
|
new string[] { "broken_cluster" },
|
|
new string[] { "broken_cluster" },
|
|
new string[] { "broken_cluster" },
|
|
new string[] { "broken_cluster" },
|
|
new string[] { "broken_cluster" },
|
|
new string[] { "broken_cluster" },
|
|
new string[] { "broken_cluster" },
|
|
new string[] { "numeral_cluster" },
|
|
new string[] { "independent_cluster" },
|
|
new string[] { "symbol_cluster" },
|
|
new string[] { "symbol_cluster" },
|
|
new string[] { "standard_cluster" },
|
|
new string[] { "standard_cluster" },
|
|
new string[] { "standard_cluster" },
|
|
new string[] { "standard_cluster" },
|
|
new string[] { "standard_cluster" },
|
|
new string[] { "standard_cluster" },
|
|
new string[] { "standard_cluster" },
|
|
new string[] { "standard_cluster" },
|
|
new string[] { "virama_terminated_cluster" },
|
|
new string[] { "standard_cluster" },
|
|
new string[] { "standard_cluster" },
|
|
new string[] { "standard_cluster" },
|
|
new string[] { "standard_cluster" },
|
|
new string[] { "standard_cluster" },
|
|
new string[] { "standard_cluster" },
|
|
new string[] { "standard_cluster" },
|
|
new string[] { "standard_cluster" },
|
|
new string[] { "standard_cluster" },
|
|
new string[] { "standard_cluster" },
|
|
new string[] { "standard_cluster" },
|
|
new string[] { "virama_terminated_cluster" },
|
|
new string[] { "standard_cluster" },
|
|
new string[] { "broken_cluster" },
|
|
new string[] { "broken_cluster" },
|
|
new string[] { "numeral_cluster" },
|
|
new string[] { "number_joiner_terminated_cluster" },
|
|
new string[] { "standard_cluster" },
|
|
new string[] { "standard_cluster" },
|
|
new string[] { "numeral_cluster" }
|
|
};
|
|
}
|
|
}
|