freetype-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[freetype2] master 27b2cd410: * src/base/ftsynth.c (FT_GlyphSlot_Slant):


From: Werner Lemberg
Subject: [freetype2] master 27b2cd410: * src/base/ftsynth.c (FT_GlyphSlot_Slant): Add vertical slant.
Date: Tue, 7 Feb 2023 23:04:36 -0500 (EST)

branch: master
commit 27b2cd4101dfcf7d03904204e078b2de84cce8c4
Author: Alexei Podtelezhnikov <apodtele@gmail.com>
Commit: Alexei Podtelezhnikov <apodtele@gmail.com>

    * src/base/ftsynth.c (FT_GlyphSlot_Slant): Add vertical slant.
    * include/freetype/ftsynth.h (FT_GlyphSlot_Slant): Update it.
---
 include/freetype/ftsynth.h | 6 ++++--
 src/base/ftsynth.c         | 9 +++++----
 2 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/include/freetype/ftsynth.h b/include/freetype/ftsynth.h
index feac6acf4..a1277cafc 100644
--- a/include/freetype/ftsynth.h
+++ b/include/freetype/ftsynth.h
@@ -72,10 +72,12 @@ FT_BEGIN_HEADER
   FT_EXPORT( void )
   FT_GlyphSlot_Oblique( FT_GlyphSlot  slot );
 
-  /* Slant an outline glyph by a given sine of an angle.                   */
+  /* Slant an outline glyph by a given sine of an angle.  You can apply    */
+  /* slant along either x- or y-axis.                                      */
   FT_EXPORT( void )
   FT_GlyphSlot_Slant( FT_GlyphSlot  slot,
-                      FT_Fixed      slant );
+                      FT_Fixed      xslant,
+                      FT_Fixed      yslant );
 
   /* */
 
diff --git a/src/base/ftsynth.c b/src/base/ftsynth.c
index ed17be4b3..6ec25e13e 100644
--- a/src/base/ftsynth.c
+++ b/src/base/ftsynth.c
@@ -47,7 +47,7 @@
   FT_GlyphSlot_Oblique( FT_GlyphSlot  slot )
   {
     /* Value '0x0366A' corresponds to a shear angle of about 12 degrees. */
-    FT_GlyphSlot_Slant( slot, 0x0366A );
+    FT_GlyphSlot_Slant( slot, 0x0366A, 0 );
   }
 
 
@@ -55,7 +55,8 @@
 
   FT_EXPORT_DEF( void )
   FT_GlyphSlot_Slant( FT_GlyphSlot  slot,
-                      FT_Fixed      slant )
+                      FT_Fixed      xslant,
+                      FT_Fixed      yslant )
   {
     FT_Matrix    transform;
     FT_Outline*  outline;
@@ -74,9 +75,9 @@
 
     /* For italic, simply apply a shear transform */
     transform.xx = 0x10000L;
-    transform.yx = 0x00000L;
+    transform.yx = -yslant;
 
-    transform.xy = slant;
+    transform.xy = xslant;
     transform.yy = 0x10000L;
 
     FT_Outline_Transform( outline, &transform );



reply via email to

[Prev in Thread] Current Thread [Next in Thread]