From 4db32ecbc5781f191a22e64e35f61e943aa5d09f Mon Sep 17 00:00:00 2001 From: Werner Lemberg Date: Fri, 24 Mar 2006 11:54:53 +0000 Subject: [PATCH] * docs/CHANGES: Updated. * src/tools/docmaker/tohtml.py (html_header_2): Add horizontal padding between table elements. Formatting, copyright years. --- ChangeLog | 24 +++-- devel/ftoption.h | 2 +- docs/CHANGES | 20 +++-- include/freetype/freetype.h | 129 ++++++++++++++++----------- include/freetype/internal/ftgloadr.h | 5 +- src/base/ftobjs.c | 44 ++++----- src/tools/docmaker/tohtml.py | 1 + 7 files changed, 134 insertions(+), 91 deletions(-) diff --git a/ChangeLog b/ChangeLog index 7d616e002..bb7dca9ab 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,11 +1,25 @@ +2006-03-23 Werner Lemberg + + * docs/CHANGES: Updated. + + * src/tools/docmaker/tohtml.py (html_header_2): Add horizontal + padding between table elements. + 2006-03-23 David Turner - * include/freetype/freetype.h, include/freetype/internal/ftgloadr.h, - src/base/ftobjs.c: adding FT_Get_SubGlyph_Info API to retrieve subglyph - data. Note that we do not expose FT_SubGlyphRec here ! + Add FT_Get_SubGlyph_Info API to retrieve subglyph data. Note that + we do not expose the FT_SubGlyphRec structure. - * src/autofit/afloader.c: compute lsb_delta and rsb_delta correctly - in edge cases + * include/freetype/internal/ftgloadr.h (FT_SUBGLYPH_FLAGS_*): Moved + to... + * include/freetype/freetype.h (FT_SUBGLYPH_FLAGS_*): Here. + (FT_Get_SybGlyph_Info): New declaration. + + * src/base/ftobjs.c (FT_Get_SubGlyph_Info): New function. + + + * src/autofit/afloader.c (af_loader_load_g): Compute lsb_delta and + rsb_delta correctly in edge cases. 2006-03-22 Werner Lemberg diff --git a/devel/ftoption.h b/devel/ftoption.h index d3260892b..da3559a5c 100644 --- a/devel/ftoption.h +++ b/devel/ftoption.h @@ -436,7 +436,7 @@ FT_BEGIN_HEADER /* Do not #undef this macro here, since the build system might */ /* define it for certain configurations only. */ /* */ -#define xxTT_CONFIG_OPTION_BYTECODE_INTERPRETER +#define TT_CONFIG_OPTION_BYTECODE_INTERPRETER /*************************************************************************/ diff --git a/docs/CHANGES b/docs/CHANGES index b46e9130b..b1bc1472f 100644 --- a/docs/CHANGES +++ b/docs/CHANGES @@ -21,6 +21,7 @@ LATEST CHANGES BETWEEN 2.2 and 2.1.10 command. Consequently, a number of rogue clients which directly access FreeType's internal functions and structures won't compile without modification. + We provide patches for most of those rogue clients. See the following page for more information: @@ -57,7 +58,7 @@ LATEST CHANGES BETWEEN 2.2 and 2.1.10 FT_Renderer_RenderFunc FT_Renderer_TransformFunc - Note that this doesn't affect binary backwards compatibility. + Note that this doesn't affect binary backward compatibility. - On MacOS, new APIs have been added as replacements for legacy APIs: `FT_New_Face_From_FSRef' for `FT_New_Face_From_FSSpec', @@ -65,11 +66,14 @@ LATEST CHANGES BETWEEN 2.2 and 2.1.10 `FT_GetFile_From_Mac_Name'. Legacy APIs are still available, if FreeType is built without disabling them. - - A new API `FT_Select_Size' is added to select a bitmap strike by - its index. Code using other functions to select bitmap strikes - should be updated to use this function. + - A new API `FT_Select_Size' has been added to select a bitmap + strike by its index. Code using other functions to select + bitmap strikes should be updated to use this function. - - In 2.1.10, the behaviour of `FT_Set_Pixel_Sizes' is changed for + - A new API `FT_Get_SubGlyph_Info' has been added to retrieve + subglyph data. + + - In 2.1.10, the behaviour of `FT_Set_Pixel_Sizes' was changed for BDF/PCF fonts, and only for them. This causes inconsistency. In this release, we undo the change. The intent of the change in 2.1.10 is to allow size selection through real dimensions, @@ -87,9 +91,9 @@ LATEST CHANGES BETWEEN 2.2 and 2.1.10 used to specify the hinting algorithm, the other to specify the pixel rendering mode. - - FT_New_Face() and FT_New_Face_From_FSSpec() in ftmac.c are + - FT_New_Face() and FT_New_Face_From_FSSpec() in ftmac.c have been changed to count supported scalable faces (sfnt, LWFN) only, and - returns the number of available faces via face->num_faces. + to return the number of available faces via face->num_faces. Unsupported bitmap faces (fbit, NFNT) are ignored. - builds/unix/configure has been improved for MacOS X. It now @@ -1326,7 +1330,7 @@ LATEST CHANGES BETWEEN 2.0.6 and 2.0.5 - Important updates to the Mac-specific parts of the library. - The caching sub-system has been completely re-designed, and its - API has evolved (the old one is still supported for backwards + API has evolved (the old one is still supported for backward compatibility). The documentation for it is not yet completed, sorry. For now, diff --git a/include/freetype/freetype.h b/include/freetype/freetype.h index 488bc54f8..7ea1b30b2 100644 --- a/include/freetype/freetype.h +++ b/include/freetype/freetype.h @@ -1403,14 +1403,14 @@ FT_BEGIN_HEADER /* */ /* format :: This field indicates the format of the image */ /* contained in the glyph slot. Typically */ - /* FT_GLYPH_FORMAT_BITMAP, */ - /* FT_GLYPH_FORMAT_OUTLINE, and */ - /* FT_GLYPH_FORMAT_COMPOSITE, but others are */ + /* @FT_GLYPH_FORMAT_BITMAP, */ + /* @FT_GLYPH_FORMAT_OUTLINE, or */ + /* @FT_GLYPH_FORMAT_COMPOSITE, but others are */ /* possible. */ /* */ /* bitmap :: This field is used as a bitmap descriptor */ /* when the slot format is */ - /* FT_GLYPH_FORMAT_BITMAP. Note that the */ + /* @FT_GLYPH_FORMAT_BITMAP. Note that the */ /* address and content of the bitmap buffer can */ /* change between calls of @FT_Load_Glyph and a */ /* few other functions. */ @@ -1418,7 +1418,7 @@ FT_BEGIN_HEADER /* bitmap_left :: This is the bitmap's left bearing expressed */ /* in integer pixels. Of course, this is only */ /* valid if the format is */ - /* FT_GLYPH_FORMAT_BITMAP. */ + /* @FT_GLYPH_FORMAT_BITMAP. */ /* */ /* bitmap_top :: This is the bitmap's top bearing expressed in */ /* integer pixels. Remember that this is the */ @@ -1428,7 +1428,7 @@ FT_BEGIN_HEADER /* */ /* outline :: The outline descriptor for the current glyph */ /* image if its format is */ - /* FT_GLYPH_FORMAT_OUTLINE. Once a glyph is */ + /* @FT_GLYPH_FORMAT_OUTLINE. Once a glyph is */ /* loaded, `outline' can be transformed, */ /* distorted, embolded, etc. However, it must */ /* not be freed. */ @@ -1482,7 +1482,7 @@ FT_BEGIN_HEADER /* Note that `slot->bitmap_left' and `slot->bitmap_top' are also used */ /* to specify the position of the bitmap relative to the current pen */ /* position (e.g. coordinates [0,0] on the baseline). Of course, */ - /* `slot->format' is also changed to `FT_GLYPH_FORMAT_BITMAP' . */ + /* `slot->format' is also changed to @FT_GLYPH_FORMAT_BITMAP. */ /* */ /* */ /* Here a small pseudo code fragment which shows how to use */ @@ -3222,21 +3222,26 @@ FT_BEGIN_HEADER FT_Vector_Transform( FT_Vector* vec, const FT_Matrix* matrix ); - /** - * @macro: FT_SUBGLYPH_FLAG_XXX - * - * @description: - * a list of constant used to describe each subglyph - * - * @values: - * FT_SUBGLYPH_FLAG_ARGS_ARE_WORDS :: - * FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES :: - * FT_SUBGLYPH_FLAG_ROUND_XY_TO_GRID :: - * FT_SUBGLYPH_FLAG_SCALE :: - * FT_SUBGLYPH_FLAG_XY_SCALE :: - * FT_SUBGLYPH_FLAG_2X2 :: - * FT_SUBGLYPH_FLAG_USE_MY_METRICS :: - */ + + /************************************************************************* + * + * @macro: + * FT_SUBGLYPH_FLAG_XXX + * + * @description: + * A list of constants used to describe subglyphs. Please refer to the + * TrueType specification for the meaning of the various flags. + * + * @values: + * FT_SUBGLYPH_FLAG_ARGS_ARE_WORDS :: + * FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES :: + * FT_SUBGLYPH_FLAG_ROUND_XY_TO_GRID :: + * FT_SUBGLYPH_FLAG_SCALE :: + * FT_SUBGLYPH_FLAG_XY_SCALE :: + * FT_SUBGLYPH_FLAG_2X2 :: + * FT_SUBGLYPH_FLAG_USE_MY_METRICS :: + * + */ #define FT_SUBGLYPH_FLAG_ARGS_ARE_WORDS 1 #define FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES 2 #define FT_SUBGLYPH_FLAG_ROUND_XY_TO_GRID 4 @@ -3245,41 +3250,57 @@ FT_BEGIN_HEADER #define FT_SUBGLYPH_FLAG_2X2 0x80 #define FT_SUBGLYPH_FLAG_USE_MY_METRICS 0x200 - /** - * @func: FT_Get_SubGlyph_Info - * - * @description: - * a function used to retrieve a description of a given subglyph. - * only use it when 'glyph->format' is FT_GLYPH_FORMAT_COMPOSITE, or - * an error will be returned - * - * @input: - * glyph :: source glyph slot - * sub_index :: index of subglyph. must be less than 'glyph->num_subglyphs' - * - * @output: - * p_index :: subglyph glyph index - * p_flags :: subglyph flags, see @FT_SUBGLYPH_FLAG_XXX - * p_arg1 :: subglyph first argument (if any) - * p_arg2 :: subglyph second argument (if any) - * p_transform :: subglyph transform (if any) - * - * @return: - * error code. 0 means success - * - * @note: - * the values of *p_arg1, *p_arg2 and *p_transform must be interpreted - * depending on the flags returns in *p_flags. See the TrueType specification - * for details - */ + + /************************************************************************* + * + * @func: + * FT_Get_SubGlyph_Info + * + * @description: + * Retrieve a description of a given subglyph. Only use it if + * `glyph->format' is @FT_GLYPH_FORMAT_COMPOSITE, or an error is + * returned. + * + * @input: + * glyph :: + * The source glyph slot. + * + * sub_index :: + * The index of subglyph. Must be less than `glyph->num_subglyphs'. + * + * @output: + * p_index :: + * The glyph index of the subglyph. + * + * p_flags :: + * The subglyph flags, see @FT_SUBGLYPH_FLAG_XXX. + * + * p_arg1 :: + * The subglyph's first argument (if any). + * + * p_arg2 :: + * The subglyph's second argument (if any). + * + * p_transform :: + * The subglyph transformation (if any). + * + * @return: + * FreeType error code. 0 means success. + * + * @note: + * The values of *p_arg1, *p_arg2 and *p_transform must be interpreted + * depending on the flags returns in *p_flags. See the TrueType + * specification for details. + * + */ FT_EXPORT( FT_Error ) FT_Get_SubGlyph_Info( FT_GlyphSlot glyph, FT_UInt sub_index, - FT_Int *p_index, - FT_UInt *p_flags, - FT_Int *p_arg1, - FT_Int *p_arg2, - FT_Matrix *p_transform ); + FT_Int *p_index, + FT_UInt *p_flags, + FT_Int *p_arg1, + FT_Int *p_arg2, + FT_Matrix *p_transform ); /* */ diff --git a/include/freetype/internal/ftgloadr.h b/include/freetype/internal/ftgloadr.h index 1b83c685b..b2e35fee3 100644 --- a/include/freetype/internal/ftgloadr.h +++ b/include/freetype/internal/ftgloadr.h @@ -4,7 +4,7 @@ /* */ /* The FreeType glyph loader (specification). */ /* */ -/* Copyright 2002, 2003, 2005 by */ +/* Copyright 2002, 2003, 2005, 2006 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -43,7 +43,7 @@ FT_BEGIN_HEADER typedef struct FT_GlyphLoaderRec_* FT_GlyphLoader ; -#if 0 /* now in freetype.h since 2.2 */ +#if 0 /* moved to freetype.h in version 2.2 */ #define FT_SUBGLYPH_FLAG_ARGS_ARE_WORDS 1 #define FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES 2 #define FT_SUBGLYPH_FLAG_ROUND_XY_TO_GRID 4 @@ -53,6 +53,7 @@ FT_BEGIN_HEADER #define FT_SUBGLYPH_FLAG_USE_MY_METRICS 0x200 #endif + typedef struct FT_SubGlyphRec_ { FT_Int index; diff --git a/src/base/ftobjs.c b/src/base/ftobjs.c index 5ebfdf53d..ccd0ed562 100644 --- a/src/base/ftobjs.c +++ b/src/base/ftobjs.c @@ -3865,29 +3865,31 @@ FT_EXPORT_DEF( FT_Error ) FT_Get_SubGlyph_Info( FT_GlyphSlot glyph, FT_UInt sub_index, - FT_Int *p_index, - FT_UInt *p_flags, - FT_Int *p_arg1, - FT_Int *p_arg2, - FT_Matrix *p_transform ) + FT_Int *p_index, + FT_UInt *p_flags, + FT_Int *p_arg1, + FT_Int *p_arg2, + FT_Matrix *p_transform ) { - FT_Error error = FT_Err_Invalid_Argument; - - if ( glyph != NULL && - glyph->format == FT_GLYPH_FORMAT_COMPOSITE && - sub_index < glyph->num_subglyphs ) - { + FT_Error error = FT_Err_Invalid_Argument; + + + if ( glyph != NULL && + glyph->format == FT_GLYPH_FORMAT_COMPOSITE && + sub_index < glyph->num_subglyphs ) + { FT_SubGlyph subg = glyph->subglyphs + sub_index; - - *p_index = subg->index; - *p_flags = subg->flags; - *p_arg1 = subg->arg1; - *p_arg2 = subg->arg2; - *p_transform = subg->transform; - } - return error; + + + *p_index = subg->index; + *p_flags = subg->flags; + *p_arg1 = subg->arg1; + *p_arg2 = subg->arg2; + *p_transform = subg->transform; + } + + return error; } - - + /* END */ diff --git a/src/tools/docmaker/tohtml.py b/src/tools/docmaker/tohtml.py index 355133f13..bdd5a03df 100644 --- a/src/tools/docmaker/tohtml.py +++ b/src/tools/docmaker/tohtml.py @@ -23,6 +23,7 @@ html_header_2= """ API Reference p { text-align: justify; } h1 { text-align: center; } li { text-align: justify; } + td { padding: 0 0.5em 0 0.5em } a:link { color: #0000EF; } a:visited { color: #51188E; }