2018-06-03 22:00:42 +02:00
|
|
|
/****************************************************************************
|
|
|
|
*
|
|
|
|
* ftsynth.h
|
|
|
|
*
|
|
|
|
* FreeType synthesizing code for emboldening and slanting
|
|
|
|
* (specification).
|
|
|
|
*
|
2022-01-11 10:54:10 +01:00
|
|
|
* Copyright (C) 2000-2022 by
|
2018-06-03 22:00:42 +02:00
|
|
|
* 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.
|
|
|
|
*
|
|
|
|
*/
|
2000-08-23 19:32:42 +02:00
|
|
|
|
2000-10-12 07:05:40 +02:00
|
|
|
|
|
|
|
/*************************************************************************/
|
|
|
|
/*************************************************************************/
|
|
|
|
/*************************************************************************/
|
|
|
|
/*************************************************************************/
|
|
|
|
/*************************************************************************/
|
|
|
|
/********* *********/
|
2008-12-17 11:50:31 +01:00
|
|
|
/********* WARNING, THIS IS ALPHA CODE! THIS API *********/
|
2000-10-12 07:05:40 +02:00
|
|
|
/********* IS DUE TO CHANGE UNTIL STRICTLY NOTIFIED BY THE *********/
|
|
|
|
/********* FREETYPE DEVELOPMENT TEAM *********/
|
|
|
|
/********* *********/
|
|
|
|
/*************************************************************************/
|
|
|
|
/*************************************************************************/
|
|
|
|
/*************************************************************************/
|
|
|
|
/*************************************************************************/
|
|
|
|
/*************************************************************************/
|
|
|
|
|
2000-08-23 19:32:42 +02:00
|
|
|
|
2008-12-17 11:50:31 +01:00
|
|
|
/* Main reason for not lifting the functions in this module to a */
|
2018-09-04 10:37:44 +02:00
|
|
|
/* 'standard' API is that the used parameters for emboldening and */
|
2008-12-17 11:50:31 +01:00
|
|
|
/* slanting are not configurable. Consider the functions as a */
|
2013-09-03 11:33:10 +02:00
|
|
|
/* code resource that should be copied into the application and */
|
2008-12-17 11:50:31 +01:00
|
|
|
/* adapted to the particular needs. */
|
|
|
|
|
|
|
|
|
2016-01-12 21:37:13 +01:00
|
|
|
#ifndef FTSYNTH_H_
|
|
|
|
#define FTSYNTH_H_
|
2000-08-23 00:53:03 +02:00
|
|
|
|
2000-12-09 01:45:38 +01:00
|
|
|
|
2020-06-08 13:31:55 +02:00
|
|
|
#include <freetype/freetype.h>
|
2000-12-09 01:45:38 +01:00
|
|
|
|
2003-11-04 08:44:19 +01:00
|
|
|
#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
|
|
|
|
|
2000-08-23 19:32:42 +02:00
|
|
|
|
2000-12-01 00:12:33 +01:00
|
|
|
FT_BEGIN_HEADER
|
2000-08-23 19:32:42 +02:00
|
|
|
|
2018-09-04 10:37:44 +02:00
|
|
|
/* Embolden a glyph by a 'reasonable' value (which is highly a matter of */
|
2008-12-17 11:50:31 +01:00
|
|
|
/* taste). This function is actually a convenience function, providing */
|
|
|
|
/* a wrapper for @FT_Outline_Embolden and @FT_Bitmap_Embolden. */
|
|
|
|
/* */
|
2012-06-15 06:33:46 +02:00
|
|
|
/* For emboldened outlines the height, width, and advance metrics are */
|
2015-02-19 06:45:49 +01:00
|
|
|
/* 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. */
|
2002-07-01 23:33:48 +02:00
|
|
|
FT_EXPORT( void )
|
|
|
|
FT_GlyphSlot_Embolden( FT_GlyphSlot slot );
|
2001-06-28 09:17:51 +02:00
|
|
|
|
2022-10-17 04:10:19 +02:00
|
|
|
/* Slant an outline glyph to the right by about 12 degrees. */
|
2002-07-01 23:33:48 +02:00
|
|
|
FT_EXPORT( void )
|
|
|
|
FT_GlyphSlot_Oblique( FT_GlyphSlot slot );
|
|
|
|
|
2022-10-17 04:10:19 +02:00
|
|
|
/* Slant an outline glyph by a given sine of an angle. */
|
|
|
|
FT_EXPORT( void )
|
|
|
|
FT_GlyphSlot_Slant( FT_GlyphSlot slot,
|
|
|
|
FT_Fixed slant );
|
|
|
|
|
2008-12-17 11:50:31 +01:00
|
|
|
/* */
|
2000-08-23 19:32:42 +02:00
|
|
|
|
2014-12-02 23:06:04 +01:00
|
|
|
|
2000-12-09 01:45:38 +01:00
|
|
|
FT_END_HEADER
|
2000-08-23 00:53:03 +02:00
|
|
|
|
2016-01-12 21:37:13 +01:00
|
|
|
#endif /* FTSYNTH_H_ */
|
2000-08-23 00:53:03 +02:00
|
|
|
|
|
|
|
|
2000-08-23 19:32:42 +02:00
|
|
|
/* END */
|