diff options
author | k-m_schindler <k-m_schindler@b956fd51-792f-4845-bead-9b4dfca2ff2c> | 2016-01-01 21:48:55 +0000 |
---|---|---|
committer | k-m_schindler <k-m_schindler@b956fd51-792f-4845-bead-9b4dfca2ff2c> | 2016-01-01 21:48:55 +0000 |
commit | 3544189cdf2cb38a3446ae968d9024406fcabe2a (patch) | |
tree | da2f37a8c58d44cb0ef4cc0792afa40c9e66acce | |
parent | 79fa6f66bb8b6a2d78ea6e17e7c909a85ae3671e (diff) | |
download | usdx-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.pas | 10 |
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 |