* include/freetype/ftsynth.h, src/basae/ftsynth.c: Move
FT_GlyphSlot_Own_Bitmap to... * include/freetype/ftbitmap.h, src/base/ftbitmap.c: These files. * docs/CHANGES: Document it.
This commit is contained in:
parent
00bcd34ae6
commit
c8c4cc837c
|
@ -1,3 +1,11 @@
|
||||||
|
2008-12-17 Werner Lemberg <wl@gnu.org>
|
||||||
|
|
||||||
|
* include/freetype/ftsynth.h, src/basae/ftsynth.c: Move
|
||||||
|
FT_GlyphSlot_Own_Bitmap to...
|
||||||
|
* include/freetype/ftbitmap.h, src/base/ftbitmap.c: These files.
|
||||||
|
|
||||||
|
* docs/CHANGES: Document it.
|
||||||
|
|
||||||
2008-12-10 Werner Lemberg <wl@gnu.org>
|
2008-12-10 Werner Lemberg <wl@gnu.org>
|
||||||
|
|
||||||
Generalize the concept of `tricky' fonts by introducing
|
Generalize the concept of `tricky' fonts by introducing
|
||||||
|
|
|
@ -51,6 +51,11 @@ CHANGES BETWEEN 2.3.8 and 2.3.7
|
||||||
. Tricky TrueType fonts always use the bytecode interpreter,
|
. Tricky TrueType fonts always use the bytecode interpreter,
|
||||||
either the patented or unpatented version.
|
either the patented or unpatented version.
|
||||||
|
|
||||||
|
- The function `FT_GlyphSlot_Own_Bitmap' has been moved from
|
||||||
|
FT_SYNTHESIS_H to FT_BITMAP_H; it is now part of the `official'
|
||||||
|
API. (The functions in FT_SYNTHESIS_H are still subject to
|
||||||
|
change, however.)
|
||||||
|
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
|
|
||||||
|
|
|
@ -2,10 +2,9 @@
|
||||||
/* */
|
/* */
|
||||||
/* ftbitmap.h */
|
/* ftbitmap.h */
|
||||||
/* */
|
/* */
|
||||||
/* FreeType utility functions for converting 1bpp, 2bpp, 4bpp, and 8bpp */
|
/* FreeType utility functions for bitmaps (specification). */
|
||||||
/* bitmaps into 8bpp format (specification). */
|
|
||||||
/* */
|
/* */
|
||||||
/* Copyright 2004, 2005, 2006 by */
|
/* Copyright 2004, 2005, 2006, 2008 by */
|
||||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||||
/* */
|
/* */
|
||||||
/* This file is part of the FreeType project, and may only be used, */
|
/* This file is part of the FreeType project, and may only be used, */
|
||||||
|
@ -121,7 +120,7 @@ FT_BEGIN_HEADER
|
||||||
/* or equal to~8 if bitmap is of pixel_mode @FT_PIXEL_MODE_MONO. */
|
/* or equal to~8 if bitmap is of pixel_mode @FT_PIXEL_MODE_MONO. */
|
||||||
/* */
|
/* */
|
||||||
/* If you want to embolden the bitmap owned by a @FT_GlyphSlotRec, */
|
/* If you want to embolden the bitmap owned by a @FT_GlyphSlotRec, */
|
||||||
/* you should call `FT_GlyphSlot_Own_Bitmap' on the slot first. */
|
/* you should call @FT_GlyphSlot_Own_Bitmap on the slot first. */
|
||||||
/* */
|
/* */
|
||||||
FT_EXPORT( FT_Error )
|
FT_EXPORT( FT_Error )
|
||||||
FT_Bitmap_Embolden( FT_Library library,
|
FT_Bitmap_Embolden( FT_Library library,
|
||||||
|
@ -170,6 +169,28 @@ FT_BEGIN_HEADER
|
||||||
FT_Int alignment );
|
FT_Int alignment );
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* <Function> */
|
||||||
|
/* FT_GlyphSlot_Own_Bitmap */
|
||||||
|
/* */
|
||||||
|
/* <Description> */
|
||||||
|
/* Make sure that a glyph slot owns `slot->bitmap'. */
|
||||||
|
/* */
|
||||||
|
/* <Input> */
|
||||||
|
/* slot :: The glyph slot. */
|
||||||
|
/* */
|
||||||
|
/* <Return> */
|
||||||
|
/* FreeType error code. 0~means success. */
|
||||||
|
/* */
|
||||||
|
/* <Note> */
|
||||||
|
/* This function is to be used in combination with */
|
||||||
|
/* @FT_Bitmap_Embolden. */
|
||||||
|
/* */
|
||||||
|
FT_EXPORT( FT_Error )
|
||||||
|
FT_GlyphSlot_Own_Bitmap( FT_GlyphSlot slot );
|
||||||
|
|
||||||
|
|
||||||
/*************************************************************************/
|
/*************************************************************************/
|
||||||
/* */
|
/* */
|
||||||
/* <Function> */
|
/* <Function> */
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
/* FreeType synthesizing code for emboldening and slanting */
|
/* FreeType synthesizing code for emboldening and slanting */
|
||||||
/* (specification). */
|
/* (specification). */
|
||||||
/* */
|
/* */
|
||||||
/* Copyright 2000-2001, 2003, 2006 by */
|
/* Copyright 2000-2001, 2003, 2006, 2008 by */
|
||||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||||
/* */
|
/* */
|
||||||
/* This file is part of the FreeType project, and may only be used, */
|
/* This file is part of the FreeType project, and may only be used, */
|
||||||
|
@ -23,7 +23,7 @@
|
||||||
/*************************************************************************/
|
/*************************************************************************/
|
||||||
/*************************************************************************/
|
/*************************************************************************/
|
||||||
/********* *********/
|
/********* *********/
|
||||||
/********* WARNING, THIS IS ALPHA CODE, THIS API *********/
|
/********* WARNING, THIS IS ALPHA CODE! THIS API *********/
|
||||||
/********* IS DUE TO CHANGE UNTIL STRICTLY NOTIFIED BY THE *********/
|
/********* IS DUE TO CHANGE UNTIL STRICTLY NOTIFIED BY THE *********/
|
||||||
/********* FREETYPE DEVELOPMENT TEAM *********/
|
/********* FREETYPE DEVELOPMENT TEAM *********/
|
||||||
/********* *********/
|
/********* *********/
|
||||||
|
@ -34,6 +34,13 @@
|
||||||
/*************************************************************************/
|
/*************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
/* 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 which should be copied into the application and */
|
||||||
|
/* adapted to the particular needs. */
|
||||||
|
|
||||||
|
|
||||||
#ifndef __FTSYNTH_H__
|
#ifndef __FTSYNTH_H__
|
||||||
#define __FTSYNTH_H__
|
#define __FTSYNTH_H__
|
||||||
|
|
||||||
|
@ -50,20 +57,20 @@
|
||||||
|
|
||||||
FT_BEGIN_HEADER
|
FT_BEGIN_HEADER
|
||||||
|
|
||||||
/* Make sure slot owns slot->bitmap. */
|
/* Embolden a glyph by a `reasonable' value (which is highly a matter of */
|
||||||
FT_EXPORT( FT_Error )
|
/* taste). This function is actually a convenience function, providing */
|
||||||
FT_GlyphSlot_Own_Bitmap( FT_GlyphSlot slot );
|
/* a wrapper for @FT_Outline_Embolden and @FT_Bitmap_Embolden. */
|
||||||
|
/* */
|
||||||
/* Do not use this function directly! Copy the code to */
|
/* For emboldened outlines the metrics are estimates only; if you need */
|
||||||
/* your application and modify it to suit your need. */
|
/* precise values you should call @FT_Outline_Get_CBox. */
|
||||||
FT_EXPORT( void )
|
FT_EXPORT( void )
|
||||||
FT_GlyphSlot_Embolden( FT_GlyphSlot slot );
|
FT_GlyphSlot_Embolden( FT_GlyphSlot slot );
|
||||||
|
|
||||||
|
/* Slant an outline glyph to the right by about 12 degrees. */
|
||||||
FT_EXPORT( void )
|
FT_EXPORT( void )
|
||||||
FT_GlyphSlot_Oblique( FT_GlyphSlot slot );
|
FT_GlyphSlot_Oblique( FT_GlyphSlot slot );
|
||||||
|
|
||||||
/* */
|
/* */
|
||||||
|
|
||||||
FT_END_HEADER
|
FT_END_HEADER
|
||||||
|
|
||||||
|
|
|
@ -2,10 +2,9 @@
|
||||||
/* */
|
/* */
|
||||||
/* ftbitmap.c */
|
/* ftbitmap.c */
|
||||||
/* */
|
/* */
|
||||||
/* FreeType utility functions for converting 1bpp, 2bpp, 4bpp, and 8bpp */
|
/* FreeType utility functions for bitmaps (body). */
|
||||||
/* bitmaps into 8bpp format (body). */
|
|
||||||
/* */
|
/* */
|
||||||
/* Copyright 2004, 2005, 2006, 2007 by */
|
/* Copyright 2004, 2005, 2006, 2007, 2008 by */
|
||||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||||
/* */
|
/* */
|
||||||
/* This file is part of the FreeType project, and may only be used, */
|
/* This file is part of the FreeType project, and may only be used, */
|
||||||
|
@ -19,6 +18,7 @@
|
||||||
|
|
||||||
#include <ft2build.h>
|
#include <ft2build.h>
|
||||||
#include FT_BITMAP_H
|
#include FT_BITMAP_H
|
||||||
|
#include FT_IMAGE_H
|
||||||
#include FT_INTERNAL_OBJECTS_H
|
#include FT_INTERNAL_OBJECTS_H
|
||||||
|
|
||||||
|
|
||||||
|
@ -603,6 +603,31 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* documentation is in ftbitmap.h */
|
||||||
|
|
||||||
|
FT_EXPORT_DEF( FT_Error )
|
||||||
|
FT_GlyphSlot_Own_Bitmap( FT_GlyphSlot slot )
|
||||||
|
{
|
||||||
|
if ( slot && slot->format == FT_GLYPH_FORMAT_BITMAP &&
|
||||||
|
!( slot->internal->flags & FT_GLYPH_OWN_BITMAP ) )
|
||||||
|
{
|
||||||
|
FT_Bitmap bitmap;
|
||||||
|
FT_Error error;
|
||||||
|
|
||||||
|
|
||||||
|
FT_Bitmap_New( &bitmap );
|
||||||
|
error = FT_Bitmap_Copy( slot->library, &slot->bitmap, &bitmap );
|
||||||
|
if ( error )
|
||||||
|
return error;
|
||||||
|
|
||||||
|
slot->bitmap = bitmap;
|
||||||
|
slot->internal->flags |= FT_GLYPH_OWN_BITMAP;
|
||||||
|
}
|
||||||
|
|
||||||
|
return FT_Err_Ok;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* documentation is in ftbitmap.h */
|
/* documentation is in ftbitmap.h */
|
||||||
|
|
||||||
FT_EXPORT_DEF( FT_Error )
|
FT_EXPORT_DEF( FT_Error )
|
||||||
|
|
|
@ -68,29 +68,6 @@
|
||||||
/*************************************************************************/
|
/*************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
FT_EXPORT_DEF( FT_Error )
|
|
||||||
FT_GlyphSlot_Own_Bitmap( FT_GlyphSlot slot )
|
|
||||||
{
|
|
||||||
if ( slot && slot->format == FT_GLYPH_FORMAT_BITMAP &&
|
|
||||||
!( slot->internal->flags & FT_GLYPH_OWN_BITMAP ) )
|
|
||||||
{
|
|
||||||
FT_Bitmap bitmap;
|
|
||||||
FT_Error error;
|
|
||||||
|
|
||||||
|
|
||||||
FT_Bitmap_New( &bitmap );
|
|
||||||
error = FT_Bitmap_Copy( slot->library, &slot->bitmap, &bitmap );
|
|
||||||
if ( error )
|
|
||||||
return error;
|
|
||||||
|
|
||||||
slot->bitmap = bitmap;
|
|
||||||
slot->internal->flags |= FT_GLYPH_OWN_BITMAP;
|
|
||||||
}
|
|
||||||
|
|
||||||
return FT_Err_Ok;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* documentation is in ftsynth.h */
|
/* documentation is in ftsynth.h */
|
||||||
|
|
||||||
FT_EXPORT_DEF( void )
|
FT_EXPORT_DEF( void )
|
||||||
|
|
Loading…
Reference in New Issue