From 3544189cdf2cb38a3446ae968d9024406fcabe2a Mon Sep 17 00:00:00 2001 From: k-m_schindler Date: Fri, 1 Jan 2016 21:48:55 +0000 Subject: add cShearMatrixInv and outlineflags git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@3160 b956fd51-792f-4845-bead-9b4dfca2ff2c --- src/base/UFont.pas | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/base/UFont.pas b/src/base/UFont.pas index 99fae037..0249b665 100644 --- a/src/base/UFont.pas +++ b/src/base/UFont.pas @@ -844,6 +844,12 @@ const 0, 0, 1, 0, 0, 0, 0, 1 ); + cShearMatrixInv: array[0..15] of GLfloat = ( + 1, 0, 0, 0, + -cShearFactor, 1, 0, 0, + 0, 0, 1, 0, + 0, 0, 0, 1 + ); var LibraryInst: FT_Library; @@ -2221,6 +2227,7 @@ var OuterNumPoints, InnerNumPoints, GlyphNumPoints: FT_UInt; OuterNumContours, InnerNumContours, GlyphNumContours: FT_UInt; OuterBorder, InnerBorder: FT_StrokerBorder; + OutlineFlags: FT_Int; UseStencil: boolean; begin // It is possible to extrude the borders of a glyph with FT_Glyph_Stroke @@ -2304,6 +2311,9 @@ begin GlyphNumPoints := InnerNumPoints + OuterNumPoints; GlyphNumContours := InnerNumContours + OuterNumContours; + // save flags before deletion (TODO: set them on the resulting outline) + OutlineFlags := Outline.flags; + // resize glyph outline to hold inner and outer border FT_Outline_Done(Glyph.Library_, Outline); if (FT_Outline_New(Glyph.Library_, GlyphNumPoints, GlyphNumContours, Outline) <> 0) then -- cgit v1.2.3