1049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/***************************************************************************/ 2049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* */ 3049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* ftsynth.h */ 4049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* */ 5049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* FreeType synthesizing code for emboldening and slanting */ 6049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* (specification). */ 7049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* */ 8ec0bab5697bb31ba980810145f62e3799946ec60Victoria Lease/* Copyright 2000-2001, 2003, 2006, 2008, 2012, 2013 by */ 9049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* David Turner, Robert Wilhelm, and Werner Lemberg. */ 10049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* */ 11049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* This file is part of the FreeType project, and may only be used, */ 12049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* modified, and distributed under the terms of the FreeType project */ 13049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ 14049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* this file you indicate that you have read the license and */ 15049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* understand and accept it fully. */ 16049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* */ 17049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/***************************************************************************/ 18049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 19049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 20049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /*************************************************************************/ 21049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /*************************************************************************/ 22049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /*************************************************************************/ 23049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /*************************************************************************/ 24049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /*************************************************************************/ 25049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /********* *********/ 260a9d06e2b5cf75c3d6ba958026bfdf4745f576d6The Android Open Source Project /********* WARNING, THIS IS ALPHA CODE! THIS API *********/ 27049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /********* IS DUE TO CHANGE UNTIL STRICTLY NOTIFIED BY THE *********/ 28049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /********* FREETYPE DEVELOPMENT TEAM *********/ 29049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /********* *********/ 30049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /*************************************************************************/ 31049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /*************************************************************************/ 32049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /*************************************************************************/ 33049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /*************************************************************************/ 34049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /*************************************************************************/ 35049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 36049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 370a9d06e2b5cf75c3d6ba958026bfdf4745f576d6The Android Open Source Project /* Main reason for not lifting the functions in this module to a */ 380a9d06e2b5cf75c3d6ba958026bfdf4745f576d6The Android Open Source Project /* `standard' API is that the used parameters for emboldening and */ 390a9d06e2b5cf75c3d6ba958026bfdf4745f576d6The Android Open Source Project /* slanting are not configurable. Consider the functions as a */ 40ec0bab5697bb31ba980810145f62e3799946ec60Victoria Lease /* code resource that should be copied into the application and */ 410a9d06e2b5cf75c3d6ba958026bfdf4745f576d6The Android Open Source Project /* adapted to the particular needs. */ 420a9d06e2b5cf75c3d6ba958026bfdf4745f576d6The Android Open Source Project 430a9d06e2b5cf75c3d6ba958026bfdf4745f576d6The Android Open Source Project 44049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#ifndef __FTSYNTH_H__ 45049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#define __FTSYNTH_H__ 46049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 47049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 48049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#include <ft2build.h> 49049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#include FT_FREETYPE_H 50049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 51049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#ifdef FREETYPE_H 52049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#error "freetype.h of FreeType 1 has been loaded!" 53049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#error "Please fix the directory search order for header files" 54049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#error "so that freetype.h of FreeType 2 is found first." 55049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#endif 56049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 57049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 58049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source ProjectFT_BEGIN_HEADER 59049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 600a9d06e2b5cf75c3d6ba958026bfdf4745f576d6The Android Open Source Project /* Embolden a glyph by a `reasonable' value (which is highly a matter of */ 610a9d06e2b5cf75c3d6ba958026bfdf4745f576d6The Android Open Source Project /* taste). This function is actually a convenience function, providing */ 620a9d06e2b5cf75c3d6ba958026bfdf4745f576d6The Android Open Source Project /* a wrapper for @FT_Outline_Embolden and @FT_Bitmap_Embolden. */ 630a9d06e2b5cf75c3d6ba958026bfdf4745f576d6The Android Open Source Project /* */ 64727dee178a392d20eb050d0c446f2fcc29058fa1Victoria Lease /* For emboldened outlines the height, width, and advance metrics are */ 65727dee178a392d20eb050d0c446f2fcc29058fa1Victoria Lease /* increased by the strength of the emboldening. You can also call */ 66727dee178a392d20eb050d0c446f2fcc29058fa1Victoria Lease /* @FT_Outline_Get_CBox to get precise values. */ 67049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_EXPORT( void ) 68049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_GlyphSlot_Embolden( FT_GlyphSlot slot ); 69049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 700a9d06e2b5cf75c3d6ba958026bfdf4745f576d6The Android Open Source Project /* Slant an outline glyph to the right by about 12 degrees. */ 71049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_EXPORT( void ) 72049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_GlyphSlot_Oblique( FT_GlyphSlot slot ); 73049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 740a9d06e2b5cf75c3d6ba958026bfdf4745f576d6The Android Open Source Project /* */ 75049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 76049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source ProjectFT_END_HEADER 77049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 78049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#endif /* __FTSYNTH_H__ */ 79049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 80049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 81049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* END */ 82