Projects
openEuler:Mainline
libXft
Sign Up
Log In
Username
Password
We truncated the diff of some files because they were too big. If you want to see the full diff for every file,
click here
.
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 2
View file
_service:tar_scm:libXft.spec
Changed
@@ -1,10 +1,10 @@ Name: libXft -Version: 2.3.4 +Version: 2.3.7 Release: 1 Summary: X FreeType library License: MIT URL: https://xorg.freedesktop.org/ -Source0: https://xorg.freedesktop.org/releases/individual/lib/%{name}-%{version}.tar.bz2 +Source0: https://xorg.freedesktop.org/releases/individual/lib/%{name}-%{version}.tar.gz BuildRequires: xorg-x11-util-macros autoconf automake libtool BuildRequires: freetype-devel fontconfig-devel pkgconfig(xrender) @@ -54,9 +54,15 @@ %files help %defattr(-,root,root) %doc README.md ChangeLog -%{_mandir}/man3/Xft.3.gz +%{_mandir}/man3/Xft*.3* %changelog +* Fri Feb 03 2023 zhouwenpei <zhouwenpei1@h-partners.com> - 2.3.7-1 +- update to 2.3.7 + +* Wed Oct 26 2022 zhouwenpei <zhouwenpei1@h-partners.com> - 2.3.4-2 +- Rebuild for next release + * Wed Dec 1 2021 dongyuzhen <dongyuzhen@huawei.com> - 2.3.4-1 - update to 2.3.4
View file
_service
Changed
@@ -2,7 +2,7 @@ <service name="tar_scm"> <param name="scm">git</param> <param name="url">git@gitee.com:src-openeuler/libXft.git</param> - <param name="revision">45bdc9c975e9f01ae6475739f0de9259dff234fa</param> + <param name="revision">master</param> <param name="exclude">*</param> <param name="extract">*</param> </service>
View file
_service:tar_scm:libXft-2.3.4.tar.bz2/ChangeLog -> _service:tar_scm:libXft-2.3.7.tar.gz/ChangeLog
Changed
@@ -1,3 +1,589 @@ +commit 1463255cd4f537baabf8f2c65270e4924d4ed656 +Author: Thomas E. Dickey <dickey@invisible-island.net> +Date: Tue Nov 15 03:39:55 2022 -0500 + + libXft 2.3.7 + + Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net> + +commit 4f704b700beb6486213e1096b0e702f4a9067184 +Author: Thomas E. Dickey <dickey@invisible-island.net> +Date: Mon Nov 14 18:42:47 2022 -0500 + + libxft issue #16 + + https://gitlab.freedesktop.org/xorg/lib/libxft/-/issues/16 + + Stack gets smashed in fonts with colors when calling XftGlyphRender + + BGRA changes made incorrect comparison for local vs allocated + buffer in XftGlyphSpecRender + + Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net> + +commit de4592a18bba0bfc88232f6f4ecad7c2fa5e616e +Author: Thomas E. Dickey <dickey@invisible-island.net> +Date: Sun Nov 13 05:56:12 2022 -0500 + + fix compiler warning + + Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net> + +commit 98e27ba4b2c3a4825a3497cd481992374a9c9e98 +Author: Thomas E. Dickey <dickey@invisible-island.net> +Date: Sat Nov 12 12:48:08 2022 -0500 + + libxft issue #15 + + https://gitlab.freedesktop.org/xorg/lib/libxft/-/issues/15 + + XftFontLoadGlyphs for mono font returns wrong info in extents from + XftTextExtentsUtf8 for variable chars + + Patch by Scott Mcdermott, based on + + https://github.com/googlefonts/Inconsolata/issues/42 + + Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net> + +commit 6d246534bd156e5cb901b2cc9e2b9d473cf73506 +Author: ericLemanissier <eric.lemanissier@gmail.com> +Date: Fri Sep 23 07:59:55 2022 +0000 + + stdint.h header is needed for SIZE_MAX + +commit 7d3bcd3b9ae3ffbfcd4f31c8f1db2254df90bc33 +Author: Thomas E. Dickey <dickey@invisible-island.net> +Date: Sat Sep 10 09:59:49 2022 -0400 + + libXft 2.3.6 + + Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net> + +commit 5e0ed11a43e37e50ba0937beaa40851c2d864981 +Author: Thomas E. Dickey <dickey@invisible-island.net> +Date: Wed Sep 7 19:25:06 2022 -0400 + + fix gcc12 warning about malloc size + + Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net> + +commit ab2df0af3dc7c594d44ccccfa0e7ddeeefb1e70e +Author: Thomas E. Dickey <dickey@invisible-island.net> +Date: Wed Sep 7 19:21:38 2022 -0400 + + revised fix for gcc 12 compiler warnings in xftextent.c + + Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net> + +commit 95284856783b824a714b7506762f4adce3bb17ce +Author: Adam Sampson <ats@offog.org> +Date: Wed Sep 7 00:31:10 2022 +0100 + + Fix length check in XftTextExtents*. + + Commit 06a3c0ab6520e368ac936cb1ef172f19957db0fa added length checks of + the form "if (len <= 0) return;" to various Xft functions. However, + while rendering an empty string is equivalent to doing nothing, asking + for the extents of an empty string isn't -- it still needs to fill in + the extents structure. This broke text rendering in some applications + (e.g. xpdf's Motif GUI). + + Check for len < 0 in XftTextExtents* instead. + +commit c6309d4c8fcb5f4879cc25cf81b649f5eb665413 +Author: Thomas E. Dickey <dickey@invisible-island.net> +Date: Mon Sep 5 15:23:18 2022 -0400 + + libXft 2.3.5 + + Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net> + +commit 4356b583f8c23575a9ac25d49e7d224930107ef5 +Author: Thomas E. Dickey <dickey@invisible-island.net> +Date: Sat Jul 9 12:25:28 2022 -0400 + + update copyright notice + + Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net> + +commit 1f610967afc221b296036849d0c17aea495ab50c +Author: Thomas E. Dickey <dickey@invisible-island.net> +Date: Sat Jul 9 12:23:57 2022 -0400 + + add a null-pointer check + + Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net> + +commit 16b87600d545b7c0e8f4b6629f553eb235f19f0c +Author: Thomas E. Dickey <dickey@invisible-island.net> +Date: Sat Jul 9 09:58:58 2022 -0400 + + fix new gcc warnings + + Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net> + +commit a87be5ae94148f163a7b009df3d41a26a478d800 +Author: Thomas E. Dickey <dickey@invisible-island.net> +Date: Sat Jul 9 09:28:29 2022 -0400 + + build-fix + + Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net> + +commit 3ca7a7c375a8c022c068e2534c5a6861e547eaef +Author: Thomas E. Dickey <dickey@invisible-island.net> +Date: Sat Jul 9 09:04:18 2022 -0400 + + merge changes by Christian Werner + + see note in libXft merge-request #1 at #note_1222314 + + Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net> + +commit c53a1bc27c11e0c3cdf54e2beffd6cc220703a0b +Author: Thomas E. Dickey <dickey@invisible-island.net> +Date: Mon May 30 20:11:14 2022 -0400 + + cleanup new compiler warnings + + Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net> + +commit 68c6a862409028d9b62ca601df02f345d60f969e +Author: Thomas E. Dickey <dickey@invisible-island.net> +Date: Mon May 30 18:30:55 2022 -0400 + + build-fix for c89 + + Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net> + +commit 6a08279ee80dbd1a226592d7f18c862c2e4a7d3a +Author: Maxime Coste <mawww@kakoune.org> +Date: Tue Oct 22 22:46:49 2019 +1100 + + Add support for BGRA glyphs display and scaling + + Display is done using an XRender Picture, as XRender + glyphs are incompatible with BGRA rendering due to + their use of the glyph bitmap as a mask. + + Scaling is done by averaging all relevant pixel, which gives + much better result than nearest pixel sampling while staying + simple enough and not too computationally expensive. + + This enables color emoji rendering support. + + Fixes: #6 + + Signed-off-by: Maxime Coste <mawww@kakoune.org> + Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net> + +commit 2cbb9597e0b10d87fa9fc506910f69b9199320f0 +Author: Maxime Coste <mawww@kakoune.org> +Date: Thu Jan 28 20:05:13 2021 +1100 + + Introduce a _XftCompositeText helper function + + Dispatch to XRenderCompositeText{8,16,32} based off the given width. + + Signed-off-by: Maxime Coste <mawww@kakoune.org> + Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net> + +commit cac2fd528dd0ba9ed2308f6dda4598993c51cf64 +Author: Maxime Coste <mawww@kakoune.org> +Date: Thu Jan 28 19:59:10 2021 +1100 + + Introduce a _XftCompositeString helper function + + Dispatch to XRenderCompositeString{8,16,32} based off the given width. +
View file
_service:tar_scm:libXft-2.3.4.tar.bz2/Makefile.in -> _service:tar_scm:libXft-2.3.7.tar.gz/Makefile.in
Changed
@@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.16.4 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2021 Free Software Foundation, Inc. @@ -244,9 +244,9 @@ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" -DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2 +DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.xz GZIP_ENV = --best -DIST_TARGETS = dist-bzip2 dist-gzip +DIST_TARGETS = dist-xz dist-gzip # Exists only to be overridden by the user if desired. AM_DISTCHECK_DVI_TARGET = dvi distuninstallcheck_listfiles = find . -type f -print @@ -289,6 +289,7 @@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FILECMD = @FILECMD@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ @@ -676,6 +677,7 @@ dist-gzip: distdir tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz $(am__post_remove_distdir) + dist-bzip2: distdir tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 $(am__post_remove_distdir) @@ -683,7 +685,6 @@ dist-lzip: distdir tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz $(am__post_remove_distdir) - dist-xz: distdir tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz $(am__post_remove_distdir)
View file
_service:tar_scm:libXft-2.3.4.tar.bz2/NEWS -> _service:tar_scm:libXft-2.3.7.tar.gz/NEWS
Changed
@@ -1,12 +1,22 @@ Xft X FreeType library - Version 2.3.4 - 2021-08-01 + Version 2.3.6 + 2022-09-10 Xft version 2.1 was the first stand alone release of Xft, a library that connects X applications with the FreeType font rasterization library. Xft uses fontconfig to locate fonts so it has no configuration files. +Version 2.3.6 + +Fixes a regression in 2.3.5 for XftTextExtents* length-checks. + +Version 2.3.5 + +Add support for BGRA glyphs display and scaling +Add "trackmemusage" property to use in improved _XftFontUncacheGlyph +Revised/completed manual page; all functions are documented. + Version 2.3.4 Handle deprecation of FcNameRegisterObjectTypes API by fontconfig.
View file
_service:tar_scm:libXft-2.3.4.tar.bz2/README.md -> _service:tar_scm:libXft-2.3.7.tar.gz/README.md
Changed
@@ -18,7 +18,7 @@ https://lists.x.org/mailman/listinfo/xorg -The master development code repository can be found at: +The primary development code repository can be found at: https://gitlab.freedesktop.org/xorg/lib/libXft
View file
_service:tar_scm:libXft-2.3.4.tar.bz2/aclocal.m4 -> _service:tar_scm:libXft-2.3.7.tar.gz/aclocal.m4
Changed
@@ -1,4 +1,4 @@ -# generated automatically by aclocal 1.16.4 -*- Autoconf -*- +# generated automatically by aclocal 1.16.5 -*- Autoconf -*- # Copyright (C) 1996-2021 Free Software Foundation, Inc. @@ -20,3328 +20,10 @@ If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically 'autoreconf'.)) -# Copyright (C) 2002-2021 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_AUTOMAKE_VERSION(VERSION) -# ---------------------------- -# Automake X.Y traces this macro to ensure aclocal.m4 has been -# generated from the m4 files accompanying Automake X.Y. -# (This private macro should not be called outside this file.) -AC_DEFUN(AM_AUTOMAKE_VERSION, -am__api_version='1.16' -dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to -dnl require some minimum version. Point them to the right macro. -m4_if($1, 1.16.4, , - AC_FATAL(Do not call $0, use AM_INIT_AUTOMAKE($1).))dnl -) - -# _AM_AUTOCONF_VERSION(VERSION) -# ----------------------------- -# aclocal traces this macro to find the Autoconf version. -# This is a private macro too. Using m4_define simplifies -# the logic in aclocal, which can simply ignore this definition. -m4_define(_AM_AUTOCONF_VERSION, ) - -# AM_SET_CURRENT_AUTOMAKE_VERSION -# ------------------------------- -# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. -# This function is AC_REQUIREd by AM_INIT_AUTOMAKE. -AC_DEFUN(AM_SET_CURRENT_AUTOMAKE_VERSION, -AM_AUTOMAKE_VERSION(1.16.4)dnl -m4_ifndef(AC_AUTOCONF_VERSION, - m4_copy(m4_PACKAGE_VERSION, AC_AUTOCONF_VERSION))dnl -_AM_AUTOCONF_VERSION(m4_defn(AC_AUTOCONF_VERSION))) - -# AM_AUX_DIR_EXPAND -*- Autoconf -*- - -# Copyright (C) 2001-2021 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# For projects using AC_CONFIG_AUX_DIR(foo), Autoconf sets -# $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to -# '$srcdir', '$srcdir/..', or '$srcdir/../..'. -# -# Of course, Automake must honor this variable whenever it calls a -# tool from the auxiliary directory. The problem is that $srcdir (and -# therefore $ac_aux_dir as well) can be either absolute or relative, -# depending on how configure is run. This is pretty annoying, since -# it makes $ac_aux_dir quite unusable in subdirectories: in the top -# source directory, any form will work fine, but in subdirectories a -# relative path needs to be adjusted first. -# -# $ac_aux_dir/missing -# fails when called from a subdirectory if $ac_aux_dir is relative -# $top_srcdir/$ac_aux_dir/missing -# fails if $ac_aux_dir is absolute, -# fails when called from a subdirectory in a VPATH build with -# a relative $ac_aux_dir -# -# The reason of the latter failure is that $top_srcdir and $ac_aux_dir -# are both prefixed by $srcdir. In an in-source build this is usually -# harmless because $srcdir is '.', but things will broke when you -# start a VPATH build or use an absolute $srcdir. -# -# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, -# iff we strip the leading $srcdir from $ac_aux_dir. That would be: -# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` -# and then we would define $MISSING as -# MISSING="\${SHELL} $am_aux_dir/missing" -# This will work as long as MISSING is not called from configure, because -# unfortunately $(top_srcdir) has no meaning in configure. -# However there are other variables, like CC, which are often used in -# configure, and could therefore not use this "fixed" $ac_aux_dir. -# -# Another solution, used here, is to always expand $ac_aux_dir to an -# absolute PATH. The drawback is that using absolute paths prevent a -# configured tree to be moved without reconfiguration. - -AC_DEFUN(AM_AUX_DIR_EXPAND, -AC_REQUIRE(AC_CONFIG_AUX_DIR_DEFAULT)dnl -# Expand $ac_aux_dir to an absolute path. -am_aux_dir=`cd "$ac_aux_dir" && pwd` -) - -# AM_CONDITIONAL -*- Autoconf -*- - -# Copyright (C) 1997-2021 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_CONDITIONAL(NAME, SHELL-CONDITION) -# ------------------------------------- -# Define a conditional. -AC_DEFUN(AM_CONDITIONAL, -AC_PREREQ(2.52)dnl - m4_if($1, TRUE, AC_FATAL($0: invalid condition: $1), - $1, FALSE, AC_FATAL($0: invalid condition: $1))dnl -AC_SUBST($1_TRUE)dnl -AC_SUBST($1_FALSE)dnl -_AM_SUBST_NOTMAKE($1_TRUE)dnl -_AM_SUBST_NOTMAKE($1_FALSE)dnl -m4_define(_AM_COND_VALUE_$1, $2)dnl -if $2; then - $1_TRUE= - $1_FALSE='#' -else - $1_TRUE='#' - $1_FALSE= -fi -AC_CONFIG_COMMANDS_PRE( -if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then - AC_MSG_ERROR(conditional "$1" was never defined. -Usually this means the macro was only invoked conditionally.) -fi)) - -# Copyright (C) 1999-2021 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - - -# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be -# written in clear, in which case automake, when reading aclocal.m4, -# will think it sees a *use*, and therefore will trigger all it's -# C support machinery. Also note that it means that autoscan, seeing -# CC etc. in the Makefile, will ask for an AC_PROG_CC use... - - -# _AM_DEPENDENCIES(NAME) -# ---------------------- -# See how the compiler implements dependency checking. -# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC". -# We try a few techniques and use that to set a single cache variable. -# -# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was -# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular -# dependency, and given that the user is not expected to run this macro, -# just rely on AC_PROG_CC. -AC_DEFUN(_AM_DEPENDENCIES, -AC_REQUIRE(AM_SET_DEPDIR)dnl -AC_REQUIRE(AM_OUTPUT_DEPENDENCY_COMMANDS)dnl -AC_REQUIRE(AM_MAKE_INCLUDE)dnl -AC_REQUIRE(AM_DEP_TRACK)dnl - -m4_if($1, CC, depcc="$CC" am_compiler_list=, - $1, CXX, depcc="$CXX" am_compiler_list=, - $1, OBJC, depcc="$OBJC" am_compiler_list='gcc3 gcc', - $1, OBJCXX, depcc="$OBJCXX" am_compiler_list='gcc3 gcc', - $1, UPC, depcc="$UPC" am_compiler_list=, - $1, GCJ, depcc="$GCJ" am_compiler_list='gcc3 gcc', - depcc="$$1" am_compiler_list=) - -AC_CACHE_CHECK(dependency style of $depcc, - am_cv_$1_dependencies_compiler_type, -if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named 'D' -- because '-MD' means "put the output - # in D". - rm -rf conftest.dir - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_$1_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n 's/^#*\(a-zA-Z0-9*\))$/\1/p' < ./depcomp` - fi - am__universal=false - m4_case($1, CC, - case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac,
View file
_service:tar_scm:libXft-2.3.4.tar.bz2/config.guess -> _service:tar_scm:libXft-2.3.7.tar.gz/config.guess
Changed
@@ -1,14 +1,14 @@ #! /bin/sh # Attempt to guess a canonical system name. -# Copyright 1992-2021 Free Software Foundation, Inc. +# Copyright 1992-2022 Free Software Foundation, Inc. # shellcheck disable=SC2006,SC2268 # see below for rationale -timestamp='2021-06-03' +timestamp='2022-01-09' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or +# the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but @@ -60,7 +60,7 @@ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright 1992-2021 Free Software Foundation, Inc. +Copyright 1992-2022 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -437,7 +437,7 @@ # This test works for both compilers. if test "$CC_FOR_BUILD" != no_compiler_found; then if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + (CCOPTS="" $CC_FOR_BUILD -m64 -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then SUN_ARCH=x86_64 @@ -929,6 +929,9 @@ i*:PW*:*) GUESS=$UNAME_MACHINE-pc-pw32 ;; + *:SerenityOS:*:*) + GUESS=$UNAME_MACHINE-pc-serenity + ;; *:Interix*:*) case $UNAME_MACHINE in x86) @@ -1522,6 +1525,9 @@ i*86:rdos:*:*) GUESS=$UNAME_MACHINE-pc-rdos ;; + i*86:Fiwix:*:*) + GUESS=$UNAME_MACHINE-pc-fiwix + ;; *:AROS:*:*) GUESS=$UNAME_MACHINE-unknown-aros ;;
View file
_service:tar_scm:libXft-2.3.4.tar.bz2/config.sub -> _service:tar_scm:libXft-2.3.7.tar.gz/config.sub
Changed
@@ -1,14 +1,14 @@ #! /bin/sh # Configuration validation subroutine script. -# Copyright 1992-2021 Free Software Foundation, Inc. +# Copyright 1992-2022 Free Software Foundation, Inc. # shellcheck disable=SC2006,SC2268 # see below for rationale -timestamp='2021-07-03' +timestamp='2022-01-03' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or +# the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but @@ -76,7 +76,7 @@ version="\ GNU config.sub ($timestamp) -Copyright 1992-2021 Free Software Foundation, Inc. +Copyright 1992-2022 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -121,9 +121,11 @@ # Split fields of configuration type # shellcheck disable=SC2162 +saved_IFS=$IFS IFS="-" read field1 field2 field3 field4 <<EOF $1 EOF +IFS=$saved_IFS # Separate into logical components for further validation case $1 in @@ -172,6 +174,10 @@ basic_machine=$field1 basic_os=$field2 ;; + zephyr*) + basic_machine=$field1-unknown + basic_os=$field2 + ;; # Manufacturers dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \ | att* | 7300* | 3300* | delta* | motorola* | sun234* \ @@ -931,9 +937,11 @@ *-*) # shellcheck disable=SC2162 + saved_IFS=$IFS IFS="-" read cpu vendor <<EOF $basic_machine EOF + IFS=$saved_IFS ;; # We use `pc' rather than `unknown' # because (1) that's what they normally are, and @@ -1012,6 +1020,11 @@ ;; # Here we normalize CPU types with a missing or matching vendor + armh-unknown | armh-alt) + cpu=armv7l + vendor=alt + basic_os=${basic_os:-linux-gnueabihf} + ;; dpx20-unknown | dpx20-bull) cpu=rs6000 vendor=bull @@ -1113,7 +1126,7 @@ xscale-* | xscaleebl-*) cpu=`echo "$cpu" | sed 's/^xscale/arm/'` ;; - arm64-*) + arm64-* | aarch64le-*) cpu=aarch64 ;; @@ -1296,7 +1309,7 @@ if test x$basic_os != x then -# First recognize some ad-hoc caes, or perhaps split kernel-os, or else just +# First recognize some ad-hoc cases, or perhaps split kernel-os, or else just # set os. case $basic_os in gnu/linux*) @@ -1313,9 +1326,11 @@ ;; *-*) # shellcheck disable=SC2162 + saved_IFS=$IFS IFS="-" read kernel os <<EOF $basic_os EOF + IFS=$saved_IFS ;; # Default OS when just kernel was specified nto*) @@ -1697,7 +1712,7 @@ # Now, validate our (potentially fixed-up) OS. case $os in # Sometimes we do "kernel-libc", so those need to count as OSes. - musl* | newlib* | uclibc*) + musl* | newlib* | relibc* | uclibc*) ;; # Likewise for "kernel-abi" eabi* | gnueabi*) @@ -1738,7 +1753,8 @@ | skyos* | haiku* | rdos* | toppers* | drops* | es* \ | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \ | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \ - | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx*) + | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr* \ + | fiwix* ) ;; # This one is extra strict with allowed versions sco3.2v2 | sco3.2v4-9* | sco5v6*) @@ -1755,11 +1771,12 @@ # As a final step for OS-related things, validate the OS-kernel combination # (given a valid OS), if there is a kernel. case $kernel-$os in - linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* | linux-musl* | linux-uclibc* ) + linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* \ + | linux-musl* | linux-relibc* | linux-uclibc* ) ;; uclinux-uclibc* ) ;; - -dietlibc* | -newlib* | -musl* | -uclibc* ) + -dietlibc* | -newlib* | -musl* | -relibc* | -uclibc* ) # These are just libc implementations, not actual OSes, and thus # require a kernel. echo "Invalid configuration \`$1': libc \`$os' needs explicit kernel." 1>&2
View file
_service:tar_scm:libXft-2.3.4.tar.bz2/configure -> _service:tar_scm:libXft-2.3.7.tar.gz/configure
Changed
@@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.71 for libXft 2.3.4. +# Generated by GNU Autoconf 2.71 for libXft 2.3.7. # # Report bugs to <https://gitlab.freedesktop.org/xorg/lib/libXft/issues>. # @@ -622,8 +622,8 @@ # Identity of this package. PACKAGE_NAME='libXft' PACKAGE_TARNAME='libXft' -PACKAGE_VERSION='2.3.4' -PACKAGE_STRING='libXft 2.3.4' +PACKAGE_VERSION='2.3.7' +PACKAGE_STRING='libXft 2.3.7' PACKAGE_BUGREPORT='https://gitlab.freedesktop.org/xorg/lib/libXft/issues' PACKAGE_URL='' @@ -705,6 +705,7 @@ AR DLLTOOL OBJDUMP +FILECMD LN_S NM ac_ct_DUMPBIN @@ -1391,7 +1392,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures libXft 2.3.4 to adapt to many kinds of systems. +\`configure' configures libXft 2.3.7 to adapt to many kinds of systems. Usage: $0 OPTION... VAR=VALUE... @@ -1462,7 +1463,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of libXft 2.3.4:";; + short | recursive ) echo "Configuration of libXft 2.3.7:";; esac cat <<\_ACEOF @@ -1595,7 +1596,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -libXft configure 2.3.4 +libXft configure 2.3.7 generated by GNU Autoconf 2.71 Copyright (C) 2021 Free Software Foundation, Inc. @@ -1865,7 +1866,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by libXft $as_me 2.3.4, which was +It was created by libXft $as_me 2.3.7, which was generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw @@ -3139,7 +3140,7 @@ # Define the identity of the package. PACKAGE='libXft' - VERSION='2.3.4' + VERSION='2.3.7' printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h @@ -3252,8 +3253,8 @@ -macro_version='2.4.6' -macro_revision='2.4.6' +macro_version='2.4.7' +macro_revision='2.4.7' @@ -5130,13 +5131,13 @@ mingw*) lt_bad_file=conftest.nm/nofile ;; *) lt_bad_file=/dev/null ;; esac - case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in + case `"$tmp_nm" -B $lt_bad_file 2>&1 | $SED '1q'` in *$lt_bad_file* | *'Invalid file or object type'*) lt_cv_path_NM="$tmp_nm -B" break 2 ;; *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + case `"$tmp_nm" -p /dev/null 2>&1 | $SED '1q'` in */dev/null*) lt_cv_path_NM="$tmp_nm -p" break 2 @@ -5274,7 +5275,7 @@ fi fi - case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in + case `$DUMPBIN -symbols -headers /dev/null 2>&1 | $SED '1q'` in *COFF*) DUMPBIN="$DUMPBIN -symbols -headers" ;; @@ -5378,7 +5379,7 @@ lt_cv_sys_max_cmd_len=8192; ;; - bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*) + bitrig* | darwin* | dragonfly* | freebsd* | midnightbsd* | netbsd* | openbsd*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` @@ -5421,7 +5422,7 @@ sysv5* | sco5v6* | sysv4.2uw2*) kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.* //'` + lt_cv_sys_max_cmd_len=`echo $kargmax | $SED 's/.* //'` else lt_cv_sys_max_cmd_len=32768 fi @@ -5627,6 +5628,114 @@ if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}file", so it can be a program name with args. +set dummy ${ac_tool_prefix}file; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_FILECMD+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$FILECMD"; then + ac_cv_prog_FILECMD="$FILECMD" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_FILECMD="${ac_tool_prefix}file" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +FILECMD=$ac_cv_prog_FILECMD +if test -n "$FILECMD"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $FILECMD" >&5 +printf "%s\n" "$FILECMD" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_FILECMD"; then + ac_ct_FILECMD=$FILECMD + # Extract the first word of "file", so it can be a program name with args. +set dummy file; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_FILECMD+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_FILECMD"; then + ac_cv_prog_ac_ct_FILECMD="$ac_ct_FILECMD" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_FILECMD="file" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2
View file
_service:tar_scm:libXft-2.3.4.tar.bz2/configure.ac -> _service:tar_scm:libXft-2.3.7.tar.gz/configure.ac
Changed
@@ -27,13 +27,13 @@ # version. This version number will be substituted into Xft.h # Please bump the minor library number at each release as well. # -AC_INIT(libXft, 2.3.4, +AC_INIT(libXft, 2.3.7, https://gitlab.freedesktop.org/xorg/lib/libXft/issues, libXft) AC_CONFIG_SRCDIR(Makefile.am) AC_CONFIG_HEADERS(config.h) # Initialize Automake -AM_INIT_AUTOMAKE(foreign dist-bzip2) +AM_INIT_AUTOMAKE(foreign dist-xz) # Initialize libtool AC_PROG_LIBTOOL
View file
_service:tar_scm:libXft-2.3.4.tar.bz2/include/X11/Xft/Xft.h -> _service:tar_scm:libXft-2.3.7.tar.gz/include/X11/Xft/Xft.h
Changed
@@ -1,24 +1,25 @@ /* include/X11/Xft/Xft.h. Generated from Xft.h.in by configure. */ /* + * Copyright © 2022 Thomas E. Dickey * Copyright © 2000 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that - * the above copyright notice appear in all copies and that both that - * copyright notice and this permission notice appear in supporting - * documentation, and that the name of Keith Packard not be used in - * advertising or publicity pertaining to distribution of the software without - * specific, written prior permission. Keith Packard makes no + * the above copyright notice appear in all copies and that both that copyright + * notice and this permission notice appear in supporting documentation, and + * that the name of the above copyright holders not be used in advertising or + * publicity pertaining to distribution of the software without specific, + * written prior permission. The above copyright holders make no * representations about the suitability of this software for any purpose. It * is provided "as is" without express or implied warranty. * - * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, - * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO - * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR - * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, - * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER - * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - * PERFORMANCE OF THIS SOFTWARE. + * THE ABOVE LISTED COPYRIGHT HOLDER(S) DISCLAIM ALL WARRANTIES WITH REGARD TO + * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS, IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE + * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER + * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF + * CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN + * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ #ifndef _XFT_H_ @@ -30,7 +31,7 @@ /* #undef will be substituted by configure */ #define XFT_MAJOR 2 #define XFT_MINOR 3 -#define XFT_REVISION 4 +#define XFT_REVISION 7 #define XFT_VERSION ((XFT_MAJOR * 10000) + (XFT_MINOR * 100) + (XFT_REVISION)) #define XftVersion XFT_VERSION @@ -56,6 +57,7 @@ #define XFT_XLFD "xlfd" #define XFT_MAX_GLYPH_MEMORY "maxglyphmemory" #define XFT_MAX_UNREF_FONTS "maxunreffonts" +#define XFT_TRACK_MEM_USAGE "trackmemusage" extern FT_Library _XftFTlibrary; @@ -435,6 +437,9 @@ FcPattern *XftNameParse (_Xconst char *name); +FcBool +XftNameUnparse (FcPattern *pat, char *dest, int len); + /* xftrender.c */ void XftGlyphRender (Display *dpy,
View file
_service:tar_scm:libXft-2.3.4.tar.bz2/include/X11/Xft/Xft.h.in -> _service:tar_scm:libXft-2.3.7.tar.gz/include/X11/Xft/Xft.h.in
Changed
@@ -1,23 +1,24 @@ /* + * Copyright © 2022 Thomas E. Dickey * Copyright © 2000 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that - * the above copyright notice appear in all copies and that both that - * copyright notice and this permission notice appear in supporting - * documentation, and that the name of Keith Packard not be used in - * advertising or publicity pertaining to distribution of the software without - * specific, written prior permission. Keith Packard makes no + * the above copyright notice appear in all copies and that both that copyright + * notice and this permission notice appear in supporting documentation, and + * that the name of the above copyright holders not be used in advertising or + * publicity pertaining to distribution of the software without specific, + * written prior permission. The above copyright holders make no * representations about the suitability of this software for any purpose. It * is provided "as is" without express or implied warranty. * - * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, - * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO - * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR - * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, - * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER - * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - * PERFORMANCE OF THIS SOFTWARE. + * THE ABOVE LISTED COPYRIGHT HOLDER(S) DISCLAIM ALL WARRANTIES WITH REGARD TO + * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS, IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE + * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER + * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF + * CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN + * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ #ifndef _XFT_H_ @@ -55,6 +56,7 @@ #define XFT_XLFD "xlfd" #define XFT_MAX_GLYPH_MEMORY "maxglyphmemory" #define XFT_MAX_UNREF_FONTS "maxunreffonts" +#define XFT_TRACK_MEM_USAGE "trackmemusage" extern FT_Library _XftFTlibrary; @@ -434,6 +436,9 @@ FcPattern *XftNameParse (_Xconst char *name); +FcBool +XftNameUnparse (FcPattern *pat, char *dest, int len); + /* xftrender.c */ void XftGlyphRender (Display *dpy,
View file
_service:tar_scm:libXft-2.3.4.tar.bz2/ltmain.sh -> _service:tar_scm:libXft-2.3.7.tar.gz/ltmain.sh
Changed
@@ -1,12 +1,12 @@ -#! /bin/sh +#! /usr/bin/env sh ## DO NOT EDIT - This file generated from ./build-aux/ltmain.in -## by inline-source v2014-01-03.01 +## by inline-source v2019-02-19.15 -# libtool (GNU libtool) 2.4.6 +# libtool (GNU libtool) 2.4.7 # Provide generalized library-building support services. # Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 -# Copyright (C) 1996-2015 Free Software Foundation, Inc. +# Copyright (C) 1996-2019, 2021-2022 Free Software Foundation, Inc. # This is free software; see the source for copying conditions. There is NO # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. @@ -31,8 +31,8 @@ PROGRAM=libtool PACKAGE=libtool -VERSION=2.4.6 -package_revision=2.4.6 +VERSION="2.4.7 Debian-2.4.7-4" +package_revision=2.4.7 ## ------ ## @@ -64,34 +64,25 @@ # libraries, which are installed to $pkgauxdir. # Set a version string for this script. -scriptversion=2015-01-20.17; # UTC +scriptversion=2019-02-19.15; # UTC # General shell script boiler plate, and helper functions. # Written by Gary V. Vaughan, 2004 -# Copyright (C) 2004-2015 Free Software Foundation, Inc. -# This is free software; see the source for copying conditions. There is NO -# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. - -# As a special exception to the GNU General Public License, if you distribute -# this file as part of a program or library that is built using GNU Libtool, -# you may include this file under the same distribution terms that you use -# for the rest of that program. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNES FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. +# This is free software. There is NO warranty; not even for +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# +# Copyright (C) 2004-2019, 2021 Bootstrap Authors +# +# This file is dual licensed under the terms of the MIT license +# <https://opensource.org/license/MIT>, and GPL version 2 or later +# <http://www.gnu.org/licenses/gpl-2.0.html>. You must apply one of +# these licenses when using or redistributing this software or any of +# the files within it. See the URLs above, or the file `LICENSE` +# included in the Bootstrap distribution for the full license texts. -# Please report bugs or propose patches to gary@gnu.org. +# Please report bugs or propose patches to: +# <https://github.com/gnulib-modules/bootstrap/issues> ## ------ ## @@ -139,9 +130,12 @@ _G_safe_locale=\"$_G_var=C; \$_G_safe_locale\" fi" done - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH +# These NLS vars are set unconditionally (bootstrap issue #24). Unset those +# in case the environment reset is needed later and the $save_* variant is not +# defined (see the code above). +LC_ALL=C +LANGUAGE=C +export LANGUAGE LC_ALL # Make sure IFS has a sensible default sp=' ' @@ -159,6 +153,26 @@ fi +# func_unset VAR +# -------------- +# Portably unset VAR. +# In some shells, an 'unset VAR' statement leaves a non-zero return +# status if VAR is already unset, which might be problematic if the +# statement is used at the end of a function (thus poisoning its return +# value) or when 'set -e' is active (causing even a spurious abort of +# the script in this case). +func_unset () +{ + { eval $1=; (eval unset $1) >/dev/null 2>&1 && eval unset $1 || : ; } +} + + +# Make sure CDPATH doesn't cause `cd` commands to output the target dir. +func_unset CDPATH + +# Make sure ${,E,F}GREP behave sanely. +func_unset GREP_OPTIONS + ## ------------------------- ## ## Locate command utilities. ## @@ -259,7 +273,7 @@ rm -f conftest.in conftest.tmp conftest.nl conftest.out } - func_path_progs "sed gsed" func_check_prog_sed $PATH:/usr/xpg4/bin + func_path_progs "sed gsed" func_check_prog_sed "$PATH:/usr/xpg4/bin" rm -f conftest.sed SED=$func_path_progs_result } @@ -295,7 +309,7 @@ rm -f conftest.in conftest.tmp conftest.nl conftest.out } - func_path_progs "grep ggrep" func_check_prog_grep $PATH:/usr/xpg4/bin + func_path_progs "grep ggrep" func_check_prog_grep "$PATH:/usr/xpg4/bin" GREP=$func_path_progs_result } @@ -360,6 +374,35 @@ s/\\(^$_G_bs\\)$_G_bs2$_G_dollar/\\1$_G_bs2$_G_bs$_G_dollar/g s/\n//g" +# require_check_ifs_backslash +# --------------------------- +# Check if we can use backslash as IFS='\' separator, and set +# $check_ifs_backshlash_broken to ':' or 'false'. +require_check_ifs_backslash=func_require_check_ifs_backslash +func_require_check_ifs_backslash () +{ + _G_save_IFS=$IFS + IFS='\' + _G_check_ifs_backshlash='a\\b' + for _G_i in $_G_check_ifs_backshlash + do + case $_G_i in + a) + check_ifs_backshlash_broken=false + ;; + '') + break + ;; + *) + check_ifs_backshlash_broken=: + break + ;; + esac + done + IFS=$_G_save_IFS + require_check_ifs_backslash=: +} + ## ----------------- ## ## Global variables. ## @@ -387,7 +430,7 @@ # putting '$debug_cmd' at the start of all your functions, you can get # bash to show function call trace with: # -# debug_cmd='eval echo "${FUNCNAME0} $*" >&2' bash your-script-name +# debug_cmd='echo "${FUNCNAME0} $*" >&2' bash your-script-name debug_cmd=${debug_cmd-":"} exit_cmd=: @@ -580,16 +623,16 @@ { $debug_cmd - func_quote_for_eval "$2" - eval "$1+=\\ \$func_quote_for_eval_result" + func_quote_arg pretty "$2" + eval "$1+=\\ \$func_quote_arg_result" }' else func_append_quoted () { $debug_cmd - func_quote_for_eval "$2" - eval "$1=\$$1\\ \$func_quote_for_eval_result" + func_quote_arg pretty "$2"
View file
_service:tar_scm:libXft-2.3.4.tar.bz2/man/Makefile.am -> _service:tar_scm:libXft-2.3.7.tar.gz/man/Makefile.am
Changed
@@ -1,11 +1,101 @@ -libman_PRE = Xft.man libmandir = $(LIB_MAN_DIR) + +libman_PRE = \ + Xft.man \ + $(Xft_sources) + +Xft_sources = \ + $(Xft_shadows:=.man) + +Xft_shadows = \ + XftCharExists \ + XftCharFontSpecRender \ + XftCharIndex \ + XftCharSpecRender \ + XftColorAllocName \ + XftColorAllocValue \ + XftColorFree \ + XftDefaultHasRender \ + XftDefaultSet \ + XftDefaultSubstitute \ + XftDrawChange \ + XftDrawCharFontSpec \ + XftDrawCharSpec \ + XftDrawColormap \ + XftDrawCreate \ + XftDrawCreateAlpha \ + XftDrawCreateBitmap \ + XftDrawDestroy \ + XftDrawDisplay \ + XftDrawDrawable \ + XftDrawGlyphFontSpec \ + XftDrawGlyphSpec \ + XftDrawGlyphs \ + XftDrawPicture \ + XftDrawRect \ + XftDrawSetClip \ + XftDrawSetClipRectangles \ + XftDrawSetSubwindowMode \ + XftDrawSrcPicture \ + XftDrawString16 \ + XftDrawString32 \ + XftDrawString8 \ + XftDrawStringUtf16 \ + XftDrawStringUtf8 \ + XftDrawVisual \ + XftFontCheckGlyph \ + XftFontClose \ + XftFontCopy \ + XftFontInfoCreate \ + XftFontInfoDestroy \ + XftFontInfoEqual \ + XftFontInfoHash \ + XftFontLoadGlyphs \ + XftFontMatch \ + XftFontOpen \ + XftFontOpenInfo \ + XftFontOpenName \ + XftFontOpenPattern \ + XftFontOpenXlfd \ + XftFontUnloadGlyphs \ + XftGetVersion \ + XftGlyphExtents \ + XftGlyphFontSpecRender \ + XftGlyphRender \ + XftGlyphSpecRender \ + XftInit \ + XftInitFtLibrary \ + XftListFonts \ + XftLockFace \ + XftNameParse \ + XftNameUnparse \ + XftTextExtents16 \ + XftTextExtents32 \ + XftTextExtents8 \ + XftTextExtentsUtf16 \ + XftTextExtentsUtf8 \ + XftTextRender16 \ + XftTextRender16BE \ + XftTextRender16LE \ + XftTextRender32 \ + XftTextRender32BE \ + XftTextRender32LE \ + XftTextRender8 \ + XftTextRenderUtf16 \ + XftTextRenderUtf8 \ + XftUnlockFace \ + XftXlfdParse + libman_DATA = $(libman_PRE:man=$(LIB_MAN_SUFFIX)) EXTRA_DIST = $(libman_PRE) -CLEANFILES = $(libman_DATA) +CLEANFILES = $(libman_DATA) $(Xft_sources) + SUFFIXES = .$(LIB_MAN_SUFFIX) .man +$(Xft_sources) : + $(AM_V_GEN)echo ".so man__libmansuffix__/Xft.__libmansuffix__" > $@ + # String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure .man.$(LIB_MAN_SUFFIX): $(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@
View file
_service:tar_scm:libXft-2.3.4.tar.bz2/man/Makefile.in -> _service:tar_scm:libXft-2.3.7.tar.gz/man/Makefile.in
Changed
@@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.16.4 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2021 Free Software Foundation, Inc. @@ -186,6 +186,7 @@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FILECMD = @FILECMD@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ @@ -297,11 +298,96 @@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -libman_PRE = Xft.man libmandir = $(LIB_MAN_DIR) +libman_PRE = \ + Xft.man \ + $(Xft_sources) + +Xft_sources = \ + $(Xft_shadows:=.man) + +Xft_shadows = \ + XftCharExists \ + XftCharFontSpecRender \ + XftCharIndex \ + XftCharSpecRender \ + XftColorAllocName \ + XftColorAllocValue \ + XftColorFree \ + XftDefaultHasRender \ + XftDefaultSet \ + XftDefaultSubstitute \ + XftDrawChange \ + XftDrawCharFontSpec \ + XftDrawCharSpec \ + XftDrawColormap \ + XftDrawCreate \ + XftDrawCreateAlpha \ + XftDrawCreateBitmap \ + XftDrawDestroy \ + XftDrawDisplay \ + XftDrawDrawable \ + XftDrawGlyphFontSpec \ + XftDrawGlyphSpec \ + XftDrawGlyphs \ + XftDrawPicture \ + XftDrawRect \ + XftDrawSetClip \ + XftDrawSetClipRectangles \ + XftDrawSetSubwindowMode \ + XftDrawSrcPicture \ + XftDrawString16 \ + XftDrawString32 \ + XftDrawString8 \ + XftDrawStringUtf16 \ + XftDrawStringUtf8 \ + XftDrawVisual \ + XftFontCheckGlyph \ + XftFontClose \ + XftFontCopy \ + XftFontInfoCreate \ + XftFontInfoDestroy \ + XftFontInfoEqual \ + XftFontInfoHash \ + XftFontLoadGlyphs \ + XftFontMatch \ + XftFontOpen \ + XftFontOpenInfo \ + XftFontOpenName \ + XftFontOpenPattern \ + XftFontOpenXlfd \ + XftFontUnloadGlyphs \ + XftGetVersion \ + XftGlyphExtents \ + XftGlyphFontSpecRender \ + XftGlyphRender \ + XftGlyphSpecRender \ + XftInit \ + XftInitFtLibrary \ + XftListFonts \ + XftLockFace \ + XftNameParse \ + XftNameUnparse \ + XftTextExtents16 \ + XftTextExtents32 \ + XftTextExtents8 \ + XftTextExtentsUtf16 \ + XftTextExtentsUtf8 \ + XftTextRender16 \ + XftTextRender16BE \ + XftTextRender16LE \ + XftTextRender32 \ + XftTextRender32BE \ + XftTextRender32LE \ + XftTextRender8 \ + XftTextRenderUtf16 \ + XftTextRenderUtf8 \ + XftUnlockFace \ + XftXlfdParse + libman_DATA = $(libman_PRE:man=$(LIB_MAN_SUFFIX)) EXTRA_DIST = $(libman_PRE) -CLEANFILES = $(libman_DATA) +CLEANFILES = $(libman_DATA) $(Xft_sources) SUFFIXES = .$(LIB_MAN_SUFFIX) .man all: all-am @@ -524,6 +610,9 @@ .PRECIOUS: Makefile +$(Xft_sources) : + $(AM_V_GEN)echo ".so man__libmansuffix__/Xft.__libmansuffix__" > $@ + # String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure .man.$(LIB_MAN_SUFFIX): $(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@
View file
_service:tar_scm:libXft-2.3.4.tar.bz2/man/Xft.man -> _service:tar_scm:libXft-2.3.7.tar.gz/man/Xft.man
Changed
@@ -1,31 +1,87 @@ -.\" +'\" t +.\" Copyright © 2022 Thomas E. Dickey .\" Copyright © 2000 Keith Packard .\" .\" Permission to use, copy, modify, distribute, and sell this software and its .\" documentation for any purpose is hereby granted without fee, provided that .\" the above copyright notice appear in all copies and that both that .\" copyright notice and this permission notice appear in supporting -.\" documentation, and that the name of Keith Packard not be used in -.\" advertising or publicity pertaining to distribution of the software without -.\" specific, written prior permission. Keith Packard makes no -.\" representations about the suitability of this software for any purpose. It -.\" is provided "as is" without express or implied warranty. +.\" documentation, and that the name of the above copyright holders not be used +.\" in advertising or publicity pertaining to distribution of the software +.\" without specific, written prior permission. The above copyright holders +.\" make no representations about the suitability of this software for any +.\" purpose. It is provided "as is" without express or implied warranty. .\" -.\" KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, -.\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO -.\" EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR -.\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, -.\" DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -.\" TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +.\" THE ABOVE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS +.\" SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, +.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, +.\" INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +.\" LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" -.TH Xft __libmansuffix__ __vendorversion__ +.de TA +.ie n .ta 0.8i 1.6i 2.4i 3.2i +.el .ta 0.5i 1.0i 1.5i 2.0i +.. +.de PS +.sp +.ns +.TP \\$1 +.na +.nf +.ie n .ta 0.8i 3.0i +.el .ta 0.5i 2.0i +.. +.de PE +.br +.ad +.fi +.sp +.TA +.. +.de QS +.in +.2i +.nf +.na +.ie n .ta 1.0i 3.0i +.el .ta 0.6i 2.0i +.. +.de QC +.QS +.ie n .ta 2.0i 3.0i +.el .ta 1.6i 2.6i +.ft CR +.. +.de QE +.in -.2i +.ft +.fi +.ad +.TA +.. +.de bP +.ie n .IP \(bu 4 +.el .IP \(bu 2 +.. +.ie \n(.g .ds `` \(lq +.el .ds `` `` +.ie \n(.g .ds '' \(rq +.el .ds '' '' +.TH Xft __libmansuffix__ __vendorversion__ "X Version 11" .SH NAME - Xft \- X FreeType interface library +Xft \- X FreeType interface library .SH DESCRIPTION .B Xft -is a simple library designed to interface the FreeType rasterizer with the X -Rendering Extension. +is a simple library which draws text and graphics: +.bP +using information provided by the Fontconfig library, +.bP +.B Xft +converts font glyphs using the FreeType rasterizer, and +.bP +displays the converted font data using the X Rendering Extension. +.PP This manual page barely scratches the surface of this library. .SH "HEADER FILE" .B #include <X11/Xft/Xft.h> @@ -58,7 +114,7 @@ The following example illustrates how .BR Xft 's version constants might be used: -.nf +.QS #if (XFT_VERSION >= 20107) (void) puts("Version 2.1.7 or later of the Xft library is in" " use."); @@ -68,41 +124,125 @@ XFT_MINOR, XFT_REVISION); #endif -.fi +.QE .\" I don't understand what these are for. -- BR, 2005-04-02 -.\" XFT_CORE used in xftname.c -.\" XFT_RENDER used in xftdpy.c, xftfreetype.c, xftname.c -.\" XFT_XLFD used in xftname.c, xftxlfd.c -.\" XFT_MAX_GLYPH_MEMORY used in xftdpy.c, xftfreetype.c -.\" XFT_MAX_UNREF_FONTS used in xftdpy.c .\" XFT_NMISSING used in xftcore.c, xftextent.c, xftglyphs.c, .\" xftrender.c .SH "DATA TYPES" -.TP -.B XftFont -.nf +Xft datatypes follow a naming convention, +prefixing all names with \*(``Xft\*('' +.SS From Xlib... +Xlib datatypes do not follow a naming convention. +They are documented in +.IR "Xlib \- C Language Interface" . +.PP +.B Xft +uses these names: +Bool, +Colormap, +Display, +Drawable, +Pixmap, +Region, +Visual, and +XRectangle. +.PP +Some datatypes are especially relevant to +.BR Xft : +.TP 5 +.B Drawable +Declared in \fI<X11/X.h>\fP, +this is an X resource ID, +e.g., a window associated with a display. +Both windows and pixmaps can be used as sources and destinations +in graphics operations. +These windows and pixmaps are collectively known as drawables. +However, an +.B InputOnly +window cannot be used as a source or destination in a +graphics operation. +.TP 5 +.B Region +Declared in \fI<X11/Xutil.h>\fP and \fI<X11/Xregion.h>\fP, +a +.B Region +is an arbitrary set of pixel locations which Xlib can manipulate. +Internally, a +.B Region +is represented by the union of an arbitrary number of rectangles. +Xlib maintains a rectangle which tells it the extent of this union. +.TP 5 +.B Visual +Declared in \fI<X11/Xutil.h>\fP, +this structure contains information about the possible color mapping. +.SS From XRender... +The X Render Extension library +datatypes are inspired by Xlib, +but lack the corresponding documentation. +Refer to the header file for details: +.RS +.PP +.I <X11/extensions/Xrender.h> +.RE +.PP +or read the source code (which provides an outline of libXrender). +.PP +.B Xft +uses these names: +Picture, +XGlyphInfo, +XRenderColor. +.SS From Fontconfig... +Fontconfig datatypes follow a naming convention, +prefixing all names with \*(``Fc\*('' which are documented in +.IR "Fontconfig Developers Reference" . +.PP +.B Xft
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftCharExists.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftCharFontSpecRender.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftCharIndex.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftCharSpecRender.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftColorAllocName.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftColorAllocValue.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftColorFree.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftDefaultHasRender.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftDefaultSet.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftDefaultSubstitute.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftDrawChange.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftDrawCharFontSpec.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftDrawCharSpec.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftDrawColormap.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftDrawCreate.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftDrawCreateAlpha.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftDrawCreateBitmap.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftDrawDestroy.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftDrawDisplay.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftDrawDrawable.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftDrawGlyphFontSpec.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftDrawGlyphSpec.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftDrawGlyphs.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftDrawPicture.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftDrawRect.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftDrawSetClip.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftDrawSetClipRectangles.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftDrawSetSubwindowMode.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftDrawSrcPicture.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftDrawString16.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftDrawString32.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftDrawString8.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftDrawStringUtf16.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftDrawStringUtf8.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftDrawVisual.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftFontCheckGlyph.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftFontClose.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftFontCopy.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftFontInfoCreate.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftFontInfoDestroy.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftFontInfoEqual.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftFontInfoHash.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftFontLoadGlyphs.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftFontMatch.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftFontOpen.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftFontOpenInfo.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftFontOpenName.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftFontOpenPattern.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftFontOpenXlfd.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftFontUnloadGlyphs.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftGetVersion.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftGlyphExtents.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftGlyphFontSpecRender.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftGlyphRender.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftGlyphSpecRender.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftInit.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftInitFtLibrary.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftListFonts.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftLockFace.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftNameParse.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftNameUnparse.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftTextExtents16.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftTextExtents32.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftTextExtents8.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftTextExtentsUtf16.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftTextExtentsUtf8.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftTextRender16.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftTextRender16BE.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftTextRender16LE.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftTextRender32.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftTextRender32BE.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftTextRender32LE.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftTextRender8.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftTextRenderUtf16.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftTextRenderUtf8.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftUnlockFace.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.7.tar.gz/man/XftXlfdParse.man
Added
@@ -0,0 +1,1 @@ +.so man__libmansuffix__/Xft.__libmansuffix__
View file
_service:tar_scm:libXft-2.3.4.tar.bz2/src/Makefile.in -> _service:tar_scm:libXft-2.3.7.tar.gz/src/Makefile.in
Changed
@@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.16.4 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2021 Free Software Foundation, Inc. @@ -249,6 +249,7 @@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FILECMD = @FILECMD@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
View file
_service:tar_scm:libXft-2.3.4.tar.bz2/src/xftcolor.c -> _service:tar_scm:libXft-2.3.7.tar.gz/src/xftcolor.c
Changed
@@ -23,11 +23,11 @@ #include "xftint.h" _X_EXPORT Bool -XftColorAllocName (Display *dpy, - _Xconst Visual *visual, - Colormap cmap, +XftColorAllocName (Display *dpy, + _Xconst Visual *visual _X_UNUSED, + Colormap cmap, _Xconst char *name, - XftColor *result) + XftColor *result) { XColor screen, exact;
View file
_service:tar_scm:libXft-2.3.4.tar.bz2/src/xftcore.c -> _service:tar_scm:libXft-2.3.7.tar.gz/src/xftcore.c
Changed
@@ -233,7 +233,7 @@ int y); static XftSharpGlyph -_XftSharpGlyphFind (XftDraw *draw, XftFont *public) +_XftSharpGlyphFind (XftDraw *draw _X_UNUSED, XftFont *public) { XftFontInt *font = (XftFontInt *) public; @@ -390,7 +390,10 @@ ((((s) << 9) & 0xf80000) | (((s) << 4) & 0x70000))) -#define XftIntMult(a,b,t,cast) ( ((t) = (cast)((a) * (b) + 0x80)), ( ( ( (t)>>8 ) + (t) )>>8 ) ) +#define XftIntMult(a,b,t,cast) \ + ( ((t) = (cast)((a) * (b) + 0x80)), \ + ( ( ( (t) >> 8 ) + (t) ) >> 8 ) ) + #define XftIntDiv(a,b) (((CARD16) (a) * 255) / (b)) #define XftGet8(v,i) ((CARD16) (CARD8) ((v) >> i)) @@ -403,30 +406,37 @@ * this difference will have two versions using the same convention. */ -#define XftOverU(x,y,i,a,t) ((t) = (CARD16) XftIntMult(XftGet8(y,i),(a),(t),CARD16) + XftGet8(x,i),\ - (CARD32) ((CARD8) ((t) | (0 - ((t) >> 8)))) << (i)) +#define XftOverU(x,y,i,a,t) \ + ((t) = (CARD16) XftIntMult(XftGet8(y,i),(a),(t),CARD16) + \ + XftGet8(x,i),\ + (CARD32) ((CARD8) ((t) | (0 - ((t) >> 8)))) << (i)) -#define XftOverC(x,y,i,a,t) ((t) = (CARD16) XftIntMult(XftGet8(y,i),XftGet8(a,i),(t),CARD16) + XftGet8(x,i),\ - (CARD32) ((CARD8) ((t) | (0 - ((t) >> 8)))) << (i)) +#define XftOverC(x,y,i,a,t) \ + ((t) = (CARD16) XftIntMult(XftGet8(y,i),XftGet8(a,i),(t),CARD16) + \ + XftGet8(x,i),\ + (CARD32) ((CARD8) ((t) | (0 - ((t) >> 8)))) << (i)) -#define XftInU(x,i,a,t) ((CARD32) XftIntMult(XftGet8(x,i),(a),(t),CARD16) << (i)) +#define XftInU(x,i,a,t) \ + ((CARD32) XftIntMult(XftGet8(x,i),(a),(t),CARD16) << (i)) -#define XftInC(x,i,a,t) ((CARD32) XftIntMult(XftGet8(x,i),XftGet8(a,i),(t),CARD32) << (i)) +#define XftInC(x,i,a,t) \ + ((CARD32) XftIntMult(XftGet8(x,i),XftGet8(a,i),(t),CARD32) << (i)) -#define XftGen(x,y,i,ax,ay,t,u,v) ((t) = (XftIntMult(XftGet8(y,i),ay,(u),CARD32) + \ - XftIntMult(XftGet8(x,i),ax,(v),CARD32)),\ - (CARD32) ((CARD8) ((t) | \ - (0 - ((t) >> 8)))) << (i)) +#define XftGen(x,y,i,ax,ay,t,u,v) \ + ((t) = (XftIntMult(XftGet8(y,i),ay,(u),CARD32) + \ + XftIntMult(XftGet8(x,i),ax,(v),CARD32)),\ + (CARD32) ((CARD8) ((t) | (0 - ((t) >> 8)))) << (i)) -#define XftAdd(x,y,i,t) ((t) = XftGet8(x,i) + XftGet8(y,i), \ - (CARD32) ((CARD8) ((t) | (0 - ((t) >> 8)))) << (i)) +#define XftAdd(x,y,i,t) \ + ((t) = XftGet8(x,i) + XftGet8(y,i), \ + (CARD32) ((CARD8) ((t) | (0 - ((t) >> 8)))) << (i)) static CARD32 fbOver24 (CARD32 x, CARD32 y) { CARD16 a = (CARD16)(~x >> 24); - CARD16 t; + CARD16 t = 0; CARD32 m,n,o; m = XftOverU(x,y,0,a,t); @@ -923,7 +933,7 @@ return font->glyphs0; } -static int XftGetImageErrorHandler (Display *dpy, XErrorEvent *error_event) +static int XftGetImageErrorHandler (Display *dpy _X_UNUSED, XErrorEvent *error_event _X_UNUSED) { return 0; }
View file
_service:tar_scm:libXft-2.3.4.tar.bz2/src/xftdpy.c -> _service:tar_scm:libXft-2.3.7.tar.gz/src/xftdpy.c
Changed
@@ -22,10 +22,12 @@ #include "xftint.h" +#define BtoS(b) ((b) ? "true" : "false") + _X_HIDDEN XftDisplayInfo *_XftDisplayInfo; static int -_XftCloseDisplay (Display *dpy, XExtCodes *codes) +_XftCloseDisplay (Display *dpy, XExtCodes *codes _X_UNUSED) { XftDisplayInfo *info, **prev; @@ -51,7 +53,8 @@ for (prev = &_XftDisplayInfo; (info = *prev); prev = &(*prev)->next) if (info->display == dpy) break; - *prev = info->next; + if (info != NULL) + *prev = info->next; free (info); return 0; @@ -85,7 +88,7 @@ if (!createIfNecessary) return NULL; - info = (XftDisplayInfo *) malloc (sizeof (XftDisplayInfo)); + info = malloc (sizeof (XftDisplayInfo)); if (!info) goto bail0; info->codes = XAddExtension (dpy); @@ -169,7 +172,7 @@ XFT_MAX_GLYPH_MEMORY, 0, XFT_DPY_MAX_GLYPH_MEMORY); if (XftDebug () & XFT_DBG_CACHE) - printf ("global max cache memory %ld\n", info->max_glyph_memory); + printf ("global max cache memory %lu\n", info->max_glyph_memory); info->num_unref_fonts = 0; @@ -177,7 +180,14 @@ XFT_MAX_UNREF_FONTS, 0, XFT_DPY_MAX_UNREF_FONTS); if (XftDebug() & XFT_DBG_CACHE) - printf ("global max unref fonts %d\n", info->max_unref_fonts); + printf ("global max unref fonts %d\n", info->max_unref_fonts); + + info->track_mem_usage = FcFalse; + info->track_mem_usage = XftDefaultGetBool (dpy, + XFT_TRACK_MEM_USAGE, 0, + FcFalse); + if (XftDebug() & XFT_DBG_CACHE) + printf ("global track mem usage %s\n", BtoS(info->track_mem_usage)); memset (info->fontHash, '\0', sizeof (XftFont *) * XFT_NUM_FONT_HASH); return info; @@ -210,7 +220,7 @@ glyph_memory += font->glyph_memory; } if (glyph_memory != info->glyph_memory) - printf ("Display glyph cache incorrect has %ld bytes, should have %ld\n", + printf ("Display glyph cache incorrect has %lu bytes, should have %lu\n", info->glyph_memory, glyph_memory); } @@ -227,7 +237,7 @@ if (XftDebug () & XFT_DBG_CACHE) { if (info->glyph_memory > info->max_glyph_memory) - printf ("Reduce global memory from %ld to %ld\n", + printf ("Reduce global memory from %lu to %lu\n", info->glyph_memory, info->max_glyph_memory); _XftDisplayValidateMemory (info); } @@ -272,16 +282,29 @@ if (info->defaults) FcPatternDestroy (info->defaults); info->defaults = defaults; + if (!info->max_glyph_memory) info->max_glyph_memory = XFT_DPY_MAX_GLYPH_MEMORY; info->max_glyph_memory = (unsigned long)XftDefaultGetInteger (dpy, XFT_MAX_GLYPH_MEMORY, 0, (int)info->max_glyph_memory); + if (XftDebug () & XFT_DBG_CACHE) + printf ("update max cache memory %lu\n", info->max_glyph_memory); + if (!info->max_unref_fonts) info->max_unref_fonts = XFT_DPY_MAX_UNREF_FONTS; info->max_unref_fonts = XftDefaultGetInteger (dpy, XFT_MAX_UNREF_FONTS, 0, info->max_unref_fonts); + if (XftDebug() & XFT_DBG_CACHE) + printf ("update max unref fonts %d\n", info->max_unref_fonts); + + info->track_mem_usage = XftDefaultGetBool (dpy, + XFT_TRACK_MEM_USAGE, 0, + info->track_mem_usage); + if (XftDebug() & XFT_DBG_CACHE) + printf ("update track mem usage %s\n", BtoS(info->track_mem_usage)); + return True; }
View file
_service:tar_scm:libXft-2.3.4.tar.bz2/src/xftdraw.c -> _service:tar_scm:libXft-2.3.7.tar.gz/src/xftdraw.c
Changed
@@ -112,7 +112,7 @@ for (i = 0; i < nformats; i++) { - if (formatsi.depth == depth) + if ((unsigned) formatsi.depth == depth) { draw->bits_per_pixel = (unsigned)formatsi.bits_per_pixel; break; @@ -132,7 +132,7 @@ { XftDraw *draw; - draw = (XftDraw *) malloc (sizeof (XftDraw)); + draw = malloc (sizeof (XftDraw)); if (!draw) return NULL; @@ -158,7 +158,7 @@ { XftDraw *draw; - draw = (XftDraw *) malloc (sizeof (XftDraw)); + draw = malloc (sizeof (XftDraw)); if (!draw) return NULL; draw->dpy = dpy; @@ -184,7 +184,7 @@ { XftDraw *draw; - draw = (XftDraw *) malloc (sizeof (XftDraw)); + draw = malloc (sizeof (XftDraw)); if (!draw) return NULL; draw->dpy = dpy; @@ -324,8 +324,8 @@ { if (info->colorsi.pict && info->colorsi.screen == draw->screen && - !memcmp ((void *) &color->color, - (void *) &info->colorsi.color, + !memcmp ((const void *) &color->color, + (const void *) &info->colorsi.color, sizeof (XRenderColor))) return info->colorsi.pict; } @@ -525,7 +525,7 @@ glyphs = glyphs_local; else { - glyphs = malloc ((size_t)len * sizeof (FT_UInt)); + glyphs = AllocUIntArray (len); if (!glyphs) return; } @@ -548,11 +548,14 @@ FT_UInt *glyphs, glyphs_localNUM_LOCAL; int i; + if (len <= 0) + return; + if (len <= NUM_LOCAL) glyphs = glyphs_local; else { - glyphs = malloc ((size_t)len * sizeof (FT_UInt)); + glyphs = AllocUIntArray (len); if (!glyphs) return; } @@ -576,11 +579,14 @@ FT_UInt *glyphs, glyphs_localNUM_LOCAL; int i; + if (len <= 0) + return; + if (len <= NUM_LOCAL) glyphs = glyphs_local; else { - glyphs = malloc ((size_t)len * sizeof (FT_UInt)); + glyphs = AllocUIntArray (len); if (!glyphs) return; } @@ -607,6 +613,9 @@ int l; int size; + if (len <= 0) + return; + i = 0; glyphs = glyphs_local; size = NUM_LOCAL; @@ -614,7 +623,7 @@ { if (i == size) { - glyphs_new = malloc ((size_t)size * 2 * sizeof (FT_UInt)); + glyphs_new = AllocUIntArray (size * 2); if (!glyphs_new) { if (glyphs != glyphs_local) @@ -652,6 +661,9 @@ int l; int size; + if (len <= 0) + return; + i = 0; glyphs = glyphs_local; size = NUM_LOCAL; @@ -659,7 +671,7 @@ { if (i == size) { - glyphs_new = malloc ((size_t)size * 2 * sizeof (FT_UInt)); + glyphs_new = AllocUIntArray (size * 2); if (!glyphs_new) { if (glyphs != glyphs_local) @@ -755,11 +767,14 @@ XftGlyphSpec *glyphs, glyphs_localNUM_LOCAL; int i; + if (len <= 0) + return; + if (len <= NUM_LOCAL) glyphs = glyphs_local; else { - glyphs = malloc ((size_t)len * sizeof (XftGlyphSpec)); + glyphs = AllocGlyphSpecArray (len); if (!glyphs) return; } @@ -784,11 +799,14 @@ XftGlyphFontSpec *glyphs, glyphs_localNUM_LOCAL; int i; + if (len <= 0) + return; + if (len <= NUM_LOCAL) glyphs = glyphs_local; else { - glyphs = malloc ((size_t)len * sizeof (XftGlyphFontSpec)); + glyphs = AllocGlyphFontSpecArray (len); if (!glyphs) return; }
View file
_service:tar_scm:libXft-2.3.4.tar.bz2/src/xftextent.c -> _service:tar_scm:libXft-2.3.7.tar.gz/src/xftextent.c
Changed
@@ -123,11 +123,14 @@ FT_UInt *glyphs, glyphs_localNUM_LOCAL; int i; + if (len < 0) + return; + if (len <= NUM_LOCAL) - glyphs = glyphs_local; + *(glyphs = glyphs_local) = 0; else { - glyphs = malloc ((size_t)len * sizeof (FT_UInt)); + glyphs = AllocUIntArray (len); if (!glyphs) { memset (extents, '\0', sizeof (XGlyphInfo)); @@ -151,11 +154,14 @@ FT_UInt *glyphs, glyphs_localNUM_LOCAL; int i; + if (len < 0) + return; + if (len <= NUM_LOCAL) - glyphs = glyphs_local; + *(glyphs = glyphs_local) = 0; else { - glyphs = malloc ((size_t)len * sizeof (FT_UInt)); + glyphs = AllocUIntArray (len); if (!glyphs) { memset (extents, '\0', sizeof (XGlyphInfo)); @@ -179,11 +185,14 @@ FT_UInt *glyphs, glyphs_localNUM_LOCAL; int i; + if (len < 0) + return; + if (len <= NUM_LOCAL) - glyphs = glyphs_local; + *(glyphs = glyphs_local) = 0; else { - glyphs = malloc ((size_t)len * sizeof (FT_UInt)); + glyphs = AllocUIntArray (len); if (!glyphs) { memset (extents, '\0', sizeof (XGlyphInfo)); @@ -210,14 +219,17 @@ int l; int size; + if (len < 0) + return; + i = 0; - glyphs = glyphs_local; + *(glyphs = glyphs_local) = 0; size = NUM_LOCAL; while (len && (l = FcUtf8ToUcs4 (string, &ucs4, len)) > 0) { if (i == size) { - glyphs_new = malloc ((size_t)size * 2 * sizeof (FT_UInt)); + glyphs_new = AllocUIntArray (size * 2); if (!glyphs_new) { if (glyphs != glyphs_local) @@ -254,14 +266,17 @@ int l; int size; + if (len < 0) + return; + i = 0; - glyphs = glyphs_local; + *(glyphs = glyphs_local) = 0; size = NUM_LOCAL; while (len && (l = FcUtf16ToUcs4 (string, endian, &ucs4, len)) > 0) { if (i == size) { - glyphs_new = malloc ((size_t)size * 2 * sizeof (FT_UInt)); + glyphs_new = AllocUIntArray (size * 2); if (!glyphs_new) { if (glyphs != glyphs_local)
View file
_service:tar_scm:libXft-2.3.4.tar.bz2/src/xftfont.c -> _service:tar_scm:libXft-2.3.7.tar.gz/src/xftfont.c
Changed
@@ -120,7 +120,7 @@ FcResult result; XftFont *font; - pat = FcNameParse ((FcChar8 *) name); + pat = FcNameParse ((const FcChar8 *) name); if (XftDebug () & XFT_DBG_OPEN) { printf ("XftFontOpenName \"%s\": ", name);
View file
_service:tar_scm:libXft-2.3.4.tar.bz2/src/xftfreetype.c -> _service:tar_scm:libXft-2.3.7.tar.gz/src/xftfreetype.c
Changed
@@ -1,23 +1,24 @@ /* + * Copyright © 2022 Thomas E. Dickey * Copyright © 2000 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that - * the above copyright notice appear in all copies and that both that - * copyright notice and this permission notice appear in supporting - * documentation, and that the name of Keith Packard not be used in - * advertising or publicity pertaining to distribution of the software without - * specific, written prior permission. Keith Packard makes no + * the above copyright notice appear in all copies and that both that copyright + * notice and this permission notice appear in supporting documentation, and + * that the name of the above copyright holders not be used in advertising or + * publicity pertaining to distribution of the software without specific, + * written prior permission. The above copyright holders make no * representations about the suitability of this software for any purpose. It * is provided "as is" without express or implied warranty. * - * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, - * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO - * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR - * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, - * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER - * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - * PERFORMANCE OF THIS SOFTWARE. + * THE ABOVE LISTED COPYRIGHT HOLDER(S) DISCLAIM ALL WARRANTIES WITH REGARD TO + * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS, IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE + * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER + * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF + * CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN + * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ #include "xftint.h" @@ -45,7 +46,7 @@ for (f = _XftFtFiles; f; f = f->next) { - if (!strcmp (f->file, (char *) file) && f->id == id) + if (!strcmp (f->file, (const char *) file) && f->id == id) { ++f->ref; if (XftDebug () & XFT_DBG_REF) @@ -54,11 +55,11 @@ return f; } } - f = malloc (sizeof (XftFtFile) + strlen ((char *) file) + 1); + f = malloc (sizeof (XftFtFile) + strlen ((const char *) file) + 1); if (!f) return NULL; - XftMemAlloc (XFT_MEM_FILE, (int)(sizeof (XftFtFile) + strlen ((char *) file) + 1)); + XftMemAlloc (XFT_MEM_FILE, sizeof (XftFtFile) + strlen ((const char *) file) + 1); if (XftDebug () & XFT_DBG_REF) printf ("FontFile %s/%d matches new\n", file, id); @@ -68,7 +69,7 @@ f->ref = 1; f->file = (char *) (f+1); - strcpy (f->file, (char *) file); + strcpy (f->file, (const char *) file); f->id = id; f->lock = 0; @@ -87,7 +88,7 @@ f = malloc (sizeof (XftFtFile)); if (!f) return NULL; - XftMemAlloc (XFT_MEM_FILE, sizeof(XftFtFile)); + XftMemAlloc (XFT_MEM_FILE, sizeof (XftFtFile)); f->next = NULL; f->ref = 1; @@ -132,7 +133,7 @@ XftFtFile *f; while ((n = _XftNumFiles ()) > XftMaxFreeTypeFiles) { - f = _XftNthFile (rand () % n); + f = _XftNthFile (n ? (rand () % n) : 0); if (f) { if (XftDebug() & XFT_DBG_REF) @@ -366,10 +367,10 @@ { XftDisplayInfo *info = _XftDisplayInfoGet (dpy, True); FcChar8 *filename; - int id; + int id, mid; double dsize; double aspect; - FcMatrix *font_matrix; + FcMatrix *font_matrix, fm1; FcBool hinting, vertical_layout, autohint, global_advance; int hint_style; FcChar32 hash, *hashp; @@ -385,7 +386,7 @@ * hash or XftFontInfoEqual(). */ - memset (fi, '\0', sizeof(*fi)); + memset (fi, '\0', sizeof (*fi)); /* * Find the associated file @@ -432,7 +433,7 @@ if (XftDebug() & XFT_DBG_OPEN) printf ("XftFontInfoFill: %s: %d (%g pixels)\n", - (filename ? filename : (FcChar8 *) "<none>"), id, dsize); + (filename ? filename : (const FcChar8 *) "<none>"), id, dsize); /* * Get antialias value */ @@ -490,6 +491,22 @@ goto bail1; } + mid = 1; + while (FcPatternGetMatrix (pattern, FC_MATRIX, mid, &font_matrix) == FcResultMatch) { + FcMatrixInit(&fm1); +#define PreScale(value) ((double) (value) / (double) 0x10000L) + fm1.xx = PreScale(fi->matrix.xx); + fm1.yy = PreScale(fi->matrix.yy); + fm1.xy = PreScale(fi->matrix.xy); + fm1.yx = PreScale(fi->matrix.yx); + FcMatrixMultiply(&fm1, font_matrix, &fm1); + fi->matrix.xx = (FT_Fixed)(0x10000L * fm1.xx); + fi->matrix.yy = (FT_Fixed)(0x10000L * fm1.yy); + fi->matrix.xy = (FT_Fixed)(0x10000L * fm1.xy); + fi->matrix.yx = (FT_Fixed)(0x10000L * fm1.yx); + mid++; + } + fi->transform = (fi->matrix.xx != 0x10000 || fi->matrix.xy != 0 || fi->matrix.yx != 0 || fi->matrix.yy != 0x10000); @@ -523,7 +540,7 @@ /* * Compute glyph load flags */ - fi->load_flags = FT_LOAD_DEFAULT; + fi->load_flags = FT_LOAD_DEFAULT | FT_LOAD_COLOR; #ifndef XFT_EMBEDDED_BITMAP #define XFT_EMBEDDED_BITMAP "embeddedbitmap" @@ -717,7 +734,7 @@ } static void -XftFontInfoEmpty (Display *dpy, XftFontInfo *fi) +XftFontInfoEmpty (Display *dpy _X_UNUSED, XftFontInfo *fi) { if (fi->file) _XftReleaseFile (fi->file); @@ -757,7 +774,7 @@ _X_EXPORT FcBool XftFontInfoEqual (_Xconst XftFontInfo *a, _Xconst XftFontInfo *b) { - return memcmp ((void *) a, (void *) b, sizeof (XftFontInfo)) == 0; + return memcmp ((const void *) a, (const void *) b, sizeof (XftFontInfo)) == 0; } _X_EXPORT XftFont * @@ -775,11 +792,12 @@ FcChar32 hash_value; FcChar32 rehash_value; FcBool antialias; + FcBool color; int max_glyph_memory; - int alloc_size; + size_t alloc_size; int ascent, descent, height; int i; - int num_glyphs; + FT_UInt num_glyphs; if (!info) return NULL; @@ -831,12 +849,18 @@ if (!(face->face_flags & FT_FACE_FLAG_SCALABLE)) antialias = FcFalse; + color = FT_HAS_COLOR(face) ? FcTrue : FcFalse; + /* * Find the appropriate picture format */ if (fi->render) { - if (antialias) + if (color) + { + format = XRenderFindStandardFormat (dpy, PictStandardARGB32); + } + else if (antialias)
View file
_service:tar_scm:libXft-2.3.4.tar.bz2/src/xftglyphs.c -> _service:tar_scm:libXft-2.3.7.tar.gz/src/xftglyphs.c
Changed
@@ -1,23 +1,24 @@ /* + * Copyright © 2022 Thomas E. Dickey * Copyright © 2000 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that - * the above copyright notice appear in all copies and that both that - * copyright notice and this permission notice appear in supporting - * documentation, and that the name of Keith Packard not be used in - * advertising or publicity pertaining to distribution of the software without - * specific, written prior permission. Keith Packard makes no + * the above copyright notice appear in all copies and that both that copyright + * notice and this permission notice appear in supporting documentation, and + * that the name of the above copyright holders not be used in advertising or + * publicity pertaining to distribution of the software without specific, + * written prior permission. The above copyright holders make no * representations about the suitability of this software for any purpose. It * is provided "as is" without express or implied warranty. * - * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, - * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO - * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR - * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, - * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER - * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - * PERFORMANCE OF THIS SOFTWARE. + * THE ABOVE LISTED COPYRIGHT HOLDER(S) DISCLAIM ALL WARRANTIES WITH REGARD TO + * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS, IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE + * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER + * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF + * CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN + * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ #include "xftint.h" @@ -26,12 +27,54 @@ #include FT_SYNTHESIS_H +#include FT_GLYPH_H + +typedef double m3x333; + +static void +m3x3_uniform(m3x3 m) +{ + m00 = m11 = m22 = 1.0; + m01 = m10 = m02 = m12 = m20 = m21 = 0; +} + +static void +m3x3_transform(FT_Vector *v, m3x3 m) +{ + double x, y; + + x = (double)v->x; + y = (double)v->y; + v->x = (FT_Pos)(x * m00 + y * m01 + m02 + 0.5); + v->y = (FT_Pos)(x * m10 + y * m11 + m12 + 0.5); +} + +static void +m3x3_invert(m3x3 m, m3x3 mi) +{ + double det; + + det = m00 * (m11 * m22 - m12 * m21); + det -= m01 * (m10 * m22 - m12 * m20); + det += m02 * (m10 * m21 - m11 * m20); + det = 1.0 / det; + mi00 = det * (m11 * m22 - m12 * m21); + mi10 = det * (m12 * m20 - m10 * m22); + mi20 = det * (m10 * m21 - m11 * m20); + mi01 = det * (m02 * m21 - m01 * m22); + mi11 = det * (m00 * m22 - m02 * m20); + mi21 = det * (m01 * m20 - m00 * m21); + mi02 = det * (m01 * m12 - m02 * m11); + mi12 = det * (m02 * m10 - m00 * m12); + mi22 = det * (m00 * m11 - m01 * m10); +} + /* * Validate the memory info for a font */ static void -_XftFontValidateMemory (Display *dpy, XftFont *public) +_XftFontValidateMemory (Display *dpy _X_UNUSED, XftFont *public) { XftFontInt *font = (XftFontInt *) public; unsigned long glyph_memory; @@ -48,10 +91,72 @@ } } if (glyph_memory != font->glyph_memory) - printf ("Font glyph cache incorrect has %ld bytes, should have %ld\n", + printf ("Font glyph cache incorrect has %lu bytes, should have %lu\n", font->glyph_memory, glyph_memory); } +/* + * Validate the glyph usage-links for a font. + */ +static void +_XftValidateGlyphUsage(XftFontInt *font) +{ + if (font->newest != FT_UINT_MAX) { + FT_UInt forward; + FT_UInt reverse; + FT_UInt next; + XftGlyphUsage *x1st = (XftGlyphUsage *) font->glyphsfont->newest; + XftGlyphUsage *xuse = x1st; + for (forward = 1, + next = x1st->newer; + xuse != NULL && + next != font->newest; + next = xuse->newer) { + if (next >= font->num_glyphs) { + printf("Xft: out of range; %d\n", next); + break; + } + if (++forward > font->total_inuse) { + printf("Xft: too many in-use glyphs (%d vs %d)\n", + forward, font->total_inuse); + if (forward > font->total_inuse + 10) + break; + } + xuse = (XftGlyphUsage *) font->glyphsnext; + } + if (forward < font->total_inuse) { + printf("Xft: too few in-use glyphs (%u vs %d)\n", + forward, font->total_inuse); + } + for (reverse = 1, + next = x1st->older; + xuse != NULL && + next != font->newest; + next = xuse->older) { + if (next >= font->num_glyphs) { + printf("Xft out of range; %d\n", next); + break; + } + if (++reverse > font->total_inuse) { + printf("Xft: too many in-use glyphs (%d vs %d)\n", + reverse, font->total_inuse); + if (reverse > font->total_inuse + 10) + break; + } + xuse = (XftGlyphUsage *) font->glyphsnext; + } + if (reverse < font->total_inuse) { + printf("Xft: too few in-use glyphs (%u vs %d)\n", + reverse, font->total_inuse); + } + if (forward != reverse) { + printf("Xft: forward %d vs reverse %d\n", + forward, reverse); + exit(1); + } + } +} + /* we sometimes need to convert the glyph bitmap in a FT_GlyphSlot * into a different format. For example, we want to convert a * FT_PIXEL_MODE_LCD or FT_PIXEL_MODE_LCD_V bitmap into a 32-bit @@ -78,7 +183,9 @@ static int _compute_xrender_bitmap_size( FT_Bitmap* target, FT_GlyphSlot slot, - FT_Render_Mode mode ) + FT_Render_Mode mode, + FT_Matrix* matrix, + m3x3 m ) { FT_Bitmap* ftbit; int width, height, pitch; @@ -91,6 +198,63 @@ width = (int)ftbit->width; height = (int)ftbit->rows; + + if ( matrix && mode == FT_RENDER_MODE_NORMAL ) + { + FT_Matrix mirror, inverse; + FT_Vector vector; + int xc, yc; + int left, right, top, bottom; + + left = right = top = bottom = 0; + for (xc = 0; xc <= 1; xc++) { + for (yc = 0; yc <= 1; yc++) { + vector.x = xc * width; + vector.y = yc * height; + FT_Vector_Transform(&vector, matrix); + if (xc == 0 && yc == 0) { + left = right = (int)vector.x; + top = bottom = (int)vector.y; + } else {
View file
_service:tar_scm:libXft-2.3.4.tar.bz2/src/xftinit.c -> _service:tar_scm:libXft-2.3.7.tar.gz/src/xftinit.c
Changed
@@ -25,7 +25,7 @@ static Bool _XftConfigInitialized; _X_EXPORT Bool -XftInit (_Xconst char *config) +XftInit (_Xconst char *config _X_UNUSED) { if (_XftConfigInitialized) return True; @@ -44,45 +44,48 @@ static struct { const char *name; int alloc_count; - int alloc_mem; + size_t alloc_mem; int free_count; - int free_mem; + size_t free_mem; } XftInUseXFT_MEM_NUM = { - { "XftDraw", 0, 0 }, - { "XftFont", 0 ,0 }, - { "XftFtFile", 0, 0 }, - { "XftGlyph", 0, 0 }, + { "XftDraw", 0, 0, 0, 0 }, /* XFT_MEM_DRAW */ + { "XftFont", 0, 0, 0, 0 }, /* XFT_MEM_FONT */ + { "XftFtFile", 0, 0, 0, 0 }, /* XFT_MEM_FILE */ + { "XftGlyph", 0, 0, 0, 0 }, /* XFT_MEM_GLYPH */ }; -static int XftAllocCount, XftAllocMem; -static int XftFreeCount, XftFreeMem; +static int XftAllocCount; +static size_t XftAllocMem; -static const int XftMemNotice = 1*1024*1024; +static int XftFreeCount; +static size_t XftFreeMem; -static int XftAllocNotify, XftFreeNotify; +static const size_t XftMemNotice = 1*1024*1024; + +static size_t XftAllocNotify, XftFreeNotify; _X_HIDDEN void XftMemReport (void) { int i; printf ("Xft Memory Usage:\n"); - printf ("\t Which Alloc Free\n"); - printf ("\t count bytes count bytes\n"); + printf ("\t Which Alloc Free\n"); + printf ("\t count bytes count bytes\n"); for (i = 0; i < XFT_MEM_NUM; i++) - printf ("\t%8.8s%8d%8d%8d%8d\n", + printf ("\t%9.9s%8d%8lu%8d%8lu\n", XftInUsei.name, - XftInUsei.alloc_count, XftInUsei.alloc_mem, - XftInUsei.free_count, XftInUsei.free_mem); - printf ("\t%8.8s%8d%8d%8d%8d\n", + XftInUsei.alloc_count, (unsigned long) XftInUsei.alloc_mem, + XftInUsei.free_count, (unsigned long) XftInUsei.free_mem); + printf ("\t%9.9s%8d%8lu%8d%8lu\n", "Total", - XftAllocCount, XftAllocMem, - XftFreeCount, XftFreeMem); + XftAllocCount, (unsigned long) XftAllocMem, + XftFreeCount, (unsigned long) XftFreeMem); XftAllocNotify = 0; XftFreeNotify = 0; } _X_HIDDEN void -XftMemAlloc (int kind, int size) +XftMemAlloc (int kind, size_t size) { if (XftDebug() & XFT_DBG_MEMORY) { @@ -97,7 +100,7 @@ } _X_HIDDEN void -XftMemFree (int kind, int size) +XftMemFree (int kind, size_t size) { if (XftDebug() & XFT_DBG_MEMORY) {
View file
_service:tar_scm:libXft-2.3.4.tar.bz2/src/xftint.h -> _service:tar_scm:libXft-2.3.7.tar.gz/src/xftint.h
Changed
@@ -1,23 +1,24 @@ /* + * Copyright © 2022 Thomas E. Dickey * Copyright © 2000 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that - * the above copyright notice appear in all copies and that both that - * copyright notice and this permission notice appear in supporting - * documentation, and that the name of Keith Packard not be used in - * advertising or publicity pertaining to distribution of the software without - * specific, written prior permission. Keith Packard makes no + * the above copyright notice appear in all copies and that both that copyright + * notice and this permission notice appear in supporting documentation, and + * that the name of the above copyright holders not be used in advertising or + * publicity pertaining to distribution of the software without specific, + * written prior permission. The above copyright holders make no * representations about the suitability of this software for any purpose. It * is provided "as is" without express or implied warranty. * - * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, - * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO - * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR - * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, - * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER - * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - * PERFORMANCE OF THIS SOFTWARE. + * THE ABOVE LISTED COPYRIGHT HOLDER(S) DISCLAIM ALL WARRANTIES WITH REGARD TO + * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS, IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE + * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER + * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF + * CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN + * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ /* @@ -50,6 +51,7 @@ #endif #endif #include <ctype.h> +#include <assert.h> #include <X11/Xlib.h> #include <X11/Xutil.h> @@ -85,10 +87,21 @@ XGlyphInfo metrics; void *bitmap; unsigned long glyph_memory; + Picture picture; } XftGlyph; /* - * A hash table translates Unicode values into glyph indicies + * If the "trackmemusage" option is set, glyphs are managed via a doubly-linked + * list. To save space, the links are just array indices. + */ +typedef struct _XftGlyphUsage { + XftGlyph contents; + FT_UInt newer; + FT_UInt older; +} XftGlyphUsage; + +/* + * A hash table translates Unicode values into glyph indices */ typedef struct _XftUcsHash { FcChar32 ucs4; @@ -134,6 +147,7 @@ FT_F26Dot6 xsize, ysize; /* pixel size */ FcBool antialias; /* doing antialiasing */ FcBool embolden; /* force emboldening */ + FcBool color; /* contains color glyphs */ int rgba; /* subpixel order */ int lcd_filter; /* lcd filter */ FT_Matrix matrix; /* glyph transformation matrix */ @@ -163,7 +177,7 @@ * This array follows the font in memory */ XftGlyph **glyphs; - int num_glyphs; /* size of glyphs/bitmaps arrays */ + FT_UInt num_glyphs; /* size of glyphs/bitmaps arrays */ /* * Hash table to get from Unicode value to glyph ID * This array follows the glyphs in memory @@ -181,6 +195,10 @@ */ unsigned long glyph_memory; unsigned long max_glyph_memory; + unsigned sizeof_glyph; /* sizeof(XftGlyph) or XftGlyphUsage */ + FT_UInt newest; /* index, for tracking usage */ + FT_UInt total_inuse; /* total, for verifying usage */ + FcBool track_mem_usage; /* Use XftGlyphUsage */ FcBool use_free_glyphs; /* Use XRenderFreeGlyphs */ } XftFontInt; @@ -250,6 +268,7 @@ XRenderPictFormat *solidFormat; unsigned long glyph_memory; unsigned long max_glyph_memory; + FcBool track_mem_usage; FcBool use_free_glyphs; int num_unref_fonts; int max_unref_fonts; @@ -273,6 +292,9 @@ extern XftDisplayInfo *_XftDisplayInfo; +/* + * Bits in $XFT_DEBUG, which can be combined. + */ #define XFT_DBG_OPEN 1 #define XFT_DBG_OPENV 2 #define XFT_DBG_RENDER 4 @@ -283,47 +305,24 @@ #define XFT_DBG_CACHE 128 #define XFT_DBG_CACHEV 256 #define XFT_DBG_MEMORY 512 +#define XFT_DBG_USAGE 1024 -#define XFT_MEM_DRAW 0 -#define XFT_MEM_FONT 1 -#define XFT_MEM_FILE 2 -#define XFT_MEM_GLYPH 3 -#define XFT_MEM_NUM 4 - -/* xftcompat.c */ -void XftFontSetDestroy (FcFontSet *s); -FcBool XftMatrixEqual (_Xconst FcMatrix *mat1, _Xconst FcMatrix *mat2); -void XftMatrixMultiply (FcMatrix *result, FcMatrix *a, FcMatrix *b); -void XftMatrixRotate (FcMatrix *m, double c, double s); -void XftMatrixScale (FcMatrix *m, double sx, double sy); -void XftMatrixShear (FcMatrix *m, double sh, double sv); -FcPattern *XftPatternCreate (void); -void XftValueDestroy (FcValue v); -void XftPatternDestroy (FcPattern *p); -FcBool XftPatternAdd (FcPattern *p, _Xconst char *object, FcValue value, FcBool append); -FcBool XftPatternDel (FcPattern *p, _Xconst char *object); -FcBool XftPatternAddInteger (FcPattern *p, _Xconst char *object, int i); -FcBool XftPatternAddDouble (FcPattern *p, _Xconst char *object, double i); -FcBool XftPatternAddMatrix (FcPattern *p, _Xconst char *object, FcMatrix *i); -FcBool XftPatternAddString (FcPattern *p, _Xconst char *object, char *i); -FcBool XftPatternAddBool (FcPattern *p, _Xconst char *object, FcBool i); -FcResult XftPatternGet (FcPattern *p, _Xconst char *object, int id, FcValue *v); -FcResult XftPatternGetInteger (FcPattern *p, _Xconst char *object, int id, int *i); -FcResult XftPatternGetDouble (FcPattern *p, _Xconst char *object, int id, double *i); -FcResult XftPatternGetString (FcPattern *p, _Xconst char *object, int id, char **i); -FcResult XftPatternGetMatrix (FcPattern *p, _Xconst char *object, int id, FcMatrix **i); -FcResult XftPatternGetBool (FcPattern *p, _Xconst char *object, int id, FcBool *i); -FcPattern *XftPatternDuplicate (FcPattern *orig); -FcPattern *XftPatternVaBuild (FcPattern *orig, va_list va); -FcPattern *XftPatternBuild (FcPattern *orig, ...); -FcBool XftNameUnparse (FcPattern *pat, char *dest, int len); -FcBool XftGlyphExists (Display *dpy, XftFont *font, FcChar32 ucs4); -FcObjectSet *XftObjectSetCreate (void); -Bool XftObjectSetAdd (FcObjectSet *os, _Xconst char *object); -void XftObjectSetDestroy (FcObjectSet *os); -FcObjectSet *XftObjectSetVaBuild (_Xconst char *first, va_list va); -FcObjectSet *XftObjectSetBuild (_Xconst char *first, ...); -FcFontSet *XftListFontSets (FcFontSet **sets, int nsets, FcPattern *p, FcObjectSet *os); +/* + * Categories for memory allocation. + */ +typedef enum { + XFT_MEM_DRAW + , XFT_MEM_FONT + , XFT_MEM_FILE + , XFT_MEM_GLYPH + , XFT_MEM_NUM +} XFT_MEM_KIND; + +#define AllocTypedArray(n,type) malloc ((size_t)(n) * sizeof (type)) +#define AllocUIntArray(n) AllocTypedArray(n, FT_UInt) +#define AllocGlyphElt8Array(n) AllocTypedArray(n, XGlyphElt8) +#define AllocGlyphSpecArray(n) AllocTypedArray(n, XftGlyphSpec) +#define AllocGlyphFontSpecArray(n) AllocTypedArray(n, XftGlyphFontSpec) /* xftcore.c */ void @@ -415,10 +414,10 @@ XftMemReport (void); void -XftMemAlloc (int kind, int size); +XftMemAlloc (int kind, size_t size); void -XftMemFree (int kind, int size); +XftMemFree (int kind, size_t size); /* xftlist.c */ FcFontSet *
View file
_service:tar_scm:libXft-2.3.4.tar.bz2/src/xftlist.c -> _service:tar_scm:libXft-2.3.7.tar.gz/src/xftlist.c
Changed
@@ -23,10 +23,10 @@ #include "xftint.h" _X_HIDDEN FcFontSet * -XftListFontsPatternObjects (Display *dpy, - int screen, +XftListFontsPatternObjects (Display *dpy _X_UNUSED, + int screen _X_UNUSED, FcPattern *pattern, - FcObjectSet *os) + FcObjectSet *os) { return FcFontList (NULL, pattern, os); }
View file
_service:tar_scm:libXft-2.3.4.tar.bz2/src/xftname.c -> _service:tar_scm:libXft-2.3.7.tar.gz/src/xftname.c
Changed
@@ -25,7 +25,7 @@ _X_EXPORT FcPattern *XftNameParse (const char *name) { - return FcNameParse ((FcChar8 *) name); + return FcNameParse ((const FcChar8 *) name); } _X_EXPORT FcBool @@ -36,7 +36,7 @@ name = FcNameUnparse (pat); if (!name) return FcFalse; - if (strlen ((char *) name) + 1 > len) + if (strlen ((char *) name) + 1 > (size_t) len) { FcPattern *new = FcPatternDuplicate (pat); free (name); @@ -46,7 +46,7 @@ FcPatternDestroy (new); if (!name) return FcFalse; - if (strlen ((char *) name) + 1 > len) + if (strlen ((char *) name) + 1 > (size_t) len) { strncpy (dest, ((char *) name), (size_t) len - 1); destlen - 1 = '\0';
View file
_service:tar_scm:libXft-2.3.4.tar.bz2/src/xftrender.c -> _service:tar_scm:libXft-2.3.7.tar.gz/src/xftrender.c
Changed
@@ -21,11 +21,53 @@ */ #include "xftint.h" +#include <stdint.h> #define NUM_LOCAL 1024 #define NUM_ELT_LOCAL 128 /* + * Dispatch glyph drawing to the correct XRenderCompositeString function + */ +static void +_XftCompositeString (Display *dpy, + int op, + Picture src, + Picture dst, + XRenderPictFormat *format, + GlyphSet glyphset, + int srcx, + int srcy, + int dstx, + int dsty, + int charwidth, + unsigned int *chars, + int nchars) +{ + if (nchars == 0) + return; + + switch (charwidth) { + case 1: + default: + XRenderCompositeString8 (dpy, op, + src, dst, format, glyphset, + srcx, srcy, dstx, dsty, (char*)chars, nchars); + break; + case 2: + XRenderCompositeString16(dpy, op, + src, dst, format, glyphset, + srcx, srcy, dstx, dsty, (unsigned short*)chars, nchars); + break; + case 4: + XRenderCompositeString32(dpy, op, + src, dst, format, glyphset, + srcx, srcy, dstx, dsty, (unsigned int*)chars, nchars); + break; + } +} + +/* * Use the Render extension to draw the glyphs */ @@ -43,18 +85,22 @@ int nglyphs) { XftFontInt *font = (XftFontInt *) pub; - int i; + int i, j; FT_UInt missingXFT_NMISSING; int nmissing; FT_UInt g, max; - int size, width; + int width; + int dstx, dsty; Glyph wire; + XftGlyph* glyph; char *char8; unsigned short *char16; unsigned int *char32; unsigned int char_localNUM_LOCAL; unsigned int *chars; FcBool glyphs_loaded; + size_t size; + size_t needed; if (!font->format) return; @@ -94,49 +140,100 @@ size = sizeof (unsigned int); } chars = char_local; - if (nglyphs * size > sizeof (char_local)) + if ((size_t)nglyphs > SIZE_MAX / size) + goto bail1; + needed = (size_t)nglyphs * size; + if (needed > sizeof (char_local)) { - chars = malloc ((size_t)(nglyphs * size)); + chars = malloc (needed); if (!chars) goto bail1; } + dstx = x; + dsty = y; char8 = (char *) chars; char16 = (unsigned short *) chars; char32 = (unsigned int *) chars; - for (i = 0; i < nglyphs; i++) + for (i = 0, j = 0; i < nglyphs; i++) { wire = (Glyph) glyphsi; - if (wire >= font->num_glyphs || !font->glyphswire) + if (wire >= (Glyph) font->num_glyphs || !font->glyphswire) wire = 0; - switch (width) { - case 1: char8i = (char) wire; break; - case 2: char16i = (unsigned short) wire; break; - case 4: char32i = (unsigned int) wire; break; + glyph = font->glyphswire; + if (glyph == NULL) + continue; + if (glyph->picture) + { + _XftCompositeString(dpy, op, src, dst, font->format, font->glyphset, srcx, srcy, x, y, width, chars, j); + XRenderComposite(dpy, PictOpOver, glyph->picture, None, dst, 0, 0, 0, 0, dstx - glyph->metrics.x, dsty - glyph->metrics.y, glyph->metrics.width, glyph->metrics.height); + dstx += glyph->metrics.xOff; + dsty += glyph->metrics.yOff; + x = dstx; + y = dsty; + j = 0; + } + else + { + switch (width) { + case 1: char8j = (char) wire; break; + case 2: char16j = (unsigned short) wire; break; + case 4: char32j = (unsigned int) wire; break; + } + dstx += glyph->metrics.xOff; + dsty += glyph->metrics.yOff; + ++j; } } - switch (width) { + _XftCompositeString(dpy, op, src, dst, font->format, font->glyphset, + srcx, srcy, x, y, width, chars, j); + if (chars != char_local) + free (chars); +bail1: + if (glyphs_loaded) + _XftFontManageMemory (dpy, pub); +} + +/* + * Dispatch glyph drawing to the correct XRenderCompositeText function + */ +static void +_XftCompositeText (Display *dpy, + int op, + Picture src, + Picture dst, + XRenderPictFormat *format, + int srcx, + int srcy, + int dstx, + int dsty, + int eltwidth, + XGlyphElt8 *elts, + int nelt) +{ + if (nelt == 0) + return; + + switch (eltwidth) { case 1: default: - XRenderCompositeString8 (dpy, op, - src, dst, font->format, font->glyphset, - srcx, srcy, x, y, char8, nglyphs); + XRenderCompositeText8 (dpy, op, + src, dst, format, + srcx, srcy, dstx, dsty, + (XGlyphElt8*)elts, nelt); break; case 2: - XRenderCompositeString16(dpy, op, - src, dst, font->format, font->glyphset, - srcx, srcy, x, y, char16, nglyphs); + XRenderCompositeText16(dpy, op, + src, dst, format, + srcx, srcy, dstx, dsty, + (XGlyphElt16*)elts, nelt); break; case 4: - XRenderCompositeString32(dpy, op, - src, dst, font->format, font->glyphset, - srcx, srcy, x, y, char32, nglyphs); + XRenderCompositeText32(dpy, op, + src, dst, format, + srcx, srcy, dstx, dsty, + (XGlyphElt32*)elts, nelt); break; } - if (chars != char_local) - free (chars); -bail1: - if (glyphs_loaded) - _XftFontManageMemory (dpy, pub);
View file
_service:tar_scm:libXft-2.3.4.tar.bz2/src/xftstr.c -> _service:tar_scm:libXft-2.3.7.tar.gz/src/xftstr.c
Changed
@@ -27,7 +27,7 @@ { while (n--) { - if (!FcStrCmpIgnoreCase ((FcChar8 *) s->name, (FcChar8 *) name)) + if (!FcStrCmpIgnoreCase ((const FcChar8 *) s->name, (const FcChar8 *) name)) return s->value; s++; }
View file
_service:tar_scm:libXft-2.3.4.tar.bz2/src/xftxlfd.c -> _service:tar_scm:libXft-2.3.7.tar.gz/src/xftxlfd.c
Changed
@@ -81,7 +81,7 @@ } _X_EXPORT FcPattern * -XftXlfdParse (const char *xlfd_orig, FcBool ignore_scalable, FcBool complete) +XftXlfdParse (const char *xlfd_orig, FcBool ignore_scalable _X_UNUSED, FcBool complete _X_UNUSED) { FcPattern *pat; const char *xlfd = xlfd_orig; @@ -89,8 +89,6 @@ const char *family; const char *weight_name; const char *slant; - const char *registry; - const char *encoding; char *save; int pixel; int point; @@ -113,9 +111,9 @@ if (!(xlfd = XftGetInt (++xlfd, &resy))) return NULL; if (!(xlfd = strchr (/* spacing = */ ++xlfd, '-'))) return NULL; if (!(xlfd = strchr (/* average_width = */ ++xlfd, '-'))) return NULL; - if (!(xlfd = strchr (registry = ++xlfd, '-'))) return NULL; + if (!(xlfd = strchr (/* registry = */ ++xlfd, '-'))) return NULL; /* make sure no fields follow this one */ - if ((xlfd = strchr (encoding = ++xlfd, '-'))) return NULL; + if ((/* xlfd = */ strchr (/* encoding = */ ++xlfd, '-'))) return NULL; if (!pixel) return NULL; @@ -131,7 +129,7 @@ return NULL; } - if (!FcPatternAddString (pat, XFT_XLFD, (FcChar8 *) xlfd_orig)) goto bail; + if (!FcPatternAddString (pat, XFT_XLFD, (const FcChar8 *) xlfd_orig)) goto bail; XftSplitStr (foundry, save); if (save0 && strcmp (save, "*") != 0)
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2