Browse Source

* convert unicode to the cp437 dingbats range (#0..#31,#127) in ExtendedGraphemeCluster2LegacyChar

git-svn-id: branches/unicodekvm@48819 -
nickysn 4 years ago
parent
commit
3c3f43ac66
1 changed files with 71 additions and 2 deletions
  1. 71 2
      packages/rtl-console/src/inc/video.inc

+ 71 - 2
packages/rtl-console/src/inc/video.inc

@@ -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;