harfbuzz/src/hb-ot-shaper-indic-table.cc

464 lines
25 KiB
C++
Raw Normal View History

/* == Start of generated table == */
/*
* The following table is generated by running:
*
* ./gen-indic-table.py IndicSyllabicCategory.txt IndicPositionalCategory.txt Blocks.txt
*
* on files with these headers:
*
2021-09-15 00:00:33 +02:00
* # IndicSyllabicCategory-14.0.0.txt
* # Date: 2021-05-22, 01:01:00 GMT [KW, RP]
* # IndicPositionalCategory-14.0.0.txt
* # Date: 2021-05-22, 01:01:00 GMT [KW, RP]
* # Blocks-14.0.0.txt
* # Date: 2021-01-22, 23:29:00 GMT [KW]
*/
#include "hb.hh"
#ifndef HB_NO_OT_SHAPE
2022-06-03 10:56:41 +02:00
#include "hb-ot-shaper-indic.hh"
2012-03-07 21:33:14 +01:00
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunused-macros"
#define ISC_A OT_A /* 59 chars; A */
#define ISC_C OT_C /* 2226 chars; C */
#define ISC_CM OT_CM /* 196 chars; CM */
#define ISC_CS OT_CS /* 8 chars; CS */
#define ISC_Co OT_Coeng /* 12 chars; Coeng */
#define ISC_H OT_H /* 27 chars; H */
#define ISC_M OT_M /* 713 chars; M */
#define ISC_N OT_N /* 74 chars; N */
#define ISC_GB OT_PLACEHOLDER /* 534 chars; PLACEHOLDER */
#define ISC_RS OT_RS /* 2 chars; RS */
#define ISC_R OT_Repha /* 3 chars; Repha */
#define ISC_SM OT_SM /* 154 chars; SM */
#define ISC_S OT_Symbol /* 17 chars; Symbol */
#define ISC_V OT_V /* 516 chars; V */
#define ISC_X OT_X /* 19 chars; X */
#define ISC_ZWJ OT_ZWJ /* 1 chars; ZWJ */
#define ISC_ZWNJ OT_ZWNJ /* 1 chars; ZWNJ */
#define IMC_B INDIC_MATRA_CATEGORY_BOTTOM /* 352 chars; Bottom */
#define IMC_BL INDIC_MATRA_CATEGORY_BOTTOM_AND_LEFT /* 1 chars; Bottom_And_Left */
#define IMC_BR INDIC_MATRA_CATEGORY_BOTTOM_AND_RIGHT /* 4 chars; Bottom_And_Right */
#define IMC_L INDIC_MATRA_CATEGORY_LEFT /* 64 chars; Left */
#define IMC_LR INDIC_MATRA_CATEGORY_LEFT_AND_RIGHT /* 22 chars; Left_And_Right */
#define IMC_x INDIC_MATRA_CATEGORY_NOT_APPLICABLE /* 1 chars; Not_Applicable */
#define IMC_O INDIC_MATRA_CATEGORY_OVERSTRUCK /* 10 chars; Overstruck */
#define IMC_R INDIC_MATRA_CATEGORY_RIGHT /* 290 chars; Right */
#define IMC_T INDIC_MATRA_CATEGORY_TOP /* 418 chars; Top */
#define IMC_TB INDIC_MATRA_CATEGORY_TOP_AND_BOTTOM /* 10 chars; Top_And_Bottom */
#define IMC_TBL INDIC_MATRA_CATEGORY_TOP_AND_BOTTOM_AND_LEFT /* 2 chars; Top_And_Bottom_And_Left */
#define IMC_TBR INDIC_MATRA_CATEGORY_TOP_AND_BOTTOM_AND_RIGHT /* 1 chars; Top_And_Bottom_And_Right */
#define IMC_TL INDIC_MATRA_CATEGORY_TOP_AND_LEFT /* 6 chars; Top_And_Left */
#define IMC_TLR INDIC_MATRA_CATEGORY_TOP_AND_LEFT_AND_RIGHT /* 4 chars; Top_And_Left_And_Right */
#define IMC_TR INDIC_MATRA_CATEGORY_TOP_AND_RIGHT /* 13 chars; Top_And_Right */
#define IMC_VOL INDIC_MATRA_CATEGORY_VISUAL_ORDER_LEFT /* 19 chars; Visual_Order_Left */
#pragma GCC diagnostic pop
#define _(S,M) INDIC_COMBINE_CATEGORIES (ISC_##S, IMC_##M)
static const uint16_t indic_table[] = {
#define indic_offset_0x0028u 0
/* Basic Latin */
/* 0028 */ _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(GB,x), _(X,x), _(X,x),
/* 0030 */ _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x),
/* 0038 */ _(GB,x), _(GB,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x),
#define indic_offset_0x00b0u 24
/* Latin-1 Supplement */
/* 00B0 */ _(X,x), _(X,x), _(SM,x), _(SM,x), _(X,x), _(X,x), _(X,x), _(X,x),
/* 00B8 */ _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x),
/* 00C0 */ _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x),
/* 00C8 */ _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x),
/* 00D0 */ _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(GB,x),
#define indic_offset_0x0900u 64
/* Devanagari */
/* 0900 */ _(SM,T), _(SM,T), _(SM,T), _(SM,R), _(V,x), _(V,x), _(V,x), _(V,x),
/* 0908 */ _(V,x), _(V,x), _(V,x), _(V,x), _(V,x), _(V,x), _(V,x), _(V,x),
/* 0910 */ _(V,x), _(V,x), _(V,x), _(V,x), _(V,x), _(C,x), _(C,x), _(C,x),
2011-06-13 22:02:18 +02:00
/* 0918 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x),
/* 0920 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x),
/* 0928 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x),
/* 0930 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x),
/* 0938 */ _(C,x), _(C,x), _(M,T), _(M,R), _(N,B), _(S,x), _(M,R), _(M,L),
2011-06-13 22:02:18 +02:00
/* 0940 */ _(M,R), _(M,B), _(M,B), _(M,B), _(M,B), _(M,T), _(M,T), _(M,T),
/* 0948 */ _(M,T), _(M,R), _(M,R), _(M,R), _(M,R), _(H,B), _(M,L), _(M,R),
/* 0950 */ _(X,x), _(A,T), _(A,B), _(X,T), _(X,T), _(M,T), _(M,B), _(M,B),
2011-06-13 22:02:18 +02:00
/* 0958 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x),
/* 0960 */ _(V,x), _(V,x), _(M,B), _(M,B), _(X,x), _(X,x), _(GB,x), _(GB,x),
/* 0968 */ _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x),
/* 0970 */ _(X,x), _(X,x), _(V,x), _(V,x), _(V,x), _(V,x), _(V,x), _(V,x),
/* 0978 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x),
/* Bengali */
/* 0980 */ _(GB,x), _(SM,T), _(SM,R), _(SM,R), _(X,x), _(V,x), _(V,x), _(V,x),
/* 0988 */ _(V,x), _(V,x), _(V,x), _(V,x), _(V,x), _(X,x), _(X,x), _(V,x),
/* 0990 */ _(V,x), _(X,x), _(X,x), _(V,x), _(V,x), _(C,x), _(C,x), _(C,x),
2011-06-13 22:02:18 +02:00
/* 0998 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x),
/* 09A0 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x),
/* 09A8 */ _(C,x), _(X,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x),
/* 09B0 */ _(C,x), _(X,x), _(C,x), _(X,x), _(X,x), _(X,x), _(C,x), _(C,x),
/* 09B8 */ _(C,x), _(C,x), _(X,x), _(X,x), _(N,B), _(S,x), _(M,R), _(M,L),
/* 09C0 */ _(M,R), _(M,B), _(M,B), _(M,B), _(M,B), _(X,x), _(X,x), _(M,L),
/* 09C8 */ _(M,L), _(X,x), _(X,x), _(M,LR), _(M,LR), _(H,B), _(C,x), _(X,x),
/* 09D0 */ _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(M,R),
/* 09D8 */ _(X,x), _(X,x), _(X,x), _(X,x), _(C,x), _(C,x), _(X,x), _(C,x),
/* 09E0 */ _(V,x), _(V,x), _(M,B), _(M,B), _(X,x), _(X,x), _(GB,x), _(GB,x),
/* 09E8 */ _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x),
/* 09F0 */ _(C,x), _(C,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x),
/* 09F8 */ _(X,x), _(X,x), _(X,x), _(X,x), _(SM,x), _(X,x), _(SM,T), _(X,x),
/* Gurmukhi */
/* 0A00 */ _(X,x), _(SM,T), _(SM,T), _(SM,R), _(X,x), _(V,x), _(V,x), _(V,x),
/* 0A08 */ _(V,x), _(V,x), _(V,x), _(X,x), _(X,x), _(X,x), _(X,x), _(V,x),
/* 0A10 */ _(V,x), _(X,x), _(X,x), _(V,x), _(V,x), _(C,x), _(C,x), _(C,x),
2011-06-13 22:02:18 +02:00
/* 0A18 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x),
/* 0A20 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x),
/* 0A28 */ _(C,x), _(X,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x),
/* 0A30 */ _(C,x), _(X,x), _(C,x), _(C,x), _(X,x), _(C,x), _(C,x), _(X,x),
/* 0A38 */ _(C,x), _(C,x), _(X,x), _(X,x), _(N,B), _(X,x), _(M,R), _(M,L),
/* 0A40 */ _(M,R), _(M,B), _(M,B), _(X,x), _(X,x), _(X,x), _(X,x), _(M,T),
/* 0A48 */ _(M,T), _(X,x), _(X,x), _(M,T), _(M,T), _(H,B), _(X,x), _(X,x),
/* 0A50 */ _(X,x), _(A,B), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x),
/* 0A58 */ _(X,x), _(C,x), _(C,x), _(C,x), _(C,x), _(X,x), _(C,x), _(X,x),
/* 0A60 */ _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(GB,x), _(GB,x),
/* 0A68 */ _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x),
/* 0A70 */ _(SM,T), _(SM,T), _(GB,x), _(GB,x), _(X,x), _(CM,B), _(X,x), _(X,x),
/* 0A78 */ _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x),
/* Gujarati */
/* 0A80 */ _(X,x), _(SM,T), _(SM,T), _(SM,R), _(X,x), _(V,x), _(V,x), _(V,x),
/* 0A88 */ _(V,x), _(V,x), _(V,x), _(V,x), _(V,x), _(V,x), _(X,x), _(V,x),
/* 0A90 */ _(V,x), _(V,x), _(X,x), _(V,x), _(V,x), _(C,x), _(C,x), _(C,x),
2011-06-13 22:02:18 +02:00
/* 0A98 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x),
/* 0AA0 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x),
/* 0AA8 */ _(C,x), _(X,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x),
/* 0AB0 */ _(C,x), _(X,x), _(C,x), _(C,x), _(X,x), _(C,x), _(C,x), _(C,x),
/* 0AB8 */ _(C,x), _(C,x), _(X,x), _(X,x), _(N,B), _(S,x), _(M,R), _(M,L),
/* 0AC0 */ _(M,R), _(M,B), _(M,B), _(M,B), _(M,B), _(M,T), _(X,x), _(M,T),
/* 0AC8 */ _(M,T), _(M,TR), _(X,x), _(M,R), _(M,R), _(H,B), _(X,x), _(X,x),
/* 0AD0 */ _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x),
/* 0AD8 */ _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x),
/* 0AE0 */ _(V,x), _(V,x), _(M,B), _(M,B), _(X,x), _(X,x), _(GB,x), _(GB,x),
/* 0AE8 */ _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x),
/* 0AF0 */ _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x),
/* 0AF8 */ _(X,x), _(C,x), _(A,T), _(A,T), _(A,T), _(N,T), _(N,T), _(N,T),
/* Oriya */
/* 0B00 */ _(X,x), _(SM,T), _(SM,R), _(SM,R), _(X,x), _(V,x), _(V,x), _(V,x),
/* 0B08 */ _(V,x), _(V,x), _(V,x), _(V,x), _(V,x), _(X,x), _(X,x), _(V,x),
/* 0B10 */ _(V,x), _(X,x), _(X,x), _(V,x), _(V,x), _(C,x), _(C,x), _(C,x),
2011-06-13 22:02:18 +02:00
/* 0B18 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x),
/* 0B20 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x),
/* 0B28 */ _(C,x), _(X,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x),
/* 0B30 */ _(C,x), _(X,x), _(C,x), _(C,x), _(X,x), _(C,x), _(C,x), _(C,x),
/* 0B38 */ _(C,x), _(C,x), _(X,x), _(X,x), _(N,B), _(S,x), _(M,R), _(M,T),
/* 0B40 */ _(M,R), _(M,B), _(M,B), _(M,B), _(M,B), _(X,x), _(X,x), _(M,L),
/* 0B48 */ _(M,TL), _(X,x), _(X,x), _(M,LR),_(M,TLR), _(H,B), _(X,x), _(X,x),
/* 0B50 */ _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(M,T), _(M,T), _(M,TR),
/* 0B58 */ _(X,x), _(X,x), _(X,x), _(X,x), _(C,x), _(C,x), _(X,x), _(C,x),
/* 0B60 */ _(V,x), _(V,x), _(M,B), _(M,B), _(X,x), _(X,x), _(GB,x), _(GB,x),
/* 0B68 */ _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x),
/* 0B70 */ _(X,x), _(C,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x),
/* 0B78 */ _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x),
/* Tamil */
/* 0B80 */ _(X,x), _(X,x), _(SM,T), _(X,x), _(X,x), _(V,x), _(V,x), _(V,x),
/* 0B88 */ _(V,x), _(V,x), _(V,x), _(X,x), _(X,x), _(X,x), _(V,x), _(V,x),
/* 0B90 */ _(V,x), _(X,x), _(V,x), _(V,x), _(V,x), _(C,x), _(X,x), _(X,x),
/* 0B98 */ _(X,x), _(C,x), _(C,x), _(X,x), _(C,x), _(X,x), _(C,x), _(C,x),
/* 0BA0 */ _(X,x), _(X,x), _(X,x), _(C,x), _(C,x), _(X,x), _(X,x), _(X,x),
/* 0BA8 */ _(C,x), _(C,x), _(C,x), _(X,x), _(X,x), _(X,x), _(C,x), _(C,x),
2011-06-13 22:02:18 +02:00
/* 0BB0 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x),
/* 0BB8 */ _(C,x), _(C,x), _(X,x), _(X,x), _(X,x), _(X,x), _(M,R), _(M,R),
/* 0BC0 */ _(M,T), _(M,R), _(M,R), _(X,x), _(X,x), _(X,x), _(M,L), _(M,L),
/* 0BC8 */ _(M,L), _(X,x), _(M,LR), _(M,LR), _(M,LR), _(H,T), _(X,x), _(X,x),
/* 0BD0 */ _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(M,R),
/* 0BD8 */ _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x),
/* 0BE0 */ _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(GB,x), _(GB,x),
/* 0BE8 */ _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x),
/* 0BF0 */ _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x),
/* 0BF8 */ _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x),
/* Telugu */
/* 0C00 */ _(SM,T), _(SM,R), _(SM,R), _(SM,R), _(SM,T), _(V,x), _(V,x), _(V,x),
/* 0C08 */ _(V,x), _(V,x), _(V,x), _(V,x), _(V,x), _(X,x), _(V,x), _(V,x),
/* 0C10 */ _(V,x), _(X,x), _(V,x), _(V,x), _(V,x), _(C,x), _(C,x), _(C,x),
2011-06-13 22:02:18 +02:00
/* 0C18 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x),
/* 0C20 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x),
/* 0C28 */ _(C,x), _(X,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x),
/* 0C30 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x),
/* 0C38 */ _(C,x), _(C,x), _(X,x), _(X,x), _(N,B), _(S,x), _(M,T), _(M,T),
/* 0C40 */ _(M,T), _(M,R), _(M,R), _(M,R), _(M,R), _(X,x), _(M,T), _(M,T),
/* 0C48 */ _(M,TB), _(X,x), _(M,T), _(M,T), _(M,T), _(H,T), _(X,x), _(X,x),
/* 0C50 */ _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(M,T), _(M,B), _(X,x),
/* 0C58 */ _(C,x), _(C,x), _(C,x), _(X,x), _(X,x), _(C,x), _(X,x), _(X,x),
/* 0C60 */ _(V,x), _(V,x), _(M,B), _(M,B), _(X,x), _(X,x), _(GB,x), _(GB,x),
/* 0C68 */ _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x),
/* 0C70 */ _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x),
/* 0C78 */ _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x),
/* Kannada */
/* 0C80 */ _(SM,x), _(SM,T), _(SM,R), _(SM,R), _(X,x), _(V,x), _(V,x), _(V,x),
/* 0C88 */ _(V,x), _(V,x), _(V,x), _(V,x), _(V,x), _(X,x), _(V,x), _(V,x),
/* 0C90 */ _(V,x), _(X,x), _(V,x), _(V,x), _(V,x), _(C,x), _(C,x), _(C,x),
2011-06-13 22:02:18 +02:00
/* 0C98 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x),
/* 0CA0 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x),
/* 0CA8 */ _(C,x), _(X,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x),
/* 0CB0 */ _(C,x), _(C,x), _(C,x), _(C,x), _(X,x), _(C,x), _(C,x), _(C,x),
/* 0CB8 */ _(C,x), _(C,x), _(X,x), _(X,x), _(N,B), _(S,x), _(M,R), _(M,T),
/* 0CC0 */ _(M,TR), _(M,R), _(M,R), _(M,R), _(M,R), _(X,x), _(M,T), _(M,TR),
/* 0CC8 */ _(M,TR), _(X,x), _(M,TR), _(M,TR), _(M,T), _(H,T), _(X,x), _(X,x),
/* 0CD0 */ _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(M,R), _(M,R), _(X,x),
/* 0CD8 */ _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(C,x), _(C,x), _(X,x),
/* 0CE0 */ _(V,x), _(V,x), _(M,B), _(M,B), _(X,x), _(X,x), _(GB,x), _(GB,x),
/* 0CE8 */ _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x),
/* 0CF0 */ _(X,x), _(CS,x), _(CS,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x),
/* 0CF8 */ _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x),
/* Malayalam */
/* 0D00 */ _(SM,T), _(SM,T), _(SM,R), _(SM,R), _(SM,x), _(V,x), _(V,x), _(V,x),
/* 0D08 */ _(V,x), _(V,x), _(V,x), _(V,x), _(V,x), _(X,x), _(V,x), _(V,x),
/* 0D10 */ _(V,x), _(X,x), _(V,x), _(V,x), _(V,x), _(C,x), _(C,x), _(C,x),
2011-06-13 22:02:18 +02:00
/* 0D18 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x),
/* 0D20 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x),
/* 0D28 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x),
/* 0D30 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x),
/* 0D38 */ _(C,x), _(C,x), _(C,x), _(M,T), _(M,T), _(S,x), _(M,R), _(M,R),
/* 0D40 */ _(M,R), _(M,R), _(M,R), _(M,B), _(M,B), _(X,x), _(M,L), _(M,L),
/* 0D48 */ _(M,L), _(X,x), _(M,LR), _(M,LR), _(M,LR), _(H,T), _(R,T), _(X,x),
/* 0D50 */ _(X,x), _(X,x), _(X,x), _(X,x), _(C,x), _(C,x), _(C,x), _(M,R),
/* 0D58 */ _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(V,x),
/* 0D60 */ _(V,x), _(V,x), _(M,B), _(M,B), _(X,x), _(X,x), _(GB,x), _(GB,x),
/* 0D68 */ _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x),
/* 0D70 */ _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x),
/* 0D78 */ _(X,x), _(X,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x),
/* Sinhala */
/* 0D80 */ _(X,x), _(SM,T), _(SM,R), _(SM,R), _(X,x), _(V,x), _(V,x), _(V,x),
/* 0D88 */ _(V,x), _(V,x), _(V,x), _(V,x), _(V,x), _(V,x), _(V,x), _(V,x),
/* 0D90 */ _(V,x), _(V,x), _(V,x), _(V,x), _(V,x), _(V,x), _(V,x), _(X,x),
/* 0D98 */ _(X,x), _(X,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x),
2011-06-13 22:02:18 +02:00
/* 0DA0 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x),
/* 0DA8 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x),
/* 0DB0 */ _(C,x), _(C,x), _(X,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x),
/* 0DB8 */ _(C,x), _(C,x), _(C,x), _(C,x), _(X,x), _(C,x), _(X,x), _(X,x),
/* 0DC0 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(X,x),
/* 0DC8 */ _(X,x), _(X,x), _(H,T), _(X,x), _(X,x), _(X,x), _(X,x), _(M,R),
/* 0DD0 */ _(M,R), _(M,R), _(M,T), _(M,T), _(M,B), _(X,x), _(M,B), _(X,x),
/* 0DD8 */ _(M,R), _(M,L), _(M,TL), _(M,L), _(M,LR),_(M,TLR), _(M,LR), _(M,R),
/* 0DE0 */ _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(GB,x), _(GB,x),
/* 0DE8 */ _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x),
/* 0DF0 */ _(X,x), _(X,x), _(M,R), _(M,R), _(X,x), _(X,x), _(X,x), _(X,x),
#define indic_offset_0x1000u 1336
/* Myanmar */
2011-06-13 22:02:18 +02:00
/* 1000 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x),
/* 1008 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x),
/* 1010 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x),
/* 1018 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x),
/* 1020 */ _(C,x), _(V,x), _(V,x), _(V,x), _(V,x), _(V,x), _(V,x), _(V,x),
/* 1028 */ _(V,x), _(V,x), _(V,x), _(M,R), _(M,R), _(M,T), _(M,T), _(M,B),
/* 1030 */ _(M,B), _(M,L), _(M,T), _(M,T), _(M,T), _(M,T), _(SM,T), _(N,B),
/* 1038 */ _(SM,R), _(Co,x), _(M,T), _(CM,R),_(CM,TBL), _(CM,B), _(CM,B), _(C,x),
/* 1040 */ _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x),
/* 1048 */ _(GB,x), _(GB,x), _(X,x), _(GB,x), _(X,x), _(X,x), _(GB,x), _(X,x),
/* 1050 */ _(C,x), _(C,x), _(V,x), _(V,x), _(V,x), _(V,x), _(M,R), _(M,R),
/* 1058 */ _(M,B), _(M,B), _(C,x), _(C,x), _(C,x), _(C,x), _(CM,B), _(CM,B),
/* 1060 */ _(CM,B), _(C,x), _(M,R), _(N,R), _(N,R), _(C,x), _(C,x), _(M,R),
/* 1068 */ _(M,R), _(N,R), _(N,R), _(N,R), _(N,R), _(N,R), _(C,x), _(C,x),
2011-06-13 22:02:18 +02:00
/* 1070 */ _(C,x), _(M,T), _(M,T), _(M,T), _(M,T), _(C,x), _(C,x), _(C,x),
/* 1078 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x),
/* 1080 */ _(C,x), _(C,x), _(CM,B), _(M,R), _(M,L), _(M,T), _(M,T), _(N,R),
/* 1088 */ _(N,R), _(N,R), _(N,R), _(N,R), _(N,R), _(N,B), _(C,x), _(N,R),
/* 1090 */ _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x),
/* 1098 */ _(GB,x), _(GB,x), _(N,R), _(N,R), _(M,R), _(M,T), _(X,x), _(X,x),
#define indic_offset_0x1780u 1496
/* Khmer */
2011-06-13 22:02:18 +02:00
/* 1780 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x),
/* 1788 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x),
/* 1790 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x),
/* 1798 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x),
/* 17A0 */ _(C,x), _(C,x), _(C,x), _(V,x), _(V,x), _(V,x), _(V,x), _(V,x),
/* 17A8 */ _(V,x), _(V,x), _(V,x), _(V,x), _(V,x), _(V,x), _(V,x), _(V,x),
/* 17B0 */ _(V,x), _(V,x), _(V,x), _(V,x), _(X,x), _(X,x), _(M,R), _(M,T),
2011-06-13 22:02:18 +02:00
/* 17B8 */ _(M,T), _(M,T), _(M,T), _(M,B), _(M,B), _(M,B), _(M,TL),_(M,TLR),
/* 17C0 */ _(M,LR), _(M,L), _(M,L), _(M,L), _(M,LR), _(M,LR), _(SM,T), _(SM,R),
/* 17C8 */ _(M,R), _(RS,T), _(RS,T), _(SM,T), _(CM,T), _(M,T), _(SM,T), _(SM,T),
/* 17D0 */ _(SM,T), _(M,T), _(Co,x), _(SM,T), _(X,x), _(X,x), _(X,x), _(X,x),
/* 17D8 */ _(X,x), _(X,x), _(X,x), _(X,x), _(S,x), _(SM,T), _(X,x), _(X,x),
/* 17E0 */ _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x),
/* 17E8 */ _(GB,x), _(GB,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x),
#define indic_offset_0x1cd0u 1608
2012-03-07 18:08:33 +01:00
/* Vedic Extensions */
2012-03-07 18:08:33 +01:00
/* 1CD0 */ _(A,T), _(A,T), _(A,T), _(X,x), _(A,O), _(A,B), _(A,B), _(A,B),
/* 1CD8 */ _(A,B), _(A,B), _(A,T), _(A,T), _(A,B), _(A,B), _(A,B), _(A,B),
/* 1CE0 */ _(A,T), _(A,R), _(X,O), _(X,O), _(X,O), _(X,O), _(X,O), _(X,O),
/* 1CE8 */ _(X,O), _(X,x), _(X,x), _(X,x), _(X,x), _(X,B), _(X,x), _(X,x),
/* 1CF0 */ _(X,x), _(X,x), _(C,x), _(C,x), _(A,T), _(CS,x), _(CS,x), _(A,R),
/* 1CF8 */ _(A,x), _(A,x), _(GB,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x),
2012-03-07 18:08:33 +01:00
#define indic_offset_0x2008u 1656
/* General Punctuation */
/* 2008 */ _(X,x), _(X,x), _(X,x), _(X,x),_(ZWNJ,x),_(ZWJ,x), _(X,x), _(X,x),
/* 2010 */ _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(X,x), _(X,x), _(X,x),
#define indic_offset_0x2070u 1672
/* Superscripts and Subscripts */
/* 2070 */ _(X,x), _(X,x), _(X,x), _(X,x), _(SM,x), _(X,x), _(X,x), _(X,x),
/* 2078 */ _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x),
/* 2080 */ _(X,x), _(X,x), _(SM,x), _(SM,x), _(SM,x), _(X,x), _(X,x), _(X,x),
#define indic_offset_0xa8e0u 1696
/* Devanagari Extended */
/* A8E0 */ _(A,T), _(A,T), _(A,T), _(A,T), _(A,T), _(A,T), _(A,T), _(A,T),
/* A8E8 */ _(A,T), _(A,T), _(A,T), _(A,T), _(A,T), _(A,T), _(A,T), _(A,T),
/* A8F0 */ _(A,T), _(A,T), _(SM,x), _(SM,x), _(X,x), _(X,x), _(X,x), _(X,x),
/* A8F8 */ _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(V,x), _(M,T),
#define indic_offset_0xa9e0u 1728
/* Myanmar Extended-B */
/* A9E0 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(M,T), _(X,x), _(C,x),
/* A9E8 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x),
/* A9F0 */ _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x),
/* A9F8 */ _(GB,x), _(GB,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(X,x),
#define indic_offset_0xaa60u 1760
/* Myanmar Extended-A */
2011-06-13 22:02:18 +02:00
/* AA60 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x),
/* AA68 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x),
/* AA70 */ _(X,x), _(C,x), _(C,x), _(C,x), _(GB,x), _(GB,x), _(GB,x), _(X,x),
/* AA78 */ _(X,x), _(X,x), _(C,x), _(N,R), _(N,T), _(N,R), _(C,x), _(C,x),
2021-09-15 00:00:33 +02:00
}; /* Table items: 1792; occupancy: 71% */
uint16_t
hb_indic_get_categories (hb_codepoint_t u)
{
2014-06-20 21:12:49 +02:00
switch (u >> 12)
{
case 0x0u:
if (unlikely (u == 0x00A0u)) return _(GB,x);
if (hb_in_range<hb_codepoint_t> (u, 0x0028u, 0x003Fu)) return indic_table[u - 0x0028u + indic_offset_0x0028u];
if (hb_in_range<hb_codepoint_t> (u, 0x00B0u, 0x00D7u)) return indic_table[u - 0x00B0u + indic_offset_0x00b0u];
if (hb_in_range<hb_codepoint_t> (u, 0x0900u, 0x0DF7u)) return indic_table[u - 0x0900u + indic_offset_0x0900u];
2014-06-20 21:12:49 +02:00
break;
case 0x1u:
if (hb_in_range<hb_codepoint_t> (u, 0x1000u, 0x109Fu)) return indic_table[u - 0x1000u + indic_offset_0x1000u];
if (hb_in_range<hb_codepoint_t> (u, 0x1780u, 0x17EFu)) return indic_table[u - 0x1780u + indic_offset_0x1780u];
if (hb_in_range<hb_codepoint_t> (u, 0x1CD0u, 0x1CFFu)) return indic_table[u - 0x1CD0u + indic_offset_0x1cd0u];
2014-06-20 21:12:49 +02:00
break;
case 0x2u:
if (unlikely (u == 0x25CCu)) return _(GB,x);
if (hb_in_range<hb_codepoint_t> (u, 0x2008u, 0x2017u)) return indic_table[u - 0x2008u + indic_offset_0x2008u];
if (hb_in_range<hb_codepoint_t> (u, 0x2070u, 0x2087u)) return indic_table[u - 0x2070u + indic_offset_0x2070u];
2014-06-20 21:12:49 +02:00
break;
case 0xAu:
if (hb_in_range<hb_codepoint_t> (u, 0xA8E0u, 0xA8FFu)) return indic_table[u - 0xA8E0u + indic_offset_0xa8e0u];
if (hb_in_range<hb_codepoint_t> (u, 0xA9E0u, 0xA9FFu)) return indic_table[u - 0xA9E0u + indic_offset_0xa9e0u];
if (hb_in_range<hb_codepoint_t> (u, 0xAA60u, 0xAA7Fu)) return indic_table[u - 0xAA60u + indic_offset_0xaa60u];
2014-06-20 21:12:49 +02:00
break;
default:
break;
}
return _(X,x);
}
#undef _
#undef ISC_A
#undef ISC_C
#undef ISC_CM
#undef ISC_CS
#undef ISC_Co
#undef ISC_H
#undef ISC_M
#undef ISC_N
#undef ISC_GB
#undef ISC_RS
#undef ISC_R
#undef ISC_SM
#undef ISC_S
#undef ISC_V
#undef ISC_X
#undef ISC_ZWJ
#undef ISC_ZWNJ
#undef IMC_B
2017-10-02 16:00:31 +02:00
#undef IMC_BL
#undef IMC_BR
#undef IMC_L
#undef IMC_LR
2011-06-13 22:02:18 +02:00
#undef IMC_x
#undef IMC_O
#undef IMC_R
#undef IMC_T
#undef IMC_TB
2020-03-15 20:59:31 +01:00
#undef IMC_TBL
#undef IMC_TBR
#undef IMC_TL
#undef IMC_TLR
#undef IMC_TR
#undef IMC_VOL
#endif
/* == End of generated table == */