|
@@ -12,7 +12,9 @@
|
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
|
|
|
|
**********************************************************************}
|
|
|
-{$mode objfpc}{$h+}
|
|
|
+{$mode objfpc}
|
|
|
+{$h+}
|
|
|
+
|
|
|
unit freetype;
|
|
|
|
|
|
{$DEFINE DYNAMIC}
|
|
@@ -136,8 +138,8 @@ type
|
|
|
function CreateGlyph (c : cardinal) : PMgrGlyph;
|
|
|
procedure MakeTransformation (angle:real; out Transformation:FT_Matrix);
|
|
|
procedure InitMakeString (FontID, Size:real);
|
|
|
- function MakeString (FontId:integer; Text:string; size:real; angle:real) : TStringBitmaps;
|
|
|
- function MakeString (FontId:integer; Text:string; Size:real) : TStringBitmaps;
|
|
|
+ function MakeString (FontId:integer; Text:AnsiString; size:real; angle:real) : TStringBitmaps;
|
|
|
+ function MakeString (FontId:integer; Text:AnsiString; Size:real) : TStringBitmaps;
|
|
|
function MakeString (FontId:integer; Text:Unicodestring; size:real; angle:real) : TUnicodeStringBitmaps;
|
|
|
function MakeString (FontId:integer; Text:Unicodestring; Size:real) : TUnicodeStringBitmaps;
|
|
|
public
|
|
@@ -147,16 +149,16 @@ type
|
|
|
function RequestFont (afilename:string) : integer;
|
|
|
function RequestFont (afilename:string; anindex:integer) : integer;
|
|
|
function GetFreeTypeFont (aFontID:integer) : PFT_Face;
|
|
|
- function GetString (FontId:integer; Text:string; size:real; angle:real) : TStringBitmaps;
|
|
|
+ function GetString (FontId:integer; Text:AnsiString; size:real; angle:real) : TStringBitmaps;
|
|
|
function GetString (FontId:integer; Text:Unicodestring; size:real; angle:real) : TUnicodeStringBitmaps;
|
|
|
// Black and white
|
|
|
- function GetStringGray (FontId:integer; Text:string; size:real; angle:real) : TStringBitmaps;
|
|
|
+ function GetStringGray (FontId:integer; Text:AnsiString; size:real; angle:real) : TStringBitmaps;
|
|
|
function GetStringGray (FontId:integer; Text:unicodestring; size:real; angle:real) : TUnicodeStringBitmaps;
|
|
|
// Anti Aliased gray scale
|
|
|
- function GetString (FontId:integer; Text:string; Size:real) : TStringBitmaps;
|
|
|
+ function GetString (FontId:integer; Text:AnsiString; Size:real) : TStringBitmaps;
|
|
|
function GetString (FontId:integer; Text:Unicodestring; Size:real) : TUnicodeStringBitmaps;
|
|
|
// Black and white, following the direction of the font (left to right, top to bottom, ...)
|
|
|
- function GetStringGray (FontId:integer; Text: String; Size:real) : TStringBitmaps;
|
|
|
+ function GetStringGray (FontId:integer; Text:AnsiString; Size:real) : TStringBitmaps;
|
|
|
function GetStringGray (FontId:integer; Text:Unicodestring; Size:real) : TUnicodeStringBitmaps;
|
|
|
// Anti Aliased gray scale, following the direction of the font (left to right, top to bottom, ...)
|
|
|
property SearchPath : string read GetSearchPath write SetSearchPath;
|
|
@@ -262,6 +264,9 @@ end;}
|
|
|
|
|
|
constructor TMgrFont.Create (aMgr:TFontManager; afilename:string; anindex:integer);
|
|
|
|
|
|
+var
|
|
|
+ FN : AnsiString;
|
|
|
+
|
|
|
begin
|
|
|
inherited create;
|
|
|
Filename := afilename;
|
|
@@ -269,7 +274,8 @@ begin
|
|
|
FSizes := TList.create;
|
|
|
LastSize := nil;
|
|
|
Try
|
|
|
- FTCheck(FT_New_Face (aMgr.FTLib, pchar(afilename), anindex, font),format (sErrLoadFont,[anindex,afilename]));
|
|
|
+ FN:=aFileName;
|
|
|
+ FTCheck(FT_New_Face (aMgr.FTLib, PAnsiChar(FN), anindex, font),format (sErrLoadFont,[anindex,afilename]));
|
|
|
//WriteFT_Face(font);
|
|
|
except
|
|
|
Font:=Nil;
|
|
@@ -602,7 +608,7 @@ begin
|
|
|
UseKerning := ((Curfont.font^.face_flags and FT_FACE_FLAG_KERNING) <> 0);
|
|
|
end;
|
|
|
|
|
|
-function TFontManager.MakeString (FontId:integer; Text:string; size:real; angle:real) : TStringBitmaps;
|
|
|
+function TFontManager.MakeString (FontId:integer; Text:Ansistring; size:real; angle:real) : TStringBitmaps;
|
|
|
|
|
|
Var
|
|
|
T : Array of cardinal;
|
|
@@ -752,7 +758,7 @@ begin
|
|
|
end;
|
|
|
end;
|
|
|
|
|
|
-function TFontManager.MakeString (FontId:integer; Text:string; Size:real) : TStringBitmaps;
|
|
|
+function TFontManager.MakeString (FontId:integer; Text:AnsiString; Size:real) : TStringBitmaps;
|
|
|
|
|
|
Var
|
|
|
T : Array of Cardinal;
|
|
@@ -876,14 +882,14 @@ begin
|
|
|
ABitmaps.CalculateGlobals;
|
|
|
end;
|
|
|
|
|
|
-function TFontManager.GetString (FontId:integer; Text:string; size:real; angle:real) : TStringBitmaps;
|
|
|
+function TFontManager.GetString (FontId:integer; Text:AnsiString; size:real; angle:real) : TStringBitmaps;
|
|
|
// Black and white
|
|
|
begin
|
|
|
CurRenderMode := FT_RENDER_MODE_MONO;
|
|
|
result := MakeString (FontID, text, Size, angle);
|
|
|
end;
|
|
|
|
|
|
-function TFontManager.GetStringGray (FontId:integer; Text:string; size:real; angle:real) : TStringBitmaps;
|
|
|
+function TFontManager.GetStringGray (FontId:integer; Text:AnsiString; size:real; angle:real) : TStringBitmaps;
|
|
|
// Anti Aliased gray scale
|
|
|
begin
|
|
|
CurRenderMode := FT_RENDER_MODE_NORMAL;
|
|
@@ -892,14 +898,14 @@ end;
|
|
|
|
|
|
{ Procedures without angle have own implementation to have better speed }
|
|
|
|
|
|
-function TFontManager.GetString (FontId:integer; Text:string; Size:real) : TStringBitmaps;
|
|
|
+function TFontManager.GetString (FontId:integer; Text:AnsiString; Size:real) : TStringBitmaps;
|
|
|
// Black and white, following the direction of the font (left to right, top to bottom, ...)
|
|
|
begin
|
|
|
CurRenderMode := FT_RENDER_MODE_MONO;
|
|
|
result := MakeString (FontID, text, Size);
|
|
|
end;
|
|
|
|
|
|
-function TFontManager.GetStringGray (FontId:integer; Text:string; Size:real) : TStringBitmaps;
|
|
|
+function TFontManager.GetStringGray (FontId:integer; Text:AnsiString; Size:real) : TStringBitmaps;
|
|
|
// Anti Aliased gray scale, following the direction of the font (left to right, top to bottom, ...)
|
|
|
begin
|
|
|
CurRenderMode := FT_RENDER_MODE_NORMAL;
|