< prev index next >

src/java.desktop/share/native/libfreetype/src/truetype/ttgload.c

Print this page

        

*** 2,12 **** * * ttgload.c * * TrueType Glyph Loader (body). * ! * Copyright (C) 1996-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 --- 2,12 ---- * * ttgload.c * * TrueType Glyph Loader (body). * ! * Copyright (C) 1996-2020 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
*** 1100,1122 **** } } } #ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT ! /* if we have a HVAR table, `pp1' and/or `pp2' are already adjusted */ ! if ( !( loader->face->variation_support & TT_FACE_FLAG_VAR_HADVANCE ) || ! !IS_HINTED( loader->load_flags ) ) #endif { loader->pp1 = outline->points[n_points - 4]; loader->pp2 = outline->points[n_points - 3]; } #ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT ! /* if we have a VVAR table, `pp3' and/or `pp4' are already adjusted */ ! if ( !( loader->face->variation_support & TT_FACE_FLAG_VAR_VADVANCE ) || ! !IS_HINTED( loader->load_flags ) ) #endif { loader->pp3 = outline->points[n_points - 2]; loader->pp4 = outline->points[n_points - 1]; } --- 1100,1137 ---- } } } #ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT ! /* if we have a HVAR table, `pp1' and/or `pp2' */ ! /* are already adjusted but unscaled */ ! if ( ( loader->face->variation_support & TT_FACE_FLAG_VAR_HADVANCE ) && ! IS_HINTED( loader->load_flags ) ) ! { ! loader->pp1.x = FT_MulFix( loader->pp1.x, x_scale ); ! loader->pp2.x = FT_MulFix( loader->pp2.x, x_scale ); ! /* pp1.y and pp2.y are always zero */ ! } ! else #endif { loader->pp1 = outline->points[n_points - 4]; loader->pp2 = outline->points[n_points - 3]; } #ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT ! /* if we have a VVAR table, `pp3' and/or `pp4' */ ! /* are already adjusted but unscaled */ ! if ( ( loader->face->variation_support & TT_FACE_FLAG_VAR_VADVANCE ) && ! IS_HINTED( loader->load_flags ) ) ! { ! loader->pp3.x = FT_MulFix( loader->pp3.x, x_scale ); ! loader->pp3.y = FT_MulFix( loader->pp3.y, y_scale ); ! loader->pp4.x = FT_MulFix( loader->pp4.x, x_scale ); ! loader->pp4.y = FT_MulFix( loader->pp4.y, y_scale ); ! } ! else #endif { loader->pp3 = outline->points[n_points - 2]; loader->pp4 = outline->points[n_points - 1]; }
*** 2285,2301 **** /* Get the unscaled top bearing and advance height. */ if ( face->vertical_info && face->vertical.number_Of_VMetrics > 0 ) { ! top = (FT_Short)FT_DivFix( loader->pp3.y - bbox.yMax, y_scale ); if ( loader->pp3.y <= loader->pp4.y ) advance = 0; else ! advance = (FT_UShort)FT_DivFix( loader->pp3.y - loader->pp4.y, y_scale ); } else { FT_Pos height; --- 2300,2317 ---- /* Get the unscaled top bearing and advance height. */ if ( face->vertical_info && face->vertical.number_Of_VMetrics > 0 ) { ! top = (FT_Short)FT_DivFix( SUB_LONG( loader->pp3.y, bbox.yMax ), y_scale ); if ( loader->pp3.y <= loader->pp4.y ) advance = 0; else ! advance = (FT_UShort)FT_DivFix( SUB_LONG( loader->pp3.y, ! loader->pp4.y ), y_scale ); } else { FT_Pos height;
< prev index next >