summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/freetype/src/type1/t1afm.c
diff options
context:
space:
mode:
authorTarja Sundqvist <tarja.sundqvist@qt.io>2024-01-22 22:31:51 +0200
committerTarja Sundqvist <tarja.sundqvist@qt.io>2024-01-22 22:31:51 +0200
commit67934c103800bae50c2ec1977758d40fa8e4e507 (patch)
tree77a44eb54a75a35bd10f3c63be588889b697e451 /src/3rdparty/freetype/src/type1/t1afm.c
parent694575a59b5370afc494fbf700eee8db1d1ec091 (diff)
parentca128e25119c0b259d083567c796bfa67b100a42 (diff)
Merge remote-tracking branch 'origin/tqtc/lts-6.2.8' into tqtc/lts-6.2-opensource
Conflicts solved in a file: src/corelib/io/qstandardpaths_android.cpp Change-Id: Ie8cef36c1379679ca358df50c56b3c25aa15c5d6
Diffstat (limited to 'src/3rdparty/freetype/src/type1/t1afm.c')
-rw-r--r--src/3rdparty/freetype/src/type1/t1afm.c23
1 files changed, 11 insertions, 12 deletions
diff --git a/src/3rdparty/freetype/src/type1/t1afm.c b/src/3rdparty/freetype/src/type1/t1afm.c
index 6009e9ee2e..787aa92c98 100644
--- a/src/3rdparty/freetype/src/type1/t1afm.c
+++ b/src/3rdparty/freetype/src/type1/t1afm.c
@@ -4,7 +4,7 @@
*
* AFM support for Type 1 fonts (body).
*
- * Copyright (C) 1996-2022 by
+ * Copyright (C) 1996-2023 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
@@ -178,7 +178,6 @@
/* temporarily. If we find no PostScript charmap, then just use */
/* the default and hope it is the right one. */
oldcharmap = t1_face->charmap;
- charmap = NULL;
for ( n = 0; n < t1_face->num_charmaps; n++ )
{
@@ -186,9 +185,7 @@
/* check against PostScript pseudo platform */
if ( charmap->platform_id == 7 )
{
- error = FT_Set_Charmap( t1_face, charmap );
- if ( error )
- goto Exit;
+ t1_face->charmap = charmap;
break;
}
}
@@ -209,10 +206,7 @@
kp++;
}
- if ( oldcharmap )
- error = FT_Set_Charmap( t1_face, oldcharmap );
- if ( error )
- goto Exit;
+ t1_face->charmap = oldcharmap;
/* now, sort the kern pairs according to their glyph indices */
ft_qsort( fi->KernPairs, fi->NumKernPair, sizeof ( AFM_KernPairRec ),
@@ -302,9 +296,14 @@
t1_face->bbox.xMax = ( fi->FontBBox.xMax + 0xFFFF ) >> 16;
t1_face->bbox.yMax = ( fi->FontBBox.yMax + 0xFFFF ) >> 16;
- /* no `U' suffix here to 0x8000! */
- t1_face->ascender = (FT_Short)( ( fi->Ascender + 0x8000 ) >> 16 );
- t1_face->descender = (FT_Short)( ( fi->Descender + 0x8000 ) >> 16 );
+ /* ascender and descender are optional and could both be zero */
+ /* check if values are meaningful before overriding defaults */
+ if ( fi->Ascender > fi->Descender )
+ {
+ /* no `U' suffix here to 0x8000! */
+ t1_face->ascender = (FT_Short)( ( fi->Ascender + 0x8000 ) >> 16 );
+ t1_face->descender = (FT_Short)( ( fi->Descender + 0x8000 ) >> 16 );
+ }
if ( fi->NumKernPair )
{