|
@@ -306,8 +306,77 @@ end;
|
|
|
|
|
|
function ExtendedGraphemeCluster2LegacyChar(const EGC: UnicodeString): Char;
|
|
|
begin
|
|
|
- if (Length(EGC) = 1) and (Ord(EGC[1])<=127) then
|
|
|
- Result:=Chr(Ord(EGC[1]))
|
|
|
+ if (Length(EGC) = 1) then
|
|
|
+ case Ord(EGC[1]) of
|
|
|
+ 0,32..126:
|
|
|
+ Result:=Chr(Ord(EGC[1]));
|
|
|
+ $263A:
|
|
|
+ Result:=#1;
|
|
|
+ $263B:
|
|
|
+ Result:=#2;
|
|
|
+ $2665:
|
|
|
+ Result:=#3;
|
|
|
+ $2666:
|
|
|
+ Result:=#4;
|
|
|
+ $2663:
|
|
|
+ Result:=#5;
|
|
|
+ $2660:
|
|
|
+ Result:=#6;
|
|
|
+ $2022:
|
|
|
+ Result:=#7;
|
|
|
+ $25D8:
|
|
|
+ Result:=#8;
|
|
|
+ $25CB:
|
|
|
+ Result:=#9;
|
|
|
+ $25D9:
|
|
|
+ Result:=#10;
|
|
|
+ $2642:
|
|
|
+ Result:=#11;
|
|
|
+ $2640:
|
|
|
+ Result:=#12;
|
|
|
+ $266A:
|
|
|
+ Result:=#13;
|
|
|
+ $266B:
|
|
|
+ Result:=#14;
|
|
|
+ $263C:
|
|
|
+ Result:=#15;
|
|
|
+ $25BA:
|
|
|
+ Result:=#16;
|
|
|
+ $25C4:
|
|
|
+ Result:=#17;
|
|
|
+ $2195:
|
|
|
+ Result:=#18;
|
|
|
+ $203C:
|
|
|
+ Result:=#19;
|
|
|
+ $00B6:
|
|
|
+ Result:=#20;
|
|
|
+ $00A7:
|
|
|
+ Result:=#21;
|
|
|
+ $25AC:
|
|
|
+ Result:=#22;
|
|
|
+ $21A8:
|
|
|
+ Result:=#23;
|
|
|
+ $2191:
|
|
|
+ Result:=#24;
|
|
|
+ $2193:
|
|
|
+ Result:=#25;
|
|
|
+ $2192:
|
|
|
+ Result:=#26;
|
|
|
+ $2190:
|
|
|
+ Result:=#27;
|
|
|
+ $221F:
|
|
|
+ Result:=#28;
|
|
|
+ $2194:
|
|
|
+ Result:=#29;
|
|
|
+ $25B2:
|
|
|
+ Result:=#30;
|
|
|
+ $25BC:
|
|
|
+ Result:=#31;
|
|
|
+ $2302:
|
|
|
+ Result:=#127;
|
|
|
+ else
|
|
|
+ Result:='?';
|
|
|
+ end
|
|
|
else
|
|
|
Result:='?';
|
|
|
end;
|