head 1.78; access; symbols pkgsrc-2023Q4:1.78.0.4 pkgsrc-2023Q4-base:1.78 pkgsrc-2023Q3:1.78.0.2 pkgsrc-2023Q3-base:1.78 pkgsrc-2023Q2:1.76.0.2 pkgsrc-2023Q2-base:1.76 pkgsrc-2023Q1:1.75.0.2 pkgsrc-2023Q1-base:1.75 pkgsrc-2022Q4:1.74.0.6 pkgsrc-2022Q4-base:1.74 pkgsrc-2022Q3:1.74.0.4 pkgsrc-2022Q3-base:1.74 pkgsrc-2022Q2:1.74.0.2 pkgsrc-2022Q2-base:1.74 pkgsrc-2022Q1:1.72.0.2 pkgsrc-2022Q1-base:1.72 pkgsrc-2021Q4:1.71.0.2 pkgsrc-2021Q4-base:1.71 pkgsrc-2021Q3:1.69.0.8 pkgsrc-2021Q3-base:1.69 pkgsrc-2021Q2:1.69.0.6 pkgsrc-2021Q2-base:1.69 pkgsrc-2021Q1:1.69.0.4 pkgsrc-2021Q1-base:1.69 pkgsrc-2020Q4:1.69.0.2 pkgsrc-2020Q4-base:1.69 pkgsrc-2020Q3:1.68.0.4 pkgsrc-2020Q3-base:1.68 pkgsrc-2020Q2:1.68.0.2 pkgsrc-2020Q2-base:1.68 pkgsrc-2020Q1:1.67.0.4 pkgsrc-2020Q1-base:1.67 pkgsrc-2019Q4:1.67.0.6 pkgsrc-2019Q4-base:1.67 pkgsrc-2019Q3:1.67.0.2 pkgsrc-2019Q3-base:1.67 pkgsrc-2019Q2:1.66.0.2 pkgsrc-2019Q2-base:1.66 pkgsrc-2019Q1:1.65.0.8 pkgsrc-2019Q1-base:1.65 pkgsrc-2018Q4:1.65.0.6 pkgsrc-2018Q4-base:1.65 pkgsrc-2018Q3:1.65.0.4 pkgsrc-2018Q3-base:1.65 pkgsrc-2018Q2:1.65.0.2 pkgsrc-2018Q2-base:1.65 pkgsrc-2018Q1:1.64.0.2 pkgsrc-2018Q1-base:1.64 pkgsrc-2017Q4:1.63.0.6 pkgsrc-2017Q4-base:1.63 pkgsrc-2017Q3:1.63.0.4 pkgsrc-2017Q3-base:1.63 pkgsrc-2017Q2:1.62.0.2 pkgsrc-2017Q2-base:1.62 pkgsrc-2017Q1:1.61.0.2 pkgsrc-2017Q1-base:1.61 pkgsrc-2016Q4:1.60.0.4 pkgsrc-2016Q4-base:1.60 pkgsrc-2016Q3:1.60.0.2 pkgsrc-2016Q3-base:1.60 pkgsrc-2016Q2:1.57.0.2 pkgsrc-2016Q2-base:1.57 pkgsrc-2016Q1:1.56.0.2 pkgsrc-2016Q1-base:1.56 pkgsrc-2015Q4:1.55.0.2 pkgsrc-2015Q4-base:1.55 pkgsrc-2015Q3:1.54.0.2 pkgsrc-2015Q3-base:1.54 pkgsrc-2015Q2:1.53.0.4 pkgsrc-2015Q2-base:1.53 pkgsrc-2015Q1:1.53.0.2 pkgsrc-2015Q1-base:1.53 pkgsrc-2014Q4:1.52.0.2 pkgsrc-2014Q4-base:1.52 pkgsrc-2014Q3:1.51.0.6 pkgsrc-2014Q3-base:1.51 pkgsrc-2014Q2:1.51.0.4 pkgsrc-2014Q2-base:1.51 pkgsrc-2014Q1:1.51.0.2 pkgsrc-2014Q1-base:1.51 pkgsrc-2013Q4:1.50.0.4 pkgsrc-2013Q4-base:1.50 pkgsrc-2013Q3:1.50.0.2 pkgsrc-2013Q3-base:1.50 pkgsrc-2013Q2:1.49.0.4 pkgsrc-2013Q2-base:1.49 pkgsrc-2013Q1:1.49.0.2 pkgsrc-2013Q1-base:1.49 pkgsrc-2012Q4:1.48.0.4 pkgsrc-2012Q4-base:1.48 pkgsrc-2012Q3:1.48.0.2 pkgsrc-2012Q3-base:1.48 pkgsrc-2012Q2:1.47.0.4 pkgsrc-2012Q2-base:1.47 pkgsrc-2012Q1:1.47.0.2 pkgsrc-2012Q1-base:1.47 pkgsrc-2011Q4:1.46.0.2 pkgsrc-2011Q4-base:1.46 pkgsrc-2011Q3:1.44.0.2 pkgsrc-2011Q3-base:1.44 pkgsrc-2011Q2:1.41.0.2 pkgsrc-2011Q2-base:1.41 pkgsrc-2011Q1:1.40.0.4 pkgsrc-2011Q1-base:1.40 pkgsrc-2010Q4:1.40.0.2 pkgsrc-2010Q4-base:1.40 pkgsrc-2010Q3:1.36.0.2 pkgsrc-2010Q3-base:1.36 pkgsrc-2010Q2:1.34.0.4 pkgsrc-2010Q2-base:1.34 pkgsrc-2010Q1:1.34.0.2 pkgsrc-2010Q1-base:1.34 pkgsrc-2009Q4:1.33.0.2 pkgsrc-2009Q4-base:1.33 pkgsrc-2009Q3:1.31.0.4 pkgsrc-2009Q3-base:1.31 pkgsrc-2009Q2:1.31.0.2 pkgsrc-2009Q2-base:1.31 pkgsrc-2009Q1:1.29.0.2 pkgsrc-2009Q1-base:1.29 pkgsrc-2008Q4:1.28.0.6 pkgsrc-2008Q4-base:1.28 pkgsrc-2008Q3:1.28.0.4 pkgsrc-2008Q3-base:1.28 cube-native-xorg:1.28.0.2 cube-native-xorg-base:1.28 pkgsrc-2008Q2:1.27.0.4 pkgsrc-2008Q2-base:1.27 cwrapper:1.27.0.2 pkgsrc-2008Q1:1.25.0.6 pkgsrc-2008Q1-base:1.25 pkgsrc-2007Q4:1.25.0.4 pkgsrc-2007Q4-base:1.25 pkgsrc-2007Q3:1.25.0.2 pkgsrc-2007Q3-base:1.25 pkgsrc-2007Q2:1.24.0.2 pkgsrc-2007Q2-base:1.24 pkgsrc-2007Q1:1.22.0.2 pkgsrc-2007Q1-base:1.22 pkgsrc-2006Q4:1.19.0.4 pkgsrc-2006Q4-base:1.19 pkgsrc-2006Q3:1.19.0.2 pkgsrc-2006Q3-base:1.19 pkgsrc-2006Q2:1.18.0.2 pkgsrc-2006Q2-base:1.18 pkgsrc-2006Q1:1.16.0.2 pkgsrc-2006Q1-base:1.16 pkgsrc-2005Q4:1.15.0.4 pkgsrc-2005Q4-base:1.15 pkgsrc-2005Q3:1.15.0.2 pkgsrc-2005Q3-base:1.15 pkgsrc-2005Q2:1.14.0.4 pkgsrc-2005Q2-base:1.14 pkgsrc-2005Q1:1.14.0.2 pkgsrc-2005Q1-base:1.14 pkgsrc-2004Q4:1.13.0.4 pkgsrc-2004Q4-base:1.13 pkgsrc-2004Q3:1.13.0.2 pkgsrc-2004Q3-base:1.13 pkgsrc-2004Q2:1.11.0.2 pkgsrc-2004Q2-base:1.11 pkgsrc-2004Q1:1.10.0.2 pkgsrc-2004Q1-base:1.10 pkgsrc-2003Q4:1.8.0.2 pkgsrc-2003Q4-base:1.8 netbsd-1-6-1:1.5.0.2 netbsd-1-6-1-base:1.5 netbsd-1-6:1.4.0.8 netbsd-1-6-RELEASE-base:1.4 pkgviews:1.4.0.4 pkgviews-base:1.4 buildlink2:1.4.0.2 buildlink2-base:1.4 netbsd-1-5-PATCH003:1.4 netbsd-1-5-PATCH001:1.2; locks; strict; comment @# @; 1.78 date 2023.08.30.12.33.23; author adam; state Exp; branches; next 1.77; commitid fxNFT8oF8vQwbOCE; 1.77 date 2023.06.27.08.52.57; author adam; state Exp; branches; next 1.76; commitid vzpBbgN3uP2r1zuE; 1.76 date 2023.05.05.17.28.49; author gdt; state Exp; branches; next 1.75; commitid gMVXZFXITgEwzNnE; 1.75 date 2023.02.09.19.49.06; author wiz; state Exp; branches; next 1.74; commitid G8ESJ7cxkkXD5TcE; 1.74 date 2022.05.01.20.03.24; author adam; state Exp; branches; next 1.73; commitid MXalgrodkoBqioCD; 1.73 date 2022.04.20.20.59.52; author wiz; state Exp; branches; next 1.72; commitid 0q0gJE97MtROXYAD; 1.72 date 2022.01.04.13.16.17; author ryoon; state Exp; branches; next 1.71; commitid VaBJpI7zLyh0OjnD; 1.71 date 2021.10.26.10.46.08; author nia; state Exp; branches; next 1.70; commitid 6mU28GyqPd3PdjeD; 1.70 date 2021.10.07.14.12.10; author nia; state Exp; branches; next 1.69; commitid 7mrgNTa8lk0sYSbD; 1.69 date 2020.10.21.08.26.08; author adam; state Exp; branches; next 1.68; commitid B49maGTggphblKsC; 1.68 date 2020.06.03.08.40.21; author adam; state Exp; branches 1.68.4.1; next 1.67; commitid zdRtYneY1qU5VKaC; 1.67 date 2019.08.03.08.31.25; author adam; state Exp; branches; next 1.66; commitid EHkzTFAWrxlTFyxB; 1.66 date 2019.04.02.07.17.17; author adam; state Exp; branches; next 1.65; commitid yCK8vU981sModKhB; 1.65 date 2018.05.04.08.40.11; author adam; state Exp; branches; next 1.64; commitid 84icljuyptoCnXAA; 1.64 date 2018.01.18.09.49.24; author adam; state Exp; branches; next 1.63; commitid gCRFoyspB9WJalnA; 1.63 date 2017.09.18.16.54.06; author adam; state Exp; branches; next 1.62; commitid nMkTn7bhHvxzrH7A; 1.62 date 2017.05.14.11.02.15; author spz; state Exp; branches; next 1.61; commitid 7zmKwyBtsc74wlRz; 1.61 date 2017.01.16.13.11.46; author adam; state Exp; branches 1.61.2.1; next 1.60; commitid fOq9qcYWmbCB5cCz; 1.60 date 2016.09.12.18.06.44; author wiz; state Exp; branches; next 1.59; commitid wnMfOS7AOsaNL1mz; 1.59 date 2016.07.22.10.30.11; author adam; state Exp; branches; next 1.58; commitid d6mNuKTKuawQUifz; 1.58 date 2016.07.09.12.23.16; author adam; state Exp; branches; next 1.57; commitid rV2YIoDqhluyXDdz; 1.57 date 2016.04.07.10.02.13; author adam; state Exp; branches; next 1.56; commitid Tc6gzXQdhOVvaG1z; 1.56 date 2016.01.10.21.16.33; author bsiegert; state Exp; branches; next 1.55; commitid 3ZkQ47FRBtjVIqQy; 1.55 date 2015.11.03.21.33.57; author agc; state Exp; branches; next 1.54; commitid PgUQO3oNWmoc0HHy; 1.54 date 2015.09.06.08.34.20; author mef; state Exp; branches; next 1.53; commitid 9YOVq2knmLWuyaAy; 1.53 date 2015.02.11.10.51.09; author adam; state Exp; branches; next 1.52; commitid A6e3Y8WaGHUkYz9y; 1.52 date 2014.12.09.10.50.04; author adam; state Exp; branches; next 1.51; commitid 2wdfULzJ6Ich1m1y; 1.51 date 2014.03.13.23.26.35; author spz; state Exp; branches; next 1.50; commitid EVH5Z5dSnDlJUAsx; 1.50 date 2013.08.04.10.38.01; author adam; state Exp; branches 1.50.4.1; next 1.49; commitid lH1Aaoz1yIwRL70x; 1.49 date 2013.01.06.00.38.13; author wiz; state Exp; branches; next 1.48; 1.48 date 2012.07.02.16.48.24; author drochner; state Exp; branches 1.48.4.1; next 1.47; 1.47 date 2012.03.09.10.41.14; author drochner; state Exp; branches; next 1.46; 1.46 date 2011.11.15.19.42.17; author drochner; state Exp; branches; next 1.45; 1.45 date 2011.10.26.19.24.45; author tez; state Exp; branches; next 1.44; 1.44 date 2011.08.03.08.25.41; author cheusov; state Exp; branches 1.44.2.1; next 1.43; 1.43 date 2011.07.18.09.54.27; author drochner; state Exp; branches; next 1.42; 1.42 date 2011.07.12.16.30.28; author drochner; state Exp; branches; next 1.41; 1.41 date 2011.07.07.17.02.12; author drochner; state Exp; branches; next 1.40; 1.40 date 2010.12.26.19.16.16; author adam; state Exp; branches; next 1.39; 1.39 date 2010.11.24.18.44.54; author drochner; state Exp; branches; next 1.38; 1.38 date 2010.11.03.11.56.37; author drochner; state Exp; branches; next 1.37; 1.37 date 2010.10.22.16.14.13; author drochner; state Exp; branches; next 1.36; 1.36 date 2010.08.08.16.06.02; author tnn; state Exp; branches 1.36.2.1; next 1.35; 1.35 date 2010.07.20.11.44.15; author drochner; state Exp; branches; next 1.34; 1.34 date 2010.02.18.21.28.45; author drochner; state Exp; branches 1.34.4.1; next 1.33; 1.33 date 2009.11.24.11.26.50; author tnn; state Exp; branches; next 1.32; 1.32 date 2009.11.23.12.01.58; author drochner; state Exp; branches; next 1.31; 1.31 date 2009.05.02.19.44.51; author tnn; state Exp; branches; next 1.30; 1.30 date 2009.04.16.20.26.25; author drochner; state Exp; branches; next 1.29; 1.29 date 2009.01.27.19.29.32; author drochner; state Exp; branches 1.29.2.1; next 1.28; 1.28 date 2008.07.14.03.55.29; author tnn; state Exp; branches; next 1.27; 1.27 date 2008.07.08.15.44.36; author drochner; state Exp; branches; next 1.26; 1.26 date 2008.06.11.10.35.21; author drochner; state Exp; branches; next 1.25; 1.25 date 2007.07.06.18.16.28; author drochner; state Exp; branches 1.25.6.1; next 1.24; 1.24 date 2007.05.19.16.24.49; author tron; state Exp; branches; next 1.23; 1.23 date 2007.04.10.16.55.31; author drochner; state Exp; branches; next 1.22; 1.22 date 2007.04.05.16.29.38; author drochner; state Exp; branches 1.22.2.1; next 1.21; 1.21 date 2007.03.23.22.09.18; author joerg; state Exp; branches; next 1.20; 1.20 date 2007.03.20.15.20.33; author drochner; state Exp; branches; next 1.19; 1.19 date 2006.08.22.18.43.50; author joerg; state Exp; branches; next 1.18; 1.18 date 2006.05.31.10.24.54; author tron; state Exp; branches 1.18.2.1; next 1.17; 1.17 date 2006.05.29.22.05.21; author tron; state Exp; branches; next 1.16; 1.16 date 2006.02.25.00.35.41; author reed; state Exp; branches 1.16.2.1; next 1.15; 1.15 date 2005.06.30.13.01.29; author adam; state Exp; branches; next 1.14; 1.14 date 2005.02.24.08.45.05; author agc; state Exp; branches; next 1.13; 1.13 date 2004.08.05.02.50.37; author jlam; state Exp; branches; next 1.12; 1.12 date 2004.08.02.12.30.01; author adam; state Exp; branches; next 1.11; 1.11 date 2004.04.27.14.59.49; author adam; state Exp; branches; next 1.10; 1.10 date 2003.12.19.13.46.00; author adam; state Exp; branches; next 1.9; 1.9 date 2003.12.18.11.28.42; author adam; state Exp; branches; next 1.8; 1.8 date 2003.09.13.08.32.19; author adam; state Exp; branches; next 1.7; 1.7 date 2003.04.16.08.53.47; author wiz; state Exp; branches; next 1.6; 1.6 date 2003.03.21.22.25.50; author dillo; state Exp; branches; next 1.5; 1.5 date 2002.12.24.00.04.16; author wiz; state Exp; branches; next 1.4; 1.4 date 2001.12.30.14.13.27; author wiz; state Exp; branches; next 1.3; 1.3 date 2001.06.26.21.30.13; author zuntum; state Exp; branches; next 1.2; 1.2 date 2001.05.08.16.36.01; author agc; state Exp; branches; next 1.1; 1.1 date 2001.04.17.11.23.07; author agc; state Exp; branches; next ; 1.68.4.1 date 2020.10.21.17.08.49; author spz; state Exp; branches; next ; commitid 53m56b7C6d9HeNsC; 1.61.2.1 date 2017.06.02.19.52.12; author bsiegert; state Exp; branches; next ; commitid 9eGccm9QqbLXTPTz; 1.50.4.1 date 2014.03.17.09.30.55; author tron; state Exp; branches; next ; commitid 0hjcYuQXm6lua2tx; 1.48.4.1 date 2013.01.06.17.22.05; author spz; state Exp; branches; next ; 1.44.2.1 date 2011.11.02.20.37.12; author tron; state Exp; branches; next 1.44.2.2; 1.44.2.2 date 2011.11.19.11.24.07; author tron; state Exp; branches; next ; 1.36.2.1 date 2010.12.19.03.47.00; author sbd; state Exp; branches; next ; 1.34.4.1 date 2010.07.20.19.46.39; author spz; state Exp; branches; next 1.34.4.2; 1.34.4.2 date 2010.08.08.17.05.47; author spz; state Exp; branches; next ; 1.29.2.1 date 2009.05.03.14.16.41; author spz; state Exp; branches; next ; 1.25.6.1 date 2008.06.16.09.07.34; author ghen; state Exp; branches; next ; 1.22.2.1 date 2007.05.19.17.54.53; author salo; state Exp; branches; next ; 1.18.2.1 date 2006.08.22.23.44.08; author salo; state Exp; branches; next ; 1.16.2.1 date 2006.06.06.07.51.29; author snj; state Exp; branches; next ; desc @@ 1.78 log @freetype2: updated to 2.13.2 CHANGES BETWEEN 2.13.1 and 2.13.2 (2023-Aug-25) I. MISCELLANEOUS - Better support for CFF2 variation fonts. - TrueType interpreter version 38 (also known as 'Infinality') has been removed. - Improved OpenVMS support. @ text @$NetBSD: distinfo,v 1.77 2023/06/27 08:52:57 adam Exp $ BLAKE2s (freetype-2.13.2.tar.xz) = 7e3dfd475b433739264aff8fc4272cac1c490d5d17f3860739c169874e161660 SHA512 (freetype-2.13.2.tar.xz) = a5917edaa45cb9f75786f8a4f9d12fdf07529247e09dfdb6c0cf7feb08f7588bb24f7b5b11425fb47f8fd62fcb426e731c944658f6d5a59ce4458ad5b0a50194 Size (freetype-2.13.2.tar.xz) = 2501764 bytes SHA1 (patch-builds_unix_freetype-config.in) = 60217b884a0f50c90f89529eaf909ded2693e3be SHA1 (patch-builds_unix_unix-cc.in) = dbd8e7011a1128067531526d8aeb0202ff799ad8 @ 1.77 log @freetype2: updated to 2.13.1 FreeType 2.13.1 This is a maintenance release with only minor changes, for example, a new load flag FT_LOAD_NO_SVG to ignore glyphs in an SVG SFNT table, or a new function FT_Get_Default_Named_Instance to get the index of the default named instance of an OpenType Variation Font. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.76 2023/05/05 17:28:49 gdt Exp $ d3 3 a5 3 BLAKE2s (freetype-2.13.1.tar.xz) = 1f9d1063b018c3c4cafb0f32ab332ca47aae8bbb25363cd97280690404ee8b09 SHA512 (freetype-2.13.1.tar.xz) = 045c43f9a3ca33e7d6a98c286895b94ea6ccfbb83851270d1b1861b31ef3ee5a574d8e49c6414c4e14bdfb9276dc49a0677b3be3e4f40ef279dcda99b769b962 Size (freetype-2.13.1.tar.xz) = 2508168 bytes @ 1.76 log @graphics/freetype2: Work around clang complaining clang 10 (apple) objects to a fallthrough macro without a statement. It's really not clear if the fallthrough macro (attribute) is valid, or just a gcc extension, or if the compiler is right to object to a lack of statement. Just add "0;" to not change behavior and avoid the rabbit hole. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.75 2023/02/09 19:49:06 wiz Exp $ d3 3 a5 3 BLAKE2s (freetype-2.13.0.tar.xz) = 54284a00d0808fec9adb90203087d0b19b18fb57bc2d82baf1e91b088e836e8b SHA512 (freetype-2.13.0.tar.xz) = b93a69a92b99f54c4fc4a276066bc7a87597df132e42ef93f6d973f1425e64bebcc568defa511d39fb04ab4d3a2090a6db1e54cf992a80ff57d658fee28a9110 Size (freetype-2.13.0.tar.xz) = 2492440 bytes a7 1 SHA1 (patch-src_sfnt_pngshim.c) = 764835fa22265708ba901e21774a48baca2d3baa @ 1.75 log @freetype2: update to 2.13.0. This new release brings you a completely updated and enhanced ftmulti demo program, which now combines the functionality of almost all other graphical FreeType demo programs into a single application based on the Qt framework. Another two noteworthy features are related to OpenType fonts: The ‘COLR’ v1 API is now considered as stable, and the ‘avar’ v2 extension is supported. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.74 2022/05/01 20:03:24 adam Exp $ d8 1 @ 1.74 log @freetype2: updated to 2.12.1 FreeType 2.12.1 This is a maintenance release. All users should upgrade. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.73 2022/04/20 20:59:52 wiz Exp $ d3 3 a5 3 BLAKE2s (freetype-2.12.1.tar.xz) = f77ee76d04c42ce2a288858fbdc0706a6d978f18c26fa97ca48681a85a0780f3 SHA512 (freetype-2.12.1.tar.xz) = 6482de1748dc2cc01e033d21a3b492dadb1f039d13d9179685fdcf985e24d7f587cbca4c27ed8a7fdb7d9ad59612642ac5f4db062443154753295363f45c052f Size (freetype-2.12.1.tar.xz) = 2471916 bytes @ 1.73 log @freetype2: update to 2.12.0. CHANGES BETWEEN 2.11.1 and 2.12.0 I. IMPORTANT CHANGES - FreeType now handles OT-SVG fonts, to be controlled with `FT_CONFIG_OPTION_SVG` configuration macro. By default, it can only load the 'SVG ' table of an OpenType font. However, by using the `svg-hooks` property of the new 'ot-svg' module it is possible to register an external SVG rendering engine. The FreeType demo programs have been set up to use 'librsvg' as the rendering library. This work was Moazin Khatti's GSoC 2019 project. II. MISCELLANEOUS - The handling of fonts with an 'sbix' table has been improved. - Corrected bitmap offsets. - A new tag `FT_PARAM_TAG_IGNORE_SBIX` for `FT_Open_Face` makes FreeType ignore an 'sbix' table in a font, allowing applications to access the font's outline glyphs. - `FT_FACE_FLAG_SBIX` and `FT_FACE_FLAG_SBIX_OVERLAY` together with their corresponding preprocessor macros `FT_HAS_SBIX` and `FT_HAS_SBIX_OVERLAY` enable applications to treat 'sbix' tables as described in the OpenType specification. - The internal 'zlib' code has been updated to be in sync with the current 'zlib' version (1.2.11). - The previously internal load flag `FT_LOAD_SBITS_ONLY` is now public. - Some minor improvements of the building systems, in particular handling of the 'zlib' library (internal vs. external). - Support for non-desktop Universal Windows Platform. - Various other minor bug and documentation fixes. - The `ftdump` demo program shows more information for Type1 fonts if option `-n` is given. - `ftgrid` can now display embedded bitmap strikes. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.72 2022/01/04 13:16:17 ryoon Exp $ d3 3 a5 3 BLAKE2s (freetype-2.12.0.tar.xz) = 8798d5c519ecdb3512c8f1c3c6c190c5c04cc6ccc233500313464a1a8ca8738b SHA512 (freetype-2.12.0.tar.xz) = d2426b46ef56268f5030951840a73be9a626129c6fc6ad2ab06e572c9325d0192f47b007798c2ffa3608fe50e296ad129ac41312b1fd3f8864d7e55e8c237c54 Size (freetype-2.12.0.tar.xz) = 2340352 bytes @ 1.72 log @freetype2: Update to 2.11.1 Changelog: 2021-12-02 Werner Lemberg * Version 2.11.1 released. ========================== Tag sources with `VER-2-11-1'. * docs/VERSION.TXT: Add entry for version 2.11.1. * docs/CHANGES, docs/release: Updated. * README, src/base/ftver.rc, builds/windows/vc2010/index.html, builds/windows/visualc/index.html, builds/windows/visualce/index.html, builds/wince/vc2005-ce/index.html, builds/wince/vc2008-ce/index.html, docs/freetype-config.1: s/2.11.0/2.11.1/, s/2110/2111/. * include/freetype/freetype.h (FREETYPE_PATCH): Set to 1. * builds/unix/configure.raw (version_info): Set to 24:1:18. * CMakeLists.txt (VERSION_PATCH): Set to 1. * builds/toplevel.mk (version_tag, CHANGELOG_SCRIPT): New variables. (do-dist): Generate `ChangeLog` file with all commits since last release. 2021-11-30 Alexei Podtelezhnikov [builds/windows] Improve debugging. * builds/windows/ftdebug.c (FT_Message, FT_Panic): Buffer output and call `OutputDebugStringA` only if `IsDebuggerPresent`. [_WIN32_WCE] (OutputDebugStringA): Implement the missing API. 2021-11-29 Seigo Nonaka * src/base/ftobjs.c (FT_Request_Metrics): Fix build warning on Android. Use casts since `FT_USHORT_MAX` is unsigned short in bionic (libc used in Android). 2021-11-28 Alexei Podtelezhnikov * builds/windows/vc2010/freetype.vcxproj (DlgCopy): Minor tweak. 2021-11-26 Alexei Podtelezhnikov * src/truetype/ttpload.c (tt_face_load_hdmx): Added comments. 2021-11-26 Alexei Podtelezhnikov [truetype] Quietly reject out-of-spec `hdmx` tables. The `hdmx` table is optional and can be safely rejected without an error if it does not follow specifications. The record size must be equal to the number of glyphs + 2 + 32-bit padding. * src/truetype/ttpload.c (tt_face_load_hdmx): Thoroughly check the record size and improve tracing. 2021-11-23 Alexei Podtelezhnikov [truetype] Partly revert 5b626281. Fixes #1118. * src/truetype/ttpload.c (tt_face_load_hdmx): Do not assume that `record_size` is rounded even though the records are padded. 2021-11-23 Alexei Podtelezhnikov * builds/windows/vc2010/freetype.vcxproj (DlgCopy): Use transforms. 2021-11-22 Werner Lemberg Update `CHANGES` files, other minor whitespace and documentation issues. 2021-11-21 Werner Lemberg formats.txt: Add info about WOFF and WOFF2. 2021-11-21 Werner Lemberg meson.build: Initialize `common_ldflags`. 2021-11-21 Lukas Oberhuber <@@lukaso> * meson.build: Fix compatibility version on MacOS. Fixes #1117. 2021-11-21 Werner Lemberg * src/truetype/ttinterp.c (Ins_MD): Avoid `FT_ABS`. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=38562 2021-11-20 Alexei Podtelezhnikov * include/freetype/fttypes.h (FT_MAKE_TAG): Remove the same casting. 2021-11-20 Werner Lemberg [gxvalid] Fix minor compilation warning. * src/gxvalid/gxvmort5.c (gxv_mort_subtable_type5_subtable_setup): Declare as static. 2021-11-20 Werner Lemberg [smooth] Fix stand-alone compilation. * src/smooth/ftgrays.c (FT_Trace_Enable, FT_Trace_Disable)[STANDALONE_]: Define. 2021-11-20 Werner Lemberg Avoid undefined left-shifts. We really have to use double casts to avoid issues with C's and C++'s signedness propagation rules in implicit casts. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=41178 https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=41182 * include/freetype/config/public-macros.h (FT_STATIC_CAST, FT_REINTERPRET_CAST): Modify macro to take two arguments. Update all callers. (FT_STATIC_BYTE_CAST): New macro. * include/freetype/freetype.h (FT_ENC_TAG): Use `FT_STATIC_BYTE_CAST`. * include/freetype/ftimage.h (FT_IMAGE_TAG): Ditto. * include/freetype/fttypes.h (FT_MAKE_TAG): Ditto. Use `FT_Tag` for casting. * src/ftraster/ftmisc.h (FT_MAKE_TAG): Removed, no longer needed. (FT_STATIC_BYTE_CAST): New macro. * src/smooth/ftgrays.c (FT_STATIC_CAST): Replace with... (FT_STATIC_BYTE_CAST): ... this. 2021-11-18 Werner Lemberg Provide C++ versions for public macros with casts. Many FreeType clients use C++. However `g++ -Wold-style-cast` warns for macros with C-style casts even for system header files; this also affects directories included with `-isystem`. While this could be seen as a problem with g++, the problem is more a philosophical one: Over the time, C and C++ diverged more and more, and some features of C are no longer the 'right' solution in C++. * include/freetype/config/public-macros.h (FT_STATIC_CAST, FT_REINTERPRET_CAST): New macros. * include/freetype/freetype.h (FT_ENC_TAG, FT_LOAD_TARGET_, FT_LOAD_TARGET_MODE): Use `FT_STATIC_CAST`. Correctly handle negative 'signed char' input. * include/freetype/ftimage.h (FT_IMAGE_TAG): Ditto. * include/freetype/fttypes.h (FT_MAKE_TAG, FT_BOOL): Ditto. * include/freetype/ftmodapi.h (FT_FACE_DRIVER_NAME): Use `FT_REINTERPRET_CAST`. * src/smooth/ftgrays.c (FT_STATIC_CAST)[STANDALONE_]: New macro. [!STANDALONE]: Include `FT_CONFIG_CONFIG_H`. Fixes #1116. 2021-11-16 Werner Lemberg Fix clang++ warnings. * src/*: Initialize some variables to NULL. 2021-11-16 Werner Lemberg [truetype] Updates for the forthcoming OpenType 1.9 standard (2/2). * src/truetype/ttgxvar.c (ft_var_load_item_variation_store): s/shortDeltaCount/wordDeltaCount/ (as done in the specification, too). Recognize new format and reject it for now. 2021-11-16 Werner Lemberg [truetype] Updates for the forthcoming OpenType 1.9 standard (1/2). This is in preparation for implementing `DeltaSetIndexMap` format 1, which is used by `COLR` v1 tables, and which allows 32bit indices. https://docs.microsoft.com/en-us/typography/opentype/otspec190/delta/otvarcommonformats_delta.html * src/truetype/ttgxvar.h (GX_DeltaSetIdxMapRec): Change type of `mapCount` to `FT_ULong`. * src/truetype/ttgxvar.c (ft_var_load_delta_set_index_mapping): Add argument for passing the table size; update caller. Implement new format. 2021-11-14 Werner Lemberg Fix clang warnings. * src/gxvalid/gxvcmmn.h (GXV_SET_ERR_IF_PARANOID): Use 'do' block. * src/gxvalid/gxvmod.c (GXV_TABLE_LOAD, GXV_TABLE_VALIDATE): Ditto. * src/smooth/ftgrays.c (gray_convert_glyph): Add cast. * src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String): Remove cast. * src/type1/t1load.c (read_binay_data): Use `FT_ULong` for `size` parameter. (parse_subrs, parse_charstrings, parse_dict): Ditto; also add some casts. 2021-11-13 Dominik Röttsches [sfnt] Avoid undefined shifts in `COLR` v1 paint parsing * src/sfnt/ttcolr.c (read_paint, tt_face_get_paint): Tighten shift behavior by using multiplication, mostly using macros from ftcalc.h. Fixes: https://bugs.chromium.org/p/chromium/issues/detail?id=1269168 2021-11-13 Alexei Podtelezhnikov [builds/windows] Improve `DlgCopy` target. Fixes #1113. * builds/windows/vc2010/freetype.vcxproj: Run `DlgCopy` conditionally and decouple it from `Build`. 2021-11-12 Alexei Podtelezhnikov Explicitly define `FT_MSB` for Clang. * include/freetype/internal/ftcalc.h [__clang__] (FT_MSB): Updated. 2021-11-10 Alexei Podtelezhnikov * src/truetype/ttgxvar.c (ft_var_to_normalized): Edge optimization. 2021-11-10 Alexei Podtelezhnikov Additional `FT_MSB` macro definitions. Better macros for Windoes CE and ARM in general, based on !109 from metarutaiga. * include/freetype/internal/ftcalc.h [_MSC_VER] (FT_MSB): Updated. 2021-11-09 Alexei Podtelezhnikov [build/windows] Remove logging from default debug configurations. DLG is rather costly for performance and should be used judiciously. This removes it from the default configurations but gives an example how to enable it using the `UserDefines` property. * builds/windows/vc2010/freetype.vcxproj: Hide FT_DEBUG_LOGGING. 2021-11-08 Werner Lemberg * src/sfnt/sfobjs.c (sfnt_open_font): Fix typo. 2021-11-08 Werner Lemberg * src/gxvalid.*, src/otvalid.*: Fix `-Wformat` warnings. 2021-11-08 Werner Lemberg [pshinter] Fix C++ compilation. * src/pshinter/pshalgo.c (psh_compute_dir): Fix type of `result`. (psh_hint_table_find_strong_points): Add cast. 2021-11-08 Werner Lemberg [sfnt] Reduce footprint if WOFF and WOFF2 support is not needed. Based on a patch from metarutaiga (MR !106). The gist of this commit is that it doesn't make sense to support WOFF without compression (which would be only possible in WOFF 1.0 anyway). * src/sfnt/sfobjs.c (sfnt_open_font): Guard WOFF code with `FT_CONFIG_OPTION_USE_ZLIB` block. Guard WOFF2 code with `FT_CONFIG_OPTION_USE_BROTLI` block. * src/sfnt/sfwoff.c, src/sfnt/sfwoff.h: Guard files with `FT_CONFIG_OPTION_USE_ZLIB` blocks, not parts of the code. * src/sfnt/sfwoff2.c, src/sfnt/sfwoff2.h, src/sfnt/woff2tags.c, src/sfnt/woff2tags.h: Guard files with `FT_CONFIG_OPTION_USE_BROTLI` blocks, not parts of the code. Fixes #1111. 2021-11-08 Werner Lemberg [truetype] Make trickyness checks depend on TT_USE_BYTECODE_INTERPRETER. Based on a patch from metarutaiga (MR !106). * src/truetype/ttobjs.c (tt_skip_pdffont_random_tag, tt_check_trickyness_family, tt_synth_sfnt_checksum, tt_get_sfnt_checksum, tt_check_trickyness_sfnt_ids, tt_check_trickyness): Put functions into a `TT_USE_BYTECODE_INTERPRETER` block. (tt_face_init): Put trickyness checks into a `TT_USE_BYTECODE_INTERPRETER` block. Fixes #1111. 2021-11-08 Alexei Podtelezhnikov * src/sfnt/ttload.c (tt_face_load_gasp): Fix a type mismatch warning. 2021-11-07 Alexei Podtelezhnikov [dlg] Define DLG_STATIC explicitly. DLG_STATIC is intended to disable Windows DLL linking attributes. It does not hurt to define it explicitly when we wrap DLG code. This fixes tons of LNK4286 and C4273 warnings from MSVC if we forget to define DLG_STATIC as a compiler option. * builds/windows/vc2010/freetype.vcxproj: Remove DLG_STATIC option. * src/dlg/dlgwrap.c [FT_DEBUG_LOGGING]: Define DLG_STATIC. * include/freetype/internal/ftdebug.h [FT_DEBUG_LOGGING]: Ditto. 2021-11-07 Alexei Podtelezhnikov [dlg] Lighten up the inclusions. The DLG wrapper needs to know if FT_DEBUG_LOGGING is defined in `ftoption.h`. It does not need entire FreeType. * src/dlg/dlgwrap.c: Include FT_CONFIG_OPTIONS_H directly. 2021-11-07 Alexei Podtelezhnikov [truetype] Avoid some memory zeroing in variations. * src/truetype/ttgxvar.c (ft_var_readpackeddeltas, ft_var_load_avar, ft_var_load_item_variation_store, ft_var_load_gvar): Use FT_QNEW_ARRAY if memory immediately initialized or discarded otherwise. 2021-11-05 Jany Belluz [truetype] Fix handling of packed deltas in Variation Fonts. * src/truetype/ttgxvar (ft_var_readpackeddeltas): Don't expect the number of bytes used to encode the deltas to be higher than the number of encoded values. The specification allows a very compact encoding; for example, a list of 200 zeros can be encoded with just a couple of bytes. We now count the consumed bytes to make sure to not read more than expected. 2021-11-04 Jany Belluz [truetype] Fix CVAR handling of tuples for all points. * src/truetype/ttgxvar (tt_face_vary_cvt): Function `ft_var_readpackedpoints`, when it returns `ALL_POINTS`, also sets `point_count` to value 0. However, the CVAR code was incorrectly expecting that `point_count` would be set to match the length of the CVT table. 2021-11-04 Jany Belluz * src/truetype/ttgxvar.c: Fix typos in macros that guard CVAR code. 2021-11-04 Alexei Podtelezhnikov * docs/INSTALL: Mention Meson and MSBuild more prominently. 2021-11-03 Gabor Kertesz [libpng] Update Meson wrap for win-arm64 1.6.37-5 released patches for win-arm64 to successfully build libpng with Meson: https://github.com/mesonbuild/wrapdb/pull/205 https://github.com/mesonbuild/wrapdb/pull/216 Updated by the following command: meson wrap update libpng Tested on win-arm64 and x64. 2021-11-03 Dominik Röttsches [sfnt] Clarify `COLR` v1 FT_Paint* format representations * include/freetype/ftcolor.h (FT_PaintLinearGradient, FT_PaintRadialGradient, FT_PaintSweepGradient, FT_PaintTransform, FT_PaintTranslate, FT_PaintScale, FT_PaintRotate, FT_PaintSkew): Clarify 16.16 fixed point representation of struct fields. * src/sfnt/ttcolr.c (read_paint): Shift coordinates for FT_PaintLinearGradient, FT_PaintRadialGradient, FT_PaintSweepGradient accordingly. Fixes: https://gitlab.freedesktop.org/freetype/freetype/-/issues/1110 2021-11-03 Alexei Podtelezhnikov [builds/windows] Let MSBuild handle DLG copy. * builds/windows/vc2010/freetype.vcxproj: Specify DlgCopy target. * builds/windows/vc2010/script.bat: Deleted. 2021-10-29 Alexei Podtelezhnikov * src/truetype/ttgload.c (load_truetype_glyph): Fix MSVC warning C4312. 2021-10-29 Alexei Podtelezhnikov [builds/windows] Separate MSVC linker and librarian. MSVC uses LIB for static and LINK for dynamic libraries. They are related but the former has much smaller set of options. * builds/windows/vc2010/freetype.vcxproj: Updated. 2021-10-29 Alexei Podtelezhnikov [builds/windows] Revise MSVC linking optimizations. * builds/windows/vc2010/freetype.vcxproj: Optimize DLL linking only. * builds/windows/visualc/freetype.dsp: Ditto. * builds/windows/visualc/freetype.vcproj: Ditto. 2021-10-28 Alexei Podtelezhnikov [woff] Optimize table tagging. * include/freetype/internal/wofftypes.h (WOFF_TableRec): Use 32-bit tag. * src/sfnt/sfwoff.c (woff_open_font): Use 32-bit tag. 2021-10-28 Alexei Podtelezhnikov [woff2] Optimize table tagging. Fixes #1107. * include/freetype/internal/wofftypes.h (WOFF2_TableRec): Use 32-bit tag. * src/sfnt/sfwoff2.c (compare_tags, find_table, woff2_open_font): Use 32-bit tag. * src/sfnt/woff2tags.[ch] (woff2_known_tags): Use static storage and return 32-bit tag. 2021-10-26 Werner Lemberg Formatting. 2021-10-26 Ben Wagner [mm] Tolerate missing Blend dictionary entries In a Multiple Master font, the Blend dictionary must contain valid Private, FontInfo, and FontBBox. The current code will error if any of these are present and invalid, but will not error and will provide uninitialized data if the Blend dictionary exists but does not contain one of these entries. This change reverts to the older behavior of treating any missing entries as containing all zero data and not returning an error. In the future it may be best to keep track of when these are actually initialized and error if they are not. * src/type1/t1load.c (t1_allocate_blend): Zero initiailize. 2021-10-26 Alexei Podtelezhnikov [builds/windows] Add MSVC linker optimazations. We continue to build static libraries with statically linked C run- time and add options to optimize references. * builds/windows/vc2010/freetype.vcxproj: Sort entries, add options. 2021-10-23 Alexei Podtelezhnikov * builds/windows/vc2010/freetype.vcxproj: Use MachineARM64. 2021-10-22 Alexei Podtelezhnikov [builds/windows] Prioritize x64. * builds/windows/vc2010/freetype.sln: Sort entries. 2021-10-22 Gabor Kertesz [builds/windows] Add ARM64 platform. * builds/windows/vc2010/freetype.sln: Updated * builds/windows/vc2010/freetype.vcxproj: Updated. * builds/windows/vc2010/freetype.vcxproj.filters: Minor fix. 2021-10-21 Ben Wagner [mm] Delay setting blend weight and design position. Previously the `blend->weight_vector`, `blend->default_weight_vector`, and `blend->design_pos` were set early to allocated but uninitialized memory under the assumption that the memory would eventually be initialized. However, it is possible that some of the required keywords may not actually be present, leaving the memory uninitialized. This is different from a present but invalid table, which would produce an error. Reported as https://bugs.chromium.org/p/chromium/issues/detail?id=1261762 * src/type1/t1load.c (t1_allocate_blend): Remove early allocation and initialization. (parse_blend_design_positions, parse_weight_vector): Parse into local and assign to blend if valid. (T1_Open_Face): Check that if a blend exists that it has the weight vector and design positions. 2021-10-21 Ben Wagner [cff] Commit vstore data and regions on allocation. The vstore->regionCount and vstore->dataCount were read directly from the data. However, vstore->varRegionList and vstore->varData would still contain uninitialized entries with uninitialized pointers in the event of an error, leading to issues when attempting to clean up. Reportd as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=40104 * src/cff/cffload.c (cff_vstore_load): Read the region and data counts into locals and update the vstore counts immediately after each entry becomes free-able. 2021-10-20 Ben Wagner [sfnt] Delay setting gasp ranges and count until computed. Previously, the gasp.numRanges was set and gasp.gaspRanges was allocated and assigned before a possible early exit if the frame could not be entered. It is also possible that the gaspRanges allocation could fail but the numRanges still be set to non-zero. In such cases an error would be returned, but the face would have a gasp in an inconsistent state which may still be accessed. Reported as https://bugs.chromium.org/p/chromium/issues/detail?id=1261450 * src/sfnt/ttload.c (tt_face_load_gasp): Delay setting gasp.numRanges and gasp.gaspRanges until after the ranges are initialized. 2021-10-20 Ben Wagner [sfnt] Delay setting names and langTags until computed. Previously, the table->names and table->langTags fields were created pointing to uninitialized memory and an early exit could happen if the frame could not be entered. The caller would then be unable to properly dispose of the memory as the string fields had not been initialized. Reported as https://bugs.chromium.org/p/chromium/issues/detail?id=1261343 * src/sfnt/ttload.c (tt_face_load_name): delay setting table->langTags and table->names until after the memory they will point to is fully initialized. 2021-10-20 Alexei Podtelezhnikov * tests/issue-1063/main.c: s/PATH_MAX/FILENAME_MAX/. Closes !97 for Windows by using a standard macro. 2021-10-19 Werner Lemberg [bdf, cid, pfr, winfonts] Improve rejection of other font formats. This is mainly for better diagnostics of malformed fonts. * src/bdf/bdflib.c (_bfd_readstream): Stop font format testing if the first input line is too long or doesn't end with `\r` or `\n`. * src/cid/cidparse.c (cid_parser_new): Don't handle too short input as an error but as an unknown format. * src/pfr/pfrobjs.c (pfr_face_init): Ditto. * src/winfonts/winfnt.c (fnt_font_load, fnt_face_get_dll_font): Ditto. 2021-10-19 Alexei Podtelezhnikov [pcf] Zero out the allocated properties. Fallout reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=40033 * src/pcf/pcfread.c (pcf_get_properties): Use FT_NEW_ARRAY and zero out `properties` in case of failure. 2021-10-18 Werner Lemberg configure: Use string comparison for directory inodes. Inode values might be larger than integers supported by the shell. Fixes #1105. 2021-10-17 Alexei Podtelezhnikov * src/sfnt/ttload.c (tt_face_load_name): NULL-initialize langTag. Another attempt to fix fallout reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=40024 2021-10-17 Alexei Podtelezhnikov [bdf] Fix up user properties. Fallout reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=40027 * src/bdf/bdflib.c (_bdf_add_property): Cosmetic NULL. (bdf_create_property): Limit allocations to customary signed FT_Long and NULL-initialize unused storage. (bdf_free_font): Do not free unused storage. 2021-10-17 Alexei Podtelezhnikov * src/sfnt/ttload.c (tt_face_load_name): Accounting fix. Fallout reported as https://crbug.com/40024 2021-10-16 Ben Wagner Fix typos in memory macros. FT_QNEW_ARRAY and FT_QRENEW_ARRAY were using the non-Q FT_MEM_NEW_ARRAY and FT_MEM_RENEW_ARRAY. Change these to use the Q versions. Also fix the one issue discovered in tt_face_load_name where table->names is created with FT_QNEW_ARRAY but the extra string member is not initialized to NULL. * include/freetype/internal/ftmemory.h (FT_Q(RE)NEW_ARRAY): Use FT_MEM_Q(RE)NEW_ARRAY as needed. * src/sfnt/ttload.c (tt_face_load_name): Initialize `entry->string`. 2021-10-15 Ben Wagner [truetype] Reload context after re-executing `prep`. When a different hinting mode from the current is selected, the `prep` table must be re-executed with the new mode. After this happens the context must be re-loaded in preparation for the glyph program to be run. Fixes #1104. * truetype/ttgload.c (tt_loader_init): Add call to `TT_Load_Context`. 2021-10-15 Werner Lemberg [truetype] Minor documentation improvements. 2021-10-14 Anurag Thakur Add clang build to linux CI 2021-10-12 Anurag Thakur CI: Add macOS CI, including a clang build 2021-10-12 Alexei Podtelezhnikov * src/cid/cidload.c (parse_fd_array): Protect against trancation. 2021-10-12 Alexei Podtelezhnikov [type1] Revert to signed size for binary data. Recently introduced and reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=39838 * src/type1/t1load.c (read_binary_data): Reject negative size. (parse_subrs, parse_charstrings): Use customary signed size. 2021-10-11 Alexei Podtelezhnikov [psaux] Signedness revisions. Unsigned indexes are easier to check. * src/psaux/cffdecode.c (cff_decoder_parse_charstrings): Updated. * src/psaux/psintrp.c (cf2_interpT2CharString): Ditto. * src/psaux/t1decode.c (t1_decoder_parse_charstrings): Ditto. * src/type1/t1load.c (read_binary_data): Ditto. 2021-10-11 Alexei Podtelezhnikov [cid] Signedness revisions. Unsigned checks are simpler. * include/freetype/t1tables.h (CID_FaceInfoRec): Change to unsignd `num_dicts`. * src/cid/cidparse.h (CID_Parser): Change to unsigned `num_dict`. * src/cid/cidgload.c (cid_load_glyph): Updated. * src/cid/cidload.c (cid_load_keyword, parse_fd_array, parse_expansion_factor, parse_font_name, cid_read_subrs, cid_face_open): Updated. * src/cid/cidobjs.c (cid_face_done): Updated. * src/cid/cidparse.c (cid_parser_new): Updated. 2021-10-09 Alexei Podtelezhnikov * src/cid/cidload.c (cid_face_open): Streamline CIDCount check. 2021-10-08 Alexei Podtelezhnikov * src/cid/cidload.c (cid_face_open): Streamline SubrCount check. 2021-10-08 Alexei Podtelezhnikov * src/cid/cidgload.c (cid_load_glyph): Fortify incremental loading. 2021-10-08 Alexei Podtelezhnikov Signedness revisions. This eliminates explicit casting by switching to unsigned fields. The revisions mostly impact the handling of CID fonts. * include/freetype/fttypes.h (FT_Data): Change to unsigned `length`. * include/freetype/t1tables.h (CID_FaceDictRec): Ditto for `sd_bytes`. (CID_FaceInfoRec): Ditto for `gd_bytes` and `gd_bytes`. * include/freetype/internal/tttypes.h (TT_LoaderRec): Ditto for `byte_len`. * src/cid/cidgload.c (cid_load_glyph): Updated. * src/cid/cidload.h (cid_get_offset): Update argument. * src/cid/cidload.c (cid_get_offset, cid_read_subrs, cid_face_open): Updated. * src/cff/cffgload.c (cff_get_glyph_data, cff_free_glyph_data): Updated. * src/psaux/psft.c (cf2_getT1SeacComponent): Updated. * src/truetype/ttgload.c (TT_Process_Composite_Glyph, load_truetype_glyph): Updated. 2021-10-07 Jan Alexander Steffens (heftig) meson.build (gen_docs): Use `current_source_dir` instead of `source_root`. These two are not equal when FreeType is used as a subproject, such as in `freetype-demos`. In that case, `source_root` points at the root project, causing the docs build to fail. 2021-10-05 Alexei Podtelezhnikov * src/smooth/ftgrays.c (FT_DIV_MOD): Limit the ARM workaround. 2021-10-05 Alexei Podtelezhnikov [builds/unix, builds/vms] Standardize `mmap` failure. * builds/unix/ftsystem.c (FT_Stream_Open): Check for MAP_FAILED. * builds/vms/ftsystem.c (FT_Stream_Open): Ditto. This should cover https://savannah.nongnu.org/patch/?5909 as well. 2021-10-05 Hugh McMaster autogen.sh: Only copy submodules if building from a git branch. `autogen.sh` fails if building from a standard source tarball. Firstly, git expects to be called in a git repository, then `copy_submodule_files` blindly attempts to copy files. Debian, Ubuntu, Linux Mint, and other derivatives all run `autogen.sh` before compiling to regenerate build files. This patch ensures that various git commands are only called and 'dlg' files are only copied if `autogen.sh` is called from a git repository. 2021-10-05 Alexei Podtelezhnikov * include/freetype/internal/ftgloadr.h: Add missing header. Noticed by Jouk Jansen. 2021-10-05 Alexei Podtelezhnikov [pshinter] Additional clean-ups. * src/pshinter/pshalgo.h (psh_hint_table_find_strong_points): Streamline code. * src/pshinter/pshalgo.h (PSH_Glyph): Remove unused fields. 2021-10-04 Alexei Podtelezhnikov [pshinter] More convenient direction definition. It is easier to check directions using flags than integer values. * src/pshinter/pshalgo.h (PSH_Dir): Redefine directions. (PSH_PointRec): Use them as an enum type. * src/pshinter/pshalgo.c (psh_compute_dir): Modify return type. (psh_glyph_init, psh_hint_table_find_strong_points, psh_glyph_find_blue_points): Update users. 2021-10-04 Alexei Podtelezhnikov [pshinter] Remove unnecessary check. * src/pshinter/pshalgo.c (psh_hint_table_find_strong_points): Do not check if direction is defined before checking how. 2021-10-02 AnuthaDev CI: Hardcode meson version to fix build failure on windows 2021-10-01 Alexei Podtelezhnikov Additional `FT_MSB` macro definitions. * include/freetype/internal/ftcalc.h [__DECC,_CRAYC]: Use builtins and intrinsics. 2021-10-01 Alexei Podtelezhnikov * src/autofit/afhints.c (af_glyph_hints_reload): Decrease casting. 2021-09-30 Alexei Podtelezhnikov * src/tools/apinames.c: Facilitate OpenVMS linker options. 2021-09-29 Alexei Podtelezhnikov * src/winfonts/winfnt.c (FNT_Face_Init): Correct reallocation. 2021-09-25 Alexei Podtelezhnikov [builds/unix] Do not use autoconf SIZEOF. * builds/unix/ftconfig.h.in [FT_USE_AUTOCONF_SIZEOF_TYPES]: Removed. * builds/unix/configure.raw: Remove AC_CHECK_SIZEOF and update. After this commit, autoconf builds will fully rely on rather than falling back on it if AC_CHECK_SIZEOF failed for some reason. There is a risk that misconfigured cross-compilation might have wrong headers. Note that Meson and CMake builds always relied on for sizes and availability of integer types. 2021-09-25 Alexei Podtelezhnikov Propagate sign when reading OFF3. Signed 24-bit values are extremely rare. FreeType only reads them in PFR fonts with bitmap strikes conditionally. They have not been seen in the known fonts. That is why this bug could never be discovered. `FT_FRAME_OFF3` propagates sign correctly. * include/freetype/internal/ftstream.h (FT_PEEK_OFF3, FT_PEEK_OFF3_LE): Propagate sign into 32-bit value. (FT_GET_OFF3, FT_READ_OFF3): Needed fixing but removed as unused. 2021-09-25 Alexei Podtelezhnikov [bdf] Simplify comment collection or lack thereof. BDF comments are neither actually collected nor retrieved. There is no need to be fancy with delimiters. * src/bdf/bdflib.c (_add_bdf_comment): Delimit comments with zeros... (bdf_load_font): ...and do not null-terminate comments additionally. (_bdf_parse_glyphs): Check if comments are kept, which they are not. (_bdf_parse_start): Minor clean up. 2021-09-24 Alexei Podtelezhnikov Use NULL for pointers only. * src/bdf/bdflib.c (*): Code changes. * include/freetype/freetype.h: Comments only. * src/cff/cffload.c, src/cff/cffobjs.c: Ditto. * src/winfonts/winfnt.c: Ditto. 2021-09-23 Werner Lemberg Minor documentation fixes and improvements. 2021-09-23 Alexei Podtelezhnikov Reference `fopen` in the docs. 2021-09-23 Alexei Podtelezhnikov [bdf, pcf] Minor optimization. * src/pcf/pcfread.c (pcf_load_font): Do not call `FT_MulDiv` for a small job. * src/bdf/bdfdrivr.c (BDF_Face_Init): Ditto. * src/bdf/bdflib.c (_bdf_parse_glyphs): Fix a comment. 2021-09-22 Alexei Podtelezhnikov [base] Initialize stream memory earlier. With Windows memory management tracking heap, it is important to use it during the stream opening fallback. In Unix, the argument is unused, but it is better to set it correctly. * src/base/ftobjs.c (FT_Stream_New): Set memory before calling `FT_Stream_Open`. * builds/windows/ftsystem.c, builds/unix/ftsystem.c (FT_Stream_Open, ft_close_stream_by_free): Call `ft_alloc` and `ft_free` with proper memory argumment. 2021-09-22 Alexei Podtelezhnikov [builds/windows] Revert back to `CreateFileA` only. Calling `CreateFileW` without making sure that the patname is really `wchar_t` is a bad idea and can lead to unpredictable overreads. For Windows CE, we impelemnt the missing API. Fixes #1098 and !76 again. * builds/windows/ftsystem.c (FT_Stream_Open): Call `CreateFileA`. [_WIN32_WCE] (CreateFileA, FileSizeEx): Implement missing interfaces. 2021-09-21 Alexei Podtelezhnikov * src/bdf/bdflib.c (_bdf_parse_{start,glyphs}): Use appropriate scanner. 2021-09-21 Alexei Podtelezhnikov Minor. 2021-09-20 Alexei Podtelezhnikov * src/cff/cffdrivr.c (cff_ps_get_font_{info,extra}): Use FT_QNEW. 2021-09-18 Alexei Podtelezhnikov [cache] Minor clean-ups. * src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP): Remove parantheses. * src/cache/ftccache.c (FTC_Cache_Lookup): Ditto. (FTC_Cache_RemoveFaceID): Remove unnecessary variable. 2021-09-17 Alexei Podtelezhnikov [builds/windows] Try both wide and narrow `CreateFile` Windows handles wchar_t* UTF-16 and char* ANSI (presently UTF-8) filenames using alternative -A and -W API. We'll try them both when opening a file. This means that you should not worry about about conversions. Fixes #1098 and !76. * builds/windows/ftsystem.c (FT_Stream_Open): Call alternative `CreateFile` in the case of failure. 2021-09-17 Edwin Steiner [cff] Explicitly set StandardEncoding or ExpertEncoding offsets. Fixes #1097. * src/cff/cffload.c (cff_encoding_load): Set special offset values. 2021-09-16 Alexei Podtelezhnikov [cache] Miscellaneous clean-ups. * src/cache/ftccache.c (ftc_get_top_node_for_hash, FTC_Cache_Clear): Remove barely used variables. (ftc_cache_add): Adjust casting. * src/cache/ftccmap.c (FTC_CMapCache_Lookup): Remove casting. * src/cache/ftcsbits.c (ftc_snode_load): Remove casting. 2021-09-16 Alexei Podtelezhnikov * src/cff/cffload.c (cff_fd_select_get): Remove casting. 2021-09-16 Alexei Podtelezhnikov * src/pcf/pcfread.c (pcf_read_TOC): Remove casting. 2021-09-15 Alexei Podtelezhnikov Minor type adjustments. * src/cff/cffobjs.c (cff_face_init): Reduce casting. * src/truetype/ttobjs.c (tt_size_ready_bytecode): Ditto. * src/type1/t1load.c (T1_Set_MM_Design): Ditto. 2021-09-15 Alexei Podtelezhnikov Replace boolean allocation macros with MEM ones. * src/base/ftbitmap.c (FT_Bitmap_Copy): Use MEM-macro. * src/base/ftobjs.c (ft_glyphslot_alloc_bitmap): Ditto. * src/bzip2/ftbzip2.c (ft_bzip2_alloc): Ditto. * src/cache/ftccache.c (ftc_cache_init): Ditto * src/gzip/ftgzip.c (ft_gzip_alloc): Ditto. * src/psnames/psmodule.c (ps_unicodes_init): Ditto. * src/sfnt/sfobjs.c (sfnt_load_face): Ditto. * src/sfnt/ttload.c (tt_face_load_name): Ditto. 2021-09-15 Alexei Podtelezhnikov [cache] Revert to some zeroing. * src/cache/ftccache.c (ftc_cache_init, ftc_cache_resize): Zero `buckets` again to fix some crashes. 2021-09-14 Alexei Podtelezhnikov * src/pshinter/pshrec.c (ps_mask_table_merge_all): Tweak loops. Fixes fallout from 731d0b685685 reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=38685 2021-09-13 Alexei Podtelezhnikov [cff, pshinter] Clean up unsigned counters. Loops with unsigned decrement can be reliably stopped when the counter wraps around after reaching zero. * src/cff/cffload.c (cff_charset_compute_cids): Use unsigned counter. * src/pshinter/pshalgo.c (psh_hint_table_activate_mask): Ditto. * src/pshinter/pshrec.c (ps_mask_table_merge): Ditto. 2021-09-13 Alexei Podtelezhnikov [bdf, psnames, sfnt] Avoid some memory zeroing. * src/bdf/bdfdrivr.c (BDF_Face_Init): Use Q-macro. * src/sfnt/sfobjs.c (sfnt_load_face): Ditto. * src/psnames/psmodule.c (src/psnames/psmodule.c): Remove zero. 2021-09-13 Alexei Podtelezhnikov * src/base/ftobjs.c (FT_CMap_New): Revert to zeroing. Fixes fallout from c1fa7aa2bc96, reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=38641 2021-09-13 Alexei Podtelezhnikov [truetype] Clean up `exec` initialization. * src/truetype/ttinterp.c (Init_Context): Absorbed into... (TT_New_Context): ... this function. 2021-09-13 Alexei Podtelezhnikov [truetype] Avoid some memory zeroing. * src/truetype/ttgload.c (load_truetype_glyph): Use Q-macro. * src/truetype/ttinterp.c (Update_Max): Ditto. * src/truetype/ttpload.c (src/truetype/ttpload.c): Ditto. 2021-09-13 Alexei Podtelezhnikov [base] Avoid some memory zeroing. * src/base/ftobjs.c (FT_New_Size, FT_CMap_New, FT_CMap_Done, ft_open_face_internal, ft_open_face_internal): Use Q-macros. 2021-09-13 Alexei Podtelezhnikov [cache, psaux] Remove zeros. * src/cache/ftcmru.c (FTC_MruList_New): Remove initialization. * src/psaux/psstack.c (cf2_stack_init): Ditto. 2021-09-12 Alexei Podtelezhnikov [cache] Avoid some memory zeroing. * src/cache/ftcmru.c (FTC_MruList_New): Use Q-macro. * src/cache/ftcmanag.c (FTC_Manager_RegisterCache): Ditto. * src/cache/ftccache.c (ftc_cache_init, ftc_cache_resize): Ditto. 2021-09-11 Alexei Podtelezhnikov * src/cache/ftcmanag.c (FTC_Manager_New): Add missing zero. Fixes fall out from a7b199d081e7. 2021-09-10 Alexei Podtelezhnikov [truetype] Tweak `hdmx` checking. Fixes #1096. * src/truetype/ttpload.c (tt_face_load_hdmx): Account for padding. 2021-09-10 Alexei Podtelezhnikov [truetype] Tweak `loca` clamping. Fixes #1095. * src/truetype/ttpload.c (tt_face_load_loca): Fix up clamping. * include/freetype/internal/tttypes.h (TT_Face): Correct docs. 2021-09-08 Alexei Podtelezhnikov Fortify memory debugging (cont'd). * src/base/ftdbgmem.c (FT_DumpMemory): Check for active debugger. (ft_mem_table_destroy): Move `FT_DumpMemory` call from here... (ft_mem_debug_done): ... to here. 2021-09-08 Alexei Podtelezhnikov Fortify memory debugging. These changes are neccessary to properly recover `memory->user` that holds the Windows heap handle now. * src/base/ftdbgmem.c (ft_mem_debug_init): Handle all table allocations, initializations, and sizing instead of... (ft_mem_table_new): ... this function removed. (ft_mem_debug_done): Better check for the active debugger and free the debugger table here instead of... (ft_mem_table_destroy): ... here. 2021-09-08 Werner Lemberg src/tools/ftrandom/ftrandom.c (_XOPEN_SOURCE): Set to 600. This allows C99 compilation on Solaris. Problem reported by Mojca Miklavec. 2021-09-07 Alexei Podtelezhnikov [builds/windows] Use native memory allocation API. * builds/windows/ftsystem.c (ft_alloc, ft_realloc, ft_free): Wrap HeapAlloc, HeapReAlloc, and HeapFree. (FT_New_Memory): Set the heap handle. 2021-09-07 Werner Lemberg [dlg] Synchronize with upstream. * src/dlg/dlgwrap.c (_XOPEN_SOURCE): Set to 600. Fixes #1093. 2021-09-04 Alexei Podtelezhnikov Cosmetic zeros. 2021-09-03 Alexei Podtelezhnikov * src/bdf/bdflib.c (_bdf_parse_start): Keep parser memory. 2021-09-03 Werner Lemberg autogen.sh: Make it work with old Solaris 10 shell. 2021-09-03 Alexei Podtelezhnikov [smooth, raster, sdf] Clean up initialization calls. * src/raster/ftraster.c (ft_black_init): Removed. (ft_black_new): Clean up. * src/sdf/ftbsdf.c (bsdf_raster_new): Ditto. * src/sdf/ftsdf.c (sdf_raster_new): Ditto. * src/smooth/ftgrays.c (gray_raster_new): Ditto. 2021-09-03 Alexei Podtelezhnikov * src/cache/ftcmanag.c (FTC_Manager_New): Avoid some zeroing. 2021-09-03 Alexei Podtelezhnikov * src/bdf/bdflib.c (bdf_load_font): Remove memory shuffling. 2021-09-03 Alexei Podtelezhnikov Cosmetic zeros. 2021-09-02 Alexei Podtelezhnikov [base] Clean up stream reading. * src/base/ftstream.c (FT_Stream_ReadUShort, FT_Stream_ReadUOffset, FT_Stream_ReadULong and their LE variants): Remove unnecessary initialization and slightly refactor. (FT_Stream_GetByte, FT_Stream_ReadByte): Rename to return unsigned value and align with sister functions. * include/freetype/internal/ftstream.h (FT_Stream_GetByte, FT_Stream_ReadByte): Update prototypes and caller macros. 2021-09-02 Alexei Podtelezhnikov s/0/NULL/ where appropriate. 2021-08-30 Alexei Podtelezhnikov * builds/windows/ftsystem.c (FT_Stream_Open): Fix double-close. 2021-08-30 Alexei Podtelezhnikov [smooth] Reduce shift in multiply-shift optimization. * src/smooth/ftgrays.c (FT_UDIVPREP, FT_UDIV): Reduce shift. Smaller shifts that keep the division operands of FT_UDIVPREP within 32 bits result in slightly faster divisions, which is noticeable in the overall performance. The loss of precision is tolerable until the divisors (the components dx and dy) approach 32 - PIXEL_BITS. With PIXEL_BITS = 8, this corresponds to 65,000 pixels or the bitmap size that we refuse to render anyway. Using `ftbench -p -s60 -t5 -bc timesi.ttf`, Before: 8.52 us/op After: 8.32 us/op 2021-08-28 Werner Lemberg [truetype] Fix compilation if !TT_CONFIG_OPTION_BYTECODE_INTERPRETER. * src/truetype/ttgxvar.c (tt_cvt_ready_iterator): Compile function conditionally. (tt_face_vary_cvt) [!TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Add code. Fixes #1091. 2021-08-27 Alexei Podtelezhnikov [builds/windows] Revise SSE2 settings. * builds/windows/vc2010/freetype.vcxproj [x64]: Remove explicit SSE2. * builds/windows/visualc/freetype.vcproj [Win32]: Add explicit SSE2. 2021-08-27 Ben Wagner [smooth] Detect SSE2 with MSVC for x86 MSVC does not set `__SSE2__`. Instead one must check whether `_M_IX86_FP` is defined and greater than or equal to 2. * src/smooth/ftgrays.c (FT_SSE2): New macro. Use it where appropriate. 2021-08-26 Alexei Podtelezhnikov Expand comment (cont'd). 2021-08-26 Alexei Podtelezhnikov Expand comment. 2021-08-24 Alexei Podtelezhnikov * src/smooth/ftgrays.c (gray_render_conic): Refactor redundancy. 2021-08-24 suzuki toshiya [truetype] Fix for the family name shorter than 8 characters. * src/truetype/ttobjs.c (tt_skip_pdffont_random_tag): If the family name to be checked is shorter than 8 characters, do not check its syntax. 2021-08-24 suzuki toshiya [truetype] Simplify `trick_names'. * src/truetype/ttobjs.c (tt_check_trickyness_family): For the case that the beginning part of a long tricky family name is already registered as another tricky family name, no need to double-check the longer one. Such long tricky family names are removed from the `trick_names'. 2021-08-24 suzuki toshiya [truetype] Add 2 tricky font names. Additional fix for the issue #1087. * src/truetype/ttobjs.c (tt_check_trickyness_family): Add 2 tricky font names reported in #1087. 2021-08-24 suzuki toshiya [truetype] New function to skip the randomization tag. * src/truetype/ttobjs.c (tt_skip_pdffont_random_tag): New function to skip the randomization tag in the names of the fonts embedded in a PDF. It is used by tt_check_trickyness_family(), to keep from mistaking "DLC" in the randomization tag as a tricky font name. See discussion in: https://lists.nongnu.org/archive/html/freetype-devel/2021-02/msg00002.html For technical detail about the randomization tag, please find PDF Reference 5.5.3 "Font Subsets". Thanks to Justyna Wawrzynska for pointing out the issue caused by the randomization tag. 2021-08-24 suzuki toshiya [truetype] Add checksums for 2 tricky fonts. Thanks to Ting717 for providing sample PDF. Fixes #1087. * src/truetype/ttobjs.c (tt_check_trickyness_sfnt_ids): Add checksums for 2 tricky fonts `DFHei-Bd-WIN-HK-BF' and `DFMing-Md-WIN-HK-BF'. 2021-08-23 Alexei Podtelezhnikov Whitespace formatting. 2021-08-22 Alexei Podtelezhnikov Decorate const arguments. * src/base/ftglyph.c (FT_Glyph_Transform, FT_Glyph_To_Bitmap): Do it. * include/freetype/ftglyph.h (FT_Glyph_Transform, FT_Glyph_To_Bitmap): Do it. 2021-08-21 Alexei Podtelezhnikov [smooth] Clean up the null cell usage. Put the null cell at the end of the pool and store it explicitly so that we can use it as both the limit and the dumpster. * src/smooth/ftgrays.c (gray_TWorker): Store the last `cell_null` and remove unnecesary fields. (NULL_CELL_PTR, CELL_IS_NULL): Remove in favor of explicit `cell_null`. (gray_dump_cells, gray_set_cell, gray_sweep{,_direct}): Update callers. (gray_convert_glyph_inner): Trace remaining cells (oh well). (gray_convert_glyph): Set up `cell_null` and slightly improve the pool management. 2021-08-20 Alexei Podtelezhnikov [base] Restore quiet no-op rendering of bitmap glyphs. Fixes #1076. * src/base/ftobjs.c (FT_Render_Glyph_Internal): Discard an error when rendering a bitmap glyph. 2021-08-20 Alexei Podtelezhnikov [smooth] Fortify 64-bit algorithm. * src/smooth/ftgrays.c (FT_UDIVPREP, FT_UDIV): s/long/FT_Int64/ and s/unsigned long/FT_UInt64/. (gray_render_line): Adjust a critical variable type. 2021-08-20 Carlo Bramini * builds/windows/ftsystem.c (FT_Stream_Open): Support legacy Windows. 2021-08-20 Alexei Podtelezhnikov Determine `long long` availability based on its size. MSVC, for example, used `long long` even without full C99 support. * include/freetype/config/ftstdlib.h: Check if `long long` limits are defined in . * include/freetype/config/integer-types.h: Check `long long` size and use it to typedef FT_Int64. 2021-08-19 Dominik Röttsches [sfnt] Fix format expectation for `COLR` v1 ClipList * src/sfnt/ttcolr.c (tt_face_get_color_glyph_clipbox): Change ClipList format expectation to 1 instead of 0 to make it compliant with the latest spec. 2021-08-19 Alexei Podtelezhnikov Readily use `long long` as a 64-bit type in C99 mode. * include/freetype/config/integer-types.h (FT_INT64): FT_CONFIG_OPTION_FORCE_INT64 is no longer required to use `long long`. 2021-08-19 Alexei Podtelezhnikov Use FT_INT64 instead of FT_LONG64. * include/freetype/config/integer-types.h: Remove synonymous FT_LONG64. * include/freetype/internal/ftcalc.h: s/FT_LONG64/FT_INT64/. * src/base/ftcalc.c: Ditto. * src/base/fttrigon.c: Ditto. * src/smooth/ftgrays.c: Ditto. 2021-08-18 Alexei Podtelezhnikov [builds/windows] Do not set CharacterSet for VC++. * builds/windows/vc2010/freetype.vcxproj: s/Unicode/NotSet/. * builds/windows/visualc/freetype.vcproj: s/"1"/"0"/. 2021-08-18 Werner Lemberg * src/sdf/ftsdf.c (get_control_box): Fix compiler warning. 2021-08-18 Werner Lemberg [base] Fix ppem size overflow. Fixes #1086. * src/base/ftobjs.c (FT_Request_Metrics): Add return value. Check whether ppem values fit into unsigned short values. (FT_Request_Size): Updated. * include/freetype/internal/ftobjs.h: Updated. * src/cff/cffobjs.c (cff_size_request), src/cid/cidobjs.c (cid_size_request), src/truetype/ttdriver.c (tt_size_request), src/type1/t1objs.c (T1_Size_Request): Updated. 2021-08-18 Alexei Podtelezhnikov * builds/windows/ftsystem.c (FT_Stream_Open): Cast to remove warning. 2021-08-18 Alexei Podtelezhnikov * builds/windows/ftsystem.c (FT_Stream_Open): Support UNICODE compilation. 2021-08-09 Werner Lemberg * src/sfnt/ttcolr.c (tt_face_get_color_glyph_clipbox): Minor fix. 2021-08-09 Dominik Röttsches [sfnt] Add missing blend mode 'plus' to 'COLR' v1. * include/freetype/ftcolor.h (FT_Composite_Mode): Add missing blend mode 'plus' after it was added to the spec. 2021-08-08 Werner Lemberg include/freetype/freetype.h (FT_Encoding): Improve documentation. Based on a suggestion by Antony Lee . 2021-08-07 Werner Lemberg [smooth] Avoid integer overflow. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=36243 * src/smooth/ftgrays.c(ADD_LONG, SUB_LONG, MUL_LONG, NEG_LONG) [STANDALONE_]: Removed, unused. (ADD_INT) [STANDALONE_]: New macro. (FT_INTEGRATE): Use ADD_INT. 2021-08-07 Dominik Röttsches [sfnt] Add API for retrieving a 'COLR' v1 'ClipBox' table. The optional 'COLR' v1 glyph-specific clip box helps upstream graphics libraries allocate a sufficiently large bitmap for a glyph without having to traverse the glyph graph for that. See https://github.com/googlefonts/colr-gradients-spec/issues/251 for background on the introduction of this specification change. * include/freetype/ftcolor.h (FT_ClipBox): New structure. (FT_Get_Color_Glyph_ClipBox): New function declaration. * include/freetype/internal/sfnt.h (TT_Get_Color_Glyph_ClipBox_Func): New function type. (SFNT_Interface, FT_DEFINE_SFNT_INTERFACE): Use it. * src/base/ftobjs.c (FT_Get_Color_Glyph_ClipBox): New function to link API with SFNT implementation. * src/sfnt/sfdriver.c (sfnt_interface): Updated. * src/sfnt/ttcolr.c (Colr): New field `clip_list`. (tt_face_load_colr): Parse global clip list offset. (tt_face_get_color_glyph_clipbox): New function to find the clip box for a glyph id from the clip list array. * src/sfnt/ttcolr.h: Updated. 2021-08-06 Werner Lemberg [smooth] Fix left shifts of negative numbers. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=36241 * src/smooth/ftgrays.c (LEFT_SHIFT): New macro. (gray_render_conic) [BEZIER_USE_DDA]: Use it. 2021-08-02 Werner Lemberg * meson.build: Fix zlib support. This commit synchronizes zlib support with both autotools and cmake: If no external zlib is found (or intentionally disabled on the command line), use the internal zlib by undefining `FT_CONFIG_OPTION_SYSTEM_ZLIB` without modifying `FT_CONFIG_OPTION_USE_ZLIB`. Also improve summary output. Problem reported by Moazin. 2021-08-02 Anuj Verma [sdf] Fix out-of-range-access. * src/sdf/ftbsdf.c (first_pass, second_pass): Fix range during forward pass. Otherwise the index goes out of range for the last column. Fixes issue #1077. 2021-08-02 Anuj Verma Fix invalid memory access in `bsdf` rasterizer. Do not generate SDF from bitmap if the `FT_GLYPH_OWN_BITMAP` flag is not set. In some cases the bitmap buffer is freed but still points to a valid address; to handle those cases check the flag before accessing the memory. * src/sdf/ftsdfrend.c (ft_bsdf_render): Handle the above case. Also, return an error message if the bitmap's rows/pitch is invalid, otherwise `slot->buffer` might be assigned to some invalid memory location. (ft_sdf_render): Same as above. Plus, move the outline back to original state after rasterization and not if any error occurs. 2021-07-29 Heiko Becker * meson.build: Honor `--includedir` instead of hard-coding 'include'. 2021-07-29 Werner Lemberg src/sfnt/ttcolr.c: Minor formatting. 2021-07-29 Dominik Röttsches [sfnt] 'COLR' v1 PaintSweepGradient spec update * src/sfnt/ttcolr.c (read_paint): PaintSweepGradient follows other spec changes and now has the angles specified as F2DOT14, reflect that in the implementation. * include/freetype/ftcolor.h (FT_PaintSweepGradient): Update documentation. 2021-07-29 Dominik Röttsches [sfnt] Retrieve affine matrix from offset in 'COLR' v1 parsing. * src/sfnt/ttcolr.c (read_paint): Implement spec change where affine transform matrix is now referenced by offset instead of being placed inline in the PaintTransform table. 2021-07-29 Dominik Röttsches [sfnt] 'COLR' v1 PaintSkew related spec updates * src/sfnt/ttcolr.c (read_paint): Implement spec changes around PaintSkew, PaintSkewAroundCenter. Update parsing to read shorter values as changed in the spec. * include/freetype/ftcolor.h (FT_PaintSkew): Update documentation. 2021-07-29 Dominik Röttsches [sfnt] PaintRotate/PaintRotateAroundCenter spec updates * src/sfnt/ttcolr.c (read_paint): Implement spec change where PaintRotate and PaintRotateAroundCenter were split for a more compact format definition. Update parsing to read shorter values as changed in the spec. * include/freetype/ftcolor.h (FT_PaintRotate): Update documentation. 2021-07-29 Dominik Röttsches [sfnt] 'COLR' v1 PaintTranslate and PaintScale precision * src/sfnt/ttcolr.c (read_paint): Implement spec changes in PaintTranslate and PaintScale and friends. Update parsing to read new shorter values. 2021-07-29 AnuthaDev README.git: Add Code of Conduct. 2021-07-25 Werner Lemberg ChangeLog housekeeping. Archive old `ChangeLog` file. We no longer write ChangeLog entries manually; instead, the file will be created from commit messages (which should be formatted in GNU's ChangeLog style) by a call to gitlog-to-changelog --format='%B%n' or something similar (this script is part of the 'gnulib' repository). 2021-07-24 Werner Lemberg Fix some `cppcheck` warnings. * src/bzip2/ftbzip2.c (ft_bzip2_file_skip_output), src/gzip/ftgzip.c (ft_gzip_file_skip_output): Reduce scope of `delta`. * src/psaux/psintrp.c, src/psaux/psintrp.h (cf2_interpT2CharString): Add `const` to `buf` parameter. * src/raster/ftraster.c (DelOld): Add `const` to `profile` parameter. (Vertical_Sweep_Span): Reduce scope of `target`. (FT_Outline_Get_CBox): Reduce scope of `xMin`, `xMax`, `yMin`, `yMax`. * src/smooth/ftgrays.c (gray_render_conic): Reduce scope of `split`. (gray_sweep, gray_sweep_direct): Reduce scope of `area`. * src/tools/apinames.c (names_dump) : Reduce scope of `temp`. 2021-07-24 AnuthaDev * .gitlab-ci.yml: Fixed cmake build, using correct options. 2021-07-24 AnuthaDev * CMakeLists.txt: Make `cmake` handle disabled dependencies correctly. Include 'CMakeDependentOption'. Replace `FT_WITH_XXX` options with `FT_DISABLE_XXX` and `FT_REQUIRE_XXX` pairs. Update option logic accordingly. Fixes #1066. 2021-07-24 Ben Wagner [autofit] Split `afwrtsys.h`. The header file `afwrtsys.h` has two distinct functions: to include the required writing system headers and also to generate code for each writing system. At each current use site only one or the other is used, with various macro trickery selecting one or the other. Split this header into `afws-decl.h` for the required writing system declarations and `afws-iter.h` for iterating over the writing systems to generate code. The motivation for this change is that the Visual C++ compiler treats the standard include guard idiom like `#pragma once` 'if no non-comment code or preprocessor directive comes before or after the standard form of the idiom'. It appears to check this after macro expansion, so if `WRITING_SYSTEM` expands to empty the bottom of `afwrtsys.h` is empty and looks like the standard include guard idiom which is treated like `#pragma once`, so subsequent inclusion of `afwrtsys.h` is elided. Fixes #1075. * src/autofit/afglobal.c (af_writing_system_classes), src/autofit/aftypes.h (AF_WritingSystem), src/autofit/rules.mk (AUTOF_DRV_H): Updated. * src/autofit/afwrtsys.h: Split into... * src/autofit/afws-decl.h, src/autofit/afws-iter.h: New files. 2021-07-18 Werner Lemberg * Version 2.11.0 released. ========================== Tag sources with `VER-2-11-0'. * docs/VERSION.TXT: Add entry for version 2.11.0. * docs/CHANGES: Updated. * README, src/base/ftver.rc, builds/windows/vc2010/index.html, builds/windows/visualc/index.html, builds/windows/visualce/index.html, builds/wince/vc2005-ce/index.html, builds/wince/vc2008-ce/index.html, docs/freetype-config.1: s/2.10.4/2.11.0/, s/2104/2110/. * include/freetype/freetype.h (FREETYPE_MINOR): Set to 11. (FREETYPE_PATCH): Set to 0. * builds/unix/configure.raw (version_info): Set to 24:0:18. * CMakeLists.txt (VERSION_MINOR): Set to 11. (VERSION_PATCH): Set to 0. * builds/toplevel.mk (dist): Ignore more git-related files. 2021-07-17 David Turner * src/smooth/ftgrays.c: Fix compilation if `FT_LONG64` is undefined. The code assumed that if `__SSE2__` is defined, then 64-bit integer types are available. This is not the case apparently for certain multilib compiler targets like 'x86_32.x86' used by Gentoo. This patch fixes the issue by disabling the special code path when 64-bit integer types are not available. Fixes #1071. 2021-07-16 Alex Richardson [tests] Allow arbitrary build directories. * tests/issue-1063/main.c (main): I am building with a build directory that is not directly inside the source tree, so the path `../tests/data/As.I.Lay.Dying.ttf` does not resolve to the test input file. This change passes the test data directory as an environment variable to allow arbitrary build directories. * tests/meson.build: Updated. 2021-07-16 Alex Richardson * tests/issue-1063/main.c (main): Fix uninitialized variable. I tried running `meson test` but the test just crashed and gdb reported that the face argument to `FT_Get_Char_Index` was nonsense. With this change the test prints 'Could not open file: ' as it should. 2021-07-16 Werner Lemberg [smooth] Minor fixes. * src/smooth/ftgrays.c (gray_render_conic): Move variable and structure declarations to beginning of function. Inspite of C99 compliance we still do this for the sake of backward compatibility. This also avoids a shadowing declaration of `count`. (gray_convert_glyph_inner): Fix typo. 2021-07-15 Ben Wagner * src/smooth/ftgrays.c: Guard inclusion of `emmintrin.h`. Guard inclusion of `emmintrin.h` with `#ifdef __SSE2__`. The gcc version of this header, `xmmintrin.h`, and `mmintrin.h` check that the appropriate defines are set before defining anything (are internally guarded). However, the clang versions of these includes are not internally guarded. As a result of this, externally guard the inclusion of these headers. 2021-07-15 David Turner [smooth] Implement Bézier quadratic arc flattening with DDA. Benchmarking shows that this provides a very slighty performance boost when rendering fonts with lots of quadratic Bézier arcs, compared to the recursive arc splitting, but only when SSE2 is available, or on 64-bit CPUs. On a 2017 Core i5-7300U CPU on Linux/x86_64: ftbench -p -s10 -t5 -cb DroidSansFallbackFull.ttf Before: 4.033 us/op (best of 5 runs for all numbers) After: 3.876 us/op ftbench -p -s60 -t5 -cb DroidSansFallbackFull.ttf Before: 13.467 us/op After: 13.385 us/op * src/smooth/ftgrays.c (gray_render_conic): New implementation based on DDA and optionally SSE2. 2021-07-15 David Turner [smooth] Minor speedup to smooth rasterizer. This speeds up the smooth rasterizer by avoiding conditional branches in the hot path. - Define a fixed 'null cell', which will be pointed to whenever the current cell is outside of the current target region. This avoids a `ras.cell != NULL` check in the `FT_INTEGRATE` macro. - Also use the null cell as a sentinel at the end of all `ycells` linked-lists, by setting its x coordinate to `INT_MAX`. This avoids a `if (!cell)` check in `gray_set_cell` as well. - Slightly change the worker struct fields to perform a little less operations during rendering. Example results (on a 2013 Corei5-3337U CPU) out/ftbench -p -s10 -t5 -bc DroidSansFallbackFull.ttf Before: 5.472 us/op After: 5.275 us/op out/ftbench -p -s60 -t5 -bc DroidSansFallbackFull.ttf Before: 17.988 us/op After: 17.389 us/op * src/smooth/ftgrays.c (grat_TWorker): Replace `num_cells` field with `cell_free` and `cell_limit`. (NULL_CELL_PTR, CELL_MAX_X_VALUE, CELL_IS_NULL): New macros. (gray_dump_cells, gray_set_cell, gray_sweep, gray_sweep_direct, gray_convert_glyph_inner, gray_convert_glyph): Updated. 2021-07-15 David Turner [tests] Rewrite download script in Python3. This commit replaces the bash script with a Python script that does the same work, plus avoiding to download anything if the files are already installed with the right content. We now use the first 8 bytes of each file's sha256 hash for the digest. * tests/scripts/download-test-fonts.sh: Removed. * tests/scripts/download-test-fonts.py: New script. * tests/README.md: Updated. 2021-07-15 Alex Richardson Support architectures where `long` is smaller than pointers. I am currently trying to compile FreeType for CHERI-extended ISAs (CHERI-RISC-V and Arm's Morello), but I am getting compiler warnings from the `FT_UINT_TO_POINTER` macro. When compiling with the CHERI Clang compiler, not using `uinptr_t` for casts between integers an pointers results in the following `-Werror` build failures: ``` In file included from .../src/truetype/truetype.c:22: .../src/truetype/ttgload.c:1925:22: error: cast from provenance-free integer type to pointer type will give pointer that can not be dereferenced [-Werror,-Wcheri-capability-misuse] node->data = FT_UINT_TO_POINTER( glyph_index ); ^ .../include/freetype/internal/compiler-macros.h:79:34: note: expanded from macro 'FT_UINT_TO_POINTER' ``` * include/freetype/internal/compiler-macros.h (FT_UINT_TO_POINTER): The ISO C standard compliant fix for this would be to use `uintptr_t` from `stdint.h`, but I am not sure if this is supported by the minimum compiler version. Therefore, use the compiler-defined `__UINTPTR_TYPE__` macro (supported in GCC 4.6+ and Clang since about 3.0) before checking for `_WIN64` and falling back to `unsigned long`. 2021-07-13 Oleg Oshmyan [base] Fix `FT_Open_Face`'s handling of user-supplied streams. This was already true (though undocumented) most of the time, but not if `FT_NEW` inside `FT_Stream_New` failed or if the `FT_OPEN_XXX` flags were bad. Normally, `FT_Open_Face` calls `FT_Stream_New`, which returns the user-supplied stream unchanged, and in case of any subsequent error in `FT_Open_Face`, the stream is closed via `FT_Stream_Free`. Up to now, however, `FT_Stream_New` allocates a new stream even if it is already given one by the user. If this allocation fails, the user-supplied stream is not returned to `FT_Open_Face` and never closed. Moreover, the user cannot detect this situation: all they see is that `FT_Open_Face` returns `FT_Err_Out_Of_Memory`, but that can also happen after a different allocation fails within the main body of `FT_Open_Face`, when the user's stream has already been closed by `FT_Open_Face`. It is plausible that the user stream's `close` method frees memory allocated for the stream object itself, so the user cannot defensively free it upon `FT_Open_Face` failure lest it ends up doubly freed. All in all, this ends up leaking the memory/resources used by user's stream. Furthermore, `FT_Stream_New` simply returns an error if the `FT_OPEN_XXX` flags are unsupported, which can mean either an invalid combination of flags or a perfectly innocent `FT_OPEN_STREAM` on a FreeType build that lacks stream support. With this patch, the user-supplied stream is closed even in these cases, so the user can be sure that if `FT_Open_Face` failed, the stream is definitely closed. * src/base/ftobjs.c (FT_Stream_New): Don't allocate a buffer unnecessarily. Move error-handling code to make the control flow more obvious. Close user-supplied stream if the flags are unsupported. `FT_Stream_Open` always sets `pathname.pointer`, so remove the redundant (re)assignment. None of the `FT_Stream_Open...` functions uses `stream->memory`, so keep just one assignment at the end, shared among all possible control flow paths. ('Unsupported flags' that may need a stream closure can be either an invalid combination of multiple `FT_OPEN_XXX` mode flags or a clean `FT_OPEN_STREAM` flag on a FreeType build that lacks stream support.) 2021-07-13 Oleg Oshmyan [base] Reject combinations of incompatible `FT_OPEN_XXX` flags. The three modes are mutually exclusive, and the documentation of the `FT_OPEN_XXX` constants notes this. However, there was no check to validate this in the code, and the documentation on `FT_Open_Args` claimed that the corresponding bits were checked in a well-defined order, implying it was valid (if useless) to specify more than one. Ironically, this documented order did not agree with the actual code, so it could not be relied upon; hopefully, nobody did this and nobody will be hurt by the new validation. Even if multiple mode bits were allowed, they could cause memory leaks: if both `FT_OPEN_STREAM` and `stream` are set along with either `FT_OPEN_MEMORY` or `FT_OPEN_PATHNAME`, then `FT_Stream_New` allocated a new stream but `FT_Open_Face` marked it as an 'external' stream, so the stream object was never released. * src/base/ftobjs.c (FT_Stream_New): Reject incompatible `FT_OPEN_XXX` flags. 2021-07-12 Alex Richardson * meson.build: Fix build for other UNIX systems (e.g., FreeBSD). Without this change the build of `unix/ftsystem.c` fails because the `ftconfig.h` header that defines macros such as `HAVE_UNISTD_H` and `HAVE_FCNTL_H` is only being generated for Linux, macOS, and Cygwin systems: ``` .../builds/unix/ftsystem.c:258:32: error: use of undeclared identifier 'O_RDONLY' file = open( filepathname, O_RDONLY ); ``` Instead of hardcoding a list of operating systems for this check, update the logic that decides whether to build the file and set a boolean flag that can be checked instead. 2021-07-12 Werner Lemberg [autofit] More clean-ups. * src/autofit/afhints.h (AF_GlyphHintsRec): Remove the no longer needed fields `xmin_delta` and `xmax_delta`. * src/autofit/afhints.c (af_glyph_hints_reload), src/autofit/afloader.c (af_loader_load_glyph): Updated. 2021-07-12 Werner Lemberg Small clean-ups for the last few commits. * include/freetype/fttrace.h (afwarp): Removed. 2021-07-12 David Turner Remove obsolete `AF_Angle` type and related sources. * src/autofit/afangles.c: File removed. Functions related to sorting moved to... * src/autofit/afhints.c (af_sort_pos, af_sort_and_quantize_widths): This file. * src/autofit/afangles.h: File removed. * src/autofit/aftypes.h: Updated. * src/autofit/autofit.c: Updated. * src/autofit/rules.mk (AUTOF_DRV_SRC): Updated. 2021-07-12 David Turner Remove experimental auto-hinting 'warp' mode. This feature was always experimental, and probably never worked properly. This patch completely removes it from the source code, except for a documentation block describing it for historical purposes. * devel/ftoption.h, include/freetype/config/ftoption.h: Remove `AF_CONFIG_OPTION_USE_WARPER`. * include/freetype/ftdriver.h: Document 'warping' property as obsolete. * src/autofit/afwarp.c, src/autofit/afwarp.h: Files removed. * src/autofit/*: Remove any code related to warp mode. 2021-07-12 David Turner Remove experimental 'Latin2' writing system (`FT_OPTION_AUTOFIT2`). This code has always been experimental and was never compiled anyway (`FT_OPTION_AUTOFIT2` does not appear in `ftoption.h` or even any of our build files). * include/freetype/internal/fttrace.h (aflatin2): Removed. * src/autofit/aflatin2.h, src/autofit/aflatin2.c: Files removed. * src/autofit/afloader.c: Remove undocumented hook to activate Latin2 system. * src/autofit/afstyles.h: Remove `ltn2_dflt` style definition. * src/autofit/afwrtsys.h: Remove `LATIN2` writing system definition. * src/autofit/autofit.c: Updated. 2021-07-05 Werner Lemberg * src/base/ftlcdfil.c (FT_Library_SetLcdGeometry): Fix argument. Reported by Hin-Tak. 2021-07-03 Werner Lemberg * meson_options.txt: Sort alphabetically; no final full stops. 2021-07-01 Ben Wagner * src/truetype/ttgxvar.c (tt_set_mm_blend): Test `coords`. It is undefined behavior to pass `NULL` to `memcpy`. `coords' is passed to `memcpy` but `TT_Get_MM_Blend` and `TT_Get_Var_Design` explictly call `tt_set_mm_blend` with `coords` as `NULL`. In addition, `TT_Set_MM_Blend` has a similar possible issue. 2021-06-30 Dominik Röttsches [sfnt] Support PaintScale in 'COLR' v1 parsing. * include/freetype/ftcolor.h (FT_PaintFormat): Renumber values, add `FT_COLR_PAINTFORMAT_SCALE`. (FT_PaintScale): New structure to represent 'PaintScale*' tables. (FT_COLR_Paint): Updated. * src/sfnt/ttcolr.c (FT_PaintFormat_Internal): New enumeration. (read_paint): Parse 'PaintScale' and friends. 2021-06-30 Dominik Röttsches [sfnt] Handle fonts without layer list in 'COLR' v1. 'COLR' v1 fonts do not necessarily need to have a layer list; for this reason, 'fontTools' recently started generating fonts in a way that drops the layer list if there are no layers in it. This results in the layer list offset becoming zero, which FreeType treated as an invalid table. Fix that and handle the case for layer list offset being 0. This slightly changes how we need to calculate the starting offset for paints. * src/sfnt/ttcolr.c (tt_face_load_colr): Handle case of layer list offset being zero without outright rejecting table. 2021-06-30 Alexei Podtelezhnikov * src/raster/ftraster.c (Render_Single_Pass): Simplify `band_stack'. 2021-06-29 Alexei Podtelezhnikov [raster] Do not skip the second pass without dropout control. The second pass also fixes horizontal lines through the pixel centers. * src/raster/ftraster.c (black_TWorker): Do not use `second_pass'. (Render_Glyph): Skip the second pass only with the appropriate flag. 2021-06-29 Alexei Podtelezhnikov [raster] Handle sub-band stack locally. * src/raster/ftraster.c (black_TWorker): Move `band_stack' from here.. (Render_Single_Pass): ... to here and accept limit arguments. (Render_Glyph): Updated. 2021-06-25 Anurag Thakur [CI] Introduce linux CI and refactor job names. * .gitlab-ci.yml: Added jobs for building freetype on linux. 2021-06-28 Alexei Podtelezhnikov [raster] Handle Bézier stack locally. * src/raster/ftraster.c (black_TWorker): Move `arcs' from here... (Conic_To, Cubic_To): ... to here to tighten their scope. (Bezier_Up, Bezier_Down): ... Take the current `arc' argument. 2021-06-28 Dominik Röttsches [sfnt] Improve paint limit checks Paint tables can appear before the `base_glyphs_v1` offset if the font is produced with the layer list before the base glyph list. In this case paint tables can occur after the layer list but before the base glyph list. Checks in the 'COLR' v1 code were rejecting fonts with this layout. Improve these checks by calculating a minimum offset after which paint tables can occur and use that in safety checks. * src/sfnt/ttcolr.c (Colr, tt_face_load_colr): Declare `paint_start_v1` and calculate that as the minimum of the end of layer list and base glyph list. (get_child_table_pointer, read_paint, tt_face_get_paint_layers): Use that in safety checks. 2021-06-28 Alexei Podtelezhnikov [raster] Clean up vertical sweep. * src/raster/ftraster.c (black_TWorker): Replace the current line offset with the pointer and drop the increment. (Function_Sweep_Init): Take values as arguments instead of pointers. (Vertical_Sweep_*, Horizontal_Sweep_Init, Draw_Sweep): Updated. 2021-06-25 Alexei Podtelezhnikov [raster] Make `band_top' local variable. * src/raster/ftraster.c (black_TWorker): Move `band_top' from here... (Render_Single_Pass): ... to here, and refactor. (Render_Glyph): Updated. 2021-06-25 Alexei Podtelezhnikov [raster] Adjust sub-band bisecting limits. We can bisect a band until it is just a single scan line. This might be slow and cause time-outs but if we need to impose limits it should be elsewhere. * src/raster/ftraster.c (Render_Single_Pass): Tweak sub-banding. 2021-06-25 Alexei Podtelezhnikov * src/raster/ftraster.c (Render_Single_Pass): Remove dead code. 2021-06-25 Werner Lemberg [base] Add trace level to logging output. Some practical debugging work has shown that displaying level X of an `FT_TRACEX` macro in the output of `FT2_DEBUG="... -v"` would be very helpful to find out which trace level should be selected. As an example, we now get output like ``` [ttobjs:2] TTF driver [ttobjs:2] SFNT driver [sfobjs:2] not a font using the SFNT container format [t1objs:2] Type 1 driver [stream:7] FT_Stream_EnterFrame: 14 bytes ``` * include/freetype/internal/ftdebug.h (FT_LOGGING_TAGX): New macro. (FT_LOG): Use it to add the trace level to the logging tag. * include/freetype/internal/fttrace.h (FT_MAX_TRACE_LEVEL_LENGTH): Adjust. * docs/DEBUG: Updated. 2021-06-24 Alexei Podtelezhnikov [smooth, raster] Fix up and align error codes. FT_Render_Glyph picked up FAILURE or 1 returned from the raster function, which became a confusing error code. Instead, return Raster_Overflow in the unlikely event that banding does not help or another meaningful error. * src/smooth/ftgrays.c (gray_convert_glyph_inner, gray_convert_glyph): Use Raster_Overflow when the rendering pool is exhausted and return it if banding does not help. (gray_raster_render): Use Smooth_Err_Ok. * src/raster/ftraster.c (Render_Single_Pass): Return Raster_Overflow if banding does not help or another error code. 2021-06-23 Alexei Podtelezhnikov [smooth, raster] Remove synonymous error macros. * src/smooth/ftgays.c [STANDALONE_]: s/ErrRaster_/Smooth_Err_/. (gray_convert_glyph_inner): Updated accordingly. * src/raster/ftraster.c [STANDALONE_]: Do not abbreviate error macros. (New_Profile, End_Profile, Insert_Y_Turn, Line_Up, Bezier_Up, Decompose_Curve, Draw_Sweep, Render_Single_Pass, ft_black_render): Updated accordingly. 2021-06-22 Dominik Röttsches [sfnt] s/PaintTransformed/PaintTransform/, s/transformed/transform/. * include/freetype/ftcolor.h (FT_PaintTransformed, FT_PaintFormat, FT_COLR_Paint): Do it to make it harmonize with other names such as 'PaintTranslate'. * src/sfnt/ttcolr.c (read_paint, tt_face_get_paint): Ditto. 2021-06-22 Dominik Röttsches Move 'COLR' API to `ftcolor.h`. * include/freetype/freetype.h: Cut section layer managament containing 'COLR' v0 and v1 API and move it to `ftcolor.h` as requested by Werner on freetype-devel. * include/freetype/ftcolor.h: Paste that section. 2021-06-19 Werner Lemberg [truetype] Fix integer overflow. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=35312 * src/truetype/ttinterp.c (Ins_JMPR): Use `ADD_LONG`. 2021-06-19 Werner Lemberg [autofit] Prevent hinting if there are too many segments. This speeds up handling of broken glyphs. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=35309 * src/autofit/aflatin.c (af_latin_hints_compute_segments): Implement it. 2021-06-18 Alexei Podtelezhnikov * src/sdf/ftsdfrend.c (ft_(b)sdf_render): Do not FT_ERROR routinely. 2021-06-16 David Turner [autofit] Fix return value of `FT_Load_Glyph`. * src/autofit/afglobal.c (af_face_globals_get_metrics): The issue is that `style_metrics_init` sometimes returns -1 without clearing `error`. While looping to `Again`, the next operation is successful, but -1 is still returned by the function. The fix is to set `error` to 0 appropriately. Fixes #1063. 2021-06-15 David Turner [meson] Add first regression test to FreeType. * tests/README.md: New file that explains how to build and run the tests with the Meson build. * tests/scripts/download-test-fonts.sh: New bash script to download test font files to the `tests/data` folder. * meson.build, meson_options.txt: Add 'tests' option to enable building and running the test programs (disabled by default). * tests/meson.build: New file. * tests/issue-1063/main.c: Simple regression test to exhibit issue 1063. * .gitignore: Ignore the content of the `tests/data` folder for now. 2021-06-12 Alexei Podtelezhnikov [type42] Fix new memory leak. We need to inverse inheritance of FT_GlyphSlot_Internal so that we have a chance to free the rendered bitmap from the parent slot. * src/type42/t42objs.c (T42_GlyphSlot_Init): Remove the internal parts of the child `ttslot' and replace it with the parent structure. (T42_GlyphSlot_Done): Updated accordingly. 2021-06-12 Werner Lemberg [psaux] Fix another assertion. * src/psaux/psintrp.c (cf2_interpT2CharString) : Convert assertion into error, since the problem can happen with invalid user input. Test case is file fuzzing/corpora/legacy/oss-fuzz/5754332360212480-unknown-read in the `freetype2-testing` repository. 2021-06-12 Werner Lemberg [psaux] Fix assertions. * src/psaux/pshints.c (cf2_hintmap_adjustHints): Check for overflow before emitting an assertion error. Test case is file fuzzing/corpora/legacy/oss-fuzz/4594115297673216-integer-overflow in the `freetype2-testing` repository. 2021-06-09 Alexei Podtelezhnikov * src/truetype/ttinterp.c (TT_RunIns): Optimize tracing. 2021-06-09 Alexei Podtelezhnikov [sdf] Fix SDF positioning. * src/sdf/ftsdfrend.c (ft_sdf_render, ft_bsdf_render): Add padding to `bitmap_top' and `bitmap_left'. * sdf/sdf/ftsdf.c (sdf_generate_with_overlaps): Fix VC++ warning. 2021-06-08 Werner Lemberg Fix 'devel' build for 'COLR' v1. * devel/ftoption.h: Synchronize with `include/freetype/config/ftoption.h`. 2021-06-08 Werner Lemberg [sfnt] Sanitize cmap4 table better. Fixes #1062. * src/sfnt/ttcmap.c (tt_cmap4_validate): Handle a too-small value of `length` gracefully. 2021-06-08 Dominik Röttsches [sfnt] Pointer validity check when reading 'COLR' v1 layers * src/sfnt/ttcolr.c (tt_face_get_paint_layers): In addition to the existing sanity checks, ensure that the pointer to the layer to be read is within the 'COLR' v1 table. 2021-06-08 Werner Lemberg * src/sdf/ftsdfcommon.c: Fix inclusion of header files. 2021-06-08 Werner Lemberg [sdf] Make `make multi` work. * src/sdf/ftsdf.c: Include `ftbitmap.h`. * src/sdf/ftsdfcommon.h: Move function bodies to `ftsdfcommon.c`. Include `ftobjs.h` to get definitions of `FT_LOCAL` and friends. * src/sdf/ftsdfcommon.c: New file. * src/sdf/rules.mk, src/sdf/sdf.c: Updated. 2021-06-08 Anuj Verma [sdf] Use 8 bits for final SDF output instead of 16bits. Since 8-bits is enough to represent SDF data we no longer require 16-bits for this purpose. Also, we now normalize the output data to use the entire 8-bit range efficiently. For example: if we use 3.5 format with a spread of 1 we basically only use the starting 5-bits. By normalizing we can use the entire 8-bit range. * include/freetype/freetype.h (FT_Render_Mode): Updated description for `FT_RENDER_MODE_SDF` regarding this change. * include/freetype/ftimage.h (FT_Pixel_Mode): Removed `FT_PIXEL_MODE_GRAY16` since no longer required. * include/freetype/fttypes.h (FT_F6Dot10): Removed since no longer required. * src/sdf/ftsdfrend.c (ft_sdf_render, ft_bsdf_render): Allocate 8-bit bitmap instead of 16-bit buffer. * src/sdf/ftsdfcommon.h (map_fixed_to_sdf): Added function to convert 16.16 distance value to our desired format. * src/sdf/ftsdf.c (sdf_generate_with_overlaps, sdf_generate_bounding_box): Use the new `map_fixed_to_sdf` function and also use 8-bit output buffer. * src/sdf/ftbsdf.c (finalize_sdf): Output to a 8-bit buffer instead of 16-bit buffer. 2021-06-02 Ben Wagner Werner Lemberg [sfnt] Fix fallout from 2021-05-29 change. * src/sfnt/ttcolr.c (find_base_glyph_record, find_base_glyph_v1_record): Adjust binary search. Needs to be updated with change to unsigned. 2021-06-02 Werner Lemberg * src/autofit/aflatin.c (af_latin_metrics_scale_dim): Fix tracing. Problem reported by Alexei. 2021-06-02 Werner Lemberg [psaux] Fix MSVC compiler warnings. * src/psaux/afmparse.c (afm_parse_track_kern, afm_parse_kern_pairs): Add cast. 2021-05-29 Werner Lemberg Fix compilation errors and (some) warnings for clang++. * src/autofit/afmodule.c (AF_GlyphHintsRec): Make it static. * src/cache/ftcache.c (FTC_Cache_NewNode), src/cache/ftcsbits.c (ftc_snode_compare): Remove semicolon. * src/cff/cffparse.c (cff_parser_run): Add `break` statement. * src/cid/cidload.c (cid_hex_to_binary): Add cast. * src/sdf/ftbsdf.c (CHECK_NEIGHBOR): Use `do {} while(0)` loop. (bsdf_init_distance_map, finalize_sdf, bsdf_raster_render): Add casts. * src/sdf/ftsdf.c (sdf_generate_bounding_box, sdf_generate_with_overlaps): Ditto. * src/sdf/ftsdfcommon.h (square_root): Ditto. * src/sdf/ftsdfrend.c (sdf_property_get, ft_sdf_render, ft_bsdf_render): Ditto. * src/sfnt/ttcolr.c (find_base_glyph_record, find_base_glyph_v1_record): Fix variable signedness. (read_color_line): Add cast. (read_paint): Add casts. Fix signedness issue. (tt_face_get_colorline_stops) Fix signedness issues. * src/sfnt/ttpost.c (load_format_20): Add casts. * src/truetype/ttsubpix.c (TWEAK_RULES, TWEAK_RULES_EXCEPTIONS): Remove final semicolons. 2021-05-29 Werner Lemberg [build] Allow overriding of `ANSIFLAGS` for GNU make build. * builds/*: Implement it. 2021-05-27 Alexei Podtelezhnikov [type42] Fix auto-hinting. The autohinter could not access the base (unscaled) outline in the child TrueType glyph slot. We now share the internal parts between the parent and child glyph slots. Fixes #1057. * src/type42/t42objs.c (T42_GlyphSlot_Init): Remove the internal parts of `T42_GlyphSlot' and replace it with the child TrueType structure. (T42_GlyphSlot_Done): Updated accordingly. 2021-05-25 Werner Lemberg [psaux] Guard and trace AFM kern data allocation. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=31543 * include/freetype/internal/fttrace.h: Add 'afmparse' trace component. * src/psaux/afmparse.c (FT_COMPONENT): Define. (afm_parse_track_kern, afm_parse_kern_pairs): Protect against allocations bombs. Add tracing. (afm_parse_kern_data): Don't allow multiple kern data sections. 2021-05-23 Alexei Podtelezhnikov * meson.build (ft2_public_headers): Add missing `ftcid.h'. Fixes #1058. 2021-05-20 Alexei Podtelezhnikov [type42] Avoid some memory zeroing. * src/type42/t42objs.c (T42_Open_Face): Tweak allocation macro. * src/type42/t42parse.c (t42_parse_sfnts): Ditto. 2021-05-19 Nikolaus Waxweiler [CMake] Update dependency finders. 1. Fixes CMake using any found HarfBuzz version lower than the minimum required. This is based on HALX99's merge request at https://gitlab.freedesktop.org/freetype/freetype/-/merge_requests/31 2. Update FindHarfBuzz.cmake from https://github.com/WebKit/WebKit/blob/1ce32454/Source/cmake/FindHarfBuzz.cmake and guard post-CMake-3.1 features to keep the minimum version unchanged 3. Update FindBrotliDec.cmake to stop the warnings, based on what https://github.com/google/woff2/blob/a0d0ed7d/cmake/FindBrotliDec.cmake is doing * CMakeLists.txt, builds/cmake/FindHarfBuzz.cmake: Implement 1 and 2. * builds/cmake/FindBrotliDec.cmake: Implement 3. 2021-05-19 Ben Wagner [gzip] Use exact type for `ft_gzip_alloc` and `ft_gzip_free`. While a function pointer may be cast to another function pointer type, it is required to cast the function pointer back to the original function pointer type before calling it. If a parameter is a pointer the exact pointer type is required. Using a pointer to a different underlying type is technically undefined behavior. The wrapper functions `ft_gzip_alloc` and `ft_gzip_free` took `FT_Memory` (a `FT_MemoryRec_*`) instead of `voidpf` (`void*`), so when gzip calls these callbacks through `alloc_func` or `free_func` it invokes undefined behavior. On most platforms this works out as expected, but newer undefined behavior detectors and targets like wasm can detect this and will produce an error. * src/gzip/ftgzip.c (ft_gzip_alloc, ft_gzip_free): Update signatures to exactly match `alloc_func` and `free_func`, respectively. Internally, cast the `void*` opaque pointer to `FT_Memory`. 2021-05-18 Alexei Podtelezhnikov Prioritize the anti-aliasing renderer module. * modules.cfg: Reorder the renderers. * include/freetype/config/ftmodule.h: Ditto. 2021-05-16 Alexei Podtelezhnikov [sfnt] Additional guards on the POST table. Fixes timeout (#1055) analyzed by Ben Wagner, reported as https://crbug.com/1194092 * src/sfnt/ttload.c (tt_face_load_post): Check POST format. * src/sfnt/sfobjs.c (sfnt_load_face): Synthesize the missing unicode charmap only if the glyph names exist. * src/psnames/psmodule.c (ps_unicode_value): Short cut ".notdef" and ".null". 2021-05-13 Daniel McArdle [psaux] Use doubling allocation strategy for CF2_ArrStack. Fixes timeout reported as https://crbug.com/1206181 * src/psaux/psarrst.c (cf2_arrstack_{push,init}): Implement it. * src/psaux/psarrst.h (CF2_ArrStackiRec): Drop `chunk'. 2021-05-12 Alexei Podtelezhnikov * src/smooth/ftgrays.c (FT_MAX_GRAY_SPANS): Increase from 10 to 16. Ten was barely enough for two slanted stems. Sixteen can actually fit a bit more complicated scanlines. 2021-05-11 Alexei Podtelezhnikov * src/smooth/ftgrays.c (FT_GRAY_SET): Adjust for better code. 2021-05-11 Alexei Podtelezhnikov [smooth] Faster bitmap sweeping. Selecting the fill rule or checking the direct mode each time we call `gray_hline' is sub-optimal. This effectively splits the direct mode into a separate code path while inlining `gray_hline' and saving 5-7% of rendering time. * src/smooth/ftgrays.c (gray_hline): Eliminated in favor of... (FT_FILL_RULE, FT_GRAY_SET): ... these new macros... (gray_sweep): ... inlined here. (gray_sweep_direct): New function that handles the direct span buffer. (gray_TWorker): Remove the span buffer. (gray_raster_render, gray_convert_glyph): Updated. 2021-05-10 Alexei Podtelezhnikov * src/smooth/ftgrays.c (gray_hline): Simplify even-odd computations. It is too bad the even-odd rule is not used much. 2021-05-07 Alexei Podtelezhnikov [type1] Avoid MM memory zeroing. * src/type1/t1load.c (t1_allocate_blend, parse_blend_design_map): Tweak allocation macros. * src/type1/t1objs.c (T1_Face_Done): Minor. 2021-05-07 Alexei Podtelezhnikov * src/bdf/bdflib.c (_bdf_list_ensure): Tweak allocation macro. 2021-05-06 Alexei Podtelezhnikov * src/psaux/psobjs.c (ps_parser_load_field): Tweak allocation macro. 2021-05-06 Alexei Podtelezhnikov * src/sfnt/sfobjs.c (sfnt_load_face): Tweak allocation macro. 2021-05-06 Alexei Podtelezhnikov * src/cid/cidload.c (cid_read_subrs): Tweak allocation macro. 2021-05-06 Alexei Podtelezhnikov * src/base/ftrfork.c (FT_Raccess_Get_DataOffsets): Tweak allocation. 2021-05-05 Alexei Podtelezhnikov [cff,psaux] Avoid memory zeroing (contd.). * src/cff/cffload.c (cff_blend_doBlend, cff_blend_build_vector): Tweak allocation macros. * src/psaux/psarrst.c (cf2_arrstack_setNumElements): Ditto. * src/psaux/psstack.c (cf2_stack_init): Ditto. 2021-05-04 Ben Wagner * src/cid/cidload.c (cid_hex_to_binary): Improve return value. Add argument to return the actual number of bytes that were decoded. The actual number of bytes decoded can be quite variable depending on the number of ignored 'whitespace' bytes or early termination with `>`. (cid_face_open): Updated to use this calculated value. This avoids trusting `parser->binary_length` is always be correct and reading uninitialized bits if fewer are actually decoded. First reported as https://crbug.com/1203240 2021-05-03 Alexei Podtelezhnikov [sfnt] Streamline POST format 2.0 handing. To reduce memory allocations, we read an entire Pascal-string buffer and convert it to a C-string buffer. We also reject tables with Postscript glyph names exceeding 63 bytes. * src/sfnt/ttpost.c (load_format20): Implement it. (load_post_names): Check the minimal POST table size. (load_format25, tt_face_free_ps_names): Updated accordingly. 2021-05-02 Alexei Podtelezhnikov [bdf,pcf] Avoid memory zeroing (contd.). * src/bdf/bdflib.c (bdf_create_property, _bdf_add_comment, _bdf_add_property, bdf_load_font): Tweak allocation macros. * src/pcf/pcfread.c (pcf_get_properties, pcf_get_metrics): Ditto. 2021-05-01 Alexei Podtelezhnikov * src/cid/cidload.c (cid_read_subrs): Tweak allocaton macro. 2021-05-01 Alexei Podtelezhnikov [sfnt] Avoid some memory zeroing. * src/sfnt/sfobjs.c (sfnt_open_font, sfnt_init_face, tt_name_ascii_from_{utf16,other}): Tweak allocaton macros. * src/sfnt/ttload.c (tt_face_load_name): Ditto. 2021-05-01 Alexei Podtelezhnikov * src/sfnt/ttpost.c (load_format_{20,25}): Tweak allocaton macros. 2021-05-01 Alexei Podtelezhnikov * src/sfnt/pngshim.c (Load_SBit_Png): Tweak allocaton macro. 2021-05-01 Alexei Podtelezhnikov [truetype] Avoid some memory zeroing. * src/truetype/ttinterp.c (Init_Context): Tweak allocation macro. * src/truetype/ttpload.c (tt_face_load_cvt): Ditto. 2021-05-01 Alexei Podtelezhnikov [woff2] Avoid some memory zeroing. * src/sfnt/sfwoff2.c (store_loca, woff2_open_font): Tweak macros. 2021-04-30 Alexei Podtelezhnikov * src/gzip/ftgzip.c (ft_gzip_alloc): Zero out memory again. 2021-04-27 Alexei Podtelezhnikov [lzw] Preserve decompression stack when relocating to heap. * src/lzw/ftzopen.c (ft_lzwstate_stack_grow): Copy stack when relocating to heap. 2021-04-27 Alexei Podtelezhnikov * src/cid/cidgload.c (cid_load_glyph): Restore the glyph_length check. 2021-04-27 Werner Lemberg * src/psmodule.c (ps_unicodes_init): Ignore empty glyph names. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=33637 2021-04-26 Alexei Podtelezhnikov * src/sfnt/sfobjs.c (sfnt_init_face): Revert macro change. 2021-04-26 Alexei Podtelezhnikov [cff] Avoid some memory zeroing. * src/cff/cffparse.c (cff_parser_init): Tweak memory macro. * src/cff/cffload.c (cff_index_load_offsets, cff_index_get_pointers, cff_charset_load, cff_vstore_load): Ditto. 2021-04-26 Alexei Podtelezhnikov [pfr] Avoid some memory zeroing. * src/pfr/pfrobjs.c (pfr_face_init) : Tweak memory macro. * src/pfr/pfrload.c (pfr_extra_item_load_stem_snaps, pfr_phy_font_load): Ditto. 2021-04-26 Alexei Podtelezhnikov * src/winfonts/winfnt.c (FNT_Face_Init): Tweak memory macro. 2021-04-26 Alexei Podtelezhnikov [psaux,psnames] Avoid some memory zeroing. * src/psaux/psstack.c (cf2_stack_init): Tweak memory macro. * src/psnames/psmodule.c (ps_unicodes_init): Ditto. 2021-04-25 Alexei Podtelezhnikov [base] Avoid some memory zeroing. * src/base/ftrfork.c (FT_Raccess_Get_DataOffsets): Use FT_QNEW_ARRAY. * src/base/ftsnames.c (FT_Get_Sfnt_{Name,LangTag}): Ditto. 2021-04-25 Alexei Podtelezhnikov [bdf,pcf] Avoid some memory zeroing. * src/pcf/pcfread.c (pcf_read_TOC, pcf_get_properties, pcf_load_font): Tweak memory macros. * src/bdf/bdfdrivr.c (BDF_Face_Init): Ditto. * src/bdf/bdflib.c (_bdf_readstreami, bdf_create_property, _bdf_parse_glyphs, _bdf_parse_start): Ditto. (_bdf_add_property): Do not handle zero size. 2021-04-25 Issam E. Maghni * builds/meson/process_ftoption_h.py: Add LF at EOF. This fixes .../ftoption.h:1030:10: error: no newline at end of file [-Werror,-Wnewline-eof] for the generated `ftoption.h` file. 2021-04-24 Alexei Podtelezhnikov * src/cff/cffload.c (cff_index_get_pointers): s/FT_QALLOC/FT_ALLOC/. 2021-04-23 Alexei Podtelezhnikov * src/base/ftobjs.c (Mac_Read_POST_Resource): s/FT_ALLOC/FT_QALLOC/. * builds/mac/ftmac.c (FT_New_Face_From_SFNT, read_lwfn): Ditto. 2021-04-23 Alexei Podtelezhnikov * src/sdf/ftsdf.c (sdf_{edge,contour,shape}_new): Use FT_QALLOC. 2021-04-23 Alexei Podtelezhnikov [sfnt] s/FT_ALLOC/FT_QALLOC/ for initialized buffers. * src/sfnt/sfdriver.c (get_win_string, get_apple_string, sfnt_get_var_ps_name): Do not zero out the buffer. * src/sfnt/sfobjs.c (sfnt_init_face): Ditto. * src/sfnt/sfwoff.c (woff_open_font): Ditto. * src/sfnt/sfwoff2.c (woff2_open_font): Ditto. 2021-04-23 Alexei Podtelezhnikov [cff,type1,type42] s/FT_ALLOC/FT_QALLOC/ for initialized buffers. * src/cff/cffload.c (cff_index_get_pointers, cff_index_get_name): Do not zero out the buffer. * src/cff/cffdrivr.c (cff_ps_get_font_info): Ditto. * src/type1/t1load.c (parse_subrs, parse_charstrings, parse_blend_axis_types): Ditto. * src/type1/t1parse.c (T1_New_Parser, T1_Get_Private_Dict): Ditto. * src/type42/t42parse.c (t42_parser_init): Ditto. 2021-04-23 Alexei Podtelezhnikov [cid] s/FT_ALLOC/FT_QALLOC/ and clean up. * src/cid/cidgload.c (cid_load_glyph): Do not zero out the buffer. * src/cid/cidload.c (cid_face_open, cid_read_subrs): Ditto. 2021-04-23 Alexei Podtelezhnikov [pfr] s/FT_ALLOC/FT_QALLOC/ for initialized buffers. * src/pfr/pfrload.c (pfr_extra_item_load_font_id, pfr_aux_name_load): Do not zero out the buffer. 2021-04-23 Alexei Podtelezhnikov [bzip2,gzip] s/FT_ALLOC/FT_QALLOC/ for initialized buffers. * src/bzip2/ftbzip2.c (ft_bzip2_alloc): Do not zero out the buffer. * src/gzip/ftgzip.c (ft_gzip_alloc, FT_Stream_OpenGzip): Ditto. 2021-04-23 Alexei Podtelezhnikov [pcf,bdf,winfonts] s/FT_ALLOC/FT_QALLOC/ for initialized buffers. * src/pcf/pcfread.c (pcf_interpret_style): Do not zero out the buffer. * src/bdf/bdfdrivr.c (bdf_interpret_style): Ditto. * src/winfonts/winfnt.c (FNT_Face_Init, FNT_Load_Glyph): Ditto. 2021-04-22 Alexei Podtelezhnikov [cache] Optimize SBit copying. * src/cache/ftcsbits.c (ftc_snode_load): Do not initialize the buffer. (ftc_sbit_copy_bitmap): Accept zero size, s/FT_ALLOC/FT_QALLOC/. 2021-04-22 Alexei Podtelezhnikov [gxvalid,otvalid] s/FT_ALLOC/FT_QALLOC/ for initialized buffers. * src/gxvalid/gxvmod.c (gxv_load_table): Do not zero out the buffer. * src/otvalid/otvmod.c (otv_load_table): Ditto. 2021-04-22 Alexei Podtelezhnikov [psaux] s/FT_ALLOC/FT_QALLOC/ for initialized buffers. * src/psaux/psobjs.c (ps_table_done, ps_parser_load_field): Do not zero out the buffer. 2021-04-22 Alexei Podtelezhnikov [base] s/FT_ALLOC/FT_QALLOC/ for initialized buffers. * src/base/ftobjs.c (open_face_PS_from_sfnt_stream, Mac_Read_sfnt_Resource): Do not zero out the buffer. * src/base/ftmac.c (FT_New_Face_From_SFNT, read_lwfn): Ditto. * src/base/ftrfork.c (raccess_make_file_name, raccess_guess_darwin_hfsplus, raccess_guess_darwin_newvfs): Ditto. 2021-04-20 Alexei Podtelezhnikov [cache] Restore SBit copying for unowned (BDF) bitmaps. * src/cache/ftcsbits.c (ftc_sbit_copy_bitmap): Restore. (ftc_snode_load): Check ownership and copy unowned bitmaps. 2021-04-19 Dominik Röttsches [sfnt] Return in 'COLR' v1 when layer pointer outside table * src/sfnt/ttcolr.c (tt_face_get_paint_layers): Add missing return when paint pointer outside table. (read_paint): Add missing return when paint pointer outside table. 2021-04-18 Alexei Podtelezhnikov [cache] Switch to lazy SBit setting. * src/cache/ftcsbits.c (ftc_sbit_copy_bitmap): Removed. (ftc_snode_load): Take the bitmap ownership instead of copying. 2021-04-16 Daniel Welty <@@danielwelty> * src/cache/ftcsbits.c (ftc_snode_load): Properly handle short pitch. 2021-04-16 Werner Lemberg * builds/unix/freetype2.m4: Fix help string formatting. The indented `dnl` macros inserted unwanted horizontal space. Problem reported by Ozkan Sezer . 2021-04-16 Dominik Röttsches [sfnt] Safeguard 'COLR' v1 layer extraction * src/sfnt/ttcolr.c (tt_face_get_paint_layers): Do not output layer pointer to iterator if it is outside the 'COLR' table. (read_paint): Do not attempt to read layers that are outside the table. 2021-04-02 Ben Wagner [base] Complete `ft_glyphslot_clear`. * src/base/ftobjs.c (ft_glyphslot_clear): This function is intended to reset all the values of a glyph slot. However, it was not resetting the values of the advances and `glyph_index`. Reset the advances and `glyph_index` to zero. 2021-04-02 Ben Wagner [truetype] Prevent glyph program state from persisting. `FDEF` instructions are specified as allowed only in 'prep' or 'fpgm'. FreeType has attempted to prevent their use in the glyph program, but they were still allowed in glyph programs if defined in a function defined in 'prep' or 'fpgm' and called from the glyph program. Similarly, `IDEF` instructions are specified not to be able to modify any existing instruction. FreeType has attempted to prevent their use in the glyph program, but they can still be used like `FDEF`. This change stores the initial bytecode range type and disallows the use of `FDEF` and `IDEF` while running the glyph program. Most other state is copied from the `TT_Size` into the execution context. However, it is possible for a glyph program to use `WS` to write to the storage area or `WCVTP`, `WCVTF`, and `DELTAC[123]` to write to the control value table. Allowing any change to the global state from the glyph program is problematic as the outlines of any given glyph may change based on the order the glyphs are loaded or even how many times they are loaded. There exist fonts that write to the storage area or the control value table in the glyph program, so their use should not be an error. Possible solutions to using these in the glyph program are * ignore the writes; * value-level copy on write, discard modified values when finished; * array-level copy on write, discard the copy when finished; * array-level copy up-front. Ignoring the writes may break otherwise good uses. A full copy up-front was implemented, but was quite heavy as even well behaved fonts required a full copy and the memory management that goes along with it. Value-level copy on write could use less memory but requires a great deal more record keeping and complexity. This change implements array-level copy on write. If any attempt is made to write to the control value table or the storage area when the initial bytecode range was in a glyph program, the relevant array will be copied to a designated storage area and the copy used for the rest of the glyph program's execution. * src/truetype/ttinterp.h (TT_ExecContextRec): New fields `iniRange`, `glyfCvtSize`, `glyfCvt`, `origCvt`, `glyfStoreSize`, `glyfStorage`, and `origStorage`. * src/truetype/ttinterp.c (Modify_CVT_Check): New function to handle `exc->glyfCvt`. (Write_CVT, Write_CVT_Stretched, Move_CVT, Move_CVT_Stretched): Use it. (Ins_WS): Handle `exc->glyfStorage`. (Ins_FDEF, Ins_IDEF): Updated. (TT_RunIns): Updated. (TT_Done_Context): Free 'glyf' CVT working and storage area. (TT_Load_Context): Fix/add casts. * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Fix cast. 2021-03-30 Dominik Röttsches [sfnt] Check validity of pointer location of `read_color_line`. * src/sfnt/ttcolr.c (get_child_table_pointer): New function to fetch child table pointer early for all paint formats that compute a child table pointer. (read_color_line, read_paint): Updated. (tt_face_get_colorline_stops): Check `colr->table`. 2021-03-28 Nikhil Ramakrishnan [docs] Update docwriter stylesheet for 1.3.1. This change is required to support docwriter 1.3.1. See https://gitlab.freedesktop.org/freetype/docwriter/-/merge_requests/101 for more information. * docs/markdown/stylesheets/extra.css: (.wy-nav-content, .md-sidebar--secondary): Remove. 2021-03-16 Alexei Podtelezhnikov * src/sfnt/pngshim.c (Load_SBit_Png): Free `rows` once later. 2021-03-16 Ben Wagner [sfnt] Fix memory leak in png loading. Reported as https://bugs.chromium.org/p/chromium/issues/detail?id=1182552 Memory is allocated and the pointer assigned to `rows` inside a 'setjmp' scope. This memory must be freed outside the 'setjmp' scope after a 'longjmp'. Since `rows` is a local and modified inside the 'setjmp' scope it must be marked volatile or it will have an indeterminate value after the 'longjmp'. * src/sfnt/pngshim.c (Load_SBit_Png): Fix memory leak of `rows`. 2021-03-16 Christopher Degawa * CMakeLists.txt: Don't limit generation of 'pkg-config' file to UNIX. mingw-w64 uses the 'pkg-config' files but does not set UNIX. 2021-03-11 Alexei Podtelezhnikov * src/smooth/ftgrays.c (gray_set_cell): Refactor to fix VC++ warning. 2021-03-13 Werner Lemberg Handle various VC++ compiler warnings. Fixes #1039. * src/base/ftstroke.c (ft_stroker_inside, ft_stroker_outside): Initialize `sigma`. * src/sdf/ftsdf.c (sdf_generate_with_overlaps): Exit immediately if function arguments are invalid. * src/sdf/ftsdfrend.c (sdf_property_set) <"overlaps">: Fix cast. * src/sfnt/sfwoff2.c (woff2_decompress) [!FT_CONFIG_OPTION_USE_BROTLI]: Use `FT_UNUSED`. * src/truetype/ttgxvar.c (TT_Get_MM_Var): Initialize `fvar_head`. 2021-03-11 Alexei Podtelezhnikov [smooth] Reduce copying during integration phase. We now record `cover' and `area' directly into the linked list. This makes rendering faster by 10% or even more at larger sizes. * src/smooth/ftgrays.c (FT_INTEGRATE): Write directly. (gray_TWorker): Add direct cell reference and remove unused fields. (gray_set_cell): Consolidate the linked list management and pointers. (gray_convert_glyph, gray_convert_glyph_inner): Updated. 2021-03-10 Alexei Podtelezhnikov * src/smooth/ftgrays.c (FT_INTEGRATE): New convenience macro. (gray_render_line, gray_render_scanline): Use it. 2021-03-09 Alexei Podtelezhnikov * src/smooth/ftgrays.c (gray_render_line): Rearrange conditionals. These produce faster or more optimizable code. 2021-03-08 Tim-Philipp Müller [meson] Fix 'mmap' handling on Windows. * meson.build (ft2_sources): Always use `windows/ftsystem.c` on Windows unless mmap has been disabled. https://gitlab.freedesktop.org/freetype/freetype/-/merge_requests/5#note_829289 2021-03-07 Tim-Philipp Müller [ci] Add basic support for Meson builds with MSVC on Windows. This adds meson jobs for VS2017 (x86 and x86_64). * .gitlab-ci.yml: New file. 2021-03-07 Tim-Philipp Müller [meson] Add subproject fallbacks for 'libpng' and 'zlib'. * subprojects/libpng.wrap, subprojects/zlib.wrap: New files. * meson.build: Updated. 2021-03-07 Xavier Claessens [meson] Make it work with Windows. * meson.build: Do not process `ftconfig.h` when not using `ftconfig.h.in`. Fixes #1029. 2021-02-25 Werner Lemberg [woff2] Fix memory leak. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=28148 * src/sfnt/sfwoff2.c (woff2_open_font): Reject fonts that have multiple tables with the same tag. While not explicitly forbidden in the OpenType specification, it is implicitly forbidden by describing a binary search algorithm for tables that only works reliably if table tags are unique. 2021-02-22 Werner Lemberg * CMakeLists.txt: Update location of `LICENSE.TXT`. Fixes #1035. 2021-02-19 Werner Lemberg * builds/unix/ax_pthread.m4: Update from 'autoconf-archive'. A bunch of fixes were added recently to its git repository. 2021-02-17 Werner Lemberg [unix] Updates for autoconf 2.71. This fixes warnings reported by autoupdate. * builds/unix/ax_pthread.m4: Replace `as_echo` with `AS_ECHO`. * builds/unix/configure.raw: Remove obsolete `AC_HEADER_STDC`. Don't escape back quotes in messages for `AC_MSG_WARN`. 2021-02-16 Werner Lemberg * builds/toplevel.mk: Fix previous commit. : Use `TOP_DIR` in `wildcard` function. (check_out_submodule, copy_submodule): Move down to come after definition of `all` rule. Call `mkdir` conditionally. 2021-02-16 Werner Lemberg * builds/toplevel.mk: Use rules for handling 'dlg'. Suggested by Alexei. (check_out_submodule, copy_submodule): New targets. : Replace calls to `shell` with rules. 2021-02-16 Werner Lemberg * builds/toplevel.mk: Avoid side effects of `shell`. We use a dummy variable to catch its output. Otherwise the `make` program is going to interpret the return value of `shell`; this can cause obscure warning or error messages or even be harmful. 2021-02-16 Werner Lemberg Move 'dlg' submodule to `subprojects` directory. This is for future changes with Meson, which doesn't allow a different name for its `subprojects` directory. Having both a `submodules` and a `subprojects` directory is confusing. * .gitmodules, autogen.sh (copy_submodule_files, DLG_INC_DIR, DLG_SRC_DIR): Updated. * builds/toplevel.mk (, do-dist), builds/windows/vc2010/script.bat: Updated. * src/tools/no-copyright: Updated. 2021-02-16 Dominik Röttsches [sfnt] Update paint format values to support non-variable paints. * freetype.h (FT_PaintFormat): Update paint format identifiers after a specification change. The specification was updated to have sibling formats, variable and non-variable variants for each. Reflect that here. * sfnt/ttcolr.c (read_paint): Remove parsing of variable indices as the non-variable formats no longer have them. 2021-02-15 Daniel E * CMakeLists.txt: Improve 'bz2' support. Not all distributions such as FreeBSD provide a `.pc` file for '(lib)bz2' so follow autotools and add it to `Libs.private` instead. 2021-02-13 Werner Lemberg * src/tools/update-copyright-year: Fix single-year entry handling. The fix from 2021-01-17 didn't cover the case where the year to be updated is identical to the current year. 2021-02-13 Werner Lemberg Add new function `FT_Get_Transform`. See https://github.com/harfbuzz/harfbuzz/issues/2428 for some reasons to introduce this function. * include/freetype/freetype.h, src/base/ftobjs.c (FT_Get_Transform): Implement it. 2021-02-12 Alexei Podtelezhnikov Decorate `qsort` callbacks with `cdecl`. * include/freetype/internal/compiler-macros.h (FT_COMPARE_DEF): Add new macro. * src/base/ftrfork.c, src/bdf/bdflib.c, src/gxvalid/gxvcommn.c, src/psaux/afmparse.c, src/psnames/psmodule.c, src/type1/t1afm.c, src/sfnt/sfwoff.c, src/sfnt/sfwoff2.c: Update `qsort` callbacks. Fixes #1026 when compiling FreeType with an unusual calling convention while the C library function `qsort` still expects `cdecl`. 2021-02-10 Dominik Röttsches [sfnt] Implement 'COLR' v1 sweep gradients. * freetype.h (FT_PaintSweepGradient): Add `FT_PaintSweepGradient` to represent a 'COLR' v1 sweep gradient. Update format. (FT_PaintFormat): Update shifted paint formats. Sync with spec. * sfnt/ttcolr.c (read_paint): Logic to parse sweep gradients. Fix struct access in radial gradient implementation. 2021-02-09 Dominik Röttsches [sfnt] Provide optional root transform for 'COLR' v1 glyph graph. * include/freetype/freetype.h (FT_Get_Color_Glyph_Paint): Additional function argument `root_transform` to control whether root transform should be returned. (FT_OpaquePaint): Additional tracking field to denote whether root transform is to be returned. * include/freetype/internal/sfnt.h (TT_Get_Color_Glyph_Paint_Func): Propagate additional argument. * src/base/ftobjs.c (FT_Get_Color_Glyph_Paint): Ditto. * src/sfnt/ttcolr.c (tt_face_get_colr_glyph_paint): Return root transform reflecting the size and tranform configured on `FT_Face`. (read_paint): Initialize and track status of insert_root_transform flag. 2021-02-09 Xavier Claessens * meson.build: s/freetype2_dep/freetype_dep/. Many projects (e.g., fontconfig, cairo) hardcode the `freetype_dep` variable name to use FreeType as subproject because that was the variable name in Centricular's Meson port of FreeType. While they should stop hardcoding that variable name, it does not cost us anything to keep using that name to ease transition. 2021-02-09 Xavier Claessens [meson] Fix handling of HarfBuzz library. * meson.build (harfbuzz_dep): Do not fall back to HarfBuzz by default. Otherwise it causes a dependency cycle: cairo => fontconfig => freetype2 => harfbuzz => cairo Meson will still fall back to HarfBuzz subprojects if the `harfbuzz` option is set to `enabled` instead of `auto` and a `subprojects/harfbuzz.wrap` file is present. In that case it is the responsibility of the main project to set the proper options on each subproject to break the dependency cycle. Fixes: #1028. 2021-02-09 Xavier Claessens [meson] Fix dependency lookup and generate `ftconfig.h`. - zlib: If not found on the system, meson can build it as a subproject. We thus never use the (outdated) zlib support that comes with FreeType. Doing so has the additional advantage that the zlib code can be shared with other projects like GLib if both are subprojects of an application. - harfbuzz: Build as a subproject if not found on the system. - 'QUESTION: What if the compiler doesn't support `-D` but uses `/D` instead as on Windows?' Answer: Meson translate arguments for us. - visibility: Replace self-made code with meson-specific solution. * meson.build (ft2_defines): Rewrite logic to set and handle it. (process_header_command): New variable, previously called `ftoption_command`. (ftoption_command, ftconfig_command): New variables. (zlib_option): Removed. (zlib_dep): New variable. (ft2_deps): Updated. (harfbuzz_dep): Updated. (ftconfig_h_in, ftconfig_h): New variables. (ft2_sources): Updated. (ft2_lib): Updated, handle visibility. (summary): Updted. * meson_options.txt (zlib): Updated. 2021-02-09 Xavier Claessens * meson.build: Fix resource compilation on Windows. This is copied from GStreamer's meson port of FreeType. (ft2_sources): Add both debug and resource file (the latter for Windows only). (ft2_debug_src): Removed. 2021-02-09 Xavier Claessens * meson.build: s/ft2_libtool_version/ft2_pkgconfig_version/. (freetype2_dep): Use it. `ft2_libtool_version` would be the shared library version, not the one we should use in file `freetype2.pc`. 2021-02-09 Xavier Claessens * meson.build: Use `meson.override_dependency`. This is a new meson mechanism to avoid other projects to hard-code the `freetype2_dep` variable name in their build definition. It also ensures that meson does not mix system and subproject versions of FreeType inside of the same project. Also remove outdated TODO because `declare_dependency` was already there. 2021-02-09 Xavier Claessens * meson.build (bzip2_dep): Simplify. We remove `static:false` from `find_library('bz2')`. I don't know whether the previous code was a workaround for an old meson bug, but at least with version >=0.55.0 (which FreeType uses) it picks the shared library when both are available. File `freetype2.pc` still contains the full path to file `libbz2.so` instead of `-lbz2` – that we need to do this is a meson bug even present in the current version (0.57.0). 2021-02-09 Xavier Claessens * meson.build: Set project version. 2021-02-04 Werner Lemberg [base] Fix Netpbm tracing message. * src/base/ftobjs.c (FT_Render_Glyph_Internal): Don't emit Netpbm warning if there is nothing to output. 2021-02-04 Werner Lemberg * src/*: Don't use more than one '\n' in `FT_TRACE` and `FT_ERROR`. This ensures good logging output, with all lines having a proper prefix (if requested). This is a continuation of a similar patch from 2020-12-02, which missed some locations. 2021-02-03 Alexei Podtelezhnikov * builds/unix/configure.raw [mmap]: Restore default path. Fixes #1023. 2021-02-03 Werner Lemberg [psaux] Fix integer overflow. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=30154 * src/psaux/psblues.c (cf2_blues_capture): Use `SUB_INT32`. 2021-02-02 Alexei Podtelezhnikov * builds/unix/configure.raw [mmap support]: Explicitly handle Windows. Fixes #1024. 2021-01-31 Werner Lemberg * builds/unix/configure.raw [mmap support]: Correctly handle Windows. Fixes #1024. 2021-01-31 Werner Lemberg * builds/windows/ftdebug.c: Synchronize with `src/base/ftdebug.c`. 2021-01-31 Werner Lemberg Always provide logging API. It's easier to have stubs if FT_DEBUG_LOGGING is undefined than to modify `ftexport.sym` conditionally. Problem reported by Alexei. * src/base/ftdebug.c: Include `ftlogging.h`. (FT_Trace_Set_Level, FT_Trace_Set_Default_Level, FT_Set_Log_Handler, FT_Set_Default_Log_Handler) [!FT_DEBUG_LOGGING]: Provide stubs. 2021-01-31 Werner Lemberg * builds/unix/configure.raw: Fix typo. Bug introduced in Vincent's last commit bb33f03. Fixes issue #1021. 2021-01-27 Alexei Podtelezhnikov * src/base/ftstroke.c (FT_Stroker_EndSubPath): Ignore tiny gaps. Fixes bug #1020. 2021-01-27 Alexei Podtelezhnikov [stroker] Minor clean-up. * src/base/ftstroke.c (FT_Stroker_{ConicTo,CubicTo}): Reset the last line length. (FT_Stroker_EndSubPath): Call `ft_stroker_process_corner'. 2021-01-27 Vincent Torri * builds/windows/ftsystem.c: Add shared memory support on Windows. * CMakeLists.txt (BASE_SRCS), builds/unix/configure.raw (FTSYS_SRC), builds/windows/vc2010/freetype.vcxproj, builds/windows/visualc/freetype.vcproj, meson.build (ft2_sources): Add it (conditionally). 2021-01-23 Werner Lemberg Require HarfBuzz 2.0.0. This is needed to make commit f1f9705f9 work. * CMakeLists.txt (HARFBUZZ_MIN_VERSION), builds/unix/configure.raw (harfbuzz_pkg), meson.build (harfbuzz_dep): Updated. 2021-01-22 Alexei Podtelezhnikov * autogen.sh: Absorb `version.sed'. * version.sed: Removed. 2021-01-19 Alexei Podtelezhnikov * srd/base/ftlcdfil.c (FT_Library_SetLcdGeometry): Fix return value. 2021-01-15 Nikolaus Waxweiler [afshaper] Fix hb_ot_tags_from_script deprecation warning. * autofit/afshaper.c (af_shaper_get_coverage): Copy the source code of the function as suggested in https://github.com/harfbuzz/harfbuzz/issues/2737 and adjust to handle at most three tags. 2021-01-17 Werner Lemberg * src/tools/update-copyright-year: Fix single-year entry handling. 2021-01-16 Alexei Podtelezhnikov * builds/unix/unixddef.mk: Remove the second DEVEL_DIR definition. 2021-01-14 Dominik Röttsches [sfnt] Additional checks for 'colr' table presence. * sfnt/ttcolr.c (tt_face_get_colr_glyph_paint, tt_face_get_colorline_stops, tt_face_get_paint): Additional checks for whether colr table is present. Prevents crashes when these methods are called on non-COLR fonts. 2021-01-13 Dominik Röttsches Add config option to test for 'COLR' v1 support in headers. * include/freetype/config/ftoption.h (TT_SUPPORT_COLRV1): New macro so that clients can test whether the FreeType checkout that they are building against supports the 'COLR' v1 API. This is intended to be a temporary solution until 'COLR' v1 support is released in a FreeType version and such a check can be made by using the version number instead. 2020-12-16 Dominik Röttsches [base] Fill 'COLR' v1 API templates to make them work (#59703). * src/base/ftobjs.c (FT_Get_Color_Glyph_Paint, FT_Get_Paint_Layers, FT_Get_Paint, FT_Get_Colorline_Stops): Add basic sanity checks, check for existence of `FT_Face`, check arguments and delegate calls for the respective 'COLR' v1 API to the SFNT driver. 2020-12-16 Dominik Röttsches [sfnt] Register 'COLR' v1 API in driver (#59703). * include/freetype/internal/sfnt.h (TT_Get_Color_Glyph_Paint_Func, TT_Get_Paint_Layers_Func, TT_Get_Colorline_Stops_Func, TT_Get_Paint_Func): New function pointer types. (SFNT_Interface): Add them. (FT_DEFINE_SFNT_INTERFACE): Updated. * src/sfnt/sfdriver.c (PUT_COLOR_LAYERS_V1): New macro. (sfnt_interface): Add new function pointers. 2020-12-16 Dominik Röttsches [sfnt] Add 'COLR' v1 API to retrieve color layers (#59703). * src/sfnt/ttcolr.c (tt_face_get_paint_layers): New function to get the layers of a `PaintColrLayers` table in the font, using an `FT_LayerIterator` from an `FT_PaintColrLayers` object retrieved via `tt_face_get_paint`. * src/sfnt/ttcolr.h: Updated. 2020-12-16 Dominik Röttsches [sfnt] Add 'COLR' v1 API to iterate color stops (#59703). * src/sfnt/ttcolr.c (tt_face_get_colorline_stops): New function to return the current `FT_ColorStop` object from `FT_ColorStopIterator`. Also increment the iterator. * src/sfnt/ttcolr.h: Updated. 2020-12-16 Dominik Röttsches [sfnt] Add API to get actual paint from `FT_OpaquePaint` (#59703). * src/sfnt/ttcolr.c (tt_face_get_paint): New function to resolve an `FT_OpaquePaint` paint reference into an `FT_COLR_Paint` object of a certain format, which contains the detailed information stored in a paint of the respective format. (read_paint): New function to provide the format specific parsing and to populate the data members of each specific `FT_COLR_Paint` subtype. (read_color_line): New function to parse retrieved color line information into an `FT_ColorLine` object, which has information about the color line extend mode as well as an `FT_ColorStopIterator` object. * src/sfnt/ttcolr.h: Updated. 2020-12-16 Dominik Röttsches [sfnt] Add API to retrieve 'COLR' v1 root paint (#59703). * src/sfnt/ttcolr.c (BaseGlyphV1Record): New structure. (tt_face_load_colr): Handle version 1 table header. (find_base_glyph_v1_record): New auxiliary function. (tt_face_get_colr_glyph_paint): New function to find the root `FT_OpaquePaint` object for a given glyph ID. * src/sfnt/ttcolr.h: Updated. 2020-12-16 Dominik Röttsches Add new methods required for 'COLR' v1 to public API (#59703). * include/freetype/freetype.h (FT_Get_Color_Glyph_Paint): New method for retrieving the root paint object for a color glyph by specifying a glyph ID. (FT_Get_Paint_Layers): New method for retrieving the layers of a `PaintColorGlyph`. (FT_Get_ColorLine_Stops): New method for retrieving the stops of a color. (FT_Get_Paint): New method for resolving an `FT_OpaquePaint` into an `FT_COLR_Paint` object. 2020-12-16 Dominik Röttsches Add types required for 'COLR' v1 to public API (#59703). * include/freetype/freetype.h (FT_PaintFormat, FT_ColorStopIterator, FT_ColorIndex, FT_ColorStop, FT_PaintExtend, FT_ColorLine, FT_Affine23, FT_CompositeMode, FT_OpaquePaint, FT_PaintColrLayers, FT_PaintSolid, FT_PaintLinearGradient, FT_PaintRadialGradient, FT_PaintGlyph, FT_PaintColrGlyph, FT_PaintTransformed, FT_PaintTranslate, FT_PaintRotate, FT_PaintSkew, FT_PaintComposite, FT_COLR_Paint): Adding structs and enum to represent paint format, color stop information, gradient extend information, structs to reference paint offsets, and to define transforms and compositions. Adding a union type to represent the union of the structs, distinguished by `FT_PaintFormat`. 2021-01-10 Werner Lemberg * builds/*: s/BUILD_DIR/PLATFORM_DIR/. The old variable name caused confusion. 2021-01-08 Alexei Podtelezhnikov [builds] Revert `FTMODULE_H' changes. * builds/toplevel.mk, builds/freetype.mk: Revert changes. 2021-01-07 Alexei Podtelezhnikov [builds/windows] Fix up DLG build with VC++. * builds/windows/vc2010/script.bat: Copy headers to include/. * builds/windows/vc2010/freetype.vcxproj: Remove DLG paths. 2021-01-07 Alexei Podtelezhnikov [builds] Relocate `FTMODULE_H'. * builds/toplevel.mk: Place `FTMODULE_H' in include/. * builds/freetype.mk: Simplify included path. 2021-01-07 Werner Lemberg Fix ABI incompatibility. * include/freetype/ftimage.h (FT_Pixel_Mode): Don't insert `FT_PIXEL_MODE_GRAY16' but append it. * src/base/ftobjs.c (pixel_modes): Updated. 2021-01-07 Alexei Podtelezhnikov [dlg] Move the headers to include/dlg to simplify their use. * autogen.sh, builds/toplevel.mk: Copy headers to include/dlg. * builds/freetype.mk, builds/windows/vc2010/freetype.vcxproj: Simplify included path. * include/freetype/internal/ftdebug.h: Simplify #include. * src/dlg/rules.mk, .gitignore: Updated. 2021-01-06 Werner Lemberg * meson.build: Add summary. Based on a patch from Vincent Torri . 2021-01-06 Torsten Hilbrich * meson.build: Fix 'png' build option (#59458). Without this patch, 'png' is always required. 2021-01-04 Alexei Podtelezhnikov [builds/windows] Add SDF to VC2010 project. * builds/windows/vc2010/freetype.vcxproj: Updated; AfterBuild conveniences. 2020-12-26 Werner Lemberg [sdf] Use 'counter-clockwise', not 'anti-clockwise'. We prefer US nomenclature. * src/sdf/ftsdf.c (SDF_Contour_Orientation): s/SDF_ORIENTATION-ACW/SDF_ORIENTATION_CCW/. Update all users. 2020-12-26 Werner Lemberg * src/base/ftobjs.c (pixel_modes): Updated. 2020-12-26 Anuj Verma [sdf] Remove custom memory tracker. The internal FreeType memory tracker is sufficient. * src/sdf/ftsdf.c (FT_DEBUG_INNER, FT_ASSIGNP_INNER, SDF_MemoryUser, sdf_alloc, sdf_free, SDF_ALLOC, SDF_FREE, SDF_MEMORY_TRACKER_DECLARE, SDF_MEMORY_TRACKER_SETUP, SDF_MEMORY_TRACKER_DONE): Removed. s/SDF_ALLOC/FT_ALLOC/. s/SDF_FREE/FT_FREE/. Other updates. 2020-12-24 Werner Lemberg [sdf] Fix `make multi`. * src/sdf/ftsdf.c: Include `ftoutln.h`. 2020-12-24 Werner Lemberg [sdf] Fix tracing. * include/freetype/internal.fttrace.h: Add 'bsdf' component. * src/sdf/ftbsdf.c, src/sdf/ftsdf.c (FT_COMPONENT): Define. 2020-08-21 Anuj Verma [sdf] Add debugging function. * src/sdf/ftsdf.c (sdf_shape_dump): New function. 2020-08-20 Anuj Verma [sdf] Add 'bsdf' renderer to 'sdf' module. * src/sdf/ftsdfrend.c (ft_bsdf_render): New function. (ft_bitmap_sdf_renderer_class): New structure. 2020-08-20 Anuj Verma [sdf] Add interface functions for the 'bsdf' rasterizer. * src/sdf/ftsdf.c (bsdf_raster_new, bsdf_raster_reset, bsdf_raster_set_mode, bsdf_raster_render, bsdf_raster_done): New functions. (ft_bitmap_sdf_raster): New variable. * src/sdf/ftsdf.h: Updated. 2020-08-20 Anuj Verma [sdf] Add function to copy SDF data into output bitmap. * src/sdf/ftbsdf.c (finalize_sdf): New function. 2020-08-20 Anuj Verma [sdf] Add '8-point sequential Euclidean distance mapping' algorithm. * src/sdf/ftbsdf.c (compare_neighbor, first_pass, second_pass, edt8): New functions. 2020-08-20 Anuj Verma [sdf] Add function to copy source bitmap to distance map. * src/sdf/ftbsdf.c (bsdf_init_distance_map): New function. 2020-08-20 Anuj Verma [sdf] Add functions to compute pixel edge distances. * src/sdf/ftbsdf.c (compute_edge_distance, bsdf_approximate_edge): New functions. 2020-08-20 Anuj Verma [sdf] Add function to find edge pixels in a grid of alpha values. * src/sdf/ftbsdf.c (bsdf_is_edge): New function. 2020-08-20 Anuj Verma [sdf] Add essential structures for the 'bsdf' rasterizer. * src/sdf/ftbsdf.c (ONE): New macro. (BSDF_TRaster, ED, BSDF_Worker): New structures. (zero_ed): New constant. 2020-08-20 Anuj Verma [sdf] Add 'sdf' module to non-gnumake build systems. * include/freetype/config/ftmodule.h: Add both the 'sdf' and 'bsdf' renderers to the list of modules. * CMakeLists.txt (BASE_SRCS): Add 'sdf' single-object module. 2020-08-20 Anuj Verma [sdf] Added basic overlapping contour support. * src/sdf/ftsdf.c (sdf_generate_with_overlaps): New function. (sdf_raster_render): Enable it. 2020-08-19 Anuj Verma [sdf] Add build infrastructure. * src/sdf/module.mk, src/sdf/rules.mk: New files. * src/sdf/ftsdf.h (ft_sdf_raster): New forward declaration. * include/freetype/ftmoderr.h (FT_MODERRDEF): Add error definition for the 'sdf' module. * include/freetype/internal/fttrace.h (FT_TRACE_DEF): Add trace definition for the `sdf' module. * modules.cfg (RASTER_MODULES): Add the `sdf' module to the list of rasterizers. 2020-08-19 Anuj Verma [sdf] Add interface functions for the 'sdf' rasterizer. * src/sdf/ftsdf.c (sdf_raster_new, sdf_raster_reset, sdf_raster_set_mode, sdf_raster_render, sdf_raster_done): New functions. (ft_sdf_raster): New structure. 2020-08-19 Anuj Verma [sdf] Add subdivision and bounding box optimization. * src/sdf/ftsdf.c (sdf_generate_bounding_box): New function, which is an optimized version of `sdf_generate`. (sdf_generate_subdivision): New function. 2020-08-19 Anuj Verma [sdf] Add function to generate SDF. * src/sdf/ftsdf.c (sdf_generate): New function, currently disabled. This is a proof-of-concept implementation: It doesn't use any optimization, it simply checks all grid points against all contours. 2020-08-19 Anuj Verma [sdf] Add functions to get shortest distance from any edge/contour. * src/sdf/ftsdf.c (sdf_edge_get_min_distance): New function. (sdf_contour_get_min_distance): New function, currently disabled. 2020-08-18 Anuj Verma [sdf] Add shortest distance finding functions. * src/sdf/ftsdf.c (get_min_distance_line, get_min_distance_conic, get_min_distance_cubic): New functions. Note that `get_min_distance_conic` comes with two implementations (using an analytical and an iterative method, to be controlled with the `USE_NEWTON_FOR_CONIC` macro). 2020-08-18 Anuj Verma [sdf] Add function to resolve corner distances. * src/sdf/ftsdf.c (resolve_corner): New function. 2020-08-18 Anuj Verma [sdf] Add essential math functions. * src/sdf/ftsdf.c (cube_root, arc_cos) [!USE_NEWTON_FOR_CONIC]: New auxiliary functions. * src/sdf/ftsdf.c (solve_quadratic_equation, solve_cubic_equation) [!USE_NEWTON_FOR_CONIC]: New functions. 2020-08-18 Anuj Verma [sdf] Add utility functions for contours. * src/sdf/ftsdf.c (get_control_box, get_contour_orientation): New functions. (split_conic, split_cubic, split_sdf_conic, split_sdf_cubic, split_sdf_shape): New functions. 2020-08-17 Anuj Verma [sdf] Add functions to decompose `FT_Outline`. * src/sdf/ftsdf.c (sdf_move_to, sdf_line_to, sdf_conic_to, sdf_cubic_to): New auxiliary decomposition functions. (sdf_compose_funcs): New structure. (sdf_outline_decompose): New function. 2020-08-17 Anuj Verma [sdf] Structs, enums, macros, and functions for 'sdf' rasterizer. * src/sdf/ftsdf.c (FT_DEBUG_INNER, FT_ASSIGNP_INNER) [FT_DEBUG_LEVEL_TRACE && FT_DEBUG_MEMORY]: New macros. (SDF_MemoryUser) [FT_DEBUG_LEVEL_TRACE && FT_DEBUG_MEMORY]: New struct for memory usage tracing. (sdf_alloc, sdf_free) [FT_DEBUG_LEVEL_TRACE && FT_DEBUG_MEMORY]: New functions for memory usage tracing. (SDF_ALLOC, SDF_FREE): New macros for memory management. (SDF_MEMORY_TRACKER_DECLARE, SDF_MEMORY_TRACKER_SETUP, SDF_MEMORY_TRACKER_DONE): New macros to set up memory usage tracing. (USE_NEWTON_FOR_CONIC, MAX_NEWTON_DIVISIONS, MAX_NEWTON_STEPS, CORNER_CHECK_EPSILON, CG_DIMEN): New configuration macros for controlling the process of finding the shortest distance. (MUL_26D6, VEC_26D6_DOT): New auxiliary macros. (SDF_TRaster, SDF_Edge, SDF_Contour, SDF_Shape, SDF_Signed_Distance, SDF_Params): New structs for setting up SDF data. (SDF_Edge_Type, SDF_Contour_Orientation): New enums for SDF data. (zero_vector, null_edge, null_contour, null_shape, max_sdf): Useful constants. (sdf_edge_new, sdf_edge_done, sdf_contour_new, sdf_contour_done, sdf_shape_new, sdf_shape_done): New constructors and destructors. 2020-08-17 Anuj Verma [sdf] Add raster parameters structure. * src/sdf/ftsdf.h (SDF_Raster_Params): New structure. * src/sdf/sdf.c: Include source files in order to make a single object of the module. 2020-08-17 Anuj Verma [sdf] Add 'sdf' renderer. * src/sdf/ftsdf.c: Add 'sdf' renderer along with its interface functions. Also add functions to set and get properties. 2020-08-17 Anuj Verma [sdf] Add common elements for 'sdf' and 'bsdf' renderers. * src/sdf/ftsdfrend.h (SDF_Rendere_Module, ft_sdf_renderer_class, ft_bitmap_sdf_renderer_class): New structures. * src/sdf/ftsdfcommon.h (DEFAULT_SPREAD, MIN_SPREAD_MAX_SPREAD, USE_SQUARED_DISTANCES): New macros. (FT_INT_26D6, FT_INT_16D16, FT_26D6_16D16): New macros. (FT_CALL, VECTOR_LENGTH_16D16): New macros. (FT_26D6_Vec, FT_16D16_Vec, FT_16D16, FT_26D6, FT_6D10, FT_CBox): New typedefs. (square_root): New macro. * src/sdf/ftsdferrs.h: Add module error setup. 2020-08-16 Anuj Verma [sdf] Add files for new 'sdf' module. Here is a breakdown of what the files will contain. * src/sdf/ftsdfrend.c, src/sdf/ftsdfrend.h: The 'sdf' and 'bsdf' renderers. * src/sdf/ftsdf.c, src/sdf/ftsdf.h: The rasterizer for the 'sdf' renderer. * src/sdf/ftbsdf.c, src/sdf/ftbsdf.h: The rasterizer for the 'bsdf' renderer. * src/sdf/ftsdfcommon.h: Commmon properties and functions for both rasterizers. * src/sdf/ftsdferrs.h: Common error defines. * src/sdf/sdf.c: For building a single object of the entire module. 2020-08-16 Anuj Verma [base] Allow renderers of different formats. * src/base/ftobjs.c (FT_Render_Glyph_Internal): Do not return if the glyph's slot format is `FT_GLYPH_FORMAT_BITMAP`. The forthcoming 'bsdf' renderer will require bitmaps for processing. * src/base/ftobjs.c (ft_add_renderer, ft_remove_renderer): Remove renderer's glyph format check before adding and removing them. The 'bsdf' renderer will have a format `FT_GLYPH_FORMAT_BITMAP`. 2020-08-16 Anuj Verma Add data types required for the forthcoming 'sdf' module. * include/freetype/freetype.h (FT_Render_Mode): Add new render mode `FT_RENDER_MODE_SDF`, which will be used to generate SDF. * include/freetype/ftimage.h (FT_Pixel_Mode): Add new pixel mode `FT_PIXEL_MODE_GRAY16`, which will be the output of the 'sdf' module. (FT_RASTER_FLAG_SDF): New raster flag to be used internally by the 'sdf' module. * include/freetype/fttypes.h (FT_F6Dot10): New data type. 2020-08-16 Anuj Verma [base] Allow renderers of different formats. * src/base/ftobjs.c (FT_Render_Glyph_Internal): Do not return if the glyph's slot format is `FT_GLYPH_FORMAT_BITMAP`. The forthcoming 'bsdf' renderer will require bitmaps for processing. * src/base/ftobjs.c (ft_add_renderer, ft_remove_renderer): Remove renderer's glyph format check before adding and removing them. The 'bsdf' renderer will have a format `FT_GLYPH_FORMAT_BITMAP`. 2020-12-23 Werner Lemberg * builds/windows/detect.mk (COPY): Make it work with `shell`. Without this patch, we get the error builds/toplevel.mk:127: *** missing separator. Stop. Reported by Anuj, with a solution from Alexei. 2020-12-23 Ignacio Casal Quinteiro * meson.build (ft2_defines): Fix builds on Windows. 2020-12-18 Tatsuyuki Ishi [autofit] Fix double division in stem darkening. The old code used to divide the darkening amount by em_ratio twice, leading to unnecessarily bold stems on certain fonts with higher units per em (e.g. Inter). This patch fixes it. The return value of af_loader_compute_darkening was also changed to use 16.16 fixed point to get rid of a redundant truncation operation. This should slightly improve the precision, although it's still bottlenecked by the emboldening function, which uses 26.6 fixed point. * src/autofit/afloader.[ch] (af_loader_compute_darkening): Return FT_Fixed. (af_loader_embolden_glyph_in_slot): Revise calculations. 2020-12-17 Alexei Podtelezhnikov * include/freetype/ftmodapi.h (FT_FACE_DRIVER_NAME): New public macro. The driver name is needed for `FT_Property_Set' and `FT_Property_Get'. 2020-12-16 Chris Liddell [truetype] Fix incremental metrics (#59503). * src/truetype/ttgload.c (tt_get_metrics, load_truetype_glyph): Previously, the code would populate the phantom points before calling the `get_glyph_metrics` callback. For formats like PCL XL format 1, class 2 downloaded fonts (where metrics are removed from the TTF header), this causes problems when the hinting program uses the phantom points (misplaced and distorted glyphs) due to the metrics being unset (all zeros). (tt_get_metrics_incr_overrides): Renamed to... (tt_get_metrics_incremental): ... this. Updated caller * include/freetype/ftincrem.h: Update the documentation to make it clearer that `get_glyph_metrics` is to retrieve metrics from a non-standard source, but *not* for the purpose of imposing custom metrics. 2020-12-14 Werner Lemberg [type42] Pacify static analysis tools (#59682). * src/type42/t42objs.c (T42_Size_Init, T42_GlyphSlot_Init): Avoid warnings about uninitialized variables. 2020-12-07 Werner Lemberg * builds/unix/configure.raw: Don't set `FT_DEBUG_LOGGING`. All debug options are handled exclusively in `ftoption.h`. 2020-12-07 Werner Lemberg * src/*: More fixes for using a '\n' in `FT_TRACE` and `FT_ERROR`. 2020-12-07 Werner Lemberg */*: s/FT_LOGGING/FT_DEBUG_LOGGING/. 2020-12-05 Werner Lemberg * builds/toplevel.mk (do-dist): Remove `submodules` directory. 2020-12-02 Werner Lemberg * src/*: Don't use more than one '\n' in `FT_TRACE` and `FT_ERROR`. This ensures good logging output, with all lines having a proper prefix (if requested). 2020-12-02 Werner Lemberg [base] Don't close 'stderr' after logging. * src/base/ftdebug.c, builds/windows/ftdebug.c (ft_logging_deinit): Fix it. 2020-12-02 Werner Lemberg * submodules/dlg: Updated to commit 9f0c8b22. 2020-12-02 Werner Lemberg * src/bdf/bdflib.c: Fix `-Wformat` warning. 2020-12-02 Werner Lemberg Improve setup for 'dlg' library. * autogen.sh (copy_submodule_file), builds/toplevel.mk: Redirect stderr to `/dev/null`. * builds/toplevel.mk: Move code block to handle 'dlg' stuff into `check_platform` conditional. Also fix wildcard expressions for guarding `git submodule` commands. Also make file copying work with non-Unix platforms (untested). 2020-12-01 Werner Lemberg [build] Use gcc (and clang) in C99 mode. Other compilers are unchanged. * builds/compiler/gcc-dev.mk, builds/compiler/gcc.mk (ANSIFLAGS): s/-ansi/-std=c99/. * builds/freetype.mk (FT_CFLAGS): Remove `-std=c99`. * builds/unix/configure.raw: Handle C99. Remove no longer needed test for gcc 4.6 and earlier. 2020-12-01 Werner Lemberg [dlg] Fix compiler warnings. * src/dlg/dlgwrap.c: Duplicate some feature test macros from `dlg.c`, which must come first before loading standard headers. For example, `freetype.h` loads `stdio.h` if compiled in debug mode. 2020-12-01 Werner Lemberg * src/type42/t42parse.c: Fix `-Wformat` warnings. 2020-12-01 Priyesh Kumar [builds/unix] Check for 'pthread' library. * builds/unix/ax_pthread.m4: New file, taken from 'autoconf-archive' git repository. * builds/unix/configure.raw: Check for 'pthread'; also check whether it works. 2020-12-01 Werner Lemberg [base] Implement vertical alignment of log printing. Based on a patch by Priyesh. * include/freetype/internal/fttrace.h (FT_MAX_TRACE_LEVEL_LENGTH): New macro. * src/base/ftdebug.c, builds/windows/ftdebug.c (ft_log_handler): Print logs after a fixed width to handle different lengths of `FT_COMPONENT` entries. Use `ft_strrchr` to check for final newline character. 2020-11-30 Priyesh Kumar Update logging related documentation. * docs/DEBUG: Updates related to `FT_LOGGING`. * README.git: Updates related to logging. 2020-11-30 Priyesh Kumar * src/*: Fix `-Wformat` warnings. 2020-11-30 Priyesh Kumar [builds/windows] Changes to build 'dlg' with FreeType on Windows. We only support Visual C++ 2010 and newer. * builds/windows/vc2010/script.bat: New windows batch file to copy necessary 'dlg' files from `submodules/dlg` to `src/dlg`. This file is used as a pre-built event in Visual C++. * builds/windows/ftdebug.c: Synchronize with `src/base/ftdebug.c`. * builds/windows/vc2010/freetype.vcxproj.filters: Add `src/dlgwrap.c`. * builds/windows/vc2010/freetype.vcxproj (AdditionalIncludeDirectories): Add include files of dlg for 'Debug' and 'Debug Static' configurations on both 'x64' and 'win32' platforms. (PreprocessorDefinitions): Add `FT_LOGGING` for 'Debug' and 'Debug Static' configurations on both 'x64' and 'win32' platforms. Add `DLG_STATIC' for 'Debug' configuration on 'x64' and 'win32' platforms. (DisableLanguageExtensions): We need to disable the `/Za` option when building 'dlg' with FreeType as 'dlg' strictly follows the C99 standard. Visual C++ produces behaves unexpectedly when compiling a C99 file with `/Za` option enabled. 2020-11-30 Priyesh Kumar [base] Add public API to change log handling function. * include/freetype/ftlogging.h (FT_Custom_Log_Handler): New function typedef to store the custom callback logging function. (FT_Set_Log_Handler, FT_Set_Default_Log_Handler): New functions to set and reset custom log handler. * include/freetype/internal/ftdebug.h (custom_output_handler): New variable to support a custom callback logging function. (FT_Logging_Callback): A new function typedef to print log using custom callback logging function, which is set using `FT_Set_Log_Handler`. (FT_Log): Use it. * src/base/ftdebug.c (FT_Set_Log_Handler, FT_Set_Default_Log_Handler, FT_Logging_Callback): Add function definitions. 2020-11-28 Priyesh Kumar [base] Add public API to change the levels of tracing components. * include/freetype/ftlogging.h: New header file. * include/freetype/internal/ftdebug.h [FT_LOGGING]: Include `ftlogging.h`. * src/base/ftdebug.c (ft_custom_trace_level): New variable. (ft_debug_init): Update to support change of levels of tracing components of FreeType at run-time. (FT_Trace_Set_Level): New function to change the levels of tracing components at run-time. (FT_Trace_Set_Default_Level): New function to reset the levels of tracing components back to default. 2020-11-28 Priyesh Kumar [base] Updates to print timestamp and name of `FT_COMPONENT` in logs. * include/freetype/internal/ftdebug.h (FT_LOGGING_TAG, FT_LOGGING_TAG_): New macros to resolve the value of `FT_COMPONENT' into a string. (ft_add_tag, ft_remove_tag): New functions to add and remove dlg tags. * src/base/ftdebug.c: Add new variables to control the logging of timestamp and name of `FT_COMPONENT` along with actual logs. (ft_add_tag, ft_remove_tag): Add function definitions. (ft_log_handler): Updates to print timestamp and name of `FT_COMPONENT`. (ft_debug_init) [FT_LOGGING]: Users can now control the logging of timestamp and name of `FT_COMPONENT` by adding tags in the `FT2_DEBUG` environment variable. 2020-11-27 Priyesh Kumar [base] Add functions and variables to print logs to a file. * include/freetype/internal/ftdebug.h: Added dlg's header files. (FT_LOG): New macro to redirect trace logs to dlg's API's whenever `FT_LOGGING' is defined. (ft_logging_init, ft_logging_deinit): New functions to handle initialization and uninitialization of logging related variables. (ft_log_handler): New function to handle logs of FreeType. * src/base/ftdebug.c: Add necessary logging related variables. (ft_logging_init, ft_logging_deinit, ft_log_handler): Add function definitions. * src/base/ftinit.c (FT_Init_FreeType) [FT_LOGGING]: Call `ft_logging_init`. (FT_Done_FreeType) [FT_LOGGING]: Call `ft_logging_deinit`. * src/base/ftobjs.c (FT_New_Library): Call `ft_debug_init` only if `FT_LOGGING` is not defined. 2020-11-27 Priyesh Kumar [builds] Necessary changes to make 'dlg' compile. * autogen.sh (copy_submodule_files): New script to copy all the necessary source and include files from `submodules/dlg` to `src/dlg`. * src/dlg/dlgwrap.c: New wrapper file for `src/dlg.c`. It enables the build of 'dlg' if the `FT_LOGGING` macro is defined. * src/dlg/rules.mk: New sub-Makefile. * builds/freetype.mk (DLG_DIR): New variable to include the header files of the 'dlg' library. (INCLUDES): Add `DLG_DIR`. (FT_CFLAGS): Add `-std=c99' flag. Include `src/dlg/rules.mk` file to build 'dlg' library. (OBJ_S, OBJ_M): Add `DLG_OBJS_M` and `DLG_OBJS_S`. * builds/toplevel.mk: For builds directly from the git repository we need to copy files from `submodule/dlg` to `src/dlg`. * include/freetype/config/ftoption.h, devel/ftoption.h (FT_LOGGING): New macro to enable or disable the logging facility in FreeType. 2020-11-27 Priyesh Kumar * .gitmodules: Add 'dlg' library's git repository as submodule. 2020-12-01 Werner Lemberg * src/tools/chktrcmp.py (trace_use_pat): Update to current use. 2020-11-20 Alexei Podtelezhnikov [cff,cid,type1] Demote old engine for lack of CFF2. * src/cff/cffobjs.c (cff_driver_init): Always default to Adobe engine. * src/cid/cidobjs.c (cid_driver_init): Ditto. * src/type1/t1objs.c (T1_Driver_Init): Ditto. 2020-11-09 Werner Lemberg * src/type42/t42parse.c (t42_parse_sfnts): More tracing messages. 2020-11-04 Werner Lemberg * meson.build: Fix .pc file generation. For backwards compatibility we need the libtool version, not the .so number. Reported by Nikolaus. 2020-10-28 Werner Lemberg [truetype] Minor update to forthcoming OpenType 1.8.4 standard. * src/truetype/ttgxvar.c (ft_var_load_item_variation_store): Limit size of `regionCount`. 2020-10-26 Werner Lemberg * meson.build: Fix 'harfbuzz' and 'brotli' build options (#59347). Without this patch, 'harfbuzz' and 'brotli' are always required. Patch submitted anonymously in Savannah bug report. 2020-10-23 Ben Wagner * src/sfnt/pngshim.c (Load_SBit_Png): Fix memory leak (#59322). The issue is that `rows` is allocated but will not be freed in the event that the call to `png_read_image` fails and calls `longjmp`. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.71 2021/10/26 10:46:08 nia Exp $ d3 3 a5 3 BLAKE2s (freetype-2.11.1.tar.xz) = 86ac5455d54c72720ddfff32ad112795d8e495feca27187af4789741829f0e73 SHA512 (freetype-2.11.1.tar.xz) = 0848678482fbe20603a866f02da82c91122014d6f815ba4f1d9c03601c32e3ceb781f721c2b4427b6117d7c9742018af8dbb26566faf018595c70b50f8db3f08 Size (freetype-2.11.1.tar.xz) = 2270728 bytes d7 1 a7 1 SHA1 (patch-builds_unix_unix-cc.in) = 24f2842f3c6bab662d870917af3d77d663c50f77 @ 1.71 log @graphics: Replace RMD160 checksums with BLAKE2s checksums All checksums have been double-checked against existing RMD160 and SHA512 hashes @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.70 2021/10/07 14:12:10 nia Exp $ d3 3 a5 3 BLAKE2s (freetype-2.10.4.tar.xz) = 6743345b5d9adce28336431b7c3c6a0b72fcd3157fe14b649dd5fcf663c375a2 SHA512 (freetype-2.10.4.tar.xz) = 827cda734aa6b537a8bcb247549b72bc1e082a5b32ab8d3cccb7cc26d5f6ee087c19ce34544fa388a1eb4ecaf97600dbabc3e10e950f2ba692617fee7081518f Size (freetype-2.10.4.tar.xz) = 2416620 bytes @ 1.70 log @graphics: Remove SHA1 hashes for distfiles @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.69 2020/10/21 08:26:08 adam Exp $ d3 1 a3 1 RMD160 (freetype-2.10.4.tar.xz) = daf8f00c3698b480c9beb8ce8059f30d98644c14 @ 1.69 log @freetype2: updated to 2.10.4 FreeType 2.10.4 This is an emergency release, fixing a severe vulnerability in embedded PNG bitmap handling (see here for more). All users should update immediately. FreeType 2.10.3 This is a maintenance release, having better support for TrueType glyphs with overlapping contours. See the list of changes for more details. A warning for distribution maintainers: Version 2.10.3 and later may break the build of ghostscript, due to ghostscript's use of a withdrawn macro that wasn't intended for external usage. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.68 2020/06/03 08:40:21 adam Exp $ a2 1 SHA1 (freetype-2.10.4.tar.xz) = 0181862673f7216ad2b5074f95fc131209e30b27 @ 1.68 log @freetype2: updated to 2.10.2 CHANGES BETWEEN 2.10.1 and 2.10.2 I. IMPORTANT CHANGES - Support of WOFF2 fonts. This code contribution was Nikhil Ramakrishnan's GSoC 2019 project. II. MISCELLANEOUS - Function `FT_Get_Var_Axis_Flags' returned random data for Type 1 MM fonts. - Type 1 fonts with non-integer metrics are now supported by the new (CFF) engine introduced in FreeType 2.9. - Drop support for Python 2 in Freetype's API reference generator `docwriter' (Python >= 3.5 is required for targets `make refdoc' and `make refdoc-venv'). - Auto-hinter support for Hanifi Rohingya. - Document the `FT2_KEEP_ALIVE' debugging environment variable. - The Visual C++ (and Visual C) project files for Windows builds no longer generate libraries that contain the FreeType version in its filenames. Instead, a resource file gets used to make the libraries contain the corresponding information. - The next release will remove Jam build support. - The `ftbench' demo program has a new test for testing the `FT_Glyph_Stroke' functionality. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.67 2019/08/03 08:31:25 adam Exp $ d3 4 a6 4 SHA1 (freetype-2.10.2.tar.xz) = b074d5c34dc0e3cc150be6e7aa6b07c9ec4ed875 RMD160 (freetype-2.10.2.tar.xz) = 24422bafc6753ae0579a9deaf3ddde0abf3f31b7 SHA512 (freetype-2.10.2.tar.xz) = cf45089bd8893d7de2cdcb59d91bbb300e13dd0f0a9ef80ed697464ba7aeaf46a5a81b82b59638e6b21691754d8f300f23e1f0d11683604541d77f0f581affaa Size (freetype-2.10.2.tar.xz) = 2404456 bytes @ 1.68.4.1 log @Pullup ticket #6346 - requested by maya graphics/freetype2: security update Revisions pulled up: - graphics/freetype2/Makefile 1.121 - graphics/freetype2/PLIST 1.29 - graphics/freetype2/distinfo 1.69 ------------------------------------------------------------------- Module Name: pkgsrc Committed By: adam Date: Wed Oct 21 08:26:08 UTC 2020 Modified Files: pkgsrc/graphics/freetype2: Makefile PLIST distinfo Log Message: freetype2: updated to 2.10.4 FreeType 2.10.4 This is an emergency release, fixing a severe vulnerability in embedded PNG bitmap handling (see here for more). All users should update immediately. FreeType 2.10.3 This is a maintenance release, having better support for TrueType glyphs with overlapping contours. See the list of changes for more details. A warning for distribution maintainers: Version 2.10.3 and later may break the build of ghostscript, due to ghostscript's use of a withdrawn macro that wasn't intended for external usage. To generate a diff of this commit: cvs rdiff -u -r1.120 -r1.121 pkgsrc/graphics/freetype2/Makefile cvs rdiff -u -r1.28 -r1.29 pkgsrc/graphics/freetype2/PLIST cvs rdiff -u -r1.68 -r1.69 pkgsrc/graphics/freetype2/distinfo @ text @d1 1 a1 1 $NetBSD$ d3 4 a6 4 SHA1 (freetype-2.10.4.tar.xz) = 0181862673f7216ad2b5074f95fc131209e30b27 RMD160 (freetype-2.10.4.tar.xz) = daf8f00c3698b480c9beb8ce8059f30d98644c14 SHA512 (freetype-2.10.4.tar.xz) = 827cda734aa6b537a8bcb247549b72bc1e082a5b32ab8d3cccb7cc26d5f6ee087c19ce34544fa388a1eb4ecaf97600dbabc3e10e950f2ba692617fee7081518f Size (freetype-2.10.4.tar.xz) = 2416620 bytes @ 1.67 log @freetype2: updated to 2.10.1 FreeType 2.10.1 A new maintenance release, fixing bytecode hinting of OpenType variation fonts and cmap processing of PCF fonts, among other things. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.66 2019/04/02 07:17:17 adam Exp $ d3 4 a6 4 SHA1 (freetype-2.10.1.tar.xz) = 79874ef4eaa52025126b71d836453b8279bdd331 RMD160 (freetype-2.10.1.tar.xz) = 9f4d8caf9396995b81658c2534d4dce17b48a733 SHA512 (freetype-2.10.1.tar.xz) = c7a565b0ab3dce81927008a6965d5c7540f0dc973fcefdc1677c2e65add8668b4701c2958d25593cb41f706f4488765365d40b93da71dbfa72907394f28b2650 Size (freetype-2.10.1.tar.xz) = 2378784 bytes d8 1 a8 1 SHA1 (patch-builds_unix_unix-cc.in) = 39e5a3defda9e330b36f56e47a9a27c39eacddae @ 1.66 log @freetype2: updated to 2.10.0 FreeType 2.10.0 This release brings one notable feature, namely support for color-layered outline glyphs (for example, scalable emoji glyphs). Additionally, the API reference has been completely overhauled and modernized, as already announced. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.65 2018/05/04 08:40:11 adam Exp $ d3 4 a6 4 SHA1 (freetype-2.10.0.tar.bz2) = f6abf03e0e3189a0de883981c57d3861b5d314f5 RMD160 (freetype-2.10.0.tar.bz2) = 502cb1d6c0e778fdbc2498d086ab3c1120dd3d5b SHA512 (freetype-2.10.0.tar.bz2) = dfad66f419ea9577f09932e0730c0c887bdcbdbc8152fa7477a0c39d69a5b68476761deed6864ddcc5cf18d100a7a3f728049768e24afcb04b1a74b25b6acf7e Size (freetype-2.10.0.tar.bz2) = 2743740 bytes @ 1.65 log @freetype2: updated to 2.9.1 CHANGES BETWEEN 2.9 and 2.9.1 I. IMPORTANT BUG FIXES - Type 1 fonts containing flex features were not rendered correctly (bug introduced in version 2.9). - CVE-2018-6942: Older FreeType versions can crash with certain malformed variation fonts. http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-6942 II. MISCELLANEOUS - Bug fix: Multiple calls to `FT_Get_MM_Var' returned garbage. - The base extensions `ftlcdfil' and `ftfntfmt' are now part of the base module (and thus no longer configurable in file `modules.cfg'). - Emboldening of bitmaps didn't work correctly sometimes, showing various artifacts (bug introduced in version 2.8.1). - Use of the `freetype-config' script to get compilation and linking options is deprecated since it doesn't support cross-compiling, among other deficiencies. Instead, you should use the `pkg-config' interface. The `configure' script no longer installs `freetype-config' by default. For backwards compatibility, a new configure option `--enable-freetype-config' is provided that reverts this decision. - The auto-hinter script ranges have been updated for Unicode 11. No support for new scripts have been added, however, with the exception of Georgian Mtavruli. - Support for cmake has been improved. - The next release will remove support for Position Independent Code as needed by systems that prohibit automatic address fixups, such as BREW. [Compilation with modern compilers that use flags like `-fPIC' or `-fPIE' is not affected.] @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.64 2018/01/18 09:49:24 adam Exp $ d3 4 a6 4 SHA1 (freetype-2.9.1.tar.bz2) = 220c82062171c513e4017c523d196933c9de4a7d RMD160 (freetype-2.9.1.tar.bz2) = c01d82acf7062b07146f61f43a8d17d5805b9471 SHA512 (freetype-2.9.1.tar.bz2) = 856766e1f3f4c7dc8afb2b5ee991138c8b642c6a6e5e007cd2bc04ae58bde827f082557cf41bf541d97e8485f7fd064d10390d1ee597f19d1daed6c152e27708 Size (freetype-2.9.1.tar.bz2) = 1926385 bytes @ 1.64 log @freetype2: updated to 2.9 FreeType 2.9 FreeType version 2.9, the first release of a new ‘minor’ series, is now available for download. The main reason for starting a new series is Ewald Hew's GSoC contribution of making Adobe's CFF engine handle Type 1 fonts also, greatly improving the rendering quality of this ancient but still important font format. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.63 2017/09/18 16:54:06 adam Exp $ d3 4 a6 4 SHA1 (freetype-2.9.tar.bz2) = 94c4399b1a55c5892812e732843fcb4a7c2fe657 RMD160 (freetype-2.9.tar.bz2) = 529bf461888f7ba8f765d8c330463442c9e10181 SHA512 (freetype-2.9.tar.bz2) = 28465f3453baf9a187529432118389de8f1b85273c9fb787d2c8f0feee8ab64b387ddd936b4e67ec58dcf71e33884e7e25f01169b737824221ab143839a9161a Size (freetype-2.9.tar.bz2) = 1915013 bytes d8 1 a8 1 SHA1 (patch-builds_unix_unix-cc.in) = bd911998ec6bf6a59c1bfad9cc5702310ad5efc5 @ 1.63 log @freetype2: update to 2.8.1 FreeType 2.8.1 has been released. This is mainly a maintenance release with one important change: By default, FreeType now offers high quality LCD-optimized output without resorting to ClearType techniques of resolution tripling and filtering. In this method, called Harmony, each color channel is generated separately after shifting the glyph outline, capitalizing on the fact that the color grids on LCD panels are shifted by a third of a pixel. This output is indistinguishable from ClearType with a light 3-tap filter. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.62 2017/05/14 11:02:15 spz Exp $ d3 4 a6 4 SHA1 (freetype-2.8.1.tar.bz2) = 417bb3747c4ac95b6f2652024a53fad45581fa1c RMD160 (freetype-2.8.1.tar.bz2) = 4b31c73b38d1f03c431b12408f800569e0724cc4 SHA512 (freetype-2.8.1.tar.bz2) = ca59e47f0fceeeb9b8032be2671072604d0c79094675df24187829c05e99757d0a48a0f8062d4d688e056f783aa8f6090d732ad116562e94784fccf1339eb823 Size (freetype-2.8.1.tar.bz2) = 1886443 bytes @ 1.62 log @Update from 2.7.1 to 2.8: 3 API additions, no deletions, no changes fixes CVE-2017-7857 CVE-2017-7858 CVE-2017-7864 CVE-2017-8105 CVE-2017-8287 Upstream change announcement: I. IMPORTANT CHANGES - Support for OpenType Variation Fonts is now complete. The last missing part was handling the `VVAR' and `MVAR' tables, which is available with this release. - A new function `FT_Face_Properties' allows the control of some module and library properties per font. Currently, the following properties can be handled: stem darkening, LCD filter weights, and the random seed for the `random' CFF operator. - The PCF change to show more `colourful' family names (introduced in version 2.7.1) was too radical; it can now be configured with PCF_CONFIG_OPTION_LONG_FAMILY_NAMES at compile time. If activated, it can be switched off at run time with the new pcf property `no-long-family-names'. If the `FREETYPE_PROPERTIES' environment variable is available, you can say FREETYPE_PROPERTIES=pcf:no-long-family-names=1 - Support for the following scripts has been added to the auto-hinter. Adlam, Avestan, Bamum, Buhid, Carian, Chakma, Coptic, Cypriot, Deseret, Glagolitic, Gothic, Kayah, Lisu, N'Ko, Ol Chiki, Old Turkic, Osage, Osmanya, Saurashtra, Shavian, Sundanese, Tai Viet, Tifinagh, Unified Canadian Syllabics, Vai II. IMPORTANT BUG FIXES - `Light' auto-hinting mode no longer uses TrueType metrics for TrueType fonts. This bug was introduced in version 2.4.6, causing horizontal scaling also. Almost all GNU/Linux distributions (with Fedora as a notable exception) disabled the corresponding patch for good reasons; chances are thus high that you won't notice a difference. If optical backward compatibility for legacy applications is necessary, you might enable the AF_CONFIG_OPTION_TT_SIZE_METRICS configuration option. However, it is strongly recommended to avoid that, adjusting font sizes instead. - If a TrueType font gets loaded with FT_LOAD_NO_HINTING, FreeType now scales the font linearly again (bug introduced in version 2.4.6). - CVE-2017-8105, CVE-2017-8287: Older FreeType versions have out-of-bounds writes caused by heap-based buffer overflows related to Type 1 fonts. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-8105 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-8287 III. MISCELLANEOUS - A new function `FT_Set_Default_Properties' has been added to parse the `FREETYPE_PROPERTIES' environment variable (previously, it was internal only). `FT_Init_FreeType' always call this function, but `FT_New_Library' does not (similar to `FT_Add_Default_Modules'). - To be in sync with OpenType version 1.7 and newer, macros FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY, FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY, TT_NAME_ID_PREFERRED_FAMILY TT_NAME_ID_PREFERRED_SUBFAMILY are renamed to FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_FAMILY, FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_SUBFAMILY, TT_NAME_ID_TYPOGRAPHIC_FAMILY TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY The old macro names are deprecated (but still available). - Support for SFNT `name' tables has been improved. . Format 1 `name' tables are now supported. Use new function `FT_Get_Sfnt_LangTag' to access associated language tags. . Language, encoding, and name IDs have been updated to OpenType version 1.8.1. - The new CFF engine now handles the `random' operator. All CFF opcodes are now supported. - The CFF module has a new property `random-seed' to control the pseudo-random number generation for the `random' operator. - The `freetype-config' script is now a wrapper of `pkg-config' if this program is available in the path. - FT_LOAD_TARGET_LCD is now a variant of FT_LOAD_TARGET_LIGHT; this should provide better rendering results. - A mode to display light auto-hinting with sub-pixel positioning has been added to `ftdiff'. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.61 2017/01/16 13:11:46 adam Exp $ d3 6 a8 5 SHA1 (freetype-2.8.tar.bz2) = 42c6b1f733fe13a3eba135f5025b22cb68450f91 RMD160 (freetype-2.8.tar.bz2) = 518184d2be032b9807345367265cc7cd49df0da5 SHA512 (freetype-2.8.tar.bz2) = 3842c34bf6100a8c9b78258146b2ff35e9bb4c993937d3ef09982c1e2552dfd15f8849ddd8a1e84edf08b5a5fb918b68cf7b1584545c5900e22a00bfa1c89ff5 Size (freetype-2.8.tar.bz2) = 1873526 bytes SHA1 (patch-ab) = 7b79dd02d8b1ad516011cd5e178e079895ce16d3 @ 1.61 log @FreeType 2.7.1 has been released. The most important news is preliminary support of Adobe's new CFF2 font format and variation fonts as specified in the new OpenType specification version 1.8. It also fixes the handling of raw CID fonts (which might be found in PDF files) @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.60 2016/09/12 18:06:44 wiz Exp $ d3 5 a7 5 SHA1 (freetype-2.7.1.tar.bz2) = 4d08a9a6567c6332d58e9a5f9a7e9e3fbce66789 RMD160 (freetype-2.7.1.tar.bz2) = fbf9c204446af1c8f829f05bcde5660a627c3c5c SHA512 (freetype-2.7.1.tar.bz2) = df39e2ef55f9090a66fecb6b5e9a5d296a043ddfd919d0ce3d7ea5132aa388bfbbeeaa6d6df6513956134b987e1c3a5eac6975c0c9631213af77457a623b49da Size (freetype-2.7.1.tar.bz2) = 1825107 bytes SHA1 (patch-ab) = 5c6998020bda378828035bafe5dfcca6f9cd8fca @ 1.61.2.1 log @Pullup ticket #5439 - requested by sevan graphics/freetype2: security fix Revisions pulled up: - graphics/freetype2/Makefile 1.111 - graphics/freetype2/PLIST 1.24 - graphics/freetype2/distinfo 1.62 - graphics/freetype2/patches/patch-ab 1.19 --- Module Name: pkgsrc Committed By: spz Date: Sun May 14 11:02:15 UTC 2017 Modified Files: pkgsrc/graphics/freetype2: Makefile PLIST distinfo pkgsrc/graphics/freetype2/patches: patch-ab Log Message: Update from 2.7.1 to 2.8: 3 API additions, no deletions, no changes fixes CVE-2017-7857 CVE-2017-7858 CVE-2017-7864 CVE-2017-8105 CVE-2017-8287 Upstream change announcement: I. IMPORTANT CHANGES - Support for OpenType Variation Fonts is now complete. The last missing part was handling the `VVAR' and `MVAR' tables, which is available with this release. - A new function `FT_Face_Properties' allows the control of some module and library properties per font. Currently, the following properties can be handled: stem darkening, LCD filter weights, and the random seed for the `random' CFF operator. - The PCF change to show more `colourful' family names (introduced in version 2.7.1) was too radical; it can now be configured with PCF_CONFIG_OPTION_LONG_FAMILY_NAMES at compile time. If activated, it can be switched off at run time with the new pcf property `no-long-family-names'. If the `FREETYPE_PROPERTIES' environment variable is available, you can say FREETYPE_PROPERTIES=pcf:no-long-family-names=1 - Support for the following scripts has been added to the auto-hinter. Adlam, Avestan, Bamum, Buhid, Carian, Chakma, Coptic, Cypriot, Deseret, Glagolitic, Gothic, Kayah, Lisu, N'Ko, Ol Chiki, Old Turkic, Osage, Osmanya, Saurashtra, Shavian, Sundanese, Tai Viet, Tifinagh, Unified Canadian Syllabics, Vai II. IMPORTANT BUG FIXES - `Light' auto-hinting mode no longer uses TrueType metrics for TrueType fonts. This bug was introduced in version 2.4.6, causing horizontal scaling also. Almost all GNU/Linux distributions (with Fedora as a notable exception) disabled the corresponding patch for good reasons; chances are thus high that you won't notice a difference. If optical backward compatibility for legacy applications is necessary, you might enable the AF_CONFIG_OPTION_TT_SIZE_METRICS configuration option. However, it is strongly recommended to avoid that, adjusting font sizes instead. - If a TrueType font gets loaded with FT_LOAD_NO_HINTING, FreeType now scales the font linearly again (bug introduced in version 2.4.6). - CVE-2017-8105, CVE-2017-8287: Older FreeType versions have out-of-bounds writes caused by heap-based buffer overflows related to Type 1 fonts. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-8105 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-8287 III. MISCELLANEOUS - A new function `FT_Set_Default_Properties' has been added to parse the `FREETYPE_PROPERTIES' environment variable (previously, it was internal only). `FT_Init_FreeType' always call this function, but `FT_New_Library' does not (similar to `FT_Add_Default_Modules'). - To be in sync with OpenType version 1.7 and newer, macros FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY, FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY, TT_NAME_ID_PREFERRED_FAMILY TT_NAME_ID_PREFERRED_SUBFAMILY are renamed to FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_FAMILY, FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_SUBFAMILY, TT_NAME_ID_TYPOGRAPHIC_FAMILY TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY The old macro names are deprecated (but still available). - Support for SFNT `name' tables has been improved. . Format 1 `name' tables are now supported. Use new function `FT_Get_Sfnt_LangTag' to access associated language tags. . Language, encoding, and name IDs have been updated to OpenType version 1.8.1. - The new CFF engine now handles the `random' operator. All CFF opcodes are now supported. - The CFF module has a new property `random-seed' to control the pseudo-random number generation for the `random' operator. - The `freetype-config' script is now a wrapper of `pkg-config' if this program is available in the path. - FT_LOAD_TARGET_LCD is now a variant of FT_LOAD_TARGET_LIGHT; this should provide better rendering results. - A mode to display light auto-hinting with sub-pixel positioning has been added to `ftdiff'. @ text @d1 1 a1 1 $NetBSD$ d3 5 a7 5 SHA1 (freetype-2.8.tar.bz2) = 42c6b1f733fe13a3eba135f5025b22cb68450f91 RMD160 (freetype-2.8.tar.bz2) = 518184d2be032b9807345367265cc7cd49df0da5 SHA512 (freetype-2.8.tar.bz2) = 3842c34bf6100a8c9b78258146b2ff35e9bb4c993937d3ef09982c1e2552dfd15f8849ddd8a1e84edf08b5a5fb918b68cf7b1584545c5900e22a00bfa1c89ff5 Size (freetype-2.8.tar.bz2) = 1873526 bytes SHA1 (patch-ab) = 7b79dd02d8b1ad516011cd5e178e079895ce16d3 @ 1.60 log @Updated freetype2 to 2.7. Remove subpixel option which is now on by default. CHANGES BETWEEN 2.6.5 and 2.7 I. IMPORTANT CHANGES - As announced earlier, the 2.7.x series now uses the new subpixel hinting mode as the default, emulating a modern version of ClearType. This change inevitably leads to different rendering results, and you might change the `TT_CONFIG_OPTION_SUBPIXEL_HINTING' configuration option to adapt it to your taste (or use the new `FREETYPE_PROPERTIES' environment variable). See the corresponding entry below for version 2.6.4, which gives more information. - A new option `FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES' has been introduced. If set (which is the default), an environment variable `FREETYPE_PROPERTIES' can be used to control driver properties. Example: FREETYPE_PROPERTIES=truetype:interpreter-version=35 \ cff:no-stem-darkening=1 \ autofitter:warping=1 This allows to select, say, the subpixel hinting mode at runtime for a given application. See file `ftoption.h' for more. II. IMPORTANT BUG FIXES - After loading a named instance of a GX variation font, the `face_index' value in the returned `FT_Face' structure now correctly holds the named instance index in the upper 16bits as documented. III. MISCELLANEOUS - A new macro `FT_IS_NAMED_INSTANCE' to test whether a given face is a named instance. - More fixes to GX font handling. - Apple's `GETVARIATION' bytecode operator (needed for GX variation font support) has been implemented. - Another round of fuzzer fixes, mainly to reject invalid fonts faster. - Handling of raw CID fonts was broken (bug introduced in version 2.6.4). - The smooth rasterizer has been streamlined to make it faster by approx. 20%. - The `ftgrid' demo program now understands command line option `-d' to give start-up design coordinates. - The `ftdump' demo program has a new command line option `-p' to dump TrueType bytecode instructions. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.59 2016/07/22 10:30:11 adam Exp $ d3 4 a6 4 SHA1 (freetype-2.7.tar.bz2) = f251029d5ab542a96dd4531605fe577185077560 RMD160 (freetype-2.7.tar.bz2) = 5a175dceeb4454f87d79fcbd5719f3fed837abeb SHA512 (freetype-2.7.tar.bz2) = cd5bcde276d6d59379d9c60a90095be59b0692ec8fd2817aa44ff80ebb84840e8a72be2cfbbbcf7e13258026fa691f28c2673f03c3a3961a859900e61a62d761 Size (freetype-2.7.tar.bz2) = 1789896 bytes @ 1.59 log @FreeType 2.6.5 This release is almost identical to the previous version, with two differences. * It compiles again on Mac OS X, and * it reverts the activation of subpixel hinting by default; it will be enabled by default in the forthcoming 2.7.x series. Main reason for reverting this feature is the principle of least surprise: a sudden change in appearance of all fonts (even if the rendering improves for almost all recent fonts) should not be expected in a new micro version of a series. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.58 2016/07/09 12:23:16 adam Exp $ d3 4 a6 4 SHA1 (freetype-2.6.5.tar.bz2) = 5db38ae2308c5a2c519c8e071e98b70d61585201 RMD160 (freetype-2.6.5.tar.bz2) = aa7a75433ed1e54b1904a8c57d924ba45d7ff47e SHA512 (freetype-2.6.5.tar.bz2) = d60f057e12992b4dccd7d5e232bda5c344e6ed0d74362032fbbc52526bac42d600fe0aa04c6442a9502a27a88f5d5155fb42e723531127400ccfce0d1911487f Size (freetype-2.6.5.tar.bz2) = 1779603 bytes @ 1.58 log @Changes 2.6.4: FreeType 2.6.4 has been released. The most important change is a new bytecode hinting mode for TrueType fonts that finally activates subpixel hinting (a.k.a. ClearType hinting) by default. The new release also brings support for the following new scripts in the auto-hinter: Armenian, Cherokee, Ethiopic, Georgian, Gujarati, Gurmukhi, Malayalam, Sinhala, and Tamil. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.57 2016/04/07 10:02:13 adam Exp $ d3 4 a6 4 SHA1 (freetype-2.6.4.tar.bz2) = 5eaa8c949b4841eeabba44d2c582ff6859e5c4b9 RMD160 (freetype-2.6.4.tar.bz2) = b4449f74a1e4817697f70c9303ac4e7a91b20b19 SHA512 (freetype-2.6.4.tar.bz2) = 90cad4c81bfb93316b2dad7cddf4c3c1d99d1379fabaf72eca7166579963db98624b3c6813dcc2c01ea456ae0bad4d445fea565bec2d8de5b339a65ca2d42ce3 Size (freetype-2.6.4.tar.bz2) = 1779199 bytes @ 1.57 log @CHANGES BETWEEN 2.6.2 and 2.6.3 I. IMPORTANT CHANGES - Khmer, Myanmar, Bengali, and Kannada script support has been added to the auto-hinter. II. MISCELLANEOUS - Better support of Indic scripts like Devanagari by using a top-to-bottom hinting flow. - All FreeType macros starting with two underscores have been renamed to avoid a violation of both the C and C++ standards. Example: Header macros of the form `__FOO_H__' are now called `FOO_H_'. In most cases, this should be completely transparent to the user. The exception to this is `__FTERRORS_H__', which must be sometimes undefined by the user to get FreeType error strings: Both this form and the new `FTERRORS_H_' macro are accepted for backwards compatibility. - Minor improvements mainly to the Type 1 driver. - The new CFF engine now supports all Type 2 operators except `random'. - The macro `_STANDALONE_', used for compiling the B/W and smooth rasterizers as stand-alone modules, has been renamed to `STANDALONE_', since macro names starting with an underscore and followed by an uppercase letter are reserved in both C and C++. - Function `FT_Library_SetLcdFilterWeights' now also activates custom LCD filter weights (instead of just adjusting them). - Support for `unpatented hinting' has been completely removed: Consequently, the two functions `FT_Face_CheckTrueTypePatents' and `FT_Face_SetUnpatentedHinting' now return always false, doing nothing. - The `ftgamma' demo program has been modernized; the gamma grid display has been moved from `ftview' to this program. - It is now possible to cycle through the available LCD fitlering modes. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.56 2016/01/10 21:16:33 bsiegert Exp $ d3 5 a7 5 SHA1 (freetype-2.6.3.tar.bz2) = 6c98bd5d0be313207c37ca23d25faf983486aee5 RMD160 (freetype-2.6.3.tar.bz2) = ee9c267faa7606a3f1e76c72ea8b49fa8136b931 SHA512 (freetype-2.6.3.tar.bz2) = e1f9018835fc88beeb4479537b59f866c52393ae18d24a1e0710a464cf948ab02b35c2c6043bc20c1db3a04871ee4eb0bb1d210550c0ea2780c8b1aea98fbf0d Size (freetype-2.6.3.tar.bz2) = 1753083 bytes SHA1 (patch-ab) = cb8c9552e2db1e1f3da3d20971c22f174e343162 @ 1.56 log @Update freetype2 to 2.6.2. Include file layout changed yet again, please test dependent packages. CHANGES BETWEEN 2.6 and 2.6.1 I. IMPORTANT BUG FIXES - It turned out that for CFFs only the advance widths should be taken from the `htmx' table, not the side bearings. This bug, introduced in version 2.6.0, makes it necessary to upgrade if you are using CFFs; otherwise, you get cropped glyphs with GUI interfaces like GTK or Qt. - Accessing Type 42 fonts returned incorrect results if the glyph order of the embedded TrueType font differs from the glyph order of the Type 42 charstrings table. II. IMPORTANT CHANGES - The header file layout has been changed (again), moving all header files except `ft2build.h' into a subdirectory tree. Doing so reduces the possibility of header file name clashes (e.g., FTGL's `FTGlyph.h' with FreeType's `ftglyph.h') on case insensitive file systems like Mac OS X or Windows. Applications that use (a) the `freetype-config' script or FreeType's `freetype2.pc' file for pkg-config to get the include directory for the compiler, and (b) the documented way for header inclusion like #include #include FT_FREETYPE_H ... don't need any change to the source code. - Simple access to named instances in GX variation fonts is now available (in addition to the previous method via FreeType's MM interface). In the `FT_Face' structure, bits 16-30 of the `face_index' field hold the current named instance index for the given face index, and bits 16-30 of `style_flags' contain the number of instances for the given face index. `FT_Open_Face' and friends also understand the extended bits of the face index parameter. You need to enable TT_CONFIG_OPTION_GX_VAR_SUPPORT for this new feature. Otherwise, bits 16-30 of the two fields are zero (or are ignored). - Lao script support has been added to the auto-hinter. III. MISCELLANEOUS - The auto-hinter's Arabic script support has been enhanced. - Superscript-like and subscript-like glyphs as used by various phonetic alphabets like the IPA are now better supported by the auto-hinter. - The TrueType bytecode interpreter now runs slightly faster. - Improved support for builds with cmake. - The function `FT_CeilFix' now always rounds towards plus infinity. - The function `FT_FloorFix' now always rounds towards minus infinity. - A new load flag `FT_LOAD_COMPUTE_METRICS' has been added; it makes FreeType ignore pre-computed metrics, as needed by font validating or font editing programs. Right now, only the TrueType module supports it to ignore data from the `hdmx' table. - Another round of bug fixes to better handle broken fonts, found by Kostya Serebryany . CHANGES BETWEEN 2.6.1 and 2.6.2 I. IMPORTANT CHANGES - The auto-hinter now supports stem darkening, to be controlled by the new `no-stem-darkening' and `darkening-parameters' properties. This is an experimental feature contributed by Nikolaus Waxweiler, and the interface might change in a future release. - By default, stem darkening is now switched off (for both the CFF engine and the auto-hinter). The main reason is that you need linear alpha blending and gamma correction to get correct rendering results, and the latter is not yet available in most freely available rendering stacks like X11. Applying stem darkening without proper gamma correction leads to far too dark rendering results. - The meaning of `FT_RENDER_MODE_LIGHT' has been slightly modified. It now essentially means `no hinting along the horizontal axis'; in particular, no change of glyph advance widths. Consequently, the auto-hinter is used for all scalable font formats except for CFF. It is planned that other font-specific rendering engines (TrueType, Type 1) will follow. II. MISCELLANEOUS - The default LCD filter has been changed to be normalized and color-balanced. - For better compatibility with FontConfig, function `FT_Library_SetLcdFilter' accepts a new enumeration value `FT_LCD_FILTER_LEGACY1' (which has the same meaning as `FT_LCD_FILTER_LEGACY'). - A large number of bugs have been detected by using the libFuzzer framework, which should further improve handling of invalid fonts. Thanks again to Kostya Serebryany and Bungeman! - `TT_CONFIG_OPTION_MAX_RUNNABLE_OPCODES', a new configuration option, controls the maximum number of executed opcodes within a bytecode program. You don't want to change this except for very special situations (e.g., making a library fuzzer spend less time to handle broken fonts). - The smooth renderer has been made faster. - The `ftstring' demo program now supports sub-pixel rendering; use key `l' to cycle through the LCD modes. - The `ftstring' demo program now supports colour rendering; use the `space' key to cycle through various colour combinations. - The graphical demo programs now use a default gamma value of 1.8 (instead of 1.2). @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.55 2015/11/03 21:33:57 agc Exp $ d3 4 a6 4 SHA1 (freetype-2.6.2.tar.bz2) = 29c22b85b77cb22cf95c13e7062e21f39fe6b17a RMD160 (freetype-2.6.2.tar.bz2) = 33c5d3a30e0a3224238b45f670e536391d0076ac SHA512 (freetype-2.6.2.tar.bz2) = 269d7a2ba728b4cb79d1d533ce93674bfd483566ab80bc6be0ec24f869cb65ba1fd852fbeff8f045607dd044845ce3d125374faeb14c986761b94dce7d1ff48b Size (freetype-2.6.2.tar.bz2) = 1767940 bytes @ 1.55 log @Add SHA512 digests for distfiles for graphics category Problems found with existing digests: Package fotoxx distfile fotoxx-14.03.1.tar.gz ac2033f87de2c23941261f7c50160cddf872c110 [recorded] 118e98a8cc0414676b3c4d37b8df407c28a1407c [calculated] Package ploticus-examples distfile ploticus-2.00/plnode200.tar.gz 34274a03d0c41fae5690633663e3d4114b9d7a6d [recorded] da39a3ee5e6b4b0d3255bfef95601890afd80709 [calculated] Problems found locating distfiles: Package AfterShotPro: missing distfile AfterShotPro-1.1.0.30/AfterShotPro_i386.deb Package pgraf: missing distfile pgraf-20010131.tar.gz Package qvplay: missing distfile qvplay-0.95.tar.gz Otherwise, existing SHA1 digests verified and found to be the same on the machine holding the existing distfiles (morden). All existing SHA1 digests retained for now as an audit trail. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.54 2015/09/06 08:34:20 mef Exp $ d3 4 a6 5 SHA1 (freetype-2.6.tar.bz2) = cd2b144205dd2c61693e2d861069367aa3dde1bc RMD160 (freetype-2.6.tar.bz2) = 80618594b49c5bfdd8fd951f83a346d57f04ee09 SHA512 (freetype-2.6.tar.bz2) = 0242c832dcac3d9dc5d434b7f5145e63f2289d5df32f16e1c7afc1e31c3c92f0dd374e20dfef79a9ecb26b14419f42b0d897c7154f249f629c35ee7af0aa5297 Size (freetype-2.6.tar.bz2) = 1726219 bytes SHA1 (patch-aa) = d89f3f452354129df49d02d5063e712b57e8ba0e @ 1.54 log @Update 2.5.5 to 2.6 ---------------------- (from http://www.freetype.org/) 2015-06-08 FreeType 2.6 FreeType 2.6 has been released. This is a new major release that provides a better (and simpler) thread-safety model. Among other new features we now have auto-hinting support for Arabic and Thai, together with much improved handling of Apple's GX TrueType variation font format. (ChangeLog from 2.5.5 to 2.6 extends some 1600 lines, consult with it in src tarball if necessary, thanks) ok by wiz@@ @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.53 2015/02/11 10:51:09 adam Exp $ d5 1 @ 1.53 log @FreeType 2.5.5 has been released. This is a minor bug fix release: All users of PCF fonts should update, since version 2.5.4 introduced a bug that prevented reading of such font files if not compressed. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.52 2014/12/09 10:50:04 adam Exp $ d3 3 a5 3 SHA1 (freetype-2.5.5.tar.bz2) = 7b7460ef51a8fdb17baae53c6658fc1ad000a1c2 RMD160 (freetype-2.5.5.tar.bz2) = 49093b839e6cc0639383d6baacfb73da80a4ee1a Size (freetype-2.5.5.tar.bz2) = 1714529 bytes @ 1.52 log @Changes 2.5.4: I. IMPORTANT BUG FIXES - A variant of vulnerability CVE-2014-2240 was identified (cf. http://savannah.nongnu.org/bugs/?43661) and fixed in the new CFF driver. All users should upgrade. - The new auto-hinter code using HarfBuzz crashed for some invalid fonts. - Many fixes to better protect against malformed input. II. IMPORTANT CHANGES - Full auto-hinter support of the Devanagari script. - Experimental auto-hinter support of the Telugu script. - CFF stem darkening behaviour can now be controlled at build time using the eight macros CFF_CONFIG_OPTION_DARKENING_PARAMETER_{X,Y}{1,2,3,4} . - Some fields in the `FT_Bitmap' structure have been changed from signed to unsigned type, which better reflects the actual usage. It is also an additional means to protect against malformed input. This change doesn't break the ABI; however, it might cause compiler warnings. III. MISCELLANEOUS - Improvements to the auto-hinter's algorithm to recognize stems and local extrema. - Function `FT_Get_SubGlyph_Info' always returned an error even in case of success. - Version 2.5.1 introduced major bugs in the cjk part of the auto-hinter, which are now fixed. - The `FT_Sfnt_Tag' enumeration values have been changed to uppercase, e.g. `FT_SFNT_HEAD'. The lowercase variants are deprecated. This is for orthogonality with all other enumeration (and enumeration-like) values in FreeType. - `cmake' now supports builds of FreeType as an OS X framework and for iOS. - Improved project files for vc2010, introducing a property file. - The documentation generator for the API reference has been updated to produce better HTML code (with proper CSS). At the same time, the documentation got a better structure. - The FT_LOAD_BITMAP_CROP flag is obsolete; it is not used by any driver. - The TrueType DELTAP[123] bytecode instructions now work in subpixel hinting mode as described in the ClearType whitepaper (i.e., for touched points in the non-subpixel direction). - Many small improvements to the internal arithmetic routines. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.51 2014/03/13 23:26:35 spz Exp $ d3 3 a5 3 SHA1 (freetype-2.5.4.tar.bz2) = f30b929e2edc5d7ca64c1ccc65f0c2068e84c5e2 RMD160 (freetype-2.5.4.tar.bz2) = 3d59c75cad4f77344d75312ead016af75aefd5f5 Size (freetype-2.5.4.tar.bz2) = 1726105 bytes @ 1.51 log @security update, upstream short changelog ('here' being releasenotes): FreeType 2.5.3 2014-03-08 FreeType 2.5.3 has been released. All users should upgrade due to fixed vulnerability in the CFF driver (CVE-2014-2240). Its main new feature is much enhanced support of auto-hinting SFNT fonts (i.e., TrueType and CFF fonts) due to the use of the HarfBuzz library. A more detailed description of this and other changes can be found here. FreeType 2.5.2 2013-12-08 FreeType 2.5.2 has been released. It fixes a serious bug introduced in version 2.5.1; all users should upgrade. A listing of the changes can be found here. FreeType 2.5.1 2013-11-25 FreeType 2.5.1 has been released, providing three major new features. - Support for the WOFF font format, contributed by Behdad Esfahbod. - The auto-hinter now supports Hebrew, together with improved support for Cyrillic and Greek. - The directory layout of the (installed) FreeType header files has been simplified. Among other changes I want to mention that FreeType's TrueType debugger (ttdebug) has been made more versatile. An exhaustive list of changes can be found here. FreeType 2.5 2013-06-19 FreeType 2.5 has been released. A major new feature is support for color embedded bitmaps (eg. color emoji), contributed by Behdad Esfahbod on behalf of Google. Additionally, Adobe's CFF engine is now the default, which makes a good reason to change from the 2.4.x to the 2.5.x series. On the technical side, the property API to access FreeType module parameters (FT_Property_Set and FT_Property_Get) is now declared as stable. As usual, see this file for the complete release notes, which give more details. And we have again blog entries from Adobe and Google. FreeType 2.4.12 2013-05-08 FreeType 2.4.12 has been released. A major new feature is a new parsing and hinting engine for CFF fonts, contributed by Adobe in collaboration with Google. It was my job the last few months to fully adapt the code to FreeType, and we are very pleased with the results. You might also read the blog entries from Adobe and Google. In connection with the new CFF engine, the demo programs, especially ftview and ftdiff, have been improved a lot; as usual, more details on the changes can be found in the release notes. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.50 2013/08/04 10:38:01 adam Exp $ d3 3 a5 3 SHA1 (freetype-2.5.3.tar.bz2) = d3c26cc17ec7fe6c36f4efc02ef92ab6aa3f4b46 RMD160 (freetype-2.5.3.tar.bz2) = fec7e2a74a9f30b3088b4370d304badfa7724ed5 Size (freetype-2.5.3.tar.bz2) = 1703842 bytes @ 1.50 log @FreeType 2.4.12 has been released. A major new feature is a new parsing and hinting engine for CFF fonts, contributed by Adobe in collaboration with Google. It was my job the last few months to fully adapt the code to FreeType, and we are very pleased with the results. You might also read the blog entries from Adobe and Google. In connection with the new CFF engine, the demo programs, especially ftview and ftdiff, have been improved a lot; as usual, more details on the changes can be found in the release notes. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.49 2013/01/06 00:38:13 wiz Exp $ d3 3 a5 3 SHA1 (freetype-2.4.12.tar.bz2) = 382479336faefbc77e4b63c9ce4a96cf5d2c3585 RMD160 (freetype-2.4.12.tar.bz2) = c731a48af570b5f4b461a73c9306be3a4799c60e Size (freetype-2.4.12.tar.bz2) = 1597205 bytes @ 1.50.4.1 log @Pullup ticket #4347 - requested by spz graphics/freetype2: security update Revisions pulled up: - graphics/freetype2/Makefile 1.92-1.94 - graphics/freetype2/PLIST 1.21 - graphics/freetype2/buildlink3.mk 1.38-1.43 - graphics/freetype2/distinfo 1.51 - graphics/freetype2/options.mk 1.1-1.2 --- Module Name: pkgsrc Committed By: spz Date: Thu Mar 13 23:26:35 UTC 2014 Modified Files: pkgsrc/graphics/freetype2: Makefile PLIST buildlink3.mk distinfo Log Message: security update, upstream short changelog ('here' being releasenotes): FreeType 2.5.3 2014-03-08 FreeType 2.5.3 has been released. All users should upgrade due to fixed vulnerability in the CFF driver (CVE-2014-2240). Its main new feature is much enhanced support of auto-hinting SFNT fonts (i.e., TrueType and CFF fonts) due to the use of the HarfBuzz library. A more detailed description of this and other changes can be found here. FreeType 2.5.2 2013-12-08 FreeType 2.5.2 has been released. It fixes a serious bug introduced in version 2.5.1; all users should upgrade. A listing of the changes can be found here. FreeType 2.5.1 2013-11-25 FreeType 2.5.1 has been released, providing three major new features. - Support for the WOFF font format, contributed by Behdad Esfahbod. - The auto-hinter now supports Hebrew, together with improved support for Cyrillic and Greek. - The directory layout of the (installed) FreeType header files has been simplified. Among other changes I want to mention that FreeType's TrueType debugger (ttdebug) has been made more versatile. An exhaustive list of changes can be found here. FreeType 2.5 2013-06-19 FreeType 2.5 has been released. A major new feature is support for color embedded bitmaps (eg. color emoji), contributed by Behdad Esfahbod on behalf of Google. Additionally, Adobe's CFF engine is now the default, which makes a good reason to change from the 2.4.x to the 2.5.x series. On the technical side, the property API to access FreeType module parameters (FT_Property_Set and FT_Property_Get) is now declared as stable. As usual, see this file for the complete release notes, which give more details. And we have again blog entries from Adobe and Google. FreeType 2.4.12 2013-05-08 FreeType 2.4.12 has been released. A major new feature is a new parsing and hinting engine for CFF fonts, contributed by Adobe in collaboration with Google. It was my job the last few months to fully adapt the code to FreeType, and we are very pleased with the results. You might also read the blog entries from Adobe and Google. In connection with the new CFF engine, the demo programs, especially ftview and ftdiff, have been improved a lot; as usual, more details on the changes can be found in the release notes. --- Module Name: pkgsrc Committed By: ryoon Date: Fri Mar 14 13:12:34 UTC 2014 Modified Files: pkgsrc/graphics/freetype2: buildlink3.mk Log Message: graphics/png is also needed now --- Module Name: pkgsrc Committed By: ryoon Date: Fri Mar 14 13:38:20 UTC 2014 Modified Files: pkgsrc/graphics/freetype2: buildlink3.mk Log Message: graphics/png should be included when non-builtin freetype2. Pointed out by obache@@, thank you. --- Module Name: pkgsrc Committed By: obache Date: Fri Mar 14 13:43:17 UTC 2014 Modified Files: pkgsrc/graphics/freetype2: buildlink3.mk Log Message: To get USE_BUILTIN.freetype2, builtin.mk must be included. --- Module Name: pkgsrc Committed By: ryoon Date: Fri Mar 14 14:54:02 UTC 2014 Modified Files: pkgsrc/graphics/freetype2: Makefile buildlink3.mk Added Files: pkgsrc/graphics/freetype2: options.mk Log Message: Make png dependency as option, and move option to options.mk Revert bump of BUILDLINK_ABI_DEPENDS.freetype2 --- Module Name: pkgsrc Committed By: drochner Date: Fri Mar 14 19:39:52 UTC 2014 Modified Files: pkgsrc/graphics/freetype2: Makefile buildlink3.mk options.mk Log Message: make the optional-png logics work @ text @d1 1 a1 1 $NetBSD$ d3 3 a5 3 SHA1 (freetype-2.5.3.tar.bz2) = d3c26cc17ec7fe6c36f4efc02ef92ab6aa3f4b46 RMD160 (freetype-2.5.3.tar.bz2) = fec7e2a74a9f30b3088b4370d304badfa7724ed5 Size (freetype-2.5.3.tar.bz2) = 1703842 bytes @ 1.49 log @Update to 2.4.11: CHANGES BETWEEN 2.4.10 and 2.4.11 I. IMPORTANT BUG FIXES - Some vulnerabilities in the BDF implementation have been fixed. Users of this font format should upgrade. II. IMPORTANT CHANGES - Subpixel hinting support has been contributed by Infinality, based on Greg Hitchcock's whitepaper at http://www.microsoft.com/typography/cleartype/truetypecleartype.aspx Originally, it was a separate patch available from http://www.infinality.net/blog/ and which has been integrated. Note that ClearType support is not completely implemented! In particular, full support for the options `compatible_widths', `symmetrical_smoothing, and `bgr' (via the GETINFO bytecode instruction) is missing. Activation of subpixel hinting support can be controlled with the `TT_CONFIG_OPTION_SUBPIXEL_HINTING' configuration option; it is switched off by default. This feature is still experimental; we welcome test reports! - Support for OpenType collections (OTC) has been added. - Pure CFF fonts within an SFNT wrapper are now supported. III. MISCELLANEOUS - Minor rendering improvements to the auto-hinter. - `FT_GlyphSlot_Oblique' now uses a shear angle of 12°. - Experimental support to handle `property modules', for example to control the behaviour of the auto-hinter. The API consists of two new functions, `FT_Property_Set' and `FT_Property_Get'. The code is still subject to change and should not be used for production. - The `ftdiff' demo program now supports UTF-8 encoded input files for option `-f'. - Using keys `r' and `R', you can now adjust the stroker radius in the `ftview' demo program. - Other, minor fixes and improvements. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.48 2012/07/02 16:48:24 drochner Exp $ d3 4 a6 4 SHA1 (freetype-2.4.11.tar.bz2) = b15e5a0b30c1e854484b410340f6429ad1253c74 RMD160 (freetype-2.4.11.tar.bz2) = a330fb6fce2da69a702169293fccf78793960ff9 Size (freetype-2.4.11.tar.bz2) = 1546087 bytes SHA1 (patch-aa) = 85bf9979802e04345a9f5ac3ada2cac9520dabcb @ 1.48 log @update to 2.4.10 changes: -bugfix: Incremental glyph loading as needed by ghostscript was broken -minor other improvements @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.47 2012/03/09 10:41:14 drochner Exp $ d3 3 a5 3 SHA1 (freetype-2.4.10.tar.bz2) = 73b2c28fcaf1ff5b8beef3af4c5abe4cb1ecb7dc RMD160 (freetype-2.4.10.tar.bz2) = 9da7fcde9c42f81c399201d055d85109b2ae7814 Size (freetype-2.4.10.tar.bz2) = 1508927 bytes @ 1.48.4.1 log @Pullup ticket #4003 - requested by wiz graphics/freetype2: security update Revisions pulled up: - graphics/freetype2/Makefile 1.89 - graphics/freetype2/PLIST 1.19 - graphics/freetype2/distinfo 1.49 ------------------------------------------------------------------- Module Name: pkgsrc Committed By: wiz Date: Sun Jan 6 00:38:13 UTC 2013 Modified Files: pkgsrc/graphics/freetype2: Makefile PLIST distinfo Log Message: Update to 2.4.11: CHANGES BETWEEN 2.4.10 and 2.4.11 I. IMPORTANT BUG FIXES - Some vulnerabilities in the BDF implementation have been fixed. Users of this font format should upgrade. II. IMPORTANT CHANGES - Subpixel hinting support has been contributed by Infinality, based on Greg Hitchcock's whitepaper at http://www.microsoft.com/typography/cleartype/truetypecleartype.aspx Originally, it was a separate patch available from http://www.infinality.net/blog/ and which has been integrated. Note that ClearType support is not completely implemented! In particular, full support for the options `compatible_widths', `symmetrical_smoothing, and `bgr' (via the GETINFO bytecode instruction) is missing. Activation of subpixel hinting support can be controlled with the `TT_CONFIG_OPTION_SUBPIXEL_HINTING' configuration option; it is switched off by default. This feature is still experimental; we welcome test reports! - Support for OpenType collections (OTC) has been added. - Pure CFF fonts within an SFNT wrapper are now supported. III. MISCELLANEOUS - Minor rendering improvements to the auto-hinter. - `FT_GlyphSlot_Oblique' now uses a shear angle of 12°. - Experimental support to handle `property modules', for example to control the behaviour of the auto-hinter. The API consists of two new functions, `FT_Property_Set' and `FT_Property_Get'. The code is still subject to change and should not be used for production. - The `ftdiff' demo program now supports UTF-8 encoded input files for option `-f'. - Using keys `r' and `R', you can now adjust the stroker radius in the `ftview' demo program. - Other, minor fixes and improvements. To generate a diff of this commit: cvs rdiff -u -r1.88 -r1.89 pkgsrc/graphics/freetype2/Makefile cvs rdiff -u -r1.18 -r1.19 pkgsrc/graphics/freetype2/PLIST cvs rdiff -u -r1.48 -r1.49 pkgsrc/graphics/freetype2/distinfo @ text @d1 1 a1 1 $NetBSD$ d3 3 a5 3 SHA1 (freetype-2.4.11.tar.bz2) = b15e5a0b30c1e854484b410340f6429ad1253c74 RMD160 (freetype-2.4.11.tar.bz2) = a330fb6fce2da69a702169293fccf78793960ff9 Size (freetype-2.4.11.tar.bz2) = 1546087 bytes @ 1.47 log @update to 2.4.9 changes: -fix many cases of possible memory corruption by malicious font files (CVE-2012-1126...-1144) -minor fixes and feature improvements @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.46 2011/11/15 19:42:17 drochner Exp $ d3 3 a5 3 SHA1 (freetype-2.4.9.tar.bz2) = 5cb80ab9d369c4e81a2221bcf45adcea2c996b9b RMD160 (freetype-2.4.9.tar.bz2) = a420df999f2c73ddd44641462281ae86845472bb Size (freetype-2.4.9.tar.bz2) = 1504819 bytes @ 1.46 log @update to 2.4.8 changes: -fixed vulnerabilities in handling CID-keyed PostScript fonts (CVE-2011-3439) -new API 'FT_Get_PS_Font_Value' @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.45 2011/10/26 19:24:45 tez Exp $ d3 3 a5 3 SHA1 (freetype-2.4.8.tar.bz2) = 1634cef894460ab98dd37eadfcdd055ffda9a27c RMD160 (freetype-2.4.8.tar.bz2) = ae0e68a8a84a201ed133e964ee56c0cc0de84521 Size (freetype-2.4.8.tar.bz2) = 1492568 bytes @ 1.45 log @update to 2.4.7 fixes SA46575 (CVE-2011-3256) CHANGES BETWEEN 2.4.6 and 2.4.7 I. IMPORTANT BUG FIXES - Some vulnerabilities in handling Type 1 fonts have been fixed; see CVE-2011-3256. II. MISCELLANEOUS - FreeType now properly handles ZapfDingbats glyph names while constructing a Unicode character map (for fonts which don't have one). @ text @d1 1 a1 1 $NetBSD$ d3 3 a5 3 SHA1 (freetype-2.4.7.tar.bz2) = e1b2356ebbc6d39d813797572b1e5d8a2635e969 RMD160 (freetype-2.4.7.tar.bz2) = 48abfcd4546cbd6626796ab121252e804ddcc6d8 Size (freetype-2.4.7.tar.bz2) = 1490543 bytes @ 1.44 log @ Fixed: build failure on 5.99.55 Update to 2.4.6, No answer from maintainer. CHANGES BETWEEN 2.4.5 and 2.4.6 I. IMPORTANT BUG FIXES - For TrueType based fonts, the ascender and descender values were incorrect sometimes (off by a pixel if the ppem value was not a multiple of 5). Depending on the use you might now experience a different layout; the change should result in better, more consistent line spacing. - Fix CVE-2011-0226 which causes a vulnerability while handling Type 1 fonts. - BDF fonts containing glyphs with negative values for ENCODING were incorrectly rejected. This bug has been introduced in FreeType version 2.2.0. - David Bevan contributed a major revision of the FreeType stroker code: . The behaviour of FT_STROKER_LINEJOIN_BEVEL has been corrected. . A new line join style, FT_STROKER_LINEJOIN_MITER_FIXED, has been introduced to support PostScript and PDF miter joins. . FT_STROKER_LINEJOIN_MITER_VARIABLE has been introduced ches has been fixed. II. MISCELLANEOUS - SFNT bitmap fonts which contain an outline glyph for `.notdef' only no longer set the FT_FACE_FLAG_SCALABLE flag. CHANGES BETWEEN 2.4.4 and 2.4.5 I. IMPORTANT BUG FIXES - A rendering regression for second-order B#zier curves has been fixed, introduced in 2.4.3. II. IMPORTANT CHANGES - If autohinting is not explicitly disabled, FreeType now uses the autohinter if a TrueType based font doesn't contain native hints. - The load flag FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH has been made redundant and is simply ignored; this means that FreeType now ignores the global advance width value in TrueType fonts. III. MISCELLANEOUS - `FT_Sfnt_Table_Info' can now return the number of SFNT tables of a font. - Support for PCF files compressed with bzip2 has been contributed by Joel Klinghed. To make this work, the OS must provide a bzip2 library. - Bradley Grainger contributed project and solution files in Visual Studio 2010 format. - Again some fixes to better handle broken fonts. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.43 2011/07/18 09:54:27 drochner Exp $ d3 3 a5 3 SHA1 (freetype-2.4.6.tar.bz2) = 9d874398118c805478e81d80449dc4aa5a40b6f2 RMD160 (freetype-2.4.6.tar.bz2) = 9b01c88a53549af59c40d9dd5846cc5a34cbc181 Size (freetype-2.4.6.tar.bz2) = 1487579 bytes @ 1.44.2.1 log @Pullup ticket #3586 - requested by tez graphics/freetype2: security update Revisions pulled up: - graphics/freetype2/Makefile 1.83 - graphics/freetype2/distinfo 1.45 --- Module Name: pkgsrc Committed By: tez Date: Wed Oct 26 19:24:45 UTC 2011 Modified Files: pkgsrc/graphics/freetype2: Makefile distinfo Log Message: update to 2.4.7 fixes SA46575 (CVE-2011-3256) CHANGES BETWEEN 2.4.6 and 2.4.7 I. IMPORTANT BUG FIXES - Some vulnerabilities in handling Type 1 fonts have been fixed; see CVE-2011-3256. II. MISCELLANEOUS - FreeType now properly handles ZapfDingbats glyph names while constructing a Unicode character map (for fonts which don't have one). @ text @d1 1 a1 1 $NetBSD$ d3 3 a5 3 SHA1 (freetype-2.4.7.tar.bz2) = e1b2356ebbc6d39d813797572b1e5d8a2635e969 RMD160 (freetype-2.4.7.tar.bz2) = 48abfcd4546cbd6626796ab121252e804ddcc6d8 Size (freetype-2.4.7.tar.bz2) = 1490543 bytes @ 1.44.2.2 log @Pullup ticket #3610 - requested by spz graphics/freetype2: security update Revisions pulled up: - graphics/freetype2/Makefile 1.85 - graphics/freetype2/distinfo 1.46 --- Module Name: pkgsrc Committed By: drochner Date: Tue Nov 15 19:42:17 UTC 2011 Modified Files: pkgsrc/graphics/freetype2: Makefile distinfo Log Message: update to 2.4.8 changes: -fixed vulnerabilities in handling CID-keyed PostScript fonts (CVE-2011-3439) -new API 'FT_Get_PS_Font_Value' @ text @d3 3 a5 3 SHA1 (freetype-2.4.8.tar.bz2) = 1634cef894460ab98dd37eadfcdd055ffda9a27c RMD160 (freetype-2.4.8.tar.bz2) = ae0e68a8a84a201ed133e964ee56c0cc0de84521 Size (freetype-2.4.8.tar.bz2) = 1492568 bytes @ 1.43 log @replace SA# in comment with a CVE reference @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.42 2011/07/12 16:30:28 drochner Exp $ d3 3 a5 3 SHA1 (freetype-2.4.5.tar.bz2) = edc5217f1a0e3bec37f9846bb5203e8d005cf470 RMD160 (freetype-2.4.5.tar.bz2) = ec6719f2f851ebdb7135030ffd481d9ca53a54c1 Size (freetype-2.4.5.tar.bz2) = 1483537 bytes d7 1 a7 2 SHA1 (patch-ab) = c5b63fd9ffa9efbe846d67e657a30a5d2543acf8 SHA1 (patch-ac) = 2cf82cd42c0c129b0fae7aef894852045abe1648 @ 1.42 log @update to 2.4.5 changes: -fixed rendering regression for second-order Bezier curves -FreeType now uses the autohinter per default -Support for PCF files compressed with bzip2 -misc fixes and improvements pkgsrc change: clean up patch-ac (which fixes SA45167): put sign extension stuff into a macro and move checks to make it closer to the upstream fix @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.41 2011/07/07 17:02:12 drochner Exp $ d8 1 a8 1 SHA1 (patch-ac) = b47d43414115caeb75f806df98b25407291964cb @ 1.41 log @avoid sign extension on right shift (there are more occurences, but they are followed by checks for result<0) bump PKGREV @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.40 2010/12/26 19:16:16 adam Exp $ d3 3 a5 3 SHA1 (freetype-2.4.4.tar.bz2) = 1d136cbc51c67b212c91ba04dc5db797f35e64e6 RMD160 (freetype-2.4.4.tar.bz2) = 6b9b37ccdc8d1bfe0883f0e25df6de49ab30379e Size (freetype-2.4.4.tar.bz2) = 1442053 bytes d8 1 a8 1 SHA1 (patch-ac) = 5d42610de8c177407a717157d84322a5b06045ee @ 1.40 log @Changes 2.4.4: I. IMPORTANT BUG FIXES - UVS support (TrueType/OpenType cmap format 14) support is fixed. This regression has been introduced in version 2.4.0. II. MISCELLANEOUS - Detect tricky fonts (e.g. MingLiU) by the lengths and checksums of Type42-persistent subtables (`cvt ', `fpgm', and `prep') when a TrueType font without family name is given. The previous fix, introduced in 2.4.3, was too rigorous, causing many subsetted fonts (mainly from PDF files) displayed badly because FreeType forced rendering with the TrueType bytecode engine instead of the autohinter. - Better support for 64bit platforms. - More fixes to improve handling of broken fonts. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.39 2010/11/24 18:44:54 drochner Exp $ d8 1 @ 1.39 log @add patch from upstream CVS to fix handling the "SHZ" bytecode instruction which could be exploited to cause a crash and potentially execute arbitrary code via a specially crafted font (CVE-2010-3814) bump PKGREV being here, add CVE reference to an older patch @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.38 2010/11/03 11:56:37 drochner Exp $ d3 3 a5 3 SHA1 (freetype-2.4.3.tar.bz2) = 16e5ba0ff23b2de372149a790b7245a762022912 RMD160 (freetype-2.4.3.tar.bz2) = befa7c66a9574c682b45d69a1088d072d8f119d9 Size (freetype-2.4.3.tar.bz2) = 1437406 bytes d7 1 a7 2 SHA1 (patch-ab) = fd2823043c3bf1488529167a56af69ecd036a920 SHA1 (patch-ac) = bbd59b48a7827eb5e9c4905572f13b789a2d9c88 @ 1.38 log @add patch from upstream CVS to fix a possible buffer overflow when processing TrueType GX fonts (SA41738), bump PKGREVISION @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.37 2010/10/22 16:14:13 drochner Exp $ d7 2 a8 1 SHA1 (patch-ab) = 1514cd5ef494a535db75e072ba194ea2936f6623 @ 1.37 log @update to 2.4.3 changes: A rendering regression of S-shaped cubic arcs (introduced in version 2.4.0) has been fixed. Besides that, a bunch of fixes have been applied to improve handling of broken fonts. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.36 2010/08/08 16:06:02 tnn Exp $ d7 1 @ 1.36 log @Update to freetype2-2.4.2: CHANGES BETWEEN 2.4.1 and 2.4.2 I. IMPORTANT BUG FIXES - A stack overflow in CFF Type2 CharStrings interpreter is fixed. - Handling Type 42 font deallocation was broken; additionally, the library is now more robust against malformed Type 42 fonts. II. MISCELLANEOUS - Two new functions, `FT_Reference_Library' (in FT_MODULE_H) and `FT_Reference_Face' (in FT_FREETYPE_H), have been added to simplify life-cycle management. A counter gets initialized to 1 at the time an FT_Library (or FT_Face) structure is created. The two new functions increment the respective counter. `FT_Done_Library' and `FT_Done_Face' then only destroy a library or face if the counter is 1, otherwise they simply decrement the counter. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.35 2010/07/20 11:44:15 drochner Exp $ d3 3 a5 3 SHA1 (freetype-2.4.2.tar.bz2) = cc257ceda2950b8c80950d780ccf3ce665a815d1 RMD160 (freetype-2.4.2.tar.bz2) = 5e3970f3a9e242255489111f77fe880d5d524860 Size (freetype-2.4.2.tar.bz2) = 1433843 bytes @ 1.36.2.1 log @Pullup ticket #3308 - requested by drochner security updates for freetype2 Revisions pulled up: - pkgsrc/graphics/freetype2/Makefile 1.75-1.77 - pkgsrc/graphics/freetype2/distinfo 1.37-1.39 Files added: - pkgsrc/graphics/freetype2/patches/patch-ab 1.14, 1.15 - pkgsrc/graphics/freetype2/patches/patch-ac 1.6 ------------------------------------------------------------------------- Module Name: pkgsrc Committed By: drochner Date: Fri Oct 22 16:14:13 UTC 2010 Modified Files: pkgsrc/graphics/freetype2: Makefile distinfo Log Message: update to 2.4.3 changes: A rendering regression of S-shaped cubic arcs (introduced in version 2.4.0) has been fixed. Besides that, a bunch of fixes have been applied to improve handling of broken fonts. To generate a diff of this commit: cvs rdiff -u -r1.74 -r1.75 pkgsrc/graphics/freetype2/Makefile cvs rdiff -u -r1.36 -r1.37 pkgsrc/graphics/freetype2/distinfo ------------------------------------------------------------------------- Module Name: pkgsrc Committed By: drochner Date: Wed Nov 3 11:56:37 UTC 2010 Modified Files: pkgsrc/graphics/freetype2: Makefile distinfo Added Files: pkgsrc/graphics/freetype2/patches: patch-ab Log Message: add patch from upstream CVS to fix a possible buffer overflow when processing TrueType GX fonts (SA41738), bump PKGREVISION To generate a diff of this commit: cvs rdiff -u -r1.75 -r1.76 pkgsrc/graphics/freetype2/Makefile cvs rdiff -u -r1.37 -r1.38 pkgsrc/graphics/freetype2/distinfo cvs rdiff -u -r0 -r1.14 pkgsrc/graphics/freetype2/patches/patch-ab ------------------------------------------------------------------------- Module Name: pkgsrc Committed By: drochner Date: Wed Nov 24 18:44:55 UTC 2010 Modified Files: pkgsrc/graphics/freetype2: Makefile distinfo pkgsrc/graphics/freetype2/patches: patch-ab Added Files: pkgsrc/graphics/freetype2/patches: patch-ac Log Message: add patch from upstream CVS to fix handling the "SHZ" bytecode instruction which could be exploited to cause a crash and potentially execute arbitrary code via a specially crafted font (CVE-2010-3814) bump PKGREV being here, add CVE reference to an older patch To generate a diff of this commit: cvs rdiff -u -r1.76 -r1.77 pkgsrc/graphics/freetype2/Makefile cvs rdiff -u -r1.38 -r1.39 pkgsrc/graphics/freetype2/distinfo cvs rdiff -u -r1.14 -r1.15 pkgsrc/graphics/freetype2/patches/patch-ab cvs rdiff -u -r0 -r1.6 pkgsrc/graphics/freetype2/patches/patch-ac @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.39 2010/11/24 18:44:54 drochner Exp $ d3 3 a5 3 SHA1 (freetype-2.4.3.tar.bz2) = 16e5ba0ff23b2de372149a790b7245a762022912 RMD160 (freetype-2.4.3.tar.bz2) = befa7c66a9574c682b45d69a1088d072d8f119d9 Size (freetype-2.4.3.tar.bz2) = 1437406 bytes a6 2 SHA1 (patch-ab) = fd2823043c3bf1488529167a56af69ecd036a920 SHA1 (patch-ac) = bbd59b48a7827eb5e9c4905572f13b789a2d9c88 @ 1.35 log @update to 2.4.1 changes: - Since May 2010, all patents regarding the TrueType bytecode interpreter have expired worldwide. Consequently, we now define TT_CONFIG_OPTION_BYTECODE_INTERPRETER by default (and undefine TT_CONFIG_OPTION_UNPATENTED_HINTING). - A new function `FT_Library_SetLcdFilterWeights' is available to adjust the filter weights set by `FT_Library_SetLcdFilter'. -increased robustness, bugfixes pkgsrc note: the "truetype" option was removed, the bytecode interpreter is now always enabled @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.34 2010/02/18 21:28:45 drochner Exp $ d3 3 a5 3 SHA1 (freetype-2.4.1.tar.bz2) = 1870cc142be52a721031fcf16c4f8110dfb84fdb RMD160 (freetype-2.4.1.tar.bz2) = 8e0dc7fb031c900984fac338bfc117cdb1c2055d Size (freetype-2.4.1.tar.bz2) = 1432560 bytes @ 1.34 log @update to 2.3.12 changes: - For `FT_Open_Face', new parameters are available to ignore preferred family names: FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY and FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY. - Support for incremental font loading (controlled with the FT_CONFIG_OPTION_INCREMENTAL macro) is now active by default. - Better support for vertical metrics. - Various minor bug fixes. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.33 2009/11/24 11:26:50 tnn Exp $ d3 3 a5 3 SHA1 (freetype-2.3.12.tar.bz2) = ebf0438429c0bedd310059326d91646c3c91016b RMD160 (freetype-2.3.12.tar.bz2) = 57437a2bc0d85859cff2ca1253b36e64629397a1 Size (freetype-2.3.12.tar.bz2) = 1453034 bytes @ 1.34.4.1 log @Pullup ticket 3173 - requested by drochner security update Revisions pulled up: - pkgsrc/graphics/freetype2/Makefile 1.73 - pkgsrc/graphics/freetype2/distinfo 1.35 ------------------------------------------------------------------------- Module Name: pkgsrc Committed By: drochner Date: Tue Jul 20 11:44:15 UTC 2010 Modified Files: pkgsrc/graphics/freetype2: Makefile distinfo Log Message: update to 2.4.1 changes: - Since May 2010, all patents regarding the TrueType bytecode interpreter have expired worldwide. Consequently, we now define TT_CONFIG_OPTION_BYTECODE_INTERPRETER by default (and undefine TT_CONFIG_OPTION_UNPATENTED_HINTING). - A new function `FT_Library_SetLcdFilterWeights' is available to adjust the filter weights set by `FT_Library_SetLcdFilter'. -increased robustness, bugfixes pkgsrc note: the "truetype" option was removed, the bytecode interpreter is now always enabled To generate a diff of this commit: cvs rdiff -u -r1.72 -r1.73 pkgsrc/graphics/freetype2/Makefile cvs rdiff -u -r1.34 -r1.35 pkgsrc/graphics/freetype2/distinfo @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.35 2010/07/20 11:44:15 drochner Exp $ d3 3 a5 3 SHA1 (freetype-2.4.1.tar.bz2) = 1870cc142be52a721031fcf16c4f8110dfb84fdb RMD160 (freetype-2.4.1.tar.bz2) = 8e0dc7fb031c900984fac338bfc117cdb1c2055d Size (freetype-2.4.1.tar.bz2) = 1432560 bytes @ 1.34.4.2 log @Pullup ticket 3200 - requested by tnn security update Revisions pulled up: - pkgsrc/graphics/freetype2/Makefile 1.74 - pkgsrc/graphics/freetype2/distinfo 1.36 ------------------------------------------------------------------------- Module Name: pkgsrc Committed By: tnn Date: Sun Aug 8 16:06:02 UTC 2010 Modified Files: pkgsrc/graphics/freetype2: Makefile distinfo Log Message: Update to freetype2-2.4.2: CHANGES BETWEEN 2.4.1 and 2.4.2 I. IMPORTANT BUG FIXES - A stack overflow in CFF Type2 CharStrings interpreter is fixed. - Handling Type 42 font deallocation was broken; additionally, the library is now more robust against malformed Type 42 fonts. II. MISCELLANEOUS - Two new functions, `FT_Reference_Library' (in FT_MODULE_H) and `FT_Reference_Face' (in FT_FREETYPE_H), have been added to simplify life-cycle management. A counter gets initialized to 1 at the time an FT_Library (or FT_Face) structure is created. The two new functions increment the respective counter. `FT_Done_Library' and `FT_Done_Face' then only destroy a library or face if the counter is 1, otherwise they simply decrement the counter. To generate a diff of this commit: cvs rdiff -u -r1.73 -r1.74 pkgsrc/graphics/freetype2/Makefile cvs rdiff -u -r1.35 -r1.36 pkgsrc/graphics/freetype2/distinfo @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.36 2010/08/08 16:06:02 tnn Exp $ d3 3 a5 3 SHA1 (freetype-2.4.2.tar.bz2) = cc257ceda2950b8c80950d780ccf3ce665a815d1 RMD160 (freetype-2.4.2.tar.bz2) = 5e3970f3a9e242255489111f77fe880d5d524860 Size (freetype-2.4.2.tar.bz2) = 1433843 bytes @ 1.33 log @ensure "freetype-config --libs" emits a run path. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.32 2009/11/23 12:01:58 drochner Exp $ d3 3 a5 3 SHA1 (freetype-2.3.11.tar.bz2) = 693e1b4e423557975c2b2aca63559bc592533a0e RMD160 (freetype-2.3.11.tar.bz2) = ac69ed97aa662bc1dfb25422e64fc2afce1f863d Size (freetype-2.3.11.tar.bz2) = 1446474 bytes @ 1.32 log @update to 2.3.11 This is a bugfix release for the 2.3 series, which brings considerable improvements for b/w rasterizing of hinted TrueType fonts at small sizes. All users should upgrade. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.31 2009/05/02 19:44:51 tnn Exp $ d6 1 @ 1.31 log @patch-[a-d]: Upstream patches for CVE-2009-0946. Bump PKGREVISION. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.30 2009/04/16 20:26:25 drochner Exp $ d3 3 a5 7 SHA1 (freetype-2.3.9.tar.bz2) = db08969cb5053879ff9e973fe6dd2c52c7ea2d4e RMD160 (freetype-2.3.9.tar.bz2) = c0351c2a3f43e64d26d2a964b1131a3dbf2fa162 Size (freetype-2.3.9.tar.bz2) = 1363190 bytes SHA1 (patch-aa) = a203699d1734eaa97aea6898bb527cf5ee6a09b1 SHA1 (patch-ab) = da1c8894476fd6d7123e8718d2b36072c98e5e72 SHA1 (patch-ac) = 9ec38f8b41652737a9474cc358d44ba1e2a4a54a SHA1 (patch-ad) = 556c116b7e80fc0633cca50d8923d183ac1762c3 @ 1.30 log @update to 2.3.9 changes: -important bugfixes -improved CID support There was an ABI breakage between 2.3.7 and 2.3.8 which was reverted in 2.3.9. The public 'PS_FontInfoRec' structure was expanded and then shrunk. Applications compiled against 2.3.8 should work fine with 2.3.9. Applications compiled against the new 2.3.9 can theoretically exhibit problems if run against a 2.3.8 binary, if some PS_FontInfo stuff is used. See the freetype release notes for details. I didn't find any suspects for now. If one is found, it should be changed to require 2.3.9, and PKGREV bumped. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.29 2009/01/27 19:29:32 drochner Exp $ d6 4 @ 1.29 log @update to 2.3.8 changes: -improvements for fonts in an SFNT wrapper (used on Mac) -FT_MulFix is now an inlined function; by default, assembler code is provided for x86 and ARM. See FT_CONFIG_OPTION_INLINE_MULFIX and FT_CONFIG_OPTION_NO_ASSEMBLER (in ftoption.h) for more -handling of `tricky' fonts has been generalized and changed slightly -API additions -bugfixes @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.28 2008/07/14 03:55:29 tnn Exp $ d3 3 a5 4 SHA1 (freetype-2.3.8.tar.bz2) = 0a15d4498139c6743c0ea388c40aaf40cafd4f44 RMD160 (freetype-2.3.8.tar.bz2) = e460e8a3aed21727973ac4add4ac8be70ac18534 Size (freetype-2.3.8.tar.bz2) = 1343318 bytes SHA1 (patch-aa) = 655e8ddd41774e86f7307e62589bb3da2351bf4c @ 1.29.2.1 log @Pullup ticket 2755 and 2758 - requested by tnn Security fix Revisions pulled up: - pkgsrc/graphics/freetype2/Makefile 1.69 - pkgsrc/graphics/freetype2/distinfo 1.31 - pkgsrc/graphics/freetype2/patches/patch-aa 1.17 - pkgsrc/graphics/freetype2/patches/patch-ab 1.12 - pkgsrc/graphics/freetype2/patches/patch-ac 1.4 - pkgsrc/graphics/freetype2/patches/patch-ad 1.2 Module Name: pkgsrc Committed By: drochner Date: Thu Apr 16 20:26:26 UTC 2009 Modified Files: pkgsrc/graphics/freetype2: Makefile distinfo Removed Files: pkgsrc/graphics/freetype2/patches: patch-aa Log Message: update to 2.3.9 changes: -important bugfixes -improved CID support There was an ABI breakage between 2.3.7 and 2.3.8 which was reverted in 2.3.9. The public 'PS_FontInfoRec' structure was expanded and then shrunk. Applications compiled against 2.3.8 should work fine with 2.3.9. Applications compiled against the new 2.3.9 can theoretically exhibit problems if run against a 2.3.8 binary, if some PS_FontInfo stuff is used. See the freetype release notes for details. I didn't find any suspects for now. If one is found, it should be changed to require 2.3.9, and PKGREV bumped. To generate a diff of this commit: cvs rdiff -u -r1.67 -r1.68 pkgsrc/graphics/freetype2/Makefile cvs rdiff -u -r1.29 -r1.30 pkgsrc/graphics/freetype2/distinfo cvs rdiff -u -r1.15 -r0 pkgsrc/graphics/freetype2/patches/patch-aa Date: Sat, 2 May 2009 19:44:51 +0000 From: Tobias Nygren To: pkgsrc-changes@@NetBSD.org Subject: CVS commit: pkgsrc/graphics/freetype2 Module Name: pkgsrc Committed By: tnn Date: Sat May 2 19:44:51 UTC 2009 Modified Files: pkgsrc/graphics/freetype2: Makefile distinfo Added Files: pkgsrc/graphics/freetype2/patches: patch-aa patch-ab patch-ac patch-ad Log Message: patch-[a-d]: Upstream patches for CVE-2009-0946. Bump PKGREVISION. To generate a diff of this commit: cvs rdiff -u -r1.68 -r1.69 pkgsrc/graphics/freetype2/Makefile cvs rdiff -u -r1.30 -r1.31 pkgsrc/graphics/freetype2/distinfo cvs rdiff -u -r0 -r1.17 pkgsrc/graphics/freetype2/patches/patch-aa cvs rdiff -u -r0 -r1.12 pkgsrc/graphics/freetype2/patches/patch-ab cvs rdiff -u -r0 -r1.4 pkgsrc/graphics/freetype2/patches/patch-ac cvs rdiff -u -r0 -r1.2 pkgsrc/graphics/freetype2/patches/patch-ad @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.31 2009/05/02 19:44:51 tnn Exp $ d3 4 a6 7 SHA1 (freetype-2.3.9.tar.bz2) = db08969cb5053879ff9e973fe6dd2c52c7ea2d4e RMD160 (freetype-2.3.9.tar.bz2) = c0351c2a3f43e64d26d2a964b1131a3dbf2fa162 Size (freetype-2.3.9.tar.bz2) = 1363190 bytes SHA1 (patch-aa) = a203699d1734eaa97aea6898bb527cf5ee6a09b1 SHA1 (patch-ab) = da1c8894476fd6d7123e8718d2b36072c98e5e72 SHA1 (patch-ac) = 9ec38f8b41652737a9474cc358d44ba1e2a4a54a SHA1 (patch-ad) = 556c116b7e80fc0633cca50d8923d183ac1762c3 @ 1.28 log @Update to freetype2-2.3.7. This is a bugfix release for the 2.3 series which provides some important fixes for bugs which were introduced in version 2.3.6. Additionally, native bytecode hinting for TrueType fonts has been improved. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.27 2008/07/08 15:44:36 drochner Exp $ d3 4 a6 3 SHA1 (freetype-2.3.7.tar.bz2) = f16f849d6e739ce8842008586af36371a32ac064 RMD160 (freetype-2.3.7.tar.bz2) = 7333507c5f42d451bf0541f007fe44165f090418 Size (freetype-2.3.7.tar.bz2) = 1310542 bytes @ 1.27 log @apply a fix from upstream CVS: * src/cff/cffobjs.c (cff_face_init): Compute final `dict->units_per_em' value before assigning it to `cffface->units_per_EM'. Otherwise, CFFs without subfonts are be scaled incorrectly if the font matrix is non-standard. This fixes Savannah bug #23630 This fixes the problem that text set in a font embedded as type 1C subset was rendered unreadably small. bump PKGREVISION @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.26 2008/06/11 10:35:21 drochner Exp $ d3 3 a5 4 SHA1 (freetype-2.3.6.tar.bz2) = 611bae913e8a593449a4dc60e0bf3300abc4f974 RMD160 (freetype-2.3.6.tar.bz2) = 8047e734804191856a941e19f6acf82047099d66 Size (freetype-2.3.6.tar.bz2) = 1305717 bytes SHA1 (patch-aa) = 4876eb28e5c5ffc9db98220f9046c639f1538bb7 @ 1.26 log @update to 2.3.6 This fixes some integer overflow/memory corruption/heap overflow security problems: CVE-2008-1806, CVE-2008-1807, CVE-2008-1808 other changes: -new function `FT_Get_CID_Registry_Ordering_Supplement' gives access to those fields in a CID-keyed font -code to validate the new `MATH' OpenType table -API for cmap 14 support -A new face flag FT_FACE_FLAG_CID_KEYED -misc bugfixes and other improvements @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.25 2007/07/06 18:16:28 drochner Exp $ d6 1 @ 1.25 log @update to 2.3.5 changes: -Some subglyphs in TrueType fonts were handled incorrectly due to a missing graphics state reinitialization. -Large .Z files (as distributed with some X11 packages) weren't handled correctly, making FreeType increase the heap stack in an endless loop. -A large number of bugs have been fixed to avoid crashes and endless loops with invalid fonts. -API extensions for caching, TT handling -autohinter improvement for non-Latin scripts -Support for Windows FON files in PE format @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.24 2007/05/19 16:24:49 tron Exp $ d3 3 a5 3 SHA1 (freetype-2.3.5.tar.bz2) = 45695d44c74be31944d807526a7e69a818e4afd2 RMD160 (freetype-2.3.5.tar.bz2) = 2a97cb1c3d93572c094d5d2890d12445ef2786d4 Size (freetype-2.3.5.tar.bz2) = 1279861 bytes @ 1.25.6.1 log @Pullup ticket 2426 - requested by kefren security update for freetype2 - pkgsrc/graphics/freetype2/Makefile 1.64 - pkgsrc/graphics/freetype2/PLIST 1.15 - pkgsrc/graphics/freetype2/distinfo 1.26 Module Name: pkgsrc Committed By: drochner Date: Wed Jun 11 10:35:21 UTC 2008 Modified Files: pkgsrc/graphics/freetype2: Makefile PLIST distinfo Log Message: update to 2.3.6 This fixes some integer overflow/memory corruption/heap overflow security problems: CVE-2008-1806, CVE-2008-1807, CVE-2008-1808 other changes: -new function `FT_Get_CID_Registry_Ordering_Supplement' gives access to those fields in a CID-keyed font -code to validate the new `MATH' OpenType table -API for cmap 14 support -A new face flag FT_FACE_FLAG_CID_KEYED -misc bugfixes and other improvements @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.25 2007/07/06 18:16:28 drochner Exp $ d3 3 a5 3 SHA1 (freetype-2.3.6.tar.bz2) = 611bae913e8a593449a4dc60e0bf3300abc4f974 RMD160 (freetype-2.3.6.tar.bz2) = 8047e734804191856a941e19f6acf82047099d66 Size (freetype-2.3.6.tar.bz2) = 1305717 bytes @ 1.24 log @Apply patch from CVS repository to fix the security vulnerability reported in CVE-2007-2754. Bump package revision. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.23 2007/04/10 16:55:31 drochner Exp $ d3 3 a5 4 SHA1 (freetype-2.3.4.tar.bz2) = 09b8f5ecbb3e06a14cc1c2f2dc7c04fe34c48eca RMD160 (freetype-2.3.4.tar.bz2) = 23b641c0b6e6102449e6f2512a131743d8836321 Size (freetype-2.3.4.tar.bz2) = 1277929 bytes SHA1 (patch-aa) = fbade879cbcea9c7169d70eeba517a84f6b2a160 @ 1.23 log @update to 2.3.4 changes: -includes security fixes for bdf font handling (was patched in pkgsrc) -fixes for truetype butecode interpreter @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.22 2007/04/05 16:29:38 drochner Exp $ d6 1 @ 1.22 log @pull in a patch from freetype CVS: * src/bdf/bdflib.c (setsbit, sbitset): Handle values >= 128 gracefully. (_bdf_set_default_spacing): Increase `name' buffer size to 256 and issue an error for longer names. (_bdf_parse_glyphs): Limit allowed number of glyphs in font to the number of code points in Unicode. This fixes CVE-2007-1351. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.21 2007/03/23 22:09:18 joerg Exp $ d3 3 a5 6 SHA1 (freetype-2.3.2.tar.bz2) = 4188a2ed344ddf89bdb1a054fb441019aa4b143d RMD160 (freetype-2.3.2.tar.bz2) = e4da77b6f8956d69e57269c5681560beda0ddb27 Size (freetype-2.3.2.tar.bz2) = 1252007 bytes SHA1 (patch-aa) = 0682e65e006c7b02535034c3e247be676af3b98f SHA1 (patch-ab) = 257118397011eb68197008842e98b8ef6c96e48d SHA1 (patch-ac) = b00c86bf322e2ac6a71a24e27916ca1fa312009b @ 1.22.2.1 log @Pullup ticket 2091 - requested by tron security fix for freetype2 Updated via patch provided by the submitter. Module Name: pkgsrc Committed By: tron Date: Sat May 19 16:25:27 UTC 2007 Added Files: pkgsrc/graphics/freetype2/patches: patch-aa Log Message: Apply patch from CVS repository to fix the security vulnerability reported in CVE-2007-2754. Bump package revision. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.22 2007/04/05 16:29:38 drochner Exp $ a8 1 SHA1 (patch-ad) = fbade879cbcea9c7169d70eeba517a84f6b2a160 @ 1.21 log @DragonFly's /bin/sh is far from being happy about the stand-alone backtick used for asthetic reasons. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.20 2007/03/20 15:20:33 drochner Exp $ d8 1 @ 1.20 log @update to 2.3.2 This switches to the new stable branch. There are too many API additions and other changes to list here -- see the changelog. Some notes: -There is an unpatented hinter built in per default. The "truetype" pkgsrc option does still enable another one -- the documentation here is inconsistent, so I've left this alone for now. I couldn't find a visible effect with my fonts on my display. -New pkgsrc option "subpixel". Enables subpixel rendering for LCDs. Not default because there are patent issues. -There is sone strange effect of the CONFIG_SHELL environment valiable on the "configure" script. Worked around this by overriding the env var in the pkg Makefile. Someone understanding shell quoting might be able to locate the underlying problem. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.19 2006/08/22 18:43:50 joerg Exp $ d6 2 @ 1.19 log @Add two patches to work around issues from CVE-2006-3467. Patches are directly from FreeType CVS. Bump revision. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.18 2006/05/31 10:24:54 tron Exp $ d3 3 a5 5 SHA1 (freetype-2.2.1.tar.bz2) = 4aa7d5ce2198fad586cf09ef7c9d3a6277320167 RMD160 (freetype-2.2.1.tar.bz2) = 1c7eb4a43501c8fd5e89d0399e184847351ee160 Size (freetype-2.2.1.tar.bz2) = 1212258 bytes SHA1 (patch-aa) = 58c8295d1b67be20a37b75d4786b25ca38779bf9 SHA1 (patch-ab) = 4f96f0b6dc90d90e9db38e9eb0e363f183b43e99 @ 1.18 log @Remove stale checksum for "patch-aa". Problem pointed out by Dave Sainty. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.17 2006/05/29 22:05:21 tron Exp $ d6 2 @ 1.18.2.1 log @Pullup ticket 1803 - requested by joerg security fix for freetype2 Revisions pulled up: - pkgsrc/graphics/freetype2/Makefile 1.53, 1.54 - pkgsrc/graphics/freetype2/distinfo 1.19 - pkgsrc/graphics/freetype2/patches/patch-aa 1.7 - pkgsrc/graphics/freetype2/patches/patch-ab 1.8 Module Name: pkgsrc Committed By: minskim Date: Sun Jul 23 14:37:08 UTC 2006 Modified Files: pkgsrc/graphics/freetype2: Makefile Log Message: Link against the Carbon library if the framework is available. This fixes PR 33858. Bump PKGREVISION. --- Module Name: pkgsrc Committed By: joerg Date: Tue Aug 22 18:43:51 UTC 2006 Modified Files: pkgsrc/graphics/freetype2: Makefile distinfo Added Files: pkgsrc/graphics/freetype2/patches: patch-aa patch-ab Log Message: Add two patches to work around issues from CVE-2006-3467. Patches are directly from FreeType CVS. Bump revision. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.19 2006/08/22 18:43:50 joerg Exp $ a5 2 SHA1 (patch-aa) = 58c8295d1b67be20a37b75d4786b25ca38779bf9 SHA1 (patch-ab) = 4f96f0b6dc90d90e9db38e9eb0e363f183b43e99 @ 1.17 log @Update "freetype2" package to version 2.2.1. Changes since version 2.1.10 include: - security fixes for SA20100 - version 2.2 no longer exposes its internals - various improvements in font handling @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.16 2006/02/25 00:35:41 reed Exp $ a5 1 SHA1 (patch-aa) = 0f05ebbb7c1264dd58f01916560278cd4c3dce08 @ 1.16 log @Add another directory to the Cflags variable in the pkg-config file. This fixes problem where non-pkgsrc software builds using this info can also find the ft2build.h header. (Not noticed in pkgsrc itself because that include file is already known.) This is also done in upstream version in the 2.2 release candidates. The commit log message upstream is: builds/unix/freetype2.in (CFlags): Add missing directory. Bump PKGREVISION. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.15 2005/06/30 13:01:29 adam Exp $ d3 3 a5 3 SHA1 (freetype-2.1.10.tar.bz2) = f9e5c52e466c3e41483d5d6d44b4f3135a9c4b16 RMD160 (freetype-2.1.10.tar.bz2) = 3d31d548632f14784283c97ece64c7425efc3975 Size (freetype-2.1.10.tar.bz2) = 1037107 bytes @ 1.16.2.1 log @Pullup ticket 1686 - requested by salo security fix for freetype2 Apply patch from salo, mirroring the recent xsrc fixes for CVE-2006-0747, CVE-2006-1861, and CVE-2006-2661. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.16 2006/02/25 00:35:41 reed Exp $ a6 11 SHA1 (patch-ab) = 405ec4f5e95f3acae343d735732575040c193fd5 SHA1 (patch-ac) = b825e918b1b6bd299db178faca615a9d72dbe934 SHA1 (patch-ad) = 5e3492d24b4b2a12dea60c36d625fe5d4877ba18 SHA1 (patch-ae) = 56da93184890ff7320e3fd8dc97738b43de53658 SHA1 (patch-af) = 461408c2f48682c4a8c42630b55e08a901b7d408 SHA1 (patch-ag) = 6af93a9a46c0d8003b360c984bc4162b44c1bd69 SHA1 (patch-ah) = 82afa08b90cf832e07448e39e29db063dcf90d43 SHA1 (patch-ai) = 3465ebf6434f5fa2a363275af1880f551961684e SHA1 (patch-aj) = 22bbcc7607b94aafd8be32c17a3d21c82126e879 SHA1 (patch-ak) = 9b732b78e265bb314d6d71676ff0af309c51ba99 SHA1 (patch-al) = 51b057984c4a011d173beca53f5b8654db800d3c @ 1.15 log @Changes 2.1.10: I. IMPORTANT BUG FIXES - The size comparison for BDF and PCF files could fail sometimes. - Some CFF files were still not loaded correctly. Patch from Derek Noonburg. - The stroker still had some serious bugs. - FreeType didn't properly parse empty Type 1 glyphs. - An unbound dynamic buffer growth was fixed in the PFR loader. - Several bugs have been fixed in the cache sub-system. - The auto-hinter didn't work properly for fonts without a Unicode charmap -- it even refused to load the glyphs. II. IMPORTANT CHANGES - Many fixes have been applied to drastically reduce the amount of heap memory used by FreeType, especially when using memory-mapped font files (which is the default on Unix systems which support them). - The auto-hinter has been replaced with a new module, called the `auto-fitter'. It consumes less memory than its predecessor, and it is prepared to support non-latin scripts better in next releases. - George Williams contributed code to read kerning data from PFM files. III. MISCELLANEOUS - The BDF driver no longer converts all returned bitmaps with a depth of 2bpp or 4bpp to a depth of 8bpp. - A new option `--ftversion' has been added to freetype-config to return the FreeType version. - The memory debugger has been updated to dump allocation statistics on all allocation sources in the library. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.14 2005/02/24 08:45:05 agc Exp $ d6 1 @ 1.14 log @Add RMD160 digests @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.13 2004/08/05 02:50:37 jlam Exp $ d3 3 a5 3 SHA1 (freetype-2.1.9.tar.bz2) = a3c3a0c0d5f8f6e62c774e24817748a941016990 RMD160 (freetype-2.1.9.tar.bz2) = 1dd8fb6fda8b159ef0d2ebedeca99a67ed65dc72 Size (freetype-2.1.9.tar.bz2) = 992394 bytes @ 1.13 log @Remove unused patch. It was patching the configure script to substitute for @@RPATH_FLAG@@, but that didn't exist anywhere in the sources. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.12 2004/08/02 12:30:01 adam Exp $ d4 1 @ 1.12 log @Changes 2.1.9: I. IMPORTANT BUG FIXES - The function `FT_Get_CharMap_Index' was only declared, without any real code. For consistency, it has been renamed to `FT_Get_Charmap_Index'. (This function is needed to implement cmap caches.) - `FT_Outline_Get_BBox' sometimes returned incorrect values for conic outlines (e.g., for TrueType fonts). - Handling of `bhed' table has been fixed. - The TrueType driver with enabled byte code interpreter sometimes returned artifacts due to incorrect rounding. This bug has been introduced after version 2.1.4. - The BDF driver dropped the last glyph in the font. - The BDF driver now uses the DEFAULT_CHAR property (if available) to select a glyph shape for the undefined glyph. II. IMPORTANT CHANGES - George Williams contributed code to handle Apple's font distortion technology found in GX fonts (`avar', `cvar', `fvar', and `gvar' tables; the Multiple Masters API has been slightly extended to cope with the new functionality). - The `FT_GlyphSlotRec' structure has been extended: The elements `lsb_delta' and `rsb_delta' give the difference between hinted and unhinted left and right side bearings if autohinting is active. Using those values can improve the inter-letter spacing considerably. See the documentation of `FT_GlyphSlotRec' and the `ftstring' demo program how to use it. III. MISCELLANEOUS - A new documentation file `formats.txt' describes various font formats supported (and not supported) by FreeType. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.11 2004/04/27 14:59:49 adam Exp $ a4 1 SHA1 (patch-ab) = f44dcb79e7067a225cfe55cf8b95fdd28caeeec3 @ 1.11 log @Changes 2.1.8: * bug fixes * Both PCF and BDF drivers now handle the SETWIDTH_NAME and ADD_STYLE_NAME properties. Values are appended to face->style_name; example: `Bold SemiCondensed'. * The PCF driver now handles bitmap fonts compressed with the LZW algorithm (extension .pcf.Z, compressed with `compress'). * A new API function `FT_Get_CMap_Language_ID' (declared in `tttables.h') is available to get the language ID of a TrueType/SFNT cmap. * The hexadecimal format of data after the `StartData' command in CID-keyed Type 1 fonts is now supported. While this can't occur in file-based fonts, it can happen in document-embedded resources of PostScript documents. * Embedded bitmaps in SFNT-based CFF fonts are now supported. * A simple API is now available to control FreeType's tracing mechanism if compiled with FT_DEBUG_LEVEL_TRACE. See the file `ftdebug.h' for more details. * YAMATO Masatake contributed improved handling of MacOS resource forks on non-MacOS platforms (for example, Linux can mount MacOS file systems). * Support for MacOS has been improved; there is now a new function `FT_New_Face_From_FSSpec' similar to `FT_New_Face' except that it accepts an FSSpec instead of a path. * The cache sub-system has been rewritten. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.10 2003/12/19 13:46:00 adam Exp $ d3 2 a4 2 SHA1 (freetype-2.1.8.tar.bz2) = c11759d337cb0bded649a4e25935a779873365b1 Size (freetype-2.1.8.tar.bz2) = 976821 bytes @ 1.10 log @Back to 2.1.5 @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.8 2003/09/13 08:32:19 adam Exp $ d3 3 a5 4 SHA1 (freetype-2.1.5.tar.bz2) = 4cee0581671928f7e721206ef1d4e9f9d37f0faa Size (freetype-2.1.5.tar.bz2) = 850767 bytes SHA1 (patch-aa) = 7bcff26021b690e4d789c4760baf820c2dc280a5 SHA1 (patch-ab) = cb1394b51c2b0eb1a4adf0ebef4b460a1adb20f6 @ 1.9 log @CHANGES BETWEEN 2.1.7 and 2.1.6: - Updated to newest libtool version, fixing build problems on various platforms. - On Unix platforms, `make install' didn't copy the correct `ftconfig.h' file. CHANGES BETWEEN 2.1.6 and 2.1.5: - The PFR font driver didn't load kerning tables correctly, and the functions in FT_PFR_H didn't work at all. - Type 1 font files in binary format (PFB) with an end-of-file indicator weren't accepted by the FreeType engine. - Fonts which contain /PaintType and /StrokeWidth no longer cause a segfault. This bug has been introduced in version 2.1.5. - Fonts loaded with FT_LOAD_RENDER no longer cause strange results. This bug has been introduced in version 2.1.5. - Some Windows (bitmap) FNT/FON files couldn't be handled correctly. - The internal module API has been heavily changed in favor of massive simplifications within the font engine. - The PostScript parser has been enhanced to handle comments and strings correctly. Additionally, more syntax forms are recognized. - Added the optional unpatented hinting system for TrueType. - There is now a guard in the public header files to protect against inclusion of freetype.h from FreeType 1. - Direct inclusion of freetype.h and other public header files no longer works. You have to use the documented scheme #include #include FT_FREETYPE_H to load freetype.h with a symbolic name. This protects against renaming of public header files (which shouldn't happen but actually has, avoiding two public header files with the same name). @ text @d3 2 a4 2 SHA1 (freetype-2.1.7.tar.bz2) = f7e1534d7248fd144e869b86b97cae449d595dbb Size (freetype-2.1.7.tar.bz2) = 930583 bytes d6 1 a6 1 SHA1 (patch-ab) = ee7a3a221a868a08e980415b8a8f6ad72b992a87 @ 1.8 log @LATEST CHANGES BETWEEN 2.1.5 and 2.1.4 I. IMPORTANT BUG FIXES - Parsing the /CIDFontName field now removes the leading slash to be in sync with other font drivers. - gzip support was buggy. Some fonts could not be read. - Fonts which have nested subglyphs more than one level deep no longer cause a segfault. - Creation of synthetic cmaps for fonts in CFF format was broken partially. - Numeric font dictionary entries for synthetic fonts are no longer overwritten. - The font matrix wasn't applied to the advance width for Type1, CID, and CFF fonts. This caused problem when loading certain synthetic Type 1 fonts like "Helvetica Narrow" - The test for the charset registry in BDF and PCF fonts is now case-insensitive. - FT_Vector_Rotate rotating sometimes returned strange values due to rounding errors. - The PCF driver now returns the correct number of glyphs (including an artificial `notdef' glyph at index 0). - FreeType now supports buggy CMaps which are contained in many CJK fonts from Dynalab. - Opening an invalid font on a Mac caused a segfault due to double-freeing memory. - BDF fonts with more than 32768 glyphs weren't supported properly. II. IMPORTANT CHANGES - Accessing bitmap font formats has been synchronized. To do that the FT_Bitmap_Size structure has been extended to contain new fields `size', `x_ppem', and `y_ppem'. - The FNT driver now returns multiple faces, not multiple strikes. - The `psnames' module has been updated to the Adobe Glyph List version 2.0. - The `psnames' module now understands `uXXXX[X[X]]' glyph names. - The algorithm for guessing the font style has been improved. - For fonts in sfnt format, root->height is no longer increased if the line gap is zero. There exist fonts (containing e.g. form drawing characters) which intentionally have a zero line gap value. - ft_glyph_bbox_xxx flags are now deprecated in favour of FT_GLYPH_BBOX_XXX. - ft_module_xxx flags are now deprecated in favour of FT_MODULE_XXX. - FT_ENCODING_MS_{SJIS,GB2312,BIG5,WANSUNG,JOHAB} are now deprecated in favour of FT_ENCODING_{SJIS,GB2312,GIB5,WANSONG,JOHAB} -- those encodings are not specific to Microsoft. III. MISCELLANEOUS - The autohinter has been further improved; for example, `m' glyphs now retain its vertical symmetry. - Partial support of Mac fonts on non-Mac platforms. - `make refdoc' (after first `make') builds the HTML documentation. You need Python for this. - The make build system should now work more reliably on DOS-like platforms. - Support for EMX gcc and Watson C/C++ compilers on MS-DOS has been added. - Better VMS build support. - Support for the pkg-config package by providing a `freetype.pc' file. - New configure option --with-old-mac-fonts for Darwin. - Some source files have been renamed (mainly to fit into the 8.3 naming scheme). @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.7 2003/04/16 08:53:47 wiz Exp $ d3 2 a4 2 SHA1 (freetype-2.1.5.tar.bz2) = 4cee0581671928f7e721206ef1d4e9f9d37f0faa Size (freetype-2.1.5.tar.bz2) = 850767 bytes d6 1 a6 1 SHA1 (patch-ab) = cb1394b51c2b0eb1a4adf0ebef4b460a1adb20f6 @ 1.7 log @Update to 2.1.4, provided by Christopher Richards in PR 21191. Extract of changes: - a fix in the Gzip stream reader, it couldn't read certain .gz files properly due to a small typo. In certain cases, FreeType could also loop endlessly when trying to load tiny gzipped files. - certain fonts couldn't be loaded by 2.1.3 because they lacked a Unicode charmap (e.g. SYMBOL.TTF). FreeType erroneously rejected them. - the CFF loader was modified to accept fonts which only contain a subset of their reference charset. This prevented the correct use of PDF-embedded fonts. - the logic to detect Unicode charmaps has been modified. this is required to support fonts which include both 16-bit and 32-bit charmaps (like very recent asian ones) using the new 10 and 12 SFNT formats. - the TrueType loader now limits the depth of composite glyphs. This is necessary to prevent broken fonts to break the engine by blowing the stack with recursive glyph definitions. - the CMap cache is now capable of managing UCS-4 character codes that are mapped through extended charmaps in recent TrueType/OpenType fonts - the cache sub-system now properly manages out-of-memory conditions, instead of blindly reporting them to the caller. This means that it will try to empty the cache before restarting its allocations to see if that can help. - the PFR driver didn't return the list of available embedded bitmaps properly. - David Chester contributed some enhancements to the auto-hinter that significantly increase the quality of its output. The Postscript hinter was also improved in several ways.. - the FT_RENDER_MODE_LIGHT render mode was implemented - a new API, called FT_Get_BDF_Property has been added to FT_BDF_H to retrieve BDF properties from BDF _and_ PCF font files. THIS IS STILL EXPERIMENTAL, since it hasn't been properly tested yet. - a Windows FNT specific API has been added, mostly to access font headers. This is used by Wine - TrueType tables without a "hmtx" table are now tolerated when an incremental interface is used. This happens for certain Type42 fonts passed from Ghostscript to FreeType. - the PFR font driver is now capable of returning the font family and style names when they're available (instead of the sole "FontID"). This is performed by parsing an *undocumented* portion of the font file !! @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.6 2003/03/21 22:25:50 dillo Exp $ d3 4 a6 4 SHA1 (freetype-2.1.4.tar.bz2) = 87779a895757fe7bf45f80cffbd412282115227a Size (freetype-2.1.4.tar.bz2) = 806635 bytes SHA1 (patch-aa) = bdfc47360ca1952ce6cb540e795a69523ca8a665 SHA1 (patch-ab) = 93449315852a2c868d5e3b09a9ae32d005141b14 @ 1.6 log @fix two bugs in freetype-config that prevent it from working outside of pkgsrc: - place -I${LOCALBASE}/freetype2 before -I${LOCALBASE}, since otherwise freetype 1 headers might be used - add -Wl,${RPATH_FLAG} bump pkgrevision @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.5 2002/12/24 00:04:16 wiz Exp $ d3 4 a6 4 SHA1 (freetype-2.1.3.tar.bz2) = 7b101c9220c1a64061eec8f007301fb249a52737 Size (freetype-2.1.3.tar.bz2) = 790213 bytes SHA1 (patch-aa) = e95285428ba58ce9ceeeec89d6f3fef04099488c SHA1 (patch-ab) = 62ce099789f031845fcf71506302b4cdb1672066 @ 1.5 log @Update to 2.1.3. Changes are too many to list here, for the most interesting one see http://www.freetype.org/freetype2/2.1.3-explained.html . @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.4 2001/12/30 14:13:27 wiz Exp $ d5 2 @ 1.4 log @Update to 2.0.5, based on pkg/14771 by Rui-Xiang Guo. Changes since 2.0.3 seem to be mostly bug fixes. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.3 2001/06/26 21:30:13 zuntum Exp $ d3 2 a4 2 SHA1 (freetype-2.0.5.tar.gz) = dd5bbc0bff77211b9516ed78a493063f6b46f06a Size (freetype-2.0.5.tar.gz) = 740375 bytes @ 1.3 log @Update freetype2 to 2.0.3 Changelog: 2001-05-25 David Turner Moved several documents from the top-level to the "docs" directory. * src/base/ftcalc.c (FT_DivFix): Small fix to return value. 2001-05-16 David Turner * src/truetype/ttgload.c (load_truetype_glyph): Fixed a bug in the composite loader. Spotted by Keith Packard. * src/base/ftobjs.c (FT_GlyphLoader_Check_Points, FT_GlyphLoader_Check_Subglyphs): Ditto. 2001-05-14 David Turner Fixed the incorrect blue zone computations, and improved the composite support. Note that these changes result in improved rendering, while sometimes introducing their own artefacts. This is probably the last big change to the autohinter before the introduction of a complete replacement. * src/autohint/ahglobal.c (sort_values): Fix loop. * src/autohint/ahglyph.c: Removed some obsolete code. (ah_outline_compute_edges): Modify code to set the ah_edge_round flag. (ah_outline_compute_blue_edges): Add code to compute active blue zones. * src/autohint/ahhint.c (ah_hinter_glyph_load): Change load_flags value. * src/base/ftcalc.c (FT_DivFix): Fixed a bug in the 64-bit code that created incorrect scale factors! (FT_Round_Fix, FT_CeilFix, FT_FloorFix): Minor improvements. 2001-05-12 Werner Lemberg * include/freetype/ftbbox.h: FTBBOX_H -> __FTBBOX_H__. * include/freetype/fttrigon.h: __FT_TRIGONOMETRY_H__ -> __FTTRIGON_H__. Include FT_FREETYPE_H. Beautified; added copyright. * src/base/fttrigon.c: Beautified; added copyright. 2001-05-11 David Turner * src/cff/cffparse.c (cff_parse_font_matrix), src/cid/cidload.c (parse_font_matrix), src/type1/t1load.c (parse_font_matrix): Fixed the incorrect EM size computation. * include/freetype/fttrigon.h, src/base/fttrigon.c: New files, adding trigonometric functions to the core API (using Cordic algorithms). * src/base/ftbase.c, src/base/Jamfile, src/base/rules.mk: Use them. * builds/newline: New file. * builds/top_level.mk, builds/detect.mk: Use it. This fixes problems with Make on Windows 2000, as well as problems when "make distclean" is invoked on a non-Unix platform when there is no "config.mk" in the current directory. * builds/freetype.mk: Fixed a problem with object deletions under Dos/Windows/OS/2 systems. Added new directory to hold tools and test programs. * docs/docmaker.py, docs/glnames.py: Moved to... * src/tools/docmaker.py, src/tools/glnames.py: This place. * src/tools/cordic.py: New file used to compute arctangent table needed by fttrigon.c. * src/tools/test_bbox.c, src/tools/test_trig.c: New test files. * src/tools/docmaker.py: Improved the script to add the current date at the footer of each web page (useful to distinguish between versions). * Jamfile: Fixed incorrect HDRMACRO argument. * TODO: Removed the cubic arc bbox computation note, since it has been fixed recently. * src/base/ftbbox.c (test_cubic_zero): Renamed to... (test_cubic_extrema): This function. Use `UL' for unsigned long constants. * include/freetype/t1tables.h, include/freetype/config/ftoption.h: Formatting. 2001-05-10 David Turner * src/base/ftobjs.c (FT_Open_Face): Fixed a small memory leak which happened when trying to open 0-size font files! 2001-05-09 Werner Lemberg * include/freetype/internal/ftcalc.h: Move declaration of FT_SqrtFixed() out of `#ifdef FT_LONG64'. 2001-05-08 Francesco Zappa Nardelli * src/pcfdriver.c (PCF_Load_Glyph): Fixed incorrect bitmap width computation. 2001-05-08 David Turner * docs/docmaker.py: Updated the DocMaker script in order to add command line options (--output,--prefix,--title), fix the erroneous line numbers reported during errors and warnings, and other formatting issues. * src/base/ftcalc.c (FT_MulDiv, FT_MulFix, FT_DivFix): Various tiny fixes related to rounding in 64-bits routines and pseudo-"optimizations". 2001-04-27 David Turner * src/base/ftbbox.c (BBox_Cubic_Check): Fixed the coefficient normalization algorithm (invalid final bit position, and invalid shift computation). 2001-04-26 Werner Lemberg * builds/unix/config.guess, builds/unix/config.sub: Updated to latest versions from gnu.org. * builds/compiler/gcc-dev.mk: Add `-Wno-long-long' flag. * include/freetype/internal/ftcalc.h: Define FT_SqrtFixed() uncoditionally. * src/base/ftbbox.c: Include FT_INTERNAL_CALC_H. Fix compiler warnings. * src/base/ftcalc.c: Fix (potential) compiler warnings. 2001-04-26 David Turner * src/base/ftcalc.c (FT_SqrtFixed): Corrected/optimized the 32-bit fixed-point square root computation. It is now used even with 64-bits integers, as it is _much_ faster than calling FT_Sqrt64 :-) * src/base/ftbbox.c: Removed invalid "#include FT_BEZIER_H" line. 2001-04-25 David Turner * src/base/ftbbox.c (BBox_Cubic_Check): Rewrote function to use direct computations with 16.16 values instead of sub-divisions. It is now slower, but proves a point :-) * src/base/ftcalc.c (FT_MulDiv, FT_MulFix, FT_DivFix): Various tiny fixes related to rounding in 64-bits routines and pseudo-"optimizations". 2001-04-27 David Turner * src/base/ftbbox.c (BBox_Cubic_Check): Fixed the coefficient normalization algorithm (invalid final bit position, and invalid shift computation). 2001-04-26 Werner Lemberg * builds/unix/config.guess, builds/unix/config.sub: Updated to latest versions from gnu.org. * builds/compiler/gcc-dev.mk: Add `-Wno-long-long' flag. * include/freetype/internal/ftcalc.h: Define FT_SqrtFixed() uncoditionally. * src/base/ftbbox.c: Include FT_INTERNAL_CALC_H. Fix compiler warnings. * src/base/ftcalc.c: Fix (potential) compiler warnings. 2001-04-26 David Turner * src/base/ftcalc.c (FT_SqrtFixed): Corrected/optimized the 32-bit fixed-point square root computation. It is now used even with 64-bits integers, as it is _much_ faster than calling FT_Sqrt64 :-) * src/base/ftbbox.c: Removed invalid "#include FT_BEZIER_H" line. 2001-04-25 David Turner * src/base/ftbbox.c (BBox_Cubic_Check): Rewrote function to use direct computations with 16.16 values instead of sub-divisions. It is now slower, but proves a point :-) * src/raster/ftraster.c, src/smooth/ftgrays.c, src/base/ftbbox.c: Fixed the bezier stack depths. * src/base/ftcalc.c (FT_MulFix): Minor rounding fix. * builds/beos: Added BeOS-specific files to the old build system (no changes were necessary to support BeOS in the Jamfile though). 2001-04-20 David Turner * ftconfig.h, ftoption.h: Updated "ftconfig.h" to detect 64-bit int types on platforms where Autoconf is not available). Also removed FTCALC_USE_LONG_LONG and replaced it with FT_CONFIG_OPTION_FORCE_INT64. * builds/win32/freetype.dsp: Updated the Visual C++ project file. Doesn't create a DLL yet. * cffgload.c: Removed a compilation warning. 2001-04-10 Tom Kacvinsky * t1load.c (parse_charstrings): Changed code for placing .notdef glyph into slot 0 so that we no longer have a memory access violation. * t1load.h: In structure T1_Loader, added swap_table (of type PS_Table) to facilitate placing the .notdef glyph into slot 0. 2001-04-10 Francesco Zappa Nardelli * src/pcf/pcfdriver.c (PCF_Get_Char_Index): Fix return value. 2001-04-09 Laurence Withers * builds/dos/detect.mk: Add support for bash. 2001-04-05 Werner Lemberg * builds/os2/*.mk: These files have been forgotten to update to the structure of similar makefiles. * builds/dos/*.mk: Ditto. * builds/ansi/*.mk: Ditto. * builds/win32/win32-def.mk (BUILD): Fix typo. * builds/compiler/*.mk (CLEAN_LIBRARY): Don't use NO_OUTPUT. This is already used in the link_*.mk files. 2001-04-03 Werner Lemberg * src/*/Jamfile: Slight changes to make files more cryptic. 2001-04-03 Werner Lemberg * Jamfile, src/Jamfile, src/*/Jamfile: Formatted. Slight changes to give files identical structure. 2001-04-02 Werner Lemberg * CHANGES: Reformatted, minor fixes. * TODO: Updated. * README: Formatting. * include/freetype/freetype.h: Formatting. * Jamfile: Fix typo. * src/cff/cffparse.c: Move error code #defines to... * include/freetype/internal/cfferrs.h: This file. * src/cff/cffdrivr.c, src/cff/cffobjs.c, src/cff/cffload.c: Replaced `FT_Err_*' with `CFF_Err_*'. * src/cid/cidparse.c: Replaced `FT_Err_*' with `T1_Err_*'. * src/psaux/psobjs.c, src/psaux/t1decode.c: Ditto. * src/sfnt/sfobcs.c, src/sfnt/ttload.c: Replaced `FT_Err_*' with `TT_Err_*'. * src/truetype/ttgload.c, src/truetype/ttobjs.c: Ditto. * src/type1/t1gload.c, src/type1/t1load.c, src/type1/t1objs.c, src/type1/t1parse.c: Replaced `FT_Err_*' with `T1_Err_*'. * include/freetype/internal/cfferrs.h: Add `CFF_Err_Unknown_File_Format'. * include/freetype/internal/t1errors.h: Add `T1_Err_Unknown_File_Format'. * include/freetype/internal/tterrors.h: Add `TT_Err_Unknown_File_Format'. * src/cff/cffload.h: Add `cff_*_encoding' and `cff_*_charset' references. * src/psaux/psobjs.c: Include `FT_INTERNAL_TYPE1_ERRORS_H'. * src/cff/cffobjs.c (CFF_Init_Face, CFF_Done_Face): Use FT_LOCAL_DEF. * src/cid/cidobjs.c (CID_Done_Driver): Ditto. * src/trutype/ttobjs.c (TT_Init_Face, TT_Done_Face, TT_Init_Size): Ditto. * src/type1/t1objs.c (T1_Done_Driver): Ditto. * src/pcf/pcfdriver.c (PCF_Done_Face): Ditto. * src/pcf/pcf.h: Use FT_LOCAL for `PCF_Done_Face'. 2001-04-02 Tom Kacvinsky * src/sfnt/ttload.c (TT_Load_Metrics): Fix an improper pointer dereference. Submitted by Herbert Duerr 2001-03-26 Tom Kacvinsky * include/freetype/config/ftconfig.h: Changed hexadecimal constants to use suffix U to avoid problems with HP-UX's c89 compiler. Submitted by G.W. Lucas 2001-03-24 David Turner * Jamrules, Jamfile, src/Jamfile, src/*/Jamfile: Adding jamfiles to the source tree. See www.freetype.org/jam/index.html for details. * Version 2.0.2 released. ========================= 2001-03-20 Werner Lemberg * builds/win32/detekt.mk: Fix .PHONY target for Intel compiler. 2001-03-20 David Turner * include/freetype/config/ftheader.h, include/freetype/ftsnames.h: Renamed "ftnames.h" to "ftsnames.h", and FT_NAMES_H to FT_SFNT_NAMES_H. * docs/docmaker.py: Added generation of INDEX link in table of contents. * INSTALL, docs/BUILD: Updated documentation to indicate that the compilation process has changed slightly (no more `src' required in the include path). * builds/*/*-def.mk: Changed the objects directory from "obj" to "objs". * include/freetype/config/ftheader.h: Removed obsolete macros like FT_SOURCE_FILE, etc. and added cache-specific macro definitions that were previously defined in . Added comments to be included in a new API Reference section. * src/*/*: Removed the use of FT_SOURCE_FILE, etc. Now, each component needs to add its own directory to the include path at compile time. Modified all "rules.mk" and "descrip.mms" accordingly. 2001-03-20 Werner Lemberg * builds/unix/configure.in: Add $ft_version. * builds/unix/freetype-config.in: Use it. * builds/unix/configure: Updated. 2001-03-19 Tom Kacvinsky * src/type1/t1load.c (parse_font_matrix): Assign the units per em value an unsigned short value, first by shifting right 16 bits, then by casting the results to FT_UShort. * src/cff/cffparse.c (cff_parse_font_bbox): Assign the units per em value an unsigned short value, first by shifting right 16 bits, then by casting the results to FT_UShort. 2001-03-17 David Turner * src/cid/cidobjs.c, src/cid/cidload.c, src/pcf/pcfread.c, src/type1/t1load.c, src/type1/t1objs.c: Added a few casts to remove compiler warnings in pedantic modes. * include/config/ft2build.h, include/config/ftheader.h: The file "ft2build.h" was renamed to "ftheader.h" to avoid conflicts with the top-level . * include/config/ftheader.h: Added new section describing the #include macros. 2001-03-17 Tom Kacvinsky * src/cff/cffparse.c (cff_parse_font_bbox): Obtain rounded FT_Fixed values for the bounding box numbers. * src/cff/cffobjs.c (CFF_Init_Face): When processing a CFF/CEF font, set `root->ascender' (`root->descender') to the integer part of `root->bbox.yMax' (`root->bbox.yMin', respectively). 2001-03-16 Tom Kacvinsky * src/cff/cffdrivr.c (get_cff_glyph_name): New function. Used in cff_get_interface to facilitate getting a glyph name for glyph index via FT_Get_Glyph_Name(). (cff_get_interface): Added support for getting a glyph name via the "glyph_name" module interface. Uses the new function get_cff_glyph_name(). Submitted by Sander van der Wal * src/cff/cffobjs.c (CFF_Init_Face): Logical or the face flags with FT_FACE_FLAG_GLYPH_NAMES only if FT_CONFIG_OPTION_NO_GLYPH_NAMES is not defined. This is to add support for getting a glyph name from a glyph index via FT_Get_Glyph_Name(). Submitted by Sander van der Wal * src/cff/cffgload.c (CFF_Parse_CharStrings): Added support for deprecated operator "dotsection". Submitted by Sander van der Wal 2001-03-12 Werner Lemberg * src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Fix error messages. * INSTALL, docs/BUILD: We need GNU make 3.78.1 or newer. 2001-03-12 Tom Kacvinsky * include/freetype/internal/psaux.h: Changed the lenIV member of the T1_Decoder_ struct to be an FT_Int instead of an FT_UInt. * src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Adjust for lenIV seed bytes at the start of a decrypted subroutine. * src/cid/cidload.c (cid_read_subrs): Decrypt subroutines only if lenIV >= 0. * src/cid/cidgload.c (cid_load_glyph): Decrypt charstrings only if lenIV >= 0. 2001-03-11 Werner Lemberg * TODO: Updated. * src/pcf/pcfread.c: Put READ_Fields() always in a conditional to avoid compiler warnings. 2001-03-10 Tom Kacvinsky * TODO: New file. * include/freetype/freetype.h: Added prototypes and notes for three new functions: FT_RoundFix, FT_CeilFix, and FT_FloorFix. * src/base/ftcalc.c (FT_RoundFix, FT_CeilFix, FT_FloorFix): Added implementation code. * src/cid/cidobjs.c (CID_Init_Face): Use calculated units_per_EM, and if that is not available, default to 1000 units per EM. Changed assignment code for ascender and descender values. * src/cid/cidload.c (parse_font_matrix): Added units_per_EM processing. (parse_font_bbox): Changed to use FT_Fixed number handling. * src/type1/t1objs.c (T1_Init_Face): Changed the assignment code for ascender, descender, and max_advance_width. * src/type1/t1load.c (parse_font_bbox): Changed to use FT_Fixed number handling. 2001-03-10 Henrik Grubbstrm * src/*/*.c: Added many casts to make code more 64bit-safe. 2001-03-07 Werner Lemberg * INSTALL, docs/BUILD: We need GNU make 3.78 or newer. 2001-03-07 Tom Kacvinsky * src/type1/t1objs.c (T1_Init_Face): Minor correction: We must wait until parse_font_bbox is changed before we use logical shift rights in the assignments of `root->ascender', `root->descender', and `root->max_advance_width'. (T1_Done_Face): Free `char_name' table to avoid a memory leak. Submitted by Sander van der Wal . 2001-03-05 Tom Kacvinsky * src/cff/cffgload.c (CFF_Load_Glyph): Set glyph control data to the the Type 2 glyph charstring (used by conversion programs). Submitted by Ha Shao . 2001-03-04 Antoine Leca * include/freetype/ttnameid.h: Correct a stupid typo which prevented correct compilation (TT_MS_LANGID_TIGRIGNA_ETHIOPIA appeared twice). 2001-03-04 Werner Lemberg * src/autohint/ahtypes.h (AH_Hinter): Add elements `disable_horz_edges', `disable_vert_edges'. * src/autohint/ahhint.c (ah_hint_edges_3, ah_hinter_hint_edges): Use them (and remove static variables with the same names). * src/pcf/pcfutil.c (BitOrderInvert): Add `const'. * docs/glnames.py: Updated to latest pstables.h changes. * builds/unix/detect.mk: Add test for Hurd. * builds/hurd/detect.mk: Removed. 2001-03-04 Sander van der Wal * src/psnames/pstables.h: Add more `const'. * src/pcf/pcfutil.c: Ditto. 2001-03-04 Werner Lemberg * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Fixing typo (FT_Glyph_Done -> FT_Done_Glyph). 2001-03-01 Antoine Leca * include/freetype/ttnameid.h: Added some new Microsoft language codes and LCIDs as found in Office Xp. 2001-02-28 David Turner * builds/hurd/detect.mk: New file. Added support to detect the GNU Hurd operating system as Unix-like. Fix submitted by Anthony Fok . * src/type1/t1gload.c (T1_Load_Glyph): Set glyph control data to the the Type 1 glyph charstring (used by conversion programs). Submitted by Ha Shao . 2001-02-22 David Turner * src/base/ftgrays.c (grays_sweep): The function didn't exit immediately if `num_cells' was 0 as it should. Thanks to Boris for finding this out. * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Fixed memory leak when bitmap rendering fails (thanks to Graham Asher). 2001-02-13 Werner Lemberg * docs/docmaker.py (DocSection::add_element): Use `self.print_error()'. * builds/unix/config.{guess,sub}: Updated (from ftp.gnu.org). 2001-02-13 David Turner * docs/docmaker.py, include/freetype/*.h: Updated the DocMaker script to support chapters and section block ordering. Updated the public header files accordingly. * src/base/ftglyph.c (FT_Glyph_Copy): Advance width and glyph format were not correctly copied. 2001-02-08 Tom Kacvinsky * src/cff/cffparse.c (cff_parse_font_matrix): Removed an unnecessary fprintf( stderr, ... ). 2001-02-07 Tom Kacvinsky * src/type1/t1objs.c (T1_Init_Face): Added code to get the units_per_EM from the value assigned in parse_font_matrix, if available. Default to 1000 if not available. * src/cff/cffparse.c (cff_parse_font_matrix): Added logic to get the units_per_EM from the FontMatrix. (cff_parse_fixed_thousand): New function. Gets a real number from the CFF font, but multiplies by 1000 (this is to avoid rounding errors when placing this real number into a 16.16 fixed number). (cff_parse_real): Added code so that the integer part is moved into the high sixteen bits of the 16.16 fixed number. * src/cff/cffobjs.c (CFF_Init_Face): Added logic to get the units per EM from the CFF dictionary, if available. * include/freetype/internal/cfftypes.h: In struct CFF_Font_Dict_, added a units_per_em member to facilitate passing of units_per_em from function cff_parse_font_matrix. * src/type1/t1load.c (is_alpha): Make `-' a legal alphanumeric character. This is so that font names with `-' are fully parsed, etc... 2001-02-02 Werner Lemberg * src/psaux/psobjs.c (shift_elements): Remove if clause (which is obsolete now). (reallocate_t1_table, PS_Table_Done): Replace REALLOC() with ALLOC() + MEM_Copy() to avoid a memory bug. 2001-02-01 David Turner * docs/docmaker.py: Improved the index sorting routine to place capital letters before small ones. Added the "" marker to section blocks in order to give the order of blocks. 2001-01-30 Antoine Leca * include/freetype/ttnameid.h: Latest updates to Microsoft language ID codes. 2001-01-24 Tom Kacvinsky * src/cff/t1load.c (parse_font_matrix): Added heuristic to get units_per_EM from the font matrix. (parse_dict): Deleted test to see whether the FontInfo keyword has been seen. Deletion of this test allows fonts without FontInfo dictionaries to be parsed by the Type 1 driver. (T1_Open_Face): Deleted empty subroutines array test to make sure fonts with no subroutines still are parsed. 2001-01-17 Francesco Zappa Nardelli * src/pcfread.c (pcf_get_properties, pcf_get_metrics, pcf_get_bitmaps): Fix compiler errors. 2001-01-11 David Turner * src/pcf/pcfread.c: Removed some compilation warnings related to comparison of signed vs. unsigned integers. * include/freetype/internal/ftdebug.h: Changed the debug trace constants from trace_t2xxxx to trace_cffxxxx to be able to compile the CFF driver in debug mode. 2001-01-11 Matthew Crosby * builds/unix/freetype-config.in: Fix problems with separate --prefix and --exec-prefix. 2001-01-11 David Turner * docs/docmaker.py: Added cross-references generation as well as more robust handling of pathname wildcard matching. 2001-01-10 Werner Lemberg * docs/docmaker.py: Minor improvements to reduce unwanted spaces and empty lines in output. 2001-01-09 David Turner * docs/docmaker.py: Improved script to generate table of contents and index pages. It also supports wildcards on non Unix systems. * include/freetype/*.h, include/freetype/cache/*.h: Updated comments to include section definitions/delimitations for the API Reference generator. * include/freetype/freetype.h: Moved declaration of `FT_Generic_Finalizer' and the `FT_Generic' structure to... * include/freetype/fttypes.h: here. 2001-01-04 Werner Lemberg * include/freetype/ttnameid.h: Updated Unicode code range comments. 2001-01-03 Tom Kacvinsky * src/cff/rules.mk: Use cffgload.{c,h} instead of t2gload.{c,h}. * include/freetype/internal/internal.h: Changed to use cfftypes.h (cfferrs.h) instead of t2types.h (t2errors.h, respectively). * include/freetype/internal/cfftypes.h: Merged in changes from t2types.h and made this the canonical `types' header for the CFF driver. * include/freetype/internal/t2types.h: This file was merged with cfftypes.h and is no longer necessary. * include/freetype/internal/t2errors.h: Renamed to cfferrs.h. * src/cff/cffobjs.c, src/cff/cffobjs.h, src/cff/cffparse.c, src/cff/cffdrivr.c, src/cff/cff.c, src/cff/cffload.c, src/cff/cffgload.c, src/cff/cffgload.h: Changed to use cffgload.{c,h} instead of t2gload.{c,h}. All occurences of t2_ (T2_) were replaced with cff_ (CFF_, respectively). * src/cff/t2gload.h: Renamed cffgload.h. * src/cff/t2gload.c: Renamed cffgload.c 2000-01-02 Jouk Jansen * builds/vms: Support files for VMS architecture added. * descrip.mms, src/*/descrip.mms: VMS makefiles added. * README.VMS: New file. 2000-01-01 Werner Lemberg * LICENSE.TXT: Added info about PCF driver license. 2001-01-01 Francesco Zappa Nardelli * src/pcf/*: New driver module for PCF font format (used in X Windows). * include/freetype/internal/ftdebug.h (FT_Trace): Added values for PCF driver. * include/freetype/internal/pcftypes.h: New file. * include/freetype/config/ftmodule.h: Added PCF driver module. 2001-01-01 Werner Lemberg * src/winfonts/winfnt.c (FNT_Get_Char_Index): Fix parameter type. 2000-12-31 Werner Lemberg * builds/modules.mk (clean_module_list): Fixed deletion of module file in case `make make_module_list' is called before `make setup'. 2000-12-30 Werner Lemberg * src/cff/cffload.c (CFF_Load_Charset): Improved error messages. (CFF_Load_Charset, CFF_Load_Encoding): Remove unnecessary variable definition. 2000-12-30 Tom Kacvinsky * include/freetype/internal/t2types.h, include/freetype/internal/cfftypes.h: Changed the structures for CFF_Encoding and CFF_Encoding for the new implementations of the charset and encoding parsers in the CFF driver. * src/cff/t2gload.c (t2_lookup_glyph_by_stdcharcode, t2_operator_seac): Added these functions for use in implementing the seac emulation provided by the Type 2 endchar operator. (T2_Parse_CharStrings): Added seac emulation for the endchar operator. * src/cff/cffload.c (CFF_Load_Encoding, CFF_Load_Charset, CFF_Done_Encoding, CFF_Done_Charset): Extended to load and parse the charset/encoding tables, and free the memory used by them when the CFF driver is finished with them. Added tables cff_isoadobe_charset cff_expert_charset cff_expertsubset_charset cff_standard_encoding cff_expert_encoding so that the encoding/charset parser can handle predefined encodings and charsets. 2000-12-24 Tom Kacvinsky * src/cff/t2gload.c (T2_Load_Glyph): Added code so that the font transform is applied. * src/cff/cffparse.c (cff_parse_font_matrix): Added code so that the font matrix numbers are scaled by 1/(matrix->yy). Also, the offset vector now contains integer values instead of 16.16 fixed numbers. 2000-12-22 Tom Kacvinsky * src/autohint/ahhint.c (ah_hinter_load_glyph): Removed unnecessary comments and commented-out code. 2000-12-21 David Turner * src/cid/cidafm.c, src/cid/cidafm.h: removed un-needed files, we'll work on supporting CID AFM files later I guess :-) 2000-12-21 Tom Kacvinsky * src/autohint/ahhint.c (ah_hinter_load, ah_hinter_load_glyph): Changed so that fonts with a non-standard FontMatrix render correctly. Previously, the first glyph rendered from such a font did not have the tranformation matrix applied. 2000-12-17 Werner Lemberg * *.mk: Added lots of `.PHONY' targets. 2000-12-17 Karsten Fleischer * *.mk: Implemented `platform' target to disable auto-detection. 2000-12-14 Werner Lemberg * docs/design/modules.html: Removed. Covered by design-*.html. * INSTALL: Added info about makepp. 2000-12-14 David Turner Added support for clipped direct rendering in the smooth renderer. This should not break binary compatibility of existing applications. * include/freetype/fttypes.h, include/freetype/ftimage.h: Move definition of the FT_BBox structure from the former to the latter. * include/freetype/ftimage.h: Add `ft_raster_flag_clip' value to FT_Raster_Flag enumeration. Add `clip_box' element to FT_Raster_Params structure. * src/smooth/ftgrays.c (grays_convert_glyph): Implement it. * INSTALL: Updated installation instructions on Win32, listing the new "make setup list" target used to list supported compilers/targets. * src/raster/ftraster.c (ft_black_render): Test for unsupported direct rendering before testing arguments. 2000-12-13 David Turner * include/freetype/config/ft2build.h, include/freetype/internal/internal.h: Fixed header inclusion macros to use direct definitions. This is the only way to do these things in a portable way :-( The rest of the code should follow shortly though everything compiles now. * builds/compiler/intelc.mk, builds/compiler/watcom.mk: New files. * builds/win32/detect.mk: Added support for the Intel C/C++ compiler, as well as _preliminary_ (read: doesn't work!) support for Watcom. Also added a new setup target. Type "make setup list" for a list of supported command-line compilers on Win32. * src/base/ftdebug.c: Added dummy symbol to avoid empty file if conditionals are off. 2000-12-13 Werner Lemberg * builds/unix/ftsystem.c: Fixed typos. Fixed inclusion of wrong ftconfig.h file. 2000-12-12 Werner Lemberg * include/freetype/config/ft2build.h (FT2_ROOT, FT2_CONFIG_ROOT): Removed. ANSI C doesn't (explicitly) allow macro expansion in arguments using `##'. (FT2_PUBLIC_FILE, FT2_CONFIG_FILE, FT2_INTERNAL_FILE): Use directory names directly. Make them configurable. Use `##' to strip leading and trailing spaces from arguments. * builds/unix/ft2unix.h: Adapted. * src/base/ftsystem.c (ft_alloc, ft_realloc, ft_free, ft_io_stream, ft_close_stream): Use FT_CALLBACK_DEF. * builds/unix/ftsystem.c: Use new header scheme. (FT_Done_Memory): Use free() from FT_Memory structure. * src/base/ftinit.c, src/base/ftmac.c: Header scheme fixes. 2000-12-11 Werner Lemberg * include/freetype/config/ft2build.h (FT2_CONFIG_ROOT, FT2_PUBLIC_FILE, FT2_CONFIG_FILE, FT2_INTERNAL_FILE, FT_SOURCE_FILE): Use `##' operator to be really ANSI C compliant. 2000-12-09 Werner Lemberg * builds/unix/detect.mk: Remove unused USE_CFLAGS variable. 2000-12-08 Werner Lemberg * */*.h: Changed body inclusion macro names to start and end with `__' (those which haven't converted yet). Fixed minor conversion issues. * src/winfonts/winfnt.c: Updated to new header inclusion scheme. * src/truetype/ttinterp.c: Remove unused CALC_Length() macro. 2000-12-07 David Turner * */*.[ch]: Changed source files to adhere to the new header inclusion scheme. Not completely tested but works for now here. * src/cff/t2driver.c: Renamed and updated to... * src/cff/cffdrivr.c: New file. * src/cff/t2driver.h: Renamed and updated to... * src/cff/cffdrivr.h: New file. * src/cff/t2load.c: Renamed and updated to... * src/cff/cffload.c: New file. * src/cff/t2load.h: Renamed and updated to... * src/cff/cffload.h: New file. * src/cff/t2objs.c: Renamed and updated to... * src/cff/cffobjs.c: New file. * src/cff/t2objs.h: Renamed and updated to... * src/cff/cffobjs.h: New file. * src/cff/t2parse.c: Renamed and updated to... * src/cff/cffparse.c: New file. * src/cff/t2parse.h: Renamed and updated to... * src/cff/cffparse.h: New file. * src/cff/t2tokens.h: Renamed and updated to... * src/cff/cfftoken.h: New file. * src/cff/cff.c, src/cff/rules.mk: Updated. 2000-12-06 David Turner * src/cache/ftlru.c (FT_Lru_Done): Fixed memory leak. 2000-12-06 Werner Lemberg * builds/module.mk: Replaced `xxx #' with `xxx$(space). * builds/os2/detekt.mk, builds/win32/detekt.mk: Moved comment to avoid trailing spaces in variable. * builds/freetype.mk: Use $(D) instead of $D to make statement more readable. * docs/docmaker.py: Formatting. 2000-12-05 David Turner * src/psaux/psauxmod.c: Fixed a broken inclusion of component header files (an FT_FLAT_COMPILE test was missing). * src/cache/ftcmanag.c (FTC_Manager_Done): Fixed a bug that caused an occasional crash when the function was called (due to a dangling pointer). * src/base/ftsystem.c (FT_Done_Memory): Fixed an obvious bug: The ANSI "free()" function was called instead of "memory->free()". * docs/docmaker.py: Added section filtering, multi-page generation (index page generation is still missing though). 2000-12-04 David Turner * builds/unix/install.mk, builds/unix/ft2unix.h: The file "ft2unix.h" is now installed as for Unix systems. Note that we still use the "freetype2/freetype" installation path for now. * */*.[ch]: Now using as the default build and setup configuration file in all public headers. Internal source files still need some changes though. * builds/devel/ft2build.h, builds/devel/ftoption.h: Created a new directory to hold all development options for both the Unix and Win32 developer builds. * builds/win32/detect.mk, builds/win32/w32-bccd.mk, builds/win32/w32-dev.mk: Changed the developer build targets to "devel-gcc" and "devel-bcc" in order to be able to develop with the Borland C++ compiler. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.2 2001/05/08 16:36:01 agc Exp $ d3 2 a4 2 SHA1 (freetype-2.0.3.tar.gz) = 9fd9aab624e895144e216915a8ae4d3ba92cd5f7 Size (freetype-2.0.3.tar.gz) = 812741 bytes @ 1.2 log @Move to sha1 digest, and add distfile size @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.1 2001/04/17 11:23:07 agc Exp $ d3 2 a4 2 SHA1 (freetype-2.0.1.tar.gz) = 23df2882bccab7ff55273aa18553f329bfae6979 Size (freetype-2.0.1.tar.gz) = 895715 bytes @ 1.1 log @+ move the distfile digest/checksum value from files/md5 to distinfo + move the patch digest/checksum values from files/patch-sum to distinfo @ text @d1 1 a1 1 $NetBSD: md5,v 1.2 2000/12/24 02:27:41 wiz Exp $ d3 2 a4 1 MD5 (freetype-2.0.1.tar.gz) = 2781732a9150e524d6959f4f297b411a @