< prev index next >

src/java.desktop/share/native/libfreetype/include/freetype/ftadvanc.h

Print this page

        

*** 1,21 **** ! /***************************************************************************/ ! /* */ ! /* ftadvanc.h */ ! /* */ ! /* Quick computation of advance widths (specification only). */ ! /* */ ! /* Copyright 2008-2018 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. */ ! /* */ ! /***************************************************************************/ #ifndef FTADVANC_H_ #define FTADVANC_H_ --- 1,21 ---- ! /**************************************************************************** ! * ! * ftadvanc.h ! * ! * Quick computation of advance widths (specification only). ! * ! * Copyright (C) 2008-2019 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. ! * ! */ #ifndef FTADVANC_H_ #define FTADVANC_H_
*** 54,176 **** * FT_Get_Advances * */ ! /*************************************************************************/ ! /* */ ! /* <Const> */ ! /* FT_ADVANCE_FLAG_FAST_ONLY */ ! /* */ ! /* <Description> */ ! /* A bit-flag to be OR-ed with the `flags' parameter of the */ ! /* @FT_Get_Advance and @FT_Get_Advances functions. */ ! /* */ ! /* If set, it indicates that you want these functions to fail if the */ ! /* corresponding hinting mode or font driver doesn't allow for very */ ! /* quick advance computation. */ ! /* */ ! /* Typically, glyphs that are either unscaled, unhinted, bitmapped, */ ! /* or light-hinted can have their advance width computed very */ ! /* quickly. */ ! /* */ ! /* Normal and bytecode hinted modes that require loading, scaling, */ ! /* and hinting of the glyph outline, are extremely slow by */ ! /* comparison. */ ! /* */ #define FT_ADVANCE_FLAG_FAST_ONLY 0x20000000L ! /*************************************************************************/ ! /* */ ! /* <Function> */ ! /* FT_Get_Advance */ ! /* */ ! /* <Description> */ ! /* Retrieve the advance value of a given glyph outline in an */ ! /* @FT_Face. */ ! /* */ ! /* <Input> */ ! /* face :: The source @FT_Face handle. */ ! /* */ ! /* gindex :: The glyph index. */ ! /* */ ! /* load_flags :: A set of bit flags similar to those used when */ ! /* calling @FT_Load_Glyph, used to determine what kind */ ! /* of advances you need. */ ! /* <Output> */ ! /* padvance :: The advance value. If scaling is performed (based on */ ! /* the value of `load_flags'), the advance value is in */ ! /* 16.16 format. Otherwise, it is in font units. */ ! /* */ ! /* If @FT_LOAD_VERTICAL_LAYOUT is set, this is the */ ! /* vertical advance corresponding to a vertical layout. */ ! /* Otherwise, it is the horizontal advance in a */ ! /* horizontal layout. */ ! /* */ ! /* <Return> */ ! /* FreeType error code. 0 means success. */ ! /* */ ! /* <Note> */ ! /* This function may fail if you use @FT_ADVANCE_FLAG_FAST_ONLY and */ ! /* if the corresponding font backend doesn't have a quick way to */ ! /* retrieve the advances. */ ! /* */ ! /* A scaled advance is returned in 16.16 format but isn't transformed */ ! /* by the affine transformation specified by @FT_Set_Transform. */ ! /* */ FT_EXPORT( FT_Error ) FT_Get_Advance( FT_Face face, FT_UInt gindex, FT_Int32 load_flags, FT_Fixed *padvance ); ! /*************************************************************************/ ! /* */ ! /* <Function> */ ! /* FT_Get_Advances */ ! /* */ ! /* <Description> */ ! /* Retrieve the advance values of several glyph outlines in an */ ! /* @FT_Face. */ ! /* */ ! /* <Input> */ ! /* face :: The source @FT_Face handle. */ ! /* */ ! /* start :: The first glyph index. */ ! /* */ ! /* count :: The number of advance values you want to retrieve. */ ! /* */ ! /* load_flags :: A set of bit flags similar to those used when */ ! /* calling @FT_Load_Glyph. */ ! /* */ ! /* <Output> */ ! /* padvance :: The advance values. This array, to be provided by the */ ! /* caller, must contain at least `count' elements. */ ! /* */ ! /* If scaling is performed (based on the value of */ ! /* `load_flags'), the advance values are in 16.16 format. */ ! /* Otherwise, they are in font units. */ ! /* */ ! /* If @FT_LOAD_VERTICAL_LAYOUT is set, these are the */ ! /* vertical advances corresponding to a vertical layout. */ ! /* Otherwise, they are the horizontal advances in a */ ! /* horizontal layout. */ ! /* */ ! /* <Return> */ ! /* FreeType error code. 0 means success. */ ! /* */ ! /* <Note> */ ! /* This function may fail if you use @FT_ADVANCE_FLAG_FAST_ONLY and */ ! /* if the corresponding font backend doesn't have a quick way to */ ! /* retrieve the advances. */ ! /* */ ! /* Scaled advances are returned in 16.16 format but aren't */ ! /* transformed by the affine transformation specified by */ ! /* @FT_Set_Transform. */ ! /* */ FT_EXPORT( FT_Error ) FT_Get_Advances( FT_Face face, FT_UInt start, FT_UInt count, FT_Int32 load_flags, --- 54,177 ---- * FT_Get_Advances * */ ! /************************************************************************** ! * ! * @enum: ! * FT_ADVANCE_FLAG_FAST_ONLY ! * ! * @description: ! * A bit-flag to be OR-ed with the `flags` parameter of the ! * @FT_Get_Advance and @FT_Get_Advances functions. ! * ! * If set, it indicates that you want these functions to fail if the ! * corresponding hinting mode or font driver doesn't allow for very quick ! * advance computation. ! * ! * Typically, glyphs that are either unscaled, unhinted, bitmapped, or ! * light-hinted can have their advance width computed very quickly. ! * ! * Normal and bytecode hinted modes that require loading, scaling, and ! * hinting of the glyph outline, are extremely slow by comparison. ! */ #define FT_ADVANCE_FLAG_FAST_ONLY 0x20000000L ! /************************************************************************** ! * ! * @function: ! * FT_Get_Advance ! * ! * @description: ! * Retrieve the advance value of a given glyph outline in an @FT_Face. ! * ! * @input: ! * face :: ! * The source @FT_Face handle. ! * ! * gindex :: ! * The glyph index. ! * ! * load_flags :: ! * A set of bit flags similar to those used when calling ! * @FT_Load_Glyph, used to determine what kind of advances you need. ! * @output: ! * padvance :: ! * The advance value. If scaling is performed (based on the value of ! * `load_flags`), the advance value is in 16.16 format. Otherwise, it ! * is in font units. ! * ! * If @FT_LOAD_VERTICAL_LAYOUT is set, this is the vertical advance ! * corresponding to a vertical layout. Otherwise, it is the horizontal ! * advance in a horizontal layout. ! * ! * @return: ! * FreeType error code. 0 means success. ! * ! * @note: ! * This function may fail if you use @FT_ADVANCE_FLAG_FAST_ONLY and if ! * the corresponding font backend doesn't have a quick way to retrieve ! * the advances. ! * ! * A scaled advance is returned in 16.16 format but isn't transformed by ! * the affine transformation specified by @FT_Set_Transform. ! */ FT_EXPORT( FT_Error ) FT_Get_Advance( FT_Face face, FT_UInt gindex, FT_Int32 load_flags, FT_Fixed *padvance ); ! /************************************************************************** ! * ! * @function: ! * FT_Get_Advances ! * ! * @description: ! * Retrieve the advance values of several glyph outlines in an @FT_Face. ! * ! * @input: ! * face :: ! * The source @FT_Face handle. ! * ! * start :: ! * The first glyph index. ! * ! * count :: ! * The number of advance values you want to retrieve. ! * ! * load_flags :: ! * A set of bit flags similar to those used when calling ! * @FT_Load_Glyph. ! * ! * @output: ! * padvance :: ! * The advance values. This array, to be provided by the caller, must ! * contain at least `count` elements. ! * ! * If scaling is performed (based on the value of `load_flags`), the ! * advance values are in 16.16 format. Otherwise, they are in font ! * units. ! * ! * If @FT_LOAD_VERTICAL_LAYOUT is set, these are the vertical advances ! * corresponding to a vertical layout. Otherwise, they are the ! * horizontal advances in a horizontal layout. ! * ! * @return: ! * FreeType error code. 0 means success. ! * ! * @note: ! * This function may fail if you use @FT_ADVANCE_FLAG_FAST_ONLY and if ! * the corresponding font backend doesn't have a quick way to retrieve ! * the advances. ! * ! * Scaled advances are returned in 16.16 format but aren't transformed by ! * the affine transformation specified by @FT_Set_Transform. ! */ FT_EXPORT( FT_Error ) FT_Get_Advances( FT_Face face, FT_UInt start, FT_UInt count, FT_Int32 load_flags,
< prev index next >