GetRecompositionFromCodePoints
Short summary
This function looks for a recomposition of two given code points. If no recomposition is possible, the method returns FALSE. This method finds only canonical recompositions used for NFC normalization. It does not provide compatible recompositions used for NFKC form.
- Return type:
BOOL
Parameters
| Name | Type | Comment | Kind |
|---|---|---|---|
| codePointBase | POINTER TO UnicodeCodePoint | base codepoint (starter) ), // base codepoint, , ( combining codepoint | input |
| codePointComb | POINTER TO UnicodeCodePoint | base codepoint// combination mark codepoint, , // combination mark codepoint | input |
| result | UnicodeCodePoint | composed codepoint | output |
Code
Declaration
FUNCTION INTERNAL GetRecompositionFromCodePoints : BOOL
VAR_INPUT
(* base codepoint (starter) *)
codePointBase: POINTER TO UnicodeCodePoint; // base codepoint
(* combining codepoint *)
codePointComb: POINTER TO UnicodeCodePoint; // combination mark codepoint
END_VAR
VAR_OUTPUT
(* composed codepoint *)
result: UnicodeCodePoint;
END_VAR
Implementation
result := 16#00; // control sign, cannot be a recomposed code point
CASE codePointBase^ OF
16#41:
CASE codePointComb^ OF
16#300:
result := 16#C0;
16#301:
result := 16#C1;
16#302:
result := 16#C2;
16#303:
result := 16#C3;
16#308:
result := 16#C4;
16#30A:
result := 16#C5;
16#304:
result := 16#100;
16#306:
result := 16#102;
16#328:
result := 16#104;
16#30C:
result := 16#1CD;
16#30F:
result := 16#200;
16#311:
result := 16#202;
16#307:
result := 16#226;
16#325:
result := 16#1E00;
16#323:
result := 16#1EA0;
16#309:
result := 16#1EA2;
END_CASE
16#43:
CASE codePointComb^ OF
16#327:
result := 16#C7;
16#301:
result := 16#106;
16#302:
result := 16#108;
16#307:
result := 16#10A;
16#30C:
result := 16#10C;
END_CASE
16#45:
CASE codePointComb^ OF
16#300:
result := 16#C8;
16#301:
result := 16#C9;
16#302:
result := 16#CA;
16#308:
result := 16#CB;
16#304:
result := 16#112;
16#306:
result := 16#114;
16#307:
result := 16#116;
16#328:
result := 16#118;
16#30C:
result := 16#11A;
16#30F:
result := 16#204;
16#311:
result := 16#206;
16#327:
result := 16#228;
16#32D:
result := 16#1E18;
16#330:
result := 16#1E1A;
16#323:
result := 16#1EB8;
16#309:
result := 16#1EBA;
16#303:
result := 16#1EBC;
END_CASE
16#49:
CASE codePointComb^ OF
16#300:
result := 16#CC;
16#301:
result := 16#CD;
16#302:
result := 16#CE;
16#308:
result := 16#CF;
16#303:
result := 16#128;
16#304:
result := 16#12A;
16#306:
result := 16#12C;
16#328:
result := 16#12E;
16#307:
result := 16#130;
16#30C:
result := 16#1CF;
16#30F:
result := 16#208;
16#311:
result := 16#20A;
16#330:
result := 16#1E2C;
16#309:
result := 16#1EC8;
16#323:
result := 16#1ECA;
END_CASE
16#4E:
CASE codePointComb^ OF
16#303:
result := 16#D1;
16#301:
result := 16#143;
16#327:
result := 16#145;
16#30C:
result := 16#147;
16#300:
result := 16#1F8;
16#307:
result := 16#1E44;
16#323:
result := 16#1E46;
16#331:
result := 16#1E48;
16#32D:
result := 16#1E4A;
END_CASE
16#4F:
CASE codePointComb^ OF
16#300:
result := 16#D2;
16#301:
result := 16#D3;
16#302:
result := 16#D4;
16#303:
result := 16#D5;
16#308:
result := 16#D6;
16#304:
result := 16#14C;
16#306:
result := 16#14E;
16#30B:
result := 16#150;
16#31B:
result := 16#1A0;
16#30C:
result := 16#1D1;
16#328:
result := 16#1EA;
16#30F:
result := 16#20C;
16#311:
result := 16#20E;
16#307:
result := 16#22E;
16#323:
result := 16#1ECC;
16#309:
result := 16#1ECE;
END_CASE
16#55:
CASE codePointComb^ OF
16#300:
result := 16#D9;
16#301:
result := 16#DA;
16#302:
result := 16#DB;
16#308:
result := 16#DC;
16#303:
result := 16#168;
16#304:
result := 16#16A;
16#306:
result := 16#16C;
16#30A:
result := 16#16E;
16#30B:
result := 16#170;
16#328:
result := 16#172;
16#31B:
result := 16#1AF;
16#30C:
result := 16#1D3;
16#30F:
result := 16#214;
16#311:
result := 16#216;
16#324:
result := 16#1E72;
16#330:
result := 16#1E74;
16#32D:
result := 16#1E76;
16#323:
result := 16#1EE4;
16#309:
result := 16#1EE6;
END_CASE
16#59:
CASE codePointComb^ OF
16#301:
result := 16#DD;
16#302:
result := 16#176;
16#308:
result := 16#178;
16#304:
result := 16#232;
16#307:
result := 16#1E8E;
16#300:
result := 16#1EF2;
16#323:
result := 16#1EF4;
16#309:
result := 16#1EF6;
16#303:
result := 16#1EF8;
END_CASE
16#61:
CASE codePointComb^ OF
16#300:
result := 16#E0;
16#301:
result := 16#E1;
16#302:
result := 16#E2;
16#303:
result := 16#E3;
16#308:
result := 16#E4;
16#30A:
result := 16#E5;
16#304:
result := 16#101;
16#306:
result := 16#103;
16#328:
result := 16#105;
16#30C:
result := 16#1CE;
16#30F:
result := 16#201;
16#311:
result := 16#203;
16#307:
result := 16#227;
16#325:
result := 16#1E01;
16#323:
result := 16#1EA1;
16#309:
result := 16#1EA3;
END_CASE
16#63:
CASE codePointComb^ OF
16#327:
result := 16#E7;
16#301:
result := 16#107;
16#302:
result := 16#109;
16#307:
result := 16#10B;
16#30C:
result := 16#10D;
END_CASE
16#65:
CASE codePointComb^ OF
16#300:
result := 16#E8;
16#301:
result := 16#E9;
16#302:
result := 16#EA;
16#308:
result := 16#EB;
16#304:
result := 16#113;
16#306:
result := 16#115;
16#307:
result := 16#117;
16#328:
result := 16#119;
16#30C:
result := 16#11B;
16#30F:
result := 16#205;
16#311:
result := 16#207;
16#327:
result := 16#229;
16#32D:
result := 16#1E19;
16#330:
result := 16#1E1B;
16#323:
result := 16#1EB9;
16#309:
result := 16#1EBB;
16#303:
result := 16#1EBD;
END_CASE
16#69:
CASE codePointComb^ OF
16#300:
result := 16#EC;
16#301:
result := 16#ED;
16#302:
result := 16#EE;
16#308:
result := 16#EF;
16#303:
result := 16#129;
16#304:
result := 16#12B;
16#306:
result := 16#12D;
16#328:
result := 16#12F;
16#30C:
result := 16#1D0;
16#30F:
result := 16#209;
16#311:
result := 16#20B;
16#330:
result := 16#1E2D;
16#309:
result := 16#1EC9;
16#323:
result := 16#1ECB;
END_CASE
16#6E:
CASE codePointComb^ OF
16#303:
result := 16#F1;
16#301:
result := 16#144;
16#327:
result := 16#146;
16#30C:
result := 16#148;
16#300:
result := 16#1F9;
16#307:
result := 16#1E45;
16#323:
result := 16#1E47;
16#331:
result := 16#1E49;
16#32D:
result := 16#1E4B;
END_CASE
16#6F:
CASE codePointComb^ OF
16#300:
result := 16#F2;
16#301:
result := 16#F3;
16#302:
result := 16#F4;
16#303:
result := 16#F5;
16#308:
result := 16#F6;
16#304:
result := 16#14D;
16#306:
result := 16#14F;
16#30B:
result := 16#151;
16#31B:
result := 16#1A1;
16#30C:
result := 16#1D2;
16#328:
result := 16#1EB;
16#30F:
result := 16#20D;
16#311:
result := 16#20F;
16#307:
result := 16#22F;
16#323:
result := 16#1ECD;
16#309:
result := 16#1ECF;
END_CASE
16#75:
CASE codePointComb^ OF
16#300:
result := 16#F9;
16#301:
result := 16#FA;
16#302:
result := 16#FB;
16#308:
result := 16#FC;
16#303:
result := 16#169;
16#304:
result := 16#16B;
16#306:
result := 16#16D;
16#30A:
result := 16#16F;
16#30B:
result := 16#171;
16#328:
result := 16#173;
16#31B:
result := 16#1B0;
16#30C:
result := 16#1D4;
16#30F:
result := 16#215;
16#311:
result := 16#217;
16#324:
result := 16#1E73;
16#330:
result := 16#1E75;
16#32D:
result := 16#1E77;
16#323:
result := 16#1EE5;
16#309:
result := 16#1EE7;
END_CASE
16#79:
CASE codePointComb^ OF
16#301:
result := 16#FD;
16#308:
result := 16#FF;
16#302:
result := 16#177;
16#304:
result := 16#233;
16#307:
result := 16#1E8F;
16#30A:
result := 16#1E99;
16#300:
result := 16#1EF3;
16#323:
result := 16#1EF5;
16#309:
result := 16#1EF7;
16#303:
result := 16#1EF9;
END_CASE
16#44:
CASE codePointComb^ OF
16#30C:
result := 16#10E;
16#307:
result := 16#1E0A;
16#323:
result := 16#1E0C;
16#331:
result := 16#1E0E;
16#327:
result := 16#1E10;
16#32D:
result := 16#1E12;
END_CASE
16#64:
CASE codePointComb^ OF
16#30C:
result := 16#10F;
16#307:
result := 16#1E0B;
16#323:
result := 16#1E0D;
16#331:
result := 16#1E0F;
16#327:
result := 16#1E11;
16#32D:
result := 16#1E13;
END_CASE
16#47:
CASE codePointComb^ OF
16#302:
result := 16#11C;
16#306:
result := 16#11E;
16#307:
result := 16#120;
16#327:
result := 16#122;
16#30C:
result := 16#1E6;
16#301:
result := 16#1F4;
16#304:
result := 16#1E20;
END_CASE
16#67:
CASE codePointComb^ OF
16#302:
result := 16#11D;
16#306:
result := 16#11F;
16#307:
result := 16#121;
16#327:
result := 16#123;
16#30C:
result := 16#1E7;
16#301:
result := 16#1F5;
16#304:
result := 16#1E21;
END_CASE
16#48:
CASE codePointComb^ OF
16#302:
result := 16#124;
16#30C:
result := 16#21E;
16#307:
result := 16#1E22;
16#323:
result := 16#1E24;
16#308:
result := 16#1E26;
16#327:
result := 16#1E28;
16#32E:
result := 16#1E2A;
END_CASE
16#68:
CASE codePointComb^ OF
16#302:
result := 16#125;
16#30C:
result := 16#21F;
16#307:
result := 16#1E23;
16#323:
result := 16#1E25;
16#308:
result := 16#1E27;
16#327:
result := 16#1E29;
16#32E:
result := 16#1E2B;
16#331:
result := 16#1E96;
END_CASE
16#4A:
CASE codePointComb^ OF
16#302:
result := 16#134;
END_CASE
16#6A:
CASE codePointComb^ OF
16#302:
result := 16#135;
16#30C:
result := 16#1F0;
END_CASE
16#4B:
CASE codePointComb^ OF
16#327:
result := 16#136;
16#30C:
result := 16#1E8;
16#301:
result := 16#1E30;
16#323:
result := 16#1E32;
16#331:
result := 16#1E34;
END_CASE
16#6B:
CASE codePointComb^ OF
16#327:
result := 16#137;
16#30C:
result := 16#1E9;
16#301:
result := 16#1E31;
16#323:
result := 16#1E33;
16#331:
result := 16#1E35;
END_CASE
16#4C:
CASE codePointComb^ OF
16#301:
result := 16#139;
16#327:
result := 16#13B;
16#30C:
result := 16#13D;
16#323:
result := 16#1E36;
16#331:
result := 16#1E3A;
16#32D:
result := 16#1E3C;
END_CASE
16#6C:
CASE codePointComb^ OF
16#301:
result := 16#13A;
16#327:
result := 16#13C;
16#30C:
result := 16#13E;
16#323:
result := 16#1E37;
16#331:
result := 16#1E3B;
16#32D:
result := 16#1E3D;
END_CASE
16#52:
CASE codePointComb^ OF
16#301:
result := 16#154;
16#327:
result := 16#156;
16#30C:
result := 16#158;
16#30F:
result := 16#210;
16#311:
result := 16#212;
16#307:
result := 16#1E58;
16#323:
result := 16#1E5A;
16#331:
result := 16#1E5E;
END_CASE
16#72:
CASE codePointComb^ OF
16#301:
result := 16#155;
16#327:
result := 16#157;
16#30C:
result := 16#159;
16#30F:
result := 16#211;
16#311:
result := 16#213;
16#307:
result := 16#1E59;
16#323:
result := 16#1E5B;
16#331:
result := 16#1E5F;
END_CASE
16#53:
CASE codePointComb^ OF
16#301:
result := 16#15A;
16#302:
result := 16#15C;
16#327:
result := 16#15E;
16#30C:
result := 16#160;
16#326:
result := 16#218;
16#307:
result := 16#1E60;
16#323:
result := 16#1E62;
END_CASE
16#73:
CASE codePointComb^ OF
16#301:
result := 16#15B;
16#302:
result := 16#15D;
16#327:
result := 16#15F;
16#30C:
result := 16#161;
16#326:
result := 16#219;
16#307:
result := 16#1E61;
16#323:
result := 16#1E63;
END_CASE
16#54:
CASE codePointComb^ OF
16#327:
result := 16#162;
16#30C:
result := 16#164;
16#326:
result := 16#21A;
16#307:
result := 16#1E6A;
16#323:
result := 16#1E6C;
16#331:
result := 16#1E6E;
16#32D:
result := 16#1E70;
END_CASE
16#74:
CASE codePointComb^ OF
16#327:
result := 16#163;
16#30C:
result := 16#165;
16#326:
result := 16#21B;
16#307:
result := 16#1E6B;
16#323:
result := 16#1E6D;
16#331:
result := 16#1E6F;
16#32D:
result := 16#1E71;
16#308:
result := 16#1E97;
END_CASE
16#57:
CASE codePointComb^ OF
16#302:
result := 16#174;
16#300:
result := 16#1E80;
16#301:
result := 16#1E82;
16#308:
result := 16#1E84;
16#307:
result := 16#1E86;
16#323:
result := 16#1E88;
END_CASE
16#77:
CASE codePointComb^ OF
16#302:
result := 16#175;
16#300:
result := 16#1E81;
16#301:
result := 16#1E83;
16#308:
result := 16#1E85;
16#307:
result := 16#1E87;
16#323:
result := 16#1E89;
16#30A:
result := 16#1E98;
END_CASE
16#5A:
CASE codePointComb^ OF
16#301:
result := 16#179;
16#307:
result := 16#17B;
16#30C:
result := 16#17D;
16#302:
result := 16#1E90;
16#323:
result := 16#1E92;
16#331:
result := 16#1E94;
END_CASE
16#7A:
CASE codePointComb^ OF
16#301:
result := 16#17A;
16#307:
result := 16#17C;
16#30C:
result := 16#17E;
16#302:
result := 16#1E91;
16#323:
result := 16#1E93;
16#331:
result := 16#1E95;
END_CASE
16#DC:
CASE codePointComb^ OF
16#304:
result := 16#1D5;
16#301:
result := 16#1D7;
16#30C:
result := 16#1D9;
16#300:
result := 16#1DB;
END_CASE
16#FC:
CASE codePointComb^ OF
16#304:
result := 16#1D6;
16#301:
result := 16#1D8;
16#30C:
result := 16#1DA;
16#300:
result := 16#1DC;
END_CASE
16#C4:
CASE codePointComb^ OF
16#304:
result := 16#1DE;
END_CASE
16#E4:
CASE codePointComb^ OF
16#304:
result := 16#1DF;
END_CASE
16#226:
CASE codePointComb^ OF
16#304:
result := 16#1E0;
END_CASE
16#227:
CASE codePointComb^ OF
16#304:
result := 16#1E1;
END_CASE
16#C6:
CASE codePointComb^ OF
16#304:
result := 16#1E2;
16#301:
result := 16#1FC;
END_CASE
16#E6:
CASE codePointComb^ OF
16#304:
result := 16#1E3;
16#301:
result := 16#1FD;
END_CASE
16#1EA:
CASE codePointComb^ OF
16#304:
result := 16#1EC;
END_CASE
16#1EB:
CASE codePointComb^ OF
16#304:
result := 16#1ED;
END_CASE
16#1B7:
CASE codePointComb^ OF
16#30C:
result := 16#1EE;
END_CASE
16#292:
CASE codePointComb^ OF
16#30C:
result := 16#1EF;
END_CASE
16#C5:
CASE codePointComb^ OF
16#301:
result := 16#1FA;
END_CASE
16#E5:
CASE codePointComb^ OF
16#301:
result := 16#1FB;
END_CASE
16#D8:
CASE codePointComb^ OF
16#301:
result := 16#1FE;
END_CASE
16#F8:
CASE codePointComb^ OF
16#301:
result := 16#1FF;
END_CASE
16#D6:
CASE codePointComb^ OF
16#304:
result := 16#22A;
END_CASE
16#F6:
CASE codePointComb^ OF
16#304:
result := 16#22B;
END_CASE
16#D5:
CASE codePointComb^ OF
16#304:
result := 16#22C;
16#301:
result := 16#1E4C;
16#308:
result := 16#1E4E;
END_CASE
16#F5:
CASE codePointComb^ OF
16#304:
result := 16#22D;
16#301:
result := 16#1E4D;
16#308:
result := 16#1E4F;
END_CASE
16#22E:
CASE codePointComb^ OF
16#304:
result := 16#230;
END_CASE
16#22F:
CASE codePointComb^ OF
16#304:
result := 16#231;
END_CASE
16#308:
CASE codePointComb^ OF
16#301:
result := 16#344;
END_CASE
16#A8:
CASE codePointComb^ OF
16#301:
result := 16#385;
16#342:
result := 16#1FC1;
16#300:
result := 16#1FED;
END_CASE
16#391:
CASE codePointComb^ OF
16#301:
result := 16#386;
16#313:
result := 16#1F08;
16#314:
result := 16#1F09;
16#306:
result := 16#1FB8;
16#304:
result := 16#1FB9;
16#300:
result := 16#1FBA;
16#345:
result := 16#1FBC;
END_CASE
16#395:
CASE codePointComb^ OF
16#301:
result := 16#388;
16#313:
result := 16#1F18;
16#314:
result := 16#1F19;
16#300:
result := 16#1FC8;
END_CASE
16#397:
CASE codePointComb^ OF
16#301:
result := 16#389;
16#313:
result := 16#1F28;
16#314:
result := 16#1F29;
16#300:
result := 16#1FCA;
16#345:
result := 16#1FCC;
END_CASE
16#399:
CASE codePointComb^ OF
16#301:
result := 16#38A;
16#308:
result := 16#3AA;
16#313:
result := 16#1F38;
16#314:
result := 16#1F39;
16#306:
result := 16#1FD8;
16#304:
result := 16#1FD9;
16#300:
result := 16#1FDA;
END_CASE
16#39F:
CASE codePointComb^ OF
16#301:
result := 16#38C;
16#313:
result := 16#1F48;
16#314:
result := 16#1F49;
16#300:
result := 16#1FF8;
END_CASE
16#3A5:
CASE codePointComb^ OF
16#301:
result := 16#38E;
16#308:
result := 16#3AB;
16#314:
result := 16#1F59;
16#306:
result := 16#1FE8;
16#304:
result := 16#1FE9;
16#300:
result := 16#1FEA;
END_CASE
16#3A9:
CASE codePointComb^ OF
16#301:
result := 16#38F;
16#313:
result := 16#1F68;
16#314:
result := 16#1F69;
16#300:
result := 16#1FFA;
16#345:
result := 16#1FFC;
END_CASE
16#3CA:
CASE codePointComb^ OF
16#301:
result := 16#390;
16#300:
result := 16#1FD2;
16#342:
result := 16#1FD7;
END_CASE
16#3B1:
CASE codePointComb^ OF
16#301:
result := 16#3AC;
16#313:
result := 16#1F00;
16#314:
result := 16#1F01;
16#300:
result := 16#1F70;
16#306:
result := 16#1FB0;
16#304:
result := 16#1FB1;
16#345:
result := 16#1FB3;
16#342:
result := 16#1FB6;
END_CASE
16#3B5:
CASE codePointComb^ OF
16#301:
result := 16#3AD;
16#313:
result := 16#1F10;
16#314:
result := 16#1F11;
16#300:
result := 16#1F72;
END_CASE
16#3B7:
CASE codePointComb^ OF
16#301:
result := 16#3AE;
16#313:
result := 16#1F20;
16#314:
result := 16#1F21;
16#300:
result := 16#1F74;
16#345:
result := 16#1FC3;
16#342:
result := 16#1FC6;
END_CASE
16#3B9:
CASE codePointComb^ OF
16#301:
result := 16#3AF;
16#308:
result := 16#3CA;
16#313:
result := 16#1F30;
16#314:
result := 16#1F31;
16#300:
result := 16#1F76;
16#306:
result := 16#1FD0;
16#304:
result := 16#1FD1;
16#342:
result := 16#1FD6;
END_CASE
16#3CB:
CASE codePointComb^ OF
16#301:
result := 16#3B0;
16#300:
result := 16#1FE2;
16#342:
result := 16#1FE7;
END_CASE
16#3C5:
CASE codePointComb^ OF
16#308:
result := 16#3CB;
16#301:
result := 16#3CD;
16#313:
result := 16#1F50;
16#314:
result := 16#1F51;
16#300:
result := 16#1F7A;
16#306:
result := 16#1FE0;
16#304:
result := 16#1FE1;
16#342:
result := 16#1FE6;
END_CASE
16#3BF:
CASE codePointComb^ OF
16#301:
result := 16#3CC;
16#313:
result := 16#1F40;
16#314:
result := 16#1F41;
16#300:
result := 16#1F78;
END_CASE
16#3C9:
CASE codePointComb^ OF
16#301:
result := 16#3CE;
16#313:
result := 16#1F60;
16#314:
result := 16#1F61;
16#300:
result := 16#1F7C;
16#345:
result := 16#1FF3;
16#342:
result := 16#1FF6;
END_CASE
16#3D2:
CASE codePointComb^ OF
16#301:
result := 16#3D3;
16#308:
result := 16#3D4;
END_CASE
16#415:
CASE codePointComb^ OF
16#300:
result := 16#400;
16#308:
result := 16#401;
16#306:
result := 16#4D6;
END_CASE
16#413:
CASE codePointComb^ OF
16#301:
result := 16#403;
END_CASE
16#406:
CASE codePointComb^ OF
16#308:
result := 16#407;
END_CASE
16#41A:
CASE codePointComb^ OF
16#301:
result := 16#40C;
END_CASE
16#418:
CASE codePointComb^ OF
16#300:
result := 16#40D;
16#306:
result := 16#419;
16#304:
result := 16#4E2;
16#308:
result := 16#4E4;
END_CASE
16#423:
CASE codePointComb^ OF
16#306:
result := 16#40E;
16#304:
result := 16#4EE;
16#308:
result := 16#4F0;
16#30B:
result := 16#4F2;
END_CASE
16#438:
CASE codePointComb^ OF
16#306:
result := 16#439;
16#300:
result := 16#45D;
16#304:
result := 16#4E3;
16#308:
result := 16#4E5;
END_CASE
16#435:
CASE codePointComb^ OF
16#300:
result := 16#450;
16#308:
result := 16#451;
16#306:
result := 16#4D7;
END_CASE
16#433:
CASE codePointComb^ OF
16#301:
result := 16#453;
END_CASE
16#456:
CASE codePointComb^ OF
16#308:
result := 16#457;
END_CASE
16#43A:
CASE codePointComb^ OF
16#301:
result := 16#45C;
END_CASE
16#443:
CASE codePointComb^ OF
16#306:
result := 16#45E;
16#304:
result := 16#4EF;
16#308:
result := 16#4F1;
16#30B:
result := 16#4F3;
END_CASE
16#474:
CASE codePointComb^ OF
16#30F:
result := 16#476;
END_CASE
16#475:
CASE codePointComb^ OF
16#30F:
result := 16#477;
END_CASE
16#416:
CASE codePointComb^ OF
16#306:
result := 16#4C1;
16#308:
result := 16#4DC;
END_CASE
16#436:
CASE codePointComb^ OF
16#306:
result := 16#4C2;
16#308:
result := 16#4DD;
END_CASE
16#410:
CASE codePointComb^ OF
16#306:
result := 16#4D0;
16#308:
result := 16#4D2;
END_CASE
16#430:
CASE codePointComb^ OF
16#306:
result := 16#4D1;
16#308:
result := 16#4D3;
END_CASE
16#4D8:
CASE codePointComb^ OF
16#308:
result := 16#4DA;
END_CASE
16#4D9:
CASE codePointComb^ OF
16#308:
result := 16#4DB;
END_CASE
16#417:
CASE codePointComb^ OF
16#308:
result := 16#4DE;
END_CASE
16#437:
CASE codePointComb^ OF
16#308:
result := 16#4DF;
END_CASE
16#41E:
CASE codePointComb^ OF
16#308:
result := 16#4E6;
END_CASE
16#43E:
CASE codePointComb^ OF
16#308:
result := 16#4E7;
END_CASE
16#4E8:
CASE codePointComb^ OF
16#308:
result := 16#4EA;
END_CASE
16#4E9:
CASE codePointComb^ OF
16#308:
result := 16#4EB;
END_CASE
16#42D:
CASE codePointComb^ OF
16#308:
result := 16#4EC;
END_CASE
16#44D:
CASE codePointComb^ OF
16#308:
result := 16#4ED;
END_CASE
16#427:
CASE codePointComb^ OF
16#308:
result := 16#4F4;
END_CASE
16#447:
CASE codePointComb^ OF
16#308:
result := 16#4F5;
END_CASE
16#42B:
CASE codePointComb^ OF
16#308:
result := 16#4F8;
END_CASE
16#44B:
CASE codePointComb^ OF
16#308:
result := 16#4F9;
END_CASE
16#627:
CASE codePointComb^ OF
16#653:
result := 16#622;
16#654:
result := 16#623;
16#655:
result := 16#625;
END_CASE
16#648:
CASE codePointComb^ OF
16#654:
result := 16#624;
END_CASE
16#64A:
CASE codePointComb^ OF
16#654:
result := 16#626;
END_CASE
16#6D5:
CASE codePointComb^ OF
16#654:
result := 16#6C0;
END_CASE
16#6C1:
CASE codePointComb^ OF
16#654:
result := 16#6C2;
END_CASE
16#6D2:
CASE codePointComb^ OF
16#654:
result := 16#6D3;
END_CASE
16#928:
CASE codePointComb^ OF
16#93C:
result := 16#929;
END_CASE
16#930:
CASE codePointComb^ OF
16#93C:
result := 16#931;
END_CASE
16#933:
CASE codePointComb^ OF
16#93C:
result := 16#934;
END_CASE
16#915:
CASE codePointComb^ OF
16#93C:
result := 16#958;
END_CASE
16#916:
CASE codePointComb^ OF
16#93C:
result := 16#959;
END_CASE
16#917:
CASE codePointComb^ OF
16#93C:
result := 16#95A;
END_CASE
16#91C:
CASE codePointComb^ OF
16#93C:
result := 16#95B;
END_CASE
16#921:
CASE codePointComb^ OF
16#93C:
result := 16#95C;
END_CASE
16#922:
CASE codePointComb^ OF
16#93C:
result := 16#95D;
END_CASE
16#92B:
CASE codePointComb^ OF
16#93C:
result := 16#95E;
END_CASE
16#92F:
CASE codePointComb^ OF
16#93C:
result := 16#95F;
END_CASE
16#9C7:
CASE codePointComb^ OF
16#9BE:
result := 16#9CB;
16#9D7:
result := 16#9CC;
END_CASE
16#9A1:
CASE codePointComb^ OF
16#9BC:
result := 16#9DC;
END_CASE
16#9A2:
CASE codePointComb^ OF
16#9BC:
result := 16#9DD;
END_CASE
16#9AF:
CASE codePointComb^ OF
16#9BC:
result := 16#9DF;
END_CASE
16#A32:
CASE codePointComb^ OF
16#A3C:
result := 16#A33;
END_CASE
16#A38:
CASE codePointComb^ OF
16#A3C:
result := 16#A36;
END_CASE
16#A16:
CASE codePointComb^ OF
16#A3C:
result := 16#A59;
END_CASE
16#A17:
CASE codePointComb^ OF
16#A3C:
result := 16#A5A;
END_CASE
16#A1C:
CASE codePointComb^ OF
16#A3C:
result := 16#A5B;
END_CASE
16#A2B:
CASE codePointComb^ OF
16#A3C:
result := 16#A5E;
END_CASE
16#B47:
CASE codePointComb^ OF
16#B56:
result := 16#B48;
16#B3E:
result := 16#B4B;
16#B57:
result := 16#B4C;
END_CASE
16#B21:
CASE codePointComb^ OF
16#B3C:
result := 16#B5C;
END_CASE
16#B22:
CASE codePointComb^ OF
16#B3C:
result := 16#B5D;
END_CASE
16#B92:
CASE codePointComb^ OF
16#BD7:
result := 16#B94;
END_CASE
16#BC6:
CASE codePointComb^ OF
16#BBE:
result := 16#BCA;
16#BD7:
result := 16#BCC;
END_CASE
16#BC7:
CASE codePointComb^ OF
16#BBE:
result := 16#BCB;
END_CASE
16#C46:
CASE codePointComb^ OF
16#C56:
result := 16#C48;
END_CASE
16#CBF:
CASE codePointComb^ OF
16#CD5:
result := 16#CC0;
END_CASE
16#CC6:
CASE codePointComb^ OF
16#CD5:
result := 16#CC7;
16#CD6:
result := 16#CC8;
16#CC2:
result := 16#CCA;
END_CASE
16#CCA:
CASE codePointComb^ OF
16#CD5:
result := 16#CCB;
END_CASE
16#D46:
CASE codePointComb^ OF
16#D3E:
result := 16#D4A;
16#D57:
result := 16#D4C;
END_CASE
16#D47:
CASE codePointComb^ OF
16#D3E:
result := 16#D4B;
END_CASE
16#DD9:
CASE codePointComb^ OF
16#DCA:
result := 16#DDA;
16#DCF:
result := 16#DDC;
16#DDF:
result := 16#DDE;
END_CASE
16#DDC:
CASE codePointComb^ OF
16#DCA:
result := 16#DDD;
END_CASE
16#F42:
CASE codePointComb^ OF
16#FB7:
result := 16#F43;
END_CASE
16#F4C:
CASE codePointComb^ OF
16#FB7:
result := 16#F4D;
END_CASE
16#F51:
CASE codePointComb^ OF
16#FB7:
result := 16#F52;
END_CASE
16#F56:
CASE codePointComb^ OF
16#FB7:
result := 16#F57;
END_CASE
16#F5B:
CASE codePointComb^ OF
16#FB7:
result := 16#F5C;
END_CASE
16#F40:
CASE codePointComb^ OF
16#FB5:
result := 16#F69;
END_CASE
16#F71:
CASE codePointComb^ OF
16#F72:
result := 16#F73;
16#F74:
result := 16#F75;
16#F80:
result := 16#F81;
END_CASE
16#FB2:
CASE codePointComb^ OF
16#F80:
result := 16#F76;
END_CASE
16#FB3:
CASE codePointComb^ OF
16#F80:
result := 16#F78;
END_CASE
16#F92:
CASE codePointComb^ OF
16#FB7:
result := 16#F93;
END_CASE
16#F9C:
CASE codePointComb^ OF
16#FB7:
result := 16#F9D;
END_CASE
16#FA1:
CASE codePointComb^ OF
16#FB7:
result := 16#FA2;
END_CASE
16#FA6:
CASE codePointComb^ OF
16#FB7:
result := 16#FA7;
END_CASE
16#FAB:
CASE codePointComb^ OF
16#FB7:
result := 16#FAC;
END_CASE
16#F90:
CASE codePointComb^ OF
16#FB5:
result := 16#FB9;
END_CASE
16#1025:
CASE codePointComb^ OF
16#102E:
result := 16#1026;
END_CASE
16#1B05:
CASE codePointComb^ OF
16#1B35:
result := 16#1B06;
END_CASE
16#1B07:
CASE codePointComb^ OF
16#1B35:
result := 16#1B08;
END_CASE
16#1B09:
CASE codePointComb^ OF
16#1B35:
result := 16#1B0A;
END_CASE
16#1B0B:
CASE codePointComb^ OF
16#1B35:
result := 16#1B0C;
END_CASE
16#1B0D:
CASE codePointComb^ OF
16#1B35:
result := 16#1B0E;
END_CASE
16#1B11:
CASE codePointComb^ OF
16#1B35:
result := 16#1B12;
END_CASE
16#1B3A:
CASE codePointComb^ OF
16#1B35:
result := 16#1B3B;
END_CASE
16#1B3C:
CASE codePointComb^ OF
16#1B35:
result := 16#1B3D;
END_CASE
16#1B3E:
CASE codePointComb^ OF
16#1B35:
result := 16#1B40;
END_CASE
16#1B3F:
CASE codePointComb^ OF
16#1B35:
result := 16#1B41;
END_CASE
16#1B42:
CASE codePointComb^ OF
16#1B35:
result := 16#1B43;
END_CASE
16#42:
CASE codePointComb^ OF
16#307:
result := 16#1E02;
16#323:
result := 16#1E04;
16#331:
result := 16#1E06;
END_CASE
16#62:
CASE codePointComb^ OF
16#307:
result := 16#1E03;
16#323:
result := 16#1E05;
16#331:
result := 16#1E07;
END_CASE
16#C7:
CASE codePointComb^ OF
16#301:
result := 16#1E08;
END_CASE
16#E7:
CASE codePointComb^ OF
16#301:
result := 16#1E09;
END_CASE
16#112:
CASE codePointComb^ OF
16#300:
result := 16#1E14;
16#301:
result := 16#1E16;
END_CASE
16#113:
CASE codePointComb^ OF
16#300:
result := 16#1E15;
16#301:
result := 16#1E17;
END_CASE
16#228:
CASE codePointComb^ OF
16#306:
result := 16#1E1C;
END_CASE
16#229:
CASE codePointComb^ OF
16#306:
result := 16#1E1D;
END_CASE
16#46:
CASE codePointComb^ OF
16#307:
result := 16#1E1E;
END_CASE
16#66:
CASE codePointComb^ OF
16#307:
result := 16#1E1F;
END_CASE
16#CF:
CASE codePointComb^ OF
16#301:
result := 16#1E2E;
END_CASE
16#EF:
CASE codePointComb^ OF
16#301:
result := 16#1E2F;
END_CASE
16#1E36:
CASE codePointComb^ OF
16#304:
result := 16#1E38;
END_CASE
16#1E37:
CASE codePointComb^ OF
16#304:
result := 16#1E39;
END_CASE
16#4D:
CASE codePointComb^ OF
16#301:
result := 16#1E3E;
16#307:
result := 16#1E40;
16#323:
result := 16#1E42;
END_CASE
16#6D:
CASE codePointComb^ OF
16#301:
result := 16#1E3F;
16#307:
result := 16#1E41;
16#323:
result := 16#1E43;
END_CASE
16#14C:
CASE codePointComb^ OF
16#300:
result := 16#1E50;
16#301:
result := 16#1E52;
END_CASE
16#14D:
CASE codePointComb^ OF
16#300:
result := 16#1E51;
16#301:
result := 16#1E53;
END_CASE
16#50:
CASE codePointComb^ OF
16#301:
result := 16#1E54;
16#307:
result := 16#1E56;
END_CASE
16#70:
CASE codePointComb^ OF
16#301:
result := 16#1E55;
16#307:
result := 16#1E57;
END_CASE
16#1E5A:
CASE codePointComb^ OF
16#304:
result := 16#1E5C;
END_CASE
16#1E5B:
CASE codePointComb^ OF
16#304:
result := 16#1E5D;
END_CASE
16#15A:
CASE codePointComb^ OF
16#307:
result := 16#1E64;
END_CASE
16#15B:
CASE codePointComb^ OF
16#307:
result := 16#1E65;
END_CASE
16#160:
CASE codePointComb^ OF
16#307:
result := 16#1E66;
END_CASE
16#161:
CASE codePointComb^ OF
16#307:
result := 16#1E67;
END_CASE
16#1E62:
CASE codePointComb^ OF
16#307:
result := 16#1E68;
END_CASE
16#1E63:
CASE codePointComb^ OF
16#307:
result := 16#1E69;
END_CASE
16#168:
CASE codePointComb^ OF
16#301:
result := 16#1E78;
END_CASE
16#169:
CASE codePointComb^ OF
16#301:
result := 16#1E79;
END_CASE
16#16A:
CASE codePointComb^ OF
16#308:
result := 16#1E7A;
END_CASE
16#16B:
CASE codePointComb^ OF
16#308:
result := 16#1E7B;
END_CASE
16#56:
CASE codePointComb^ OF
16#303:
result := 16#1E7C;
16#323:
result := 16#1E7E;
END_CASE
16#76:
CASE codePointComb^ OF
16#303:
result := 16#1E7D;
16#323:
result := 16#1E7F;
END_CASE
16#58:
CASE codePointComb^ OF
16#307:
result := 16#1E8A;
16#308:
result := 16#1E8C;
END_CASE
16#78:
CASE codePointComb^ OF
16#307:
result := 16#1E8B;
16#308:
result := 16#1E8D;
END_CASE
16#17F:
CASE codePointComb^ OF
16#307:
result := 16#1E9B;
END_CASE
16#C2:
CASE codePointComb^ OF
16#301:
result := 16#1EA4;
16#300:
result := 16#1EA6;
16#309:
result := 16#1EA8;
16#303:
result := 16#1EAA;
END_CASE
16#E2:
CASE codePointComb^ OF
16#301:
result := 16#1EA5;
16#300:
result := 16#1EA7;
16#309:
result := 16#1EA9;
16#303:
result := 16#1EAB;
END_CASE
16#1EA0:
CASE codePointComb^ OF
16#302:
result := 16#1EAC;
16#306:
result := 16#1EB6;
END_CASE
16#1EA1:
CASE codePointComb^ OF
16#302:
result := 16#1EAD;
16#306:
result := 16#1EB7;
END_CASE
16#102:
CASE codePointComb^ OF
16#301:
result := 16#1EAE;
16#300:
result := 16#1EB0;
16#309:
result := 16#1EB2;
16#303:
result := 16#1EB4;
END_CASE
16#103:
CASE codePointComb^ OF
16#301:
result := 16#1EAF;
16#300:
result := 16#1EB1;
16#309:
result := 16#1EB3;
16#303:
result := 16#1EB5;
END_CASE
16#CA:
CASE codePointComb^ OF
16#301:
result := 16#1EBE;
16#300:
result := 16#1EC0;
16#309:
result := 16#1EC2;
16#303:
result := 16#1EC4;
END_CASE
16#EA:
CASE codePointComb^ OF
16#301:
result := 16#1EBF;
16#300:
result := 16#1EC1;
16#309:
result := 16#1EC3;
16#303:
result := 16#1EC5;
END_CASE
16#1EB8:
CASE codePointComb^ OF
16#302:
result := 16#1EC6;
END_CASE
16#1EB9:
CASE codePointComb^ OF
16#302:
result := 16#1EC7;
END_CASE
16#D4:
CASE codePointComb^ OF
16#301:
result := 16#1ED0;
16#300:
result := 16#1ED2;
16#309:
result := 16#1ED4;
16#303:
result := 16#1ED6;
END_CASE
16#F4:
CASE codePointComb^ OF
16#301:
result := 16#1ED1;
16#300:
result := 16#1ED3;
16#309:
result := 16#1ED5;
16#303:
result := 16#1ED7;
END_CASE
16#1ECC:
CASE codePointComb^ OF
16#302:
result := 16#1ED8;
END_CASE
16#1ECD:
CASE codePointComb^ OF
16#302:
result := 16#1ED9;
END_CASE
16#1A0:
CASE codePointComb^ OF
16#301:
result := 16#1EDA;
16#300:
result := 16#1EDC;
16#309:
result := 16#1EDE;
16#303:
result := 16#1EE0;
16#323:
result := 16#1EE2;
END_CASE
16#1A1:
CASE codePointComb^ OF
16#301:
result := 16#1EDB;
16#300:
result := 16#1EDD;
16#309:
result := 16#1EDF;
16#303:
result := 16#1EE1;
16#323:
result := 16#1EE3;
END_CASE
16#1AF:
CASE codePointComb^ OF
16#301:
result := 16#1EE8;
16#300:
result := 16#1EEA;
16#309:
result := 16#1EEC;
16#303:
result := 16#1EEE;
16#323:
result := 16#1EF0;
END_CASE
16#1B0:
CASE codePointComb^ OF
16#301:
result := 16#1EE9;
16#300:
result := 16#1EEB;
16#309:
result := 16#1EED;
16#303:
result := 16#1EEF;
16#323:
result := 16#1EF1;
END_CASE
16#1F00:
CASE codePointComb^ OF
16#300:
result := 16#1F02;
16#301:
result := 16#1F04;
16#342:
result := 16#1F06;
16#345:
result := 16#1F80;
END_CASE
16#1F01:
CASE codePointComb^ OF
16#300:
result := 16#1F03;
16#301:
result := 16#1F05;
16#342:
result := 16#1F07;
16#345:
result := 16#1F81;
END_CASE
16#1F08:
CASE codePointComb^ OF
16#300:
result := 16#1F0A;
16#301:
result := 16#1F0C;
16#342:
result := 16#1F0E;
16#345:
result := 16#1F88;
END_CASE
16#1F09:
CASE codePointComb^ OF
16#300:
result := 16#1F0B;
16#301:
result := 16#1F0D;
16#342:
result := 16#1F0F;
16#345:
result := 16#1F89;
END_CASE
16#1F10:
CASE codePointComb^ OF
16#300:
result := 16#1F12;
16#301:
result := 16#1F14;
END_CASE
16#1F11:
CASE codePointComb^ OF
16#300:
result := 16#1F13;
16#301:
result := 16#1F15;
END_CASE
16#1F18:
CASE codePointComb^ OF
16#300:
result := 16#1F1A;
16#301:
result := 16#1F1C;
END_CASE
16#1F19:
CASE codePointComb^ OF
16#300:
result := 16#1F1B;
16#301:
result := 16#1F1D;
END_CASE
16#1F20:
CASE codePointComb^ OF
16#300:
result := 16#1F22;
16#301:
result := 16#1F24;
16#342:
result := 16#1F26;
16#345:
result := 16#1F90;
END_CASE
16#1F21:
CASE codePointComb^ OF
16#300:
result := 16#1F23;
16#301:
result := 16#1F25;
16#342:
result := 16#1F27;
16#345:
result := 16#1F91;
END_CASE
16#1F28:
CASE codePointComb^ OF
16#300:
result := 16#1F2A;
16#301:
result := 16#1F2C;
16#342:
result := 16#1F2E;
16#345:
result := 16#1F98;
END_CASE
16#1F29:
CASE codePointComb^ OF
16#300:
result := 16#1F2B;
16#301:
result := 16#1F2D;
16#342:
result := 16#1F2F;
16#345:
result := 16#1F99;
END_CASE
16#1F30:
CASE codePointComb^ OF
16#300:
result := 16#1F32;
16#301:
result := 16#1F34;
16#342:
result := 16#1F36;
END_CASE
16#1F31:
CASE codePointComb^ OF
16#300:
result := 16#1F33;
16#301:
result := 16#1F35;
16#342:
result := 16#1F37;
END_CASE
16#1F38:
CASE codePointComb^ OF
16#300:
result := 16#1F3A;
16#301:
result := 16#1F3C;
16#342:
result := 16#1F3E;
END_CASE
16#1F39:
CASE codePointComb^ OF
16#300:
result := 16#1F3B;
16#301:
result := 16#1F3D;
16#342:
result := 16#1F3F;
END_CASE
16#1F40:
CASE codePointComb^ OF
16#300:
result := 16#1F42;
16#301:
result := 16#1F44;
END_CASE
16#1F41:
CASE codePointComb^ OF
16#300:
result := 16#1F43;
16#301:
result := 16#1F45;
END_CASE
16#1F48:
CASE codePointComb^ OF
16#300:
result := 16#1F4A;
16#301:
result := 16#1F4C;
END_CASE
16#1F49:
CASE codePointComb^ OF
16#300:
result := 16#1F4B;
16#301:
result := 16#1F4D;
END_CASE
16#1F50:
CASE codePointComb^ OF
16#300:
result := 16#1F52;
16#301:
result := 16#1F54;
16#342:
result := 16#1F56;
END_CASE
16#1F51:
CASE codePointComb^ OF
16#300:
result := 16#1F53;
16#301:
result := 16#1F55;
16#342:
result := 16#1F57;
END_CASE
16#1F59:
CASE codePointComb^ OF
16#300:
result := 16#1F5B;
16#301:
result := 16#1F5D;
16#342:
result := 16#1F5F;
END_CASE
16#1F60:
CASE codePointComb^ OF
16#300:
result := 16#1F62;
16#301:
result := 16#1F64;
16#342:
result := 16#1F66;
16#345:
result := 16#1FA0;
END_CASE
16#1F61:
CASE codePointComb^ OF
16#300:
result := 16#1F63;
16#301:
result := 16#1F65;
16#342:
result := 16#1F67;
16#345:
result := 16#1FA1;
END_CASE
16#1F68:
CASE codePointComb^ OF
16#300:
result := 16#1F6A;
16#301:
result := 16#1F6C;
16#342:
result := 16#1F6E;
16#345:
result := 16#1FA8;
END_CASE
16#1F69:
CASE codePointComb^ OF
16#300:
result := 16#1F6B;
16#301:
result := 16#1F6D;
16#342:
result := 16#1F6F;
16#345:
result := 16#1FA9;
END_CASE
16#1F02:
CASE codePointComb^ OF
16#345:
result := 16#1F82;
END_CASE
16#1F03:
CASE codePointComb^ OF
16#345:
result := 16#1F83;
END_CASE
16#1F04:
CASE codePointComb^ OF
16#345:
result := 16#1F84;
END_CASE
16#1F05:
CASE codePointComb^ OF
16#345:
result := 16#1F85;
END_CASE
16#1F06:
CASE codePointComb^ OF
16#345:
result := 16#1F86;
END_CASE
16#1F07:
CASE codePointComb^ OF
16#345:
result := 16#1F87;
END_CASE
16#1F0A:
CASE codePointComb^ OF
16#345:
result := 16#1F8A;
END_CASE
16#1F0B:
CASE codePointComb^ OF
16#345:
result := 16#1F8B;
END_CASE
16#1F0C:
CASE codePointComb^ OF
16#345:
result := 16#1F8C;
END_CASE
16#1F0D:
CASE codePointComb^ OF
16#345:
result := 16#1F8D;
END_CASE
16#1F0E:
CASE codePointComb^ OF
16#345:
result := 16#1F8E;
END_CASE
16#1F0F:
CASE codePointComb^ OF
16#345:
result := 16#1F8F;
END_CASE
16#1F22:
CASE codePointComb^ OF
16#345:
result := 16#1F92;
END_CASE
16#1F23:
CASE codePointComb^ OF
16#345:
result := 16#1F93;
END_CASE
16#1F24:
CASE codePointComb^ OF
16#345:
result := 16#1F94;
END_CASE
16#1F25:
CASE codePointComb^ OF
16#345:
result := 16#1F95;
END_CASE
16#1F26:
CASE codePointComb^ OF
16#345:
result := 16#1F96;
END_CASE
16#1F27:
CASE codePointComb^ OF
16#345:
result := 16#1F97;
END_CASE
16#1F2A:
CASE codePointComb^ OF
16#345:
result := 16#1F9A;
END_CASE
16#1F2B:
CASE codePointComb^ OF
16#345:
result := 16#1F9B;
END_CASE
16#1F2C:
CASE codePointComb^ OF
16#345:
result := 16#1F9C;
END_CASE
16#1F2D:
CASE codePointComb^ OF
16#345:
result := 16#1F9D;
END_CASE
16#1F2E:
CASE codePointComb^ OF
16#345:
result := 16#1F9E;
END_CASE
16#1F2F:
CASE codePointComb^ OF
16#345:
result := 16#1F9F;
END_CASE
16#1F62:
CASE codePointComb^ OF
16#345:
result := 16#1FA2;
END_CASE
16#1F63:
CASE codePointComb^ OF
16#345:
result := 16#1FA3;
END_CASE
16#1F64:
CASE codePointComb^ OF
16#345:
result := 16#1FA4;
END_CASE
16#1F65:
CASE codePointComb^ OF
16#345:
result := 16#1FA5;
END_CASE
16#1F66:
CASE codePointComb^ OF
16#345:
result := 16#1FA6;
END_CASE
16#1F67:
CASE codePointComb^ OF
16#345:
result := 16#1FA7;
END_CASE
16#1F6A:
CASE codePointComb^ OF
16#345:
result := 16#1FAA;
END_CASE
16#1F6B:
CASE codePointComb^ OF
16#345:
result := 16#1FAB;
END_CASE
16#1F6C:
CASE codePointComb^ OF
16#345:
result := 16#1FAC;
END_CASE
16#1F6D:
CASE codePointComb^ OF
16#345:
result := 16#1FAD;
END_CASE
16#1F6E:
CASE codePointComb^ OF
16#345:
result := 16#1FAE;
END_CASE
16#1F6F:
CASE codePointComb^ OF
16#345:
result := 16#1FAF;
END_CASE
16#1F70:
CASE codePointComb^ OF
16#345:
result := 16#1FB2;
END_CASE
16#3AC:
CASE codePointComb^ OF
16#345:
result := 16#1FB4;
END_CASE
16#1FB6:
CASE codePointComb^ OF
16#345:
result := 16#1FB7;
END_CASE
16#1F74:
CASE codePointComb^ OF
16#345:
result := 16#1FC2;
END_CASE
16#3AE:
CASE codePointComb^ OF
16#345:
result := 16#1FC4;
END_CASE
16#1FC6:
CASE codePointComb^ OF
16#345:
result := 16#1FC7;
END_CASE
16#1FBF:
CASE codePointComb^ OF
16#300:
result := 16#1FCD;
16#301:
result := 16#1FCE;
16#342:
result := 16#1FCF;
END_CASE
16#1FFE:
CASE codePointComb^ OF
16#300:
result := 16#1FDD;
16#301:
result := 16#1FDE;
16#342:
result := 16#1FDF;
END_CASE
16#3C1:
CASE codePointComb^ OF
16#313:
result := 16#1FE4;
16#314:
result := 16#1FE5;
END_CASE
16#3A1:
CASE codePointComb^ OF
16#314:
result := 16#1FEC;
END_CASE
16#1F7C:
CASE codePointComb^ OF
16#345:
result := 16#1FF2;
END_CASE
16#3CE:
CASE codePointComb^ OF
16#345:
result := 16#1FF4;
END_CASE
16#1FF6:
CASE codePointComb^ OF
16#345:
result := 16#1FF7;
END_CASE
16#2190:
CASE codePointComb^ OF
16#338:
result := 16#219A;
END_CASE
16#2192:
CASE codePointComb^ OF
16#338:
result := 16#219B;
END_CASE
16#2194:
CASE codePointComb^ OF
16#338:
result := 16#21AE;
END_CASE
16#21D0:
CASE codePointComb^ OF
16#338:
result := 16#21CD;
END_CASE
16#21D4:
CASE codePointComb^ OF
16#338:
result := 16#21CE;
END_CASE
16#21D2:
CASE codePointComb^ OF
16#338:
result := 16#21CF;
END_CASE
16#2203:
CASE codePointComb^ OF
16#338:
result := 16#2204;
END_CASE
16#2208:
CASE codePointComb^ OF
16#338:
result := 16#2209;
END_CASE
16#220B:
CASE codePointComb^ OF
16#338:
result := 16#220C;
END_CASE
16#2223:
CASE codePointComb^ OF
16#338:
result := 16#2224;
END_CASE
16#2225:
CASE codePointComb^ OF
16#338:
result := 16#2226;
END_CASE
16#223C:
CASE codePointComb^ OF
16#338:
result := 16#2241;
END_CASE
16#2243:
CASE codePointComb^ OF
16#338:
result := 16#2244;
END_CASE
16#2245:
CASE codePointComb^ OF
16#338:
result := 16#2247;
END_CASE
16#2248:
CASE codePointComb^ OF
16#338:
result := 16#2249;
END_CASE
16#3D:
CASE codePointComb^ OF
16#338:
result := 16#2260;
END_CASE
16#2261:
CASE codePointComb^ OF
16#338:
result := 16#2262;
END_CASE
16#224D:
CASE codePointComb^ OF
16#338:
result := 16#226D;
END_CASE
16#3C:
CASE codePointComb^ OF
16#338:
result := 16#226E;
END_CASE
16#3E:
CASE codePointComb^ OF
16#338:
result := 16#226F;
END_CASE
16#2264:
CASE codePointComb^ OF
16#338:
result := 16#2270;
END_CASE
16#2265:
CASE codePointComb^ OF
16#338:
result := 16#2271;
END_CASE
16#2272:
CASE codePointComb^ OF
16#338:
result := 16#2274;
END_CASE
16#2273:
CASE codePointComb^ OF
16#338:
result := 16#2275;
END_CASE
16#2276:
CASE codePointComb^ OF
16#338:
result := 16#2278;
END_CASE
16#2277:
CASE codePointComb^ OF
16#338:
result := 16#2279;
END_CASE
16#227A:
CASE codePointComb^ OF
16#338:
result := 16#2280;
END_CASE
16#227B:
CASE codePointComb^ OF
16#338:
result := 16#2281;
END_CASE
16#2282:
CASE codePointComb^ OF
16#338:
result := 16#2284;
END_CASE
16#2283:
CASE codePointComb^ OF
16#338:
result := 16#2285;
END_CASE
16#2286:
CASE codePointComb^ OF
16#338:
result := 16#2288;
END_CASE
16#2287:
CASE codePointComb^ OF
16#338:
result := 16#2289;
END_CASE
16#22A2:
CASE codePointComb^ OF
16#338:
result := 16#22AC;
END_CASE
16#22A8:
CASE codePointComb^ OF
16#338:
result := 16#22AD;
END_CASE
16#22A9:
CASE codePointComb^ OF
16#338:
result := 16#22AE;
END_CASE
16#22AB:
CASE codePointComb^ OF
16#338:
result := 16#22AF;
END_CASE
16#227C:
CASE codePointComb^ OF
16#338:
result := 16#22E0;
END_CASE
16#227D:
CASE codePointComb^ OF
16#338:
result := 16#22E1;
END_CASE
16#2291:
CASE codePointComb^ OF
16#338:
result := 16#22E2;
END_CASE
16#2292:
CASE codePointComb^ OF
16#338:
result := 16#22E3;
END_CASE
16#22B2:
CASE codePointComb^ OF
16#338:
result := 16#22EA;
END_CASE
16#22B3:
CASE codePointComb^ OF
16#338:
result := 16#22EB;
END_CASE
16#22B4:
CASE codePointComb^ OF
16#338:
result := 16#22EC;
END_CASE
16#22B5:
CASE codePointComb^ OF
16#338:
result := 16#22ED;
END_CASE
16#2ADD:
CASE codePointComb^ OF
16#338:
result := 16#2ADC;
END_CASE
16#304B:
CASE codePointComb^ OF
16#3099:
result := 16#304C;
END_CASE
16#304D:
CASE codePointComb^ OF
16#3099:
result := 16#304E;
END_CASE
16#304F:
CASE codePointComb^ OF
16#3099:
result := 16#3050;
END_CASE
16#3051:
CASE codePointComb^ OF
16#3099:
result := 16#3052;
END_CASE
16#3053:
CASE codePointComb^ OF
16#3099:
result := 16#3054;
END_CASE
16#3055:
CASE codePointComb^ OF
16#3099:
result := 16#3056;
END_CASE
16#3057:
CASE codePointComb^ OF
16#3099:
result := 16#3058;
END_CASE
16#3059:
CASE codePointComb^ OF
16#3099:
result := 16#305A;
END_CASE
16#305B:
CASE codePointComb^ OF
16#3099:
result := 16#305C;
END_CASE
16#305D:
CASE codePointComb^ OF
16#3099:
result := 16#305E;
END_CASE
16#305F:
CASE codePointComb^ OF
16#3099:
result := 16#3060;
END_CASE
16#3061:
CASE codePointComb^ OF
16#3099:
result := 16#3062;
END_CASE
16#3064:
CASE codePointComb^ OF
16#3099:
result := 16#3065;
END_CASE
16#3066:
CASE codePointComb^ OF
16#3099:
result := 16#3067;
END_CASE
16#3068:
CASE codePointComb^ OF
16#3099:
result := 16#3069;
END_CASE
16#306F:
CASE codePointComb^ OF
16#3099:
result := 16#3070;
16#309A:
result := 16#3071;
END_CASE
16#3072:
CASE codePointComb^ OF
16#3099:
result := 16#3073;
16#309A:
result := 16#3074;
END_CASE
16#3075:
CASE codePointComb^ OF
16#3099:
result := 16#3076;
16#309A:
result := 16#3077;
END_CASE
16#3078:
CASE codePointComb^ OF
16#3099:
result := 16#3079;
16#309A:
result := 16#307A;
END_CASE
16#307B:
CASE codePointComb^ OF
16#3099:
result := 16#307C;
16#309A:
result := 16#307D;
END_CASE
16#3046:
CASE codePointComb^ OF
16#3099:
result := 16#3094;
END_CASE
16#309D:
CASE codePointComb^ OF
16#3099:
result := 16#309E;
END_CASE
16#30AB:
CASE codePointComb^ OF
16#3099:
result := 16#30AC;
END_CASE
16#30AD:
CASE codePointComb^ OF
16#3099:
result := 16#30AE;
END_CASE
16#30AF:
CASE codePointComb^ OF
16#3099:
result := 16#30B0;
END_CASE
16#30B1:
CASE codePointComb^ OF
16#3099:
result := 16#30B2;
END_CASE
16#30B3:
CASE codePointComb^ OF
16#3099:
result := 16#30B4;
END_CASE
16#30B5:
CASE codePointComb^ OF
16#3099:
result := 16#30B6;
END_CASE
16#30B7:
CASE codePointComb^ OF
16#3099:
result := 16#30B8;
END_CASE
16#30B9:
CASE codePointComb^ OF
16#3099:
result := 16#30BA;
END_CASE
16#30BB:
CASE codePointComb^ OF
16#3099:
result := 16#30BC;
END_CASE
16#30BD:
CASE codePointComb^ OF
16#3099:
result := 16#30BE;
END_CASE
16#30BF:
CASE codePointComb^ OF
16#3099:
result := 16#30C0;
END_CASE
16#30C1:
CASE codePointComb^ OF
16#3099:
result := 16#30C2;
END_CASE
16#30C4:
CASE codePointComb^ OF
16#3099:
result := 16#30C5;
END_CASE
16#30C6:
CASE codePointComb^ OF
16#3099:
result := 16#30C7;
END_CASE
16#30C8:
CASE codePointComb^ OF
16#3099:
result := 16#30C9;
END_CASE
16#30CF:
CASE codePointComb^ OF
16#3099:
result := 16#30D0;
16#309A:
result := 16#30D1;
END_CASE
16#30D2:
CASE codePointComb^ OF
16#3099:
result := 16#30D3;
16#309A:
result := 16#30D4;
END_CASE
16#30D5:
CASE codePointComb^ OF
16#3099:
result := 16#30D6;
16#309A:
result := 16#30D7;
END_CASE
16#30D8:
CASE codePointComb^ OF
16#3099:
result := 16#30D9;
16#309A:
result := 16#30DA;
END_CASE
16#30DB:
CASE codePointComb^ OF
16#3099:
result := 16#30DC;
16#309A:
result := 16#30DD;
END_CASE
16#30A6:
CASE codePointComb^ OF
16#3099:
result := 16#30F4;
END_CASE
16#30EF:
CASE codePointComb^ OF
16#3099:
result := 16#30F7;
END_CASE
16#30F0:
CASE codePointComb^ OF
16#3099:
result := 16#30F8;
END_CASE
16#30F1:
CASE codePointComb^ OF
16#3099:
result := 16#30F9;
END_CASE
16#30F2:
CASE codePointComb^ OF
16#3099:
result := 16#30FA;
END_CASE
16#30FD:
CASE codePointComb^ OF
16#3099:
result := 16#30FE;
END_CASE
16#5D9:
CASE codePointComb^ OF
16#5B4:
result := 16#FB1D;
16#5BC:
result := 16#FB39;
END_CASE
16#5F2:
CASE codePointComb^ OF
16#5B7:
result := 16#FB1F;
END_CASE
16#5E9:
CASE codePointComb^ OF
16#5C1:
result := 16#FB2A;
16#5C2:
result := 16#FB2B;
16#5BC:
result := 16#FB49;
END_CASE
16#FB49:
CASE codePointComb^ OF
16#5C1:
result := 16#FB2C;
16#5C2:
result := 16#FB2D;
END_CASE
16#5D0:
CASE codePointComb^ OF
16#5B7:
result := 16#FB2E;
16#5B8:
result := 16#FB2F;
16#5BC:
result := 16#FB30;
END_CASE
16#5D1:
CASE codePointComb^ OF
16#5BC:
result := 16#FB31;
16#5BF:
result := 16#FB4C;
END_CASE
16#5D2:
CASE codePointComb^ OF
16#5BC:
result := 16#FB32;
END_CASE
16#5D3:
CASE codePointComb^ OF
16#5BC:
result := 16#FB33;
END_CASE
16#5D4:
CASE codePointComb^ OF
16#5BC:
result := 16#FB34;
END_CASE
16#5D5:
CASE codePointComb^ OF
16#5BC:
result := 16#FB35;
16#5B9:
result := 16#FB4B;
END_CASE
16#5D6:
CASE codePointComb^ OF
16#5BC:
result := 16#FB36;
END_CASE
16#5D8:
CASE codePointComb^ OF
16#5BC:
result := 16#FB38;
END_CASE
16#5DA:
CASE codePointComb^ OF
16#5BC:
result := 16#FB3A;
END_CASE
16#5DB:
CASE codePointComb^ OF
16#5BC:
result := 16#FB3B;
16#5BF:
result := 16#FB4D;
END_CASE
16#5DC:
CASE codePointComb^ OF
16#5BC:
result := 16#FB3C;
END_CASE
16#5DE:
CASE codePointComb^ OF
16#5BC:
result := 16#FB3E;
END_CASE
16#5E0:
CASE codePointComb^ OF
16#5BC:
result := 16#FB40;
END_CASE
16#5E1:
CASE codePointComb^ OF
16#5BC:
result := 16#FB41;
END_CASE
16#5E3:
CASE codePointComb^ OF
16#5BC:
result := 16#FB43;
END_CASE
16#5E4:
CASE codePointComb^ OF
16#5BC:
result := 16#FB44;
16#5BF:
result := 16#FB4E;
END_CASE
16#5E6:
CASE codePointComb^ OF
16#5BC:
result := 16#FB46;
END_CASE
16#5E7:
CASE codePointComb^ OF
16#5BC:
result := 16#FB47;
END_CASE
16#5E8:
CASE codePointComb^ OF
16#5BC:
result := 16#FB48;
END_CASE
16#5EA:
CASE codePointComb^ OF
16#5BC:
result := 16#FB4A;
END_CASE
16#105D2:
CASE codePointComb^ OF
16#307:
result := 16#105C9;
END_CASE
16#105DA:
CASE codePointComb^ OF
16#307:
result := 16#105E4;
END_CASE
16#11099:
CASE codePointComb^ OF
16#110BA:
result := 16#1109A;
END_CASE
16#1109B:
CASE codePointComb^ OF
16#110BA:
result := 16#1109C;
END_CASE
16#110A5:
CASE codePointComb^ OF
16#110BA:
result := 16#110AB;
END_CASE
16#11131:
CASE codePointComb^ OF
16#11127:
result := 16#1112E;
END_CASE
16#11132:
CASE codePointComb^ OF
16#11127:
result := 16#1112F;
END_CASE
16#11347:
CASE codePointComb^ OF
16#1133E:
result := 16#1134B;
16#11357:
result := 16#1134C;
END_CASE
16#11382:
CASE codePointComb^ OF
16#113C9:
result := 16#11383;
END_CASE
16#11384:
CASE codePointComb^ OF
16#113BB:
result := 16#11385;
END_CASE
16#1138B:
CASE codePointComb^ OF
16#113C2:
result := 16#1138E;
END_CASE
16#11390:
CASE codePointComb^ OF
16#113C9:
result := 16#11391;
END_CASE
16#113C2:
CASE codePointComb^ OF
16#113C2:
result := 16#113C5;
16#113B8:
result := 16#113C7;
16#113C9:
result := 16#113C8;
END_CASE
16#114B9:
CASE codePointComb^ OF
16#114BA:
result := 16#114BB;
16#114B0:
result := 16#114BC;
16#114BD:
result := 16#114BE;
END_CASE
16#115B8:
CASE codePointComb^ OF
16#115AF:
result := 16#115BA;
END_CASE
16#115B9:
CASE codePointComb^ OF
16#115AF:
result := 16#115BB;
END_CASE
16#11935:
CASE codePointComb^ OF
16#11930:
result := 16#11938;
END_CASE
16#1611E:
CASE codePointComb^ OF
16#1611E:
result := 16#16121;
16#16129:
result := 16#16122;
16#1611F:
result := 16#16123;
16#16120:
result := 16#16125;
END_CASE
16#16129:
CASE codePointComb^ OF
16#1611F:
result := 16#16124;
END_CASE
16#16121:
CASE codePointComb^ OF
16#1611F:
result := 16#16126;
16#16120:
result := 16#16128;
END_CASE
16#16122:
CASE codePointComb^ OF
16#1611F:
result := 16#16127;
END_CASE
16#16D67:
CASE codePointComb^ OF
16#16D67:
result := 16#16D68;
END_CASE
16#16D63:
CASE codePointComb^ OF
16#16D67:
result := 16#16D69;
END_CASE
16#16D69:
CASE codePointComb^ OF
16#16D67:
result := 16#16D6A;
END_CASE
16#1D157:
CASE codePointComb^ OF
16#1D165:
result := 16#1D15E;
END_CASE
16#1D158:
CASE codePointComb^ OF
16#1D165:
result := 16#1D15F;
END_CASE
16#1D15F:
CASE codePointComb^ OF
16#1D16E:
result := 16#1D160;
16#1D16F:
result := 16#1D161;
16#1D170:
result := 16#1D162;
16#1D171:
result := 16#1D163;
16#1D172:
result := 16#1D164;
END_CASE
16#1D1B9:
CASE codePointComb^ OF
16#1D165:
result := 16#1D1BB;
END_CASE
16#1D1BA:
CASE codePointComb^ OF
16#1D165:
result := 16#1D1BC;
END_CASE
16#1D1BB:
CASE codePointComb^ OF
16#1D16E:
result := 16#1D1BD;
16#1D16F:
result := 16#1D1BF;
END_CASE
16#1D1BC:
CASE codePointComb^ OF
16#1D16E:
result := 16#1D1BE;
16#1D16F:
result := 16#1D1C0;
END_CASE
16#1100..16#11FF,
16#AC00..16#D7A3: // hangul jamos
GetRecompositionFromCodepoints := GetRecompositionFromCodepointsHangul(
codePointBase := codePointBase,
codePointComb := codePointComb,
result => result );
ELSE
GetRecompositionFromCodePoints := FALSE;
END_CASE
IF IsCompositionExcluded(result) THEN
result := 16#00;
END_IF
GetRecompositionFromCodePoints := (result > 16#00);