Browse Source

* freetype (ansi)string rendering: use automatic FPC conversion from current ANSI codepage

git-svn-id: trunk@43290 -
ondrej 5 years ago
parent
commit
a4bfa27639
1 changed files with 12 additions and 8 deletions
  1. 12 8
      packages/fcl-image/src/freetype.pp

+ 12 - 8
packages/fcl-image/src/freetype.pp

@@ -598,16 +598,18 @@ function TFontManager.MakeString (FontId:integer; Text:string; size:integer; ang
 Var
 Var
   T : Array of cardinal;
   T : Array of cardinal;
   C,I : Integer;
   C,I : Integer;
+  U: UnicodeString;
 
 
 begin
 begin
   CurFont := GetFont(FontID);
   CurFont := GetFont(FontID);
   InitMakeString (FontID, Size);
   InitMakeString (FontID, Size);
-  c := length(text);
+  U := UnicodeString(Text);
+  c := length(U);
   result := TStringBitmaps.Create(c);
   result := TStringBitmaps.Create(c);
   result.FText := Text;
   result.FText := Text;
-  SetLength(T,Length(Text));
-  For I:=1 to Length(Text) do
-    T[I-1]:=Ord(Text[i]);
+  SetLength(T,c);
+  For I:=1 to c do
+    T[I-1]:=Ord(U[i]);
   DoMakeString(T,Angle,Result);
   DoMakeString(T,Angle,Result);
 end;
 end;
 
 
@@ -741,16 +743,18 @@ function TFontManager.MakeString (FontId:integer; Text:string; Size:integer) : T
 Var
 Var
   T : Array of Cardinal;
   T : Array of Cardinal;
   C,I : Integer;
   C,I : Integer;
+  U : UnicodeString;
   
   
 begin
 begin
   CurFont := GetFont(FontID);
   CurFont := GetFont(FontID);
   InitMakeString (FontID, Size);
   InitMakeString (FontID, Size);
-  c := length(text);
+  U := UnicodeString(Text);
+  c := length(U);
   result := TStringBitmaps.Create(c);
   result := TStringBitmaps.Create(c);
   result.FText := Text;
   result.FText := Text;
-  SetLength(T,Length(Text));
-  For I:=1 to Length(Text) do
-    T[I-1]:=Ord(Text[i]);
+  SetLength(T,c);
+  For I:=1 to c do
+    T[I-1]:=Ord(U[i]);
   DoMakeString(T,Result);
   DoMakeString(T,Result);
 end;
 end;