diff --git a/components/lazutils/easylazfreetype.pas b/components/lazutils/easylazfreetype.pas index a69dd1f800..c7f8e62ab1 100644 --- a/components/lazutils/easylazfreetype.pas +++ b/components/lazutils/easylazfreetype.pas @@ -486,6 +486,19 @@ begin raise Exception.Create('FreeType cannot be initialized'); end; +function GlyphTableOnCompare(Item1, Item2: Pointer): Integer; +var + G1: TFreeTypeGlyph absolute Item1; + G2: TFreeTypeGlyph absolute Item2; +begin + if G1.Index > G2.Index then + Result := 1 + else if G1.Index < G2.Index then + Result := -1 + else + Result := 0; +end; + { TFreeTypeRenderableFont } procedure TFreeTypeRenderableFont.DefaultWordBreakHandler(var ABefore, @@ -1436,6 +1449,7 @@ begin FPointSize := 10; FDPI := 96; FGlyphTable := TAvlTree.Create; + FGlyphTable.OnCompare := @GlyphTableOnCompare; FHinted := true; FWidthFactor := 1; FClearType := false; diff --git a/examples/lazfreetype/lazfreetypetest.lpi b/examples/lazfreetype/lazfreetypetest.lpi index 36a6ea9435..4284621b4d 100644 --- a/examples/lazfreetype/lazfreetypetest.lpi +++ b/examples/lazfreetype/lazfreetypetest.lpi @@ -1,10 +1,12 @@ - + + + + - <ResourceType Value="res"/> <UseXPManifest Value="True"/> @@ -47,8 +49,6 @@ </BuildModes> <PublishOptions> <Version Value="2"/> - <IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/> - <ExcludeFileFilter Value="*.(bak|ppu|o|so);*~;backup"/> </PublishOptions> <RunParams> <FormatVersion Value="2"/> diff --git a/examples/lazfreetype/mainform.lfm b/examples/lazfreetype/mainform.lfm index 9aa6a8fa4d..446e3fca3c 100644 --- a/examples/lazfreetype/mainform.lfm +++ b/examples/lazfreetype/mainform.lfm @@ -14,7 +14,7 @@ object Form1: TForm1 OnPaint = FormPaint OnShow = FormShow Position = poDefault - LCLVersion = '1.9.0.0' + LCLVersion = '2.1.0.0' object Panel_Option: TPanel Left = 0 Height = 40 diff --git a/examples/lazfreetype/mainform.pas b/examples/lazfreetype/mainform.pas index de94a6d94b..337b0eb3c3 100644 --- a/examples/lazfreetype/mainform.pas +++ b/examples/lazfreetype/mainform.pas @@ -139,8 +139,7 @@ begin lazimg.Free; end; -procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, - Y: Integer); +procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,Y: Integer); begin mx := X; my := Y;