85 lines
4.0 KiB
C
85 lines
4.0 KiB
C
/***************************************************************************/
|
|
/* */
|
|
/* ftsynth.h */
|
|
/* */
|
|
/* FreeType synthesizing code for emboldening and slanting */
|
|
/* (specification). */
|
|
/* */
|
|
/* Copyright 2000-2016 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 <ft2build.h>
|
|
#include FT_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 );
|
|
|
|
/* */
|
|
|
|
|
|
FT_END_HEADER
|
|
|
|
#endif /* FTSYNTH_H_ */
|
|
|
|
|
|
/* END */
|