1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- /****************************************************************************
- *
- * ftsynth.h
- *
- * FreeType synthesizing code for emboldening and slanting
- * (specification).
- *
- * Copyright (C) 2000-2023 by
- * David Turner, Robert Wilhelm, and Werner Lemberg.
- *
- * This file is part of the FreeType project, and may only be used,
- * modified, and distributed under the terms of the FreeType project
- * license, LICENSE.TXT. By continuing to use, modify, or distribute
- * this file you indicate that you have read the license and
- * understand and accept it fully.
- *
- */
- /*************************************************************************/
- /*************************************************************************/
- /*************************************************************************/
- /*************************************************************************/
- /*************************************************************************/
- /********* *********/
- /********* WARNING, THIS IS ALPHA CODE! THIS API *********/
- /********* IS DUE TO CHANGE UNTIL STRICTLY NOTIFIED BY THE *********/
- /********* FREETYPE DEVELOPMENT TEAM *********/
- /********* *********/
- /*************************************************************************/
- /*************************************************************************/
- /*************************************************************************/
- /*************************************************************************/
- /*************************************************************************/
- /* Main reason for not lifting the functions in this module to a */
- /* 'standard' API is that the used parameters for emboldening and */
- /* slanting are not configurable. Consider the functions as a */
- /* code resource that should be copied into the application and */
- /* adapted to the particular needs. */
- #ifndef FTSYNTH_H_
- #define FTSYNTH_H_
- #include <freetype/freetype.h>
- #ifdef FREETYPE_H
- #error "freetype.h of FreeType 1 has been loaded!"
- #error "Please fix the directory search order for header files"
- #error "so that freetype.h of FreeType 2 is found first."
- #endif
- FT_BEGIN_HEADER
- /* Embolden a glyph by a 'reasonable' value (which is highly a matter of */
- /* taste). This function is actually a convenience function, providing */
- /* a wrapper for @FT_Outline_Embolden and @FT_Bitmap_Embolden. */
- /* */
- /* For emboldened outlines the height, width, and advance metrics are */
- /* increased by the strength of the emboldening -- this even affects */
- /* mono-width fonts! */
- /* */
- /* You can also call @FT_Outline_Get_CBox to get precise values. */
- FT_EXPORT( void )
- FT_GlyphSlot_Embolden( FT_GlyphSlot slot );
- /* Slant an outline glyph to the right by about 12 degrees. */
- FT_EXPORT( void )
- FT_GlyphSlot_Oblique( FT_GlyphSlot slot );
- /* Slant an outline glyph by a given sine of an angle. You can apply */
- /* slant along either x- or y-axis by choosing a corresponding non-zero */
- /* argument. If both slants are non-zero, some affine transformation */
- /* will result. */
- FT_EXPORT( void )
- FT_GlyphSlot_Slant( FT_GlyphSlot slot,
- FT_Fixed xslant,
- FT_Fixed yslant );
- /* */
- FT_END_HEADER
- #endif /* FTSYNTH_H_ */
- /* END */
|