* src/base/ftsynth.c (FT_GlyphSlot_Slant): Add vertical slant.

* include/freetype/ftsynth.h (FT_GlyphSlot_Slant): Update it.
apodtele-master-patch-38950
Alexei Podtelezhnikov 2 years ago
parent 515bdfef7e
commit 27b2cd4101
  1. 6
      include/freetype/ftsynth.h
  2. 9
      src/base/ftsynth.c

@ -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 );
/* */

@ -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 );

Loading…
Cancel
Save