aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authork-m_schindler <k-m_schindler@b956fd51-792f-4845-bead-9b4dfca2ff2c>2016-01-01 21:48:55 +0000
committerk-m_schindler <k-m_schindler@b956fd51-792f-4845-bead-9b4dfca2ff2c>2016-01-01 21:48:55 +0000
commit3544189cdf2cb38a3446ae968d9024406fcabe2a (patch)
treeda2f37a8c58d44cb0ef4cc0792afa40c9e66acce
parent79fa6f66bb8b6a2d78ea6e17e7c909a85ae3671e (diff)
downloadusdx-3544189cdf2cb38a3446ae968d9024406fcabe2a.tar.gz
usdx-3544189cdf2cb38a3446ae968d9024406fcabe2a.tar.xz
usdx-3544189cdf2cb38a3446ae968d9024406fcabe2a.zip
add cShearMatrixInv and outlineflags
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@3160 b956fd51-792f-4845-bead-9b4dfca2ff2c
-rw-r--r--src/base/UFont.pas10
1 files changed, 10 insertions, 0 deletions
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