/**************************************************************************** * * ftadvanc.c * * Quick computation of advance widths (body). * * Copyright (C) 2008-2023 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. * */ #include <freetype/internal/ftdebug.h> #include <freetype/ftadvanc.h> #include <freetype/internal/ftobjs.h> static FT_Error ft_face_scale_advances_( FT_Face face, FT_Fixed* advances, FT_UInt count, FT_Int32 flags ) { … } /* at the moment, we can perform fast advance retrieval only in */ /* the following cases: */ /* */ /* - unscaled load */ /* - unhinted load */ /* - light-hinted load */ /* - if a variations font, it must have an `HVAR' or `VVAR' */ /* table (thus the old MM or GX fonts don't qualify; this */ /* gets checked by the driver-specific functions) */ #define LOAD_ADVANCE_FAST_CHECK( face, flags ) … /* documentation is in ftadvanc.h */ FT_EXPORT_DEF( FT_Error ) FT_Get_Advance( FT_Face face, FT_UInt gindex, FT_Int32 flags, FT_Fixed *padvance ) { … } /* documentation is in ftadvanc.h */ FT_EXPORT_DEF( FT_Error ) FT_Get_Advances( FT_Face face, FT_UInt start, FT_UInt count, FT_Int32 flags, FT_Fixed *padvances ) { … } /* END */