From 71ec10efe5409cdc73824408b0c019ba991ee965 Mon Sep 17 00:00:00 2001 From: David Turner Date: Thu, 10 Feb 2000 16:09:35 +0000 Subject: [PATCH] support for the IGNORE_GLOBAL_ADVANCE_WIDTH loading flag --- src/truetype/ttgload.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/truetype/ttgload.c b/src/truetype/ttgload.c index f62d579a2..0fb604e26 100644 --- a/src/truetype/ttgload.c +++ b/src/truetype/ttgload.c @@ -494,7 +494,9 @@ TT_Short left_bearing; TT_UShort advance_width; - Get_HMetrics( face, index, TRUE, + Get_HMetrics( face, index, + (TT_Bool)!(loader->load_flags & + FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH), &left_bearing, &advance_width ); @@ -980,7 +982,13 @@ left_bearing = loader->left_bearing; advance = loader->advance; - if ( face->postscript.isFixedPitch ) + /* the flag FT_LOAD_NO_ADVANCE_CHECK was introduced to */ + /* correctly support DynaLab fonts, who have an incorrect */ + /* "advance_Width_Max" field !! It is used, to my knowledge */ + /* exclusively in the X-TrueType font server.. */ + /* */ + if ( face->postscript.isFixedPitch && + (loader->load_flags & FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH) == 0 ) advance = face->horizontal.advance_Width_Max; if ( !(loader->load_flags & FT_LOAD_NO_SCALE) )