From f2c0c4be2b13b4f12da697848aed5e23157ec352 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Mon, 13 Feb 2017 15:42:39 +0100 Subject: [PATCH 01/40] New upstream release 3.2.6a --- .gitignore | 1 + sources | 4 ++-- xfig.spec | 14 ++++++++------ 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/.gitignore b/.gitignore index 7f2633d..054f115 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ xfig.3.2.5b.full.tar.gz /xfig_3.2.5.c-8.debian.tar.xz /xfig-full-3.2.6.tar.xz /xfig-3.2.6.tar.xz +/xfig-3.2.6a.tar.xz diff --git a/sources b/sources index b3ef8a0..d718363 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -087a53173d4c092b65b471c99debc6b2 xfig-3.2.6.tar.xz -f58e3bde288d623c826e1784ebb45de0 xfig-icons.tar.gz +SHA512 (xfig-3.2.6a.tar.xz) = 8d6952301cab297f87041ca645c316863c4ee454ba6318ae94b2493ca9dfeda6b0240a038001f82c390d1a772c4b5e3c43c9414ea150fd18adb8780a608d8cd0 +SHA512 (xfig-icons.tar.gz) = f7d9b314d57994d479712740dcac4a2c924ddacea028db1c6cdeef36fb7d846885c45d21499f7453c750c265eeb5877e4b032454911ce91667ccc550cb2112e5 diff --git a/xfig.spec b/xfig.spec index 72a8ef0..5509d04 100644 --- a/xfig.spec +++ b/xfig.spec @@ -2,8 +2,8 @@ Summary: An X Window System tool for drawing basic vector graphics Name: xfig -Version: 3.2.6 -Release: 5%{?dist} +Version: 3.2.6a +Release: 1%{?dist} License: MIT URL: https://en.wikipedia.org/wiki/Xfig Source0: http://downloads.sourceforge.net/mcj/xfig-%{version}.tar.xz @@ -63,10 +63,9 @@ done %build # Fedora's Xaw3d is built with -DXAW_ARROW_SCROLLBARS -# Add -DGSBIT to make eps image previews work -export CFLAGS="-DXAW_ARROW_SCROLLBARS -DGSBIT $RPM_OPT_FLAGS -fno-strength-reduce -fno-strict-aliasing" -%configure --enable-xpm-splash -make %{?_smp_mflags} +export CFLAGS="-DXAW_ARROW_SCROLLBARS $RPM_OPT_FLAGS -fno-strength-reduce -fno-strict-aliasing" +%configure +%make_build %install @@ -117,6 +116,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %changelog +* Mon Feb 13 2017 Hans de Goede - 3.2.6a-1 +- New upstream release 3.2.6a + * Sun Feb 12 2017 Hans de Goede - 3.2.6-5 - Build with -DGSBIT to fix eps file preview generation (rhbz#1418560) - Fix broken screenshot links in appdata From 06159b7d96f45233769500568cfb57d223ce0be9 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 27 Jul 2017 22:07:30 +0000 Subject: [PATCH 02/40] - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild --- xfig.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xfig.spec b/xfig.spec index 5509d04..e985097 100644 --- a/xfig.spec +++ b/xfig.spec @@ -3,7 +3,7 @@ Summary: An X Window System tool for drawing basic vector graphics Name: xfig Version: 3.2.6a -Release: 1%{?dist} +Release: 2%{?dist} License: MIT URL: https://en.wikipedia.org/wiki/Xfig Source0: http://downloads.sourceforge.net/mcj/xfig-%{version}.tar.xz @@ -116,6 +116,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %changelog +* Thu Jul 27 2017 Fedora Release Engineering - 3.2.6a-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + * Mon Feb 13 2017 Hans de Goede - 3.2.6a-1 - New upstream release 3.2.6a From e5c5939f8653fe8dc140169a26a30ef9c98e04f6 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 3 Aug 2017 10:43:04 +0000 Subject: [PATCH 03/40] - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild --- xfig.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xfig.spec b/xfig.spec index e985097..6fc815c 100644 --- a/xfig.spec +++ b/xfig.spec @@ -3,7 +3,7 @@ Summary: An X Window System tool for drawing basic vector graphics Name: xfig Version: 3.2.6a -Release: 2%{?dist} +Release: 3%{?dist} License: MIT URL: https://en.wikipedia.org/wiki/Xfig Source0: http://downloads.sourceforge.net/mcj/xfig-%{version}.tar.xz @@ -116,6 +116,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %changelog +* Thu Aug 03 2017 Fedora Release Engineering - 3.2.6a-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + * Thu Jul 27 2017 Fedora Release Engineering - 3.2.6a-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild From a4fd7a8fdc42e416f2a1b57091b14efa9b668127 Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Tue, 7 Nov 2017 13:50:34 -0500 Subject: [PATCH 04/40] Drop unneeded BuildRequires: imake --- xfig.spec | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/xfig.spec b/xfig.spec index 6fc815c..8b87b42 100644 --- a/xfig.spec +++ b/xfig.spec @@ -3,7 +3,7 @@ Summary: An X Window System tool for drawing basic vector graphics Name: xfig Version: 3.2.6a -Release: 3%{?dist} +Release: 4%{?dist} License: MIT URL: https://en.wikipedia.org/wiki/Xfig Source0: http://downloads.sourceforge.net/mcj/xfig-%{version}.tar.xz @@ -16,7 +16,6 @@ Patch1: xfig-3.2.5-urwfonts.patch BuildRequires: libjpeg-devel BuildRequires: libpng-devel -BuildRequires: imake BuildRequires: libICE-devel BuildRequires: libSM-devel BuildRequires: libX11-devel @@ -116,6 +115,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %changelog +* Tue Nov 07 2017 Adam Jackson - 3.2.6a-4 +- Drop unneeded BuildRequires: imake + * Thu Aug 03 2017 Fedora Release Engineering - 3.2.6a-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild From 9bf0f0c1f7cb470159bffd4a0067cc7dafeda872 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 9 Feb 2018 21:39:21 +0000 Subject: [PATCH 05/40] - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- xfig.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xfig.spec b/xfig.spec index 8b87b42..8efbdc5 100644 --- a/xfig.spec +++ b/xfig.spec @@ -3,7 +3,7 @@ Summary: An X Window System tool for drawing basic vector graphics Name: xfig Version: 3.2.6a -Release: 4%{?dist} +Release: 5%{?dist} License: MIT URL: https://en.wikipedia.org/wiki/Xfig Source0: http://downloads.sourceforge.net/mcj/xfig-%{version}.tar.xz @@ -115,6 +115,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %changelog +* Fri Feb 09 2018 Fedora Release Engineering - 3.2.6a-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + * Tue Nov 07 2017 Adam Jackson - 3.2.6a-4 - Drop unneeded BuildRequires: imake From 8b02b070fc35bffcebbb811519d2784e37010963 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Thu, 1 Mar 2018 23:46:57 +0100 Subject: [PATCH 06/40] Fix font issues (rhbz#1523624) : Adjust xfig-3.2.5-urwfonts.patch for new font names in urw-base35-fonts Except for the symbols font, use the old un-scalable Adobe PCF Symbol font for now as StandardSymbolsPS.otf from urw-base35-fonts is currently broken Add a patch to deal with some fonts being scalable, while Symbol is not Note the dingbats font is also broken in urw-base35-fonts, but there is no replacement for it, so that font is still broken, see rhbz#1534206 ghostscript-core no longer exists, instead require ghostscript (rhbz#1536581) Remove obsolete icon-cache and desktop-database scriptlets Add a patch from Debian fixing some issues with arrows --- 07_colorsliderarrows.patch | 34 ++++++++++ xfig-3.2.5-urwfonts.patch | 75 +++++++++++----------- xfig-3.2.6a-scalable-fonts.patch | 106 +++++++++++++++++++++++++++++++ xfig.spec | 42 ++++++------ 4 files changed, 201 insertions(+), 56 deletions(-) create mode 100644 07_colorsliderarrows.patch create mode 100644 xfig-3.2.6a-scalable-fonts.patch diff --git a/07_colorsliderarrows.patch b/07_colorsliderarrows.patch new file mode 100644 index 0000000..0bb141b --- /dev/null +++ b/07_colorsliderarrows.patch @@ -0,0 +1,34 @@ +Description: Fix direction of RGB & HSV color sliders arrows. +Author: Tim Bagot +Bug-Debian: https://bugs.debian.org/870365 + +--- a/src/w_color.c ++++ b/src/w_color.c +@@ -1919,15 +1919,15 @@ Scrolled(Widget w, XtPointer closure, Xt + pos = 255 - (int)(locked_top * 255 + 0.5); + break; + case S_HUE: +- hsv_values.h += (going_up? -blip: blip); ++ hsv_values.h += (going_up? blip: -blip); + ThumbHSV(w, 1.0-hsv_values.h); + return; + case S_SAT: +- hsv_values.s += (going_up? -blip: blip); ++ hsv_values.s += (going_up? blip: -blip); + ThumbHSV(w, 1.0-hsv_values.s); + return; + case S_VAL: +- hsv_values.v += (going_up? -blip: blip); ++ hsv_values.v += (going_up? blip: -blip); + ThumbHSV(w, 1.0-hsv_values.v); + return; + default: +@@ -1935,7 +1935,7 @@ Scrolled(Widget w, XtPointer closure, Xt + exit(1); + } + +- if (going_up) { ++ if (!going_up) { + if (pos > 0) + pos--; + } else { diff --git a/xfig-3.2.5-urwfonts.patch b/xfig-3.2.5-urwfonts.patch index 82ca561..69938ce 100644 --- a/xfig-3.2.5-urwfonts.patch +++ b/xfig-3.2.5-urwfonts.patch @@ -1,6 +1,6 @@ --- xfig.3.2.4/src/u_fonts.c 2002-09-09 13:36:58.000000000 -0400 +++ xfig-3.2.4/src/u_fonts.c 2006-10-11 00:29:07.000000000 -0400 -@@ -22,41 +22,41 @@ +@@ -22,41 +22,44 @@ /* X11 font names */ struct _xfstruct x_fontinfo[NUM_FONTS] = { @@ -39,41 +39,44 @@ - {"-*-symbol-medium-r-normal--", (struct xfont*) NULL}, - {"-*-itc zapf chancery-medium-i-normal--", (struct xfont*) NULL}, - {"-*-itc zapf dingbats-*-*-*--", (struct xfont*) NULL}, -+ {"-urw-nimbus roman no9 l-medium-r-normal--", (struct xfont*) NULL}, -+ {"-urw-nimbus roman no9 l-medium-i-normal--", (struct xfont*) NULL}, -+ {"-urw-nimbus roman no9 l-bold-r-normal--", (struct xfont*) NULL}, -+ {"-urw-nimbus roman no9 l-bold-i-normal--", (struct xfont*) NULL}, -+ {"-urw-urw gothic l-medium-r-normal--", (struct xfont*) NULL}, -+ {"-urw-urw gothic l-medium-o-normal--", (struct xfont*) NULL}, -+ {"-urw-urw gothic l-semibold-r-normal--", (struct xfont*) NULL}, -+ {"-urw-urw gothic l-semibold-o-normal--", (struct xfont*) NULL}, -+ {"-urw-urw bookman l-medium-r-normal--", (struct xfont*) NULL}, -+ {"-urw-urw bookman l-medium-i-normal--", (struct xfont*) NULL}, -+ {"-urw-urw bookman l-bold-r-normal--", (struct xfont*) NULL}, -+ {"-urw-urw bookman l-bold-i-normal--", (struct xfont*) NULL}, -+ {"-urw-nimbus mono l-medium-r-normal--", (struct xfont*) NULL}, -+ {"-urw-nimbus mono l-medium-o-normal--", (struct xfont*) NULL}, -+ {"-urw-nimbus mono l-bold-r-normal--", (struct xfont*) NULL}, -+ {"-urw-nimbus mono l-bold-o-normal--", (struct xfont*) NULL}, -+ {"-urw-nimbus sans l-medium-r-normal--", (struct xfont*) NULL}, -+ {"-urw-nimbus sans l-medium-i-normal--", (struct xfont*) NULL}, -+ {"-urw-nimbus sans l-bold-r-normal--", (struct xfont*) NULL}, -+ {"-urw-nimbus sans l-bold-i-normal--", (struct xfont*) NULL}, -+ {"-urw-nimbus sans l condensed-medium-r-condensed--", (struct xfont*) NULL}, -+ {"-urw-nimbus sans l condensed-medium-i-condensed--", (struct xfont*) NULL}, -+ {"-urw-nimbus sans l condensed-bold-r-condensed--", (struct xfont*) NULL}, -+ {"-urw-nimbus sans l condensed-bold-i-condensed--", (struct xfont*) NULL}, -+ {"-urw-century schoolbook l-medium-r-normal--", (struct xfont*) NULL}, -+ {"-urw-century schoolbook l-medium-i-normal--", (struct xfont*) NULL}, -+ {"-urw-century schoolbook l-bold-r-normal--", (struct xfont*) NULL}, -+ {"-urw-century schoolbook l-bold-i-normal--", (struct xfont*) NULL}, -+ {"-urw-urw palladio l-medium-r-normal--", (struct xfont*) NULL}, -+ {"-urw-urw palladio l-medium-i-normal--", (struct xfont*) NULL}, -+ {"-urw-urw palladio l-bold-r-normal--", (struct xfont*) NULL}, -+ {"-urw-urw palladio l-bold-i-normal--", (struct xfont*) NULL}, -+ {"-urw-standard symbols l-medium-r-normal--", (struct xfont*) NULL}, -+ {"-urw-urw chancery l-medium-i-normal--", (struct xfont*) NULL}, -+ {"-urw-dingbats-medium-r-normal--", (struct xfont*) NULL}, ++ {"-urw-nimbus roman-medium-r-normal--", (struct xfont*) NULL}, ++ {"-urw-nimbus roman-medium-i-normal--", (struct xfont*) NULL}, ++ {"-urw-nimbus roman-bold-r-normal--", (struct xfont*) NULL}, ++ {"-urw-nimbus roman-bold-i-normal--", (struct xfont*) NULL}, ++ {"-urw-urw gothic-medium-r-normal--", (struct xfont*) NULL}, ++ {"-urw-urw gothic-medium-o-normal--", (struct xfont*) NULL}, ++ {"-urw-urw gothic-semibold-r-normal--", (struct xfont*) NULL}, ++ {"-urw-urw gothic-semibold-o-normal--", (struct xfont*) NULL}, ++ {"-urw-urw bookman-light-r-normal--", (struct xfont*) NULL}, ++ {"-urw-urw bookman-light-i-normal--", (struct xfont*) NULL}, ++ {"-urw-urw bookman-semibold-r-normal--", (struct xfont*) NULL}, ++ {"-urw-urw bookman-semibold-i-normal--", (struct xfont*) NULL}, ++ {"-urw-nimbus mono ps-medium-r-normal--", (struct xfont*) NULL}, ++ {"-urw-nimbus mono ps-medium-i-normal--", (struct xfont*) NULL}, ++ {"-urw-nimbus mono ps-bold-r-normal--", (struct xfont*) NULL}, ++ {"-urw-nimbus mono ps-bold-i-normal--", (struct xfont*) NULL}, ++ {"-urw-nimbus sans-medium-r-normal--", (struct xfont*) NULL}, ++ {"-urw-nimbus sans-medium-i-normal--", (struct xfont*) NULL}, ++ {"-urw-nimbus sans-bold-r-normal--", (struct xfont*) NULL}, ++ {"-urw-nimbus sans-bold-i-normal--", (struct xfont*) NULL}, ++ {"-urw-nimbus sans narrow-medium-r-semicondensed--", (struct xfont*) NULL}, ++ {"-urw-nimbus sans narrow-medium-o-semicondensed--", (struct xfont*) NULL}, ++ {"-urw-nimbus sans narrow-bold-r-semicondensed--", (struct xfont*) NULL}, ++ {"-urw-nimbus sans narrow-bold-o-semicondensed--", (struct xfont*) NULL}, ++ {"-urw-c059-medium-r-normal--", (struct xfont*) NULL}, ++ {"-urw-c059-medium-i-normal--", (struct xfont*) NULL}, ++ {"-urw-c059-bold-r-normal--", (struct xfont*) NULL}, ++ {"-urw-c059-bold-i-normal--", (struct xfont*) NULL}, ++ {"-urw-p052-medium-r-normal--", (struct xfont*) NULL}, ++ {"-urw-p052-medium-i-normal--", (struct xfont*) NULL}, ++ {"-urw-p052-bold-r-normal--", (struct xfont*) NULL}, ++ {"-urw-p052-bold-i-normal--", (struct xfont*) NULL}, ++ /* Should be "-urw-standard symbols ps-medium-r-normal--" but that is currently broken */ ++ {"-*-symbol-medium-r-normal--", (struct xfont*) NULL}, ++ /* Should be "-urw-z003-medium-i-normal--" but that is currently broken */ ++ {"-urw-nimbus roman-bold-i-normal--", (struct xfont*) NULL}, ++ /* Also broken but we've no alternative for it */ ++ {"-urw-d050000l-medium-r-normal--", (struct xfont*) NULL}, }; /* Use the following font names for any font that doesn't exist in the table above. diff --git a/xfig-3.2.6a-scalable-fonts.patch b/xfig-3.2.6a-scalable-fonts.patch new file mode 100644 index 0000000..f9b1ed0 --- /dev/null +++ b/xfig-3.2.6a-scalable-fonts.patch @@ -0,0 +1,106 @@ +diff -up xfig-3.2.6a/src/w_drawprim.c.scalable xfig-3.2.6a/src/w_drawprim.c +--- xfig-3.2.6a/src/w_drawprim.c.scalable 2017-01-05 15:08:08.000000000 +0100 ++++ xfig-3.2.6a/src/w_drawprim.c 2018-03-01 18:01:52.344780986 +0100 +@@ -69,6 +69,7 @@ static Pixel gc_color[NUMOPS], gc_backgr + static XRectangle clip[1]; + static int parsesize(char *name); + static Boolean openwinfonts; ++static Boolean font_scalable[NUM_FONTS]; + + #define MAXNAMES 300 + +@@ -131,33 +132,42 @@ void init_font(void) + if (appres.scalablefonts) { + /* first look for OpenWindow style font names (e.g. times-roman) */ + if ((fontlist = XListFonts(tool_d, ps_fontinfo[1].name, 1, &count))!=0) { +- openwinfonts = True; /* yes, use them */ +- for (f=0; fnext = NULL; + } + } /* next size */ +- } /* next font, f */ +- } /* !appres.scalablefonts */ ++ } /* !font_scalable[f] */ ++ } /* next font, f */ + } + + /* parse the point size of font 'name' */ +@@ -279,11 +289,11 @@ lookfont(int fnum, int size) + nf = x_fontinfo[fnum].xfontlist; + oldnf = nf; + if (nf != NULL) { +- if (nf->size > size && !appres.scalablefonts) ++ if (nf->size > size && !font_scalable[fnum]) + found = True; + else { + while (nf != NULL) { +- if (nf->size == size || (!appres.scalablefonts && ++ if (nf->size == size || (!font_scalable[fnum] && + (nf->size >= size && oldnf->size <= size))) { + found = True; + break; +@@ -297,7 +307,7 @@ lookfont(int fnum, int size) + strcpy(fn,nf->fname); /* put the name in fn */ + if (size < nf->size) + put_msg("Font size %d not found, using larger %d point",size,nf->size); +- } else if (!appres.scalablefonts) { /* not found, use largest available */ ++ } else if (!font_scalable[fnum]) { /* not found, use largest available */ + nf = oldnf; + strcpy(fn,nf->fname); /* put the name in fn */ + if (size > nf->size) diff --git a/xfig.spec b/xfig.spec index 8efbdc5..b46a937 100644 --- a/xfig.spec +++ b/xfig.spec @@ -3,7 +3,7 @@ Summary: An X Window System tool for drawing basic vector graphics Name: xfig Version: 3.2.6a -Release: 5%{?dist} +Release: 6%{?dist} License: MIT URL: https://en.wikipedia.org/wiki/Xfig Source0: http://downloads.sourceforge.net/mcj/xfig-%{version}.tar.xz @@ -13,6 +13,8 @@ Source3: xfig.appdata.xml Patch0: xfig-3.2.5a-default-apps.patch Patch1: xfig-3.2.5-urwfonts.patch +Patch2: xfig-3.2.6a-scalable-fonts.patch +Patch3: 07_colorsliderarrows.patch BuildRequires: libjpeg-devel BuildRequires: libpng-devel @@ -29,7 +31,12 @@ BuildRequires: Xaw3d-devel BuildRequires: man2html-core ImageMagick BuildRequires: desktop-file-utils libappstream-glib # For eps preview generation -Requires: ghostscript-core +Requires: ghostscript +# For scalable fonts, also see xfig-3.2.5-urwfonts.patch +Requires: urw-base35-fonts +# Because StandardSymbolsPS.otf from urw-base35-fonts is currently broken, +# should be dropped and xfig-3.2.5-urwfonts.patch adjusted, once fixed +Requires: xorg-x11-fonts-100dpi # We used to have seperate Xaw3d and non Xaw3d pkgs, now we only have Xaw3d Obsoletes: %{name}-common < %{version}-%{release} @@ -51,9 +58,7 @@ graphics. %prep -%setup -q -a 1 -%patch0 -p1 -%patch1 -p1 +%autosetup -p1 -a 1 for i in doc/html/japanese/button_frame.fig doc/html/japanese/japanese.ps \ doc/html/animate.js; do sed -i.orig 's/\r//' $i; touch -r $i.orig $i; rm $i.orig @@ -88,21 +93,6 @@ appstream-util validate-relax --nonet \ $RPM_BUILD_ROOT%{_datadir}/appdata/%{name}.appdata.xml -%post -update-desktop-database &> /dev/null || : -touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : - -%postun -update-desktop-database &> /dev/null || : -if [ $1 -eq 0 ] ; then - touch --no-create %{_datadir}/icons/hicolor &>/dev/null - gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : -fi - -%posttrans -gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : - - %files %doc %{_docdir}/%{name} %{_bindir}/%{name} @@ -115,6 +105,18 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %changelog +* Thu Mar 01 2018 Hans de Goede - 3.2.6a-6 +- Fix font issues (rhbz#1523624) : + - Adjust xfig-3.2.5-urwfonts.patch for new font names in urw-base35-fonts + - Except for the symbols font, use the old un-scalable Adobe PCF Symbol font + for now as StandardSymbolsPS.otf from urw-base35-fonts is currently broken + - Add a patch to deal with some fonts being scalable, while Symbol is not + - Note the dingbats font is also broken in urw-base35-fonts, but there is no + replacement for it, so that font is still broken, see rhbz#1534206 +- ghostscript-core no longer exists, instead require ghostscript (rhbz#1536581) +- Remove obsolete icon-cache and desktop-database scriptlets +- Add a patch from Debian fixing some issues with arrows + * Fri Feb 09 2018 Fedora Release Engineering - 3.2.6a-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild From d327e0e90451476249b991ecfdf219975473dfbe Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Sat, 3 Mar 2018 16:09:19 +0100 Subject: [PATCH 07/40] Fix font issues take 2 (rhbz#1523624) : It turns out the new urw fonts are completely unusuable as X11 core fonts, stop using them for now (see bug rhbz#1551219) Add a patch to use the fallback fonts for non-scalable fonts too, so that we at least show something somewhat reasonable for Bookman, New Century Schoolbook and Palatino This means that display of Zapf Chancery and Zapf Dingbats currently falls back to the "fixed" font, which is completely wrong for Dingbats --- ....2.6a-fallback-for-nonscalable-fonts.patch | 71 +++++++++++++++++++ xfig.spec | 27 +++++-- 2 files changed, 91 insertions(+), 7 deletions(-) create mode 100644 xfig-3.2.6a-fallback-for-nonscalable-fonts.patch diff --git a/xfig-3.2.6a-fallback-for-nonscalable-fonts.patch b/xfig-3.2.6a-fallback-for-nonscalable-fonts.patch new file mode 100644 index 0000000..36644e3 --- /dev/null +++ b/xfig-3.2.6a-fallback-for-nonscalable-fonts.patch @@ -0,0 +1,71 @@ +diff -up xfig-3.2.6a/src/w_drawprim.c.orig xfig-3.2.6a/src/w_drawprim.c +--- xfig-3.2.6a/src/w_drawprim.c.orig 2018-03-03 14:16:49.102597205 +0100 ++++ xfig-3.2.6a/src/w_drawprim.c 2018-03-03 14:31:36.434162815 +0100 +@@ -90,6 +90,7 @@ void init_font(void) + struct xfont *newfont, *nf; + int f, count, i, p, ss; + char template[300]; ++ char backup_template[300]; + char **fontlist, **fname; + + if (appres.boldFont == NULL || *appres.boldFont == '\0') +@@ -171,19 +172,28 @@ void init_font(void) + nf = NULL; + strcpy(template,x_fontinfo[f].template); + strcat(template,"*-*-*-*-*-*-"); ++ strcpy(backup_template,x_backup_fontinfo[f].template); ++ strcat(backup_template,"*-*-*-*-*-*-"); + /* add ISO8859 (if not Symbol font or ZapfDingbats) to font name in non-international mode*/ + if ( + #ifdef I18N + !appres.international && + #endif + strstr(template,"ymbol") == NULL && +- strstr(template,"ingbats") == NULL) ++ strstr(template,"ingbats") == NULL) { + strcat(template,"ISO8859-*"); +- else ++ strcat(backup_template,"ISO8859-*"); ++ } else { + strcat(template,"*-*"); ++ strcat(backup_template,"*-*"); ++ } + /* don't free the Fontlist because we keep pointers into it */ + p = 0; +- if ((fontlist = XListFonts(tool_d, template, MAXNAMES, &count))==0) { ++ ++ if ((fontlist = XListFonts(tool_d, template, MAXNAMES, &count))==0) ++ fontlist = XListFonts(tool_d, backup_template, MAXNAMES, &count); ++ ++ if (fontlist == 0) { + /* no fonts by that name found, substitute the -normal font name */ + flist[p].fn = appres.normalFont; + flist[p++].s = 12; /* just set the size to 12 */ +@@ -233,16 +243,17 @@ parsesize(char *name) + int s; + char *np; + +- for (np = name; *(np + 1); np++) +- if (*np == '-' && *(np + 1) == '-') /* look for the -- */ +- break; +- s = 0; +- if (*(np + 1)) { +- np += 2; /* point past the -- */ +- s = atoi(np); /* get the point size */ +- } else +- fprintf(stderr, "Can't parse '%s'\n", name); +- return s; ++ for (np = name; *(np + 1); np++) { ++ /* look for "--" */ ++ if (strncmp(np, "--", 2) == 0) ++ return atoi(np + 2); ++ /* For "-b&h-lucida-*-normal-sans--*" */ ++ if (strncmp(np, "-normal-sans-", 13) == 0) ++ return atoi(np + 13); ++ } ++ ++ fprintf(stderr, "Can't parse '%s'\n", name); ++ return 0; + } + + /* diff --git a/xfig.spec b/xfig.spec index b46a937..c00e671 100644 --- a/xfig.spec +++ b/xfig.spec @@ -3,7 +3,7 @@ Summary: An X Window System tool for drawing basic vector graphics Name: xfig Version: 3.2.6a -Release: 6%{?dist} +Release: 7%{?dist} License: MIT URL: https://en.wikipedia.org/wiki/Xfig Source0: http://downloads.sourceforge.net/mcj/xfig-%{version}.tar.xz @@ -12,9 +12,10 @@ Source2: xfig.desktop Source3: xfig.appdata.xml Patch0: xfig-3.2.5a-default-apps.patch -Patch1: xfig-3.2.5-urwfonts.patch +#Patch1: xfig-3.2.5-urwfonts.patch Patch2: xfig-3.2.6a-scalable-fonts.patch -Patch3: 07_colorsliderarrows.patch +Patch3: xfig-3.2.6a-fallback-for-nonscalable-fonts.patch +Patch4: 07_colorsliderarrows.patch BuildRequires: libjpeg-devel BuildRequires: libpng-devel @@ -32,10 +33,12 @@ BuildRequires: man2html-core ImageMagick BuildRequires: desktop-file-utils libappstream-glib # For eps preview generation Requires: ghostscript -# For scalable fonts, also see xfig-3.2.5-urwfonts.patch -Requires: urw-base35-fonts -# Because StandardSymbolsPS.otf from urw-base35-fonts is currently broken, -# should be dropped and xfig-3.2.5-urwfonts.patch adjusted, once fixed +# Used in the UI +Requires: xorg-x11-fonts-misc +# For scalable fonts, currently broken see bug: 1551219 +#Requires: urw-base35-fonts +# Because urw-base35-fonts is currently broken. Should be dropped +# and xfig-3.2.5-urwfonts.patch adjusted, once fixed Requires: xorg-x11-fonts-100dpi # We used to have seperate Xaw3d and non Xaw3d pkgs, now we only have Xaw3d @@ -105,6 +108,16 @@ appstream-util validate-relax --nonet \ %changelog +* Sat Mar 03 2018 Hans de Goede - 3.2.6a-7 +- Fix font issues take 2 (rhbz#1523624) : + - It turns out the new urw fonts are completely unusuable as X11 core fonts, + stop using them for now (see bug rhbz#1551219) + - Add a patch to use the fallback fonts for non-scalable fonts too, so that + we at least show something somewhat reasonable for Bookman, New Century + Schoolbook and Palatino + - This means that display of Zapf Chancery and Zapf Dingbats currently + falls back to the "fixed" font, which is completely wrong for Dingbats + * Thu Mar 01 2018 Hans de Goede - 3.2.6a-6 - Fix font issues (rhbz#1523624) : - Adjust xfig-3.2.5-urwfonts.patch for new font names in urw-base35-fonts From 13dc7c06b6d833caf6fb916dbd3cbb902c4f02b9 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Mon, 9 Jul 2018 19:06:54 +0200 Subject: [PATCH 08/40] add BuildRequires: gcc Reference: https://fedoraproject.org/wiki/Changes/Remove_GCC_from_BuildRoot --- xfig.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/xfig.spec b/xfig.spec index c00e671..6f340b8 100644 --- a/xfig.spec +++ b/xfig.spec @@ -17,6 +17,7 @@ Patch2: xfig-3.2.6a-scalable-fonts.patch Patch3: xfig-3.2.6a-fallback-for-nonscalable-fonts.patch Patch4: 07_colorsliderarrows.patch +BuildRequires: gcc BuildRequires: libjpeg-devel BuildRequires: libpng-devel BuildRequires: libICE-devel From 5ec62ea50b187abf88a9d815b22bf54e63475fbb Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 14 Jul 2018 09:18:23 +0000 Subject: [PATCH 09/40] - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- xfig.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xfig.spec b/xfig.spec index 6f340b8..440212b 100644 --- a/xfig.spec +++ b/xfig.spec @@ -3,7 +3,7 @@ Summary: An X Window System tool for drawing basic vector graphics Name: xfig Version: 3.2.6a -Release: 7%{?dist} +Release: 8%{?dist} License: MIT URL: https://en.wikipedia.org/wiki/Xfig Source0: http://downloads.sourceforge.net/mcj/xfig-%{version}.tar.xz @@ -109,6 +109,9 @@ appstream-util validate-relax --nonet \ %changelog +* Sat Jul 14 2018 Fedora Release Engineering - 3.2.6a-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + * Sat Mar 03 2018 Hans de Goede - 3.2.6a-7 - Fix font issues take 2 (rhbz#1523624) : - It turns out the new urw fonts are completely unusuable as X11 core fonts, From 0f7f0f3afe657a7553b74a449c6c726a138e1879 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Tue, 30 Oct 2018 09:35:45 +0100 Subject: [PATCH 10/40] New upstream release 3.2.7a Add Requires: transfig to make sure esp export works (rhbz#1642033) Switch back to URW fonts so that Bookman, New Century Schoolbook and Palatino work again. This uses the old version of the URW fonts which are now packaged as urw-base35-fonts-legacy (rhbz#1523624, rhbz#1551219) Trim the changelog --- .gitignore | 1 + 07_colorsliderarrows.patch | 34 -- sources | 2 +- xfig-3.2.5-urwfonts.patch | 75 ++-- ....2.6a-fallback-for-nonscalable-fonts.patch | 71 --- xfig-3.2.6a-scalable-fonts.patch | 106 ----- xfig.spec | 418 +----------------- 7 files changed, 52 insertions(+), 655 deletions(-) delete mode 100644 07_colorsliderarrows.patch delete mode 100644 xfig-3.2.6a-fallback-for-nonscalable-fonts.patch delete mode 100644 xfig-3.2.6a-scalable-fonts.patch diff --git a/.gitignore b/.gitignore index 054f115..ee34dba 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ xfig.3.2.5b.full.tar.gz /xfig-full-3.2.6.tar.xz /xfig-3.2.6.tar.xz /xfig-3.2.6a.tar.xz +/xfig-3.2.7a.tar.xz diff --git a/07_colorsliderarrows.patch b/07_colorsliderarrows.patch deleted file mode 100644 index 0bb141b..0000000 --- a/07_colorsliderarrows.patch +++ /dev/null @@ -1,34 +0,0 @@ -Description: Fix direction of RGB & HSV color sliders arrows. -Author: Tim Bagot -Bug-Debian: https://bugs.debian.org/870365 - ---- a/src/w_color.c -+++ b/src/w_color.c -@@ -1919,15 +1919,15 @@ Scrolled(Widget w, XtPointer closure, Xt - pos = 255 - (int)(locked_top * 255 + 0.5); - break; - case S_HUE: -- hsv_values.h += (going_up? -blip: blip); -+ hsv_values.h += (going_up? blip: -blip); - ThumbHSV(w, 1.0-hsv_values.h); - return; - case S_SAT: -- hsv_values.s += (going_up? -blip: blip); -+ hsv_values.s += (going_up? blip: -blip); - ThumbHSV(w, 1.0-hsv_values.s); - return; - case S_VAL: -- hsv_values.v += (going_up? -blip: blip); -+ hsv_values.v += (going_up? blip: -blip); - ThumbHSV(w, 1.0-hsv_values.v); - return; - default: -@@ -1935,7 +1935,7 @@ Scrolled(Widget w, XtPointer closure, Xt - exit(1); - } - -- if (going_up) { -+ if (!going_up) { - if (pos > 0) - pos--; - } else { diff --git a/sources b/sources index d718363..b7c4295 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (xfig-3.2.6a.tar.xz) = 8d6952301cab297f87041ca645c316863c4ee454ba6318ae94b2493ca9dfeda6b0240a038001f82c390d1a772c4b5e3c43c9414ea150fd18adb8780a608d8cd0 +SHA512 (xfig-3.2.7a.tar.xz) = d5c8c6f1d7fb0ce9565e71eb7b9fad00b797c321c29542c1cf68d93b7fd1f018c72d1eeb242735b9741fb4b48ac8e93c68589bb89737e497fffdf67068a1cd04 SHA512 (xfig-icons.tar.gz) = f7d9b314d57994d479712740dcac4a2c924ddacea028db1c6cdeef36fb7d846885c45d21499f7453c750c265eeb5877e4b032454911ce91667ccc550cb2112e5 diff --git a/xfig-3.2.5-urwfonts.patch b/xfig-3.2.5-urwfonts.patch index 69938ce..7a46ce3 100644 --- a/xfig-3.2.5-urwfonts.patch +++ b/xfig-3.2.5-urwfonts.patch @@ -1,6 +1,6 @@ --- xfig.3.2.4/src/u_fonts.c 2002-09-09 13:36:58.000000000 -0400 +++ xfig-3.2.4/src/u_fonts.c 2006-10-11 00:29:07.000000000 -0400 -@@ -22,41 +22,44 @@ +@@ -22,41 +22,41 @@ /* X11 font names */ struct _xfstruct x_fontinfo[NUM_FONTS] = { @@ -39,44 +39,41 @@ - {"-*-symbol-medium-r-normal--", (struct xfont*) NULL}, - {"-*-itc zapf chancery-medium-i-normal--", (struct xfont*) NULL}, - {"-*-itc zapf dingbats-*-*-*--", (struct xfont*) NULL}, -+ {"-urw-nimbus roman-medium-r-normal--", (struct xfont*) NULL}, -+ {"-urw-nimbus roman-medium-i-normal--", (struct xfont*) NULL}, -+ {"-urw-nimbus roman-bold-r-normal--", (struct xfont*) NULL}, -+ {"-urw-nimbus roman-bold-i-normal--", (struct xfont*) NULL}, -+ {"-urw-urw gothic-medium-r-normal--", (struct xfont*) NULL}, -+ {"-urw-urw gothic-medium-o-normal--", (struct xfont*) NULL}, -+ {"-urw-urw gothic-semibold-r-normal--", (struct xfont*) NULL}, -+ {"-urw-urw gothic-semibold-o-normal--", (struct xfont*) NULL}, -+ {"-urw-urw bookman-light-r-normal--", (struct xfont*) NULL}, -+ {"-urw-urw bookman-light-i-normal--", (struct xfont*) NULL}, -+ {"-urw-urw bookman-semibold-r-normal--", (struct xfont*) NULL}, -+ {"-urw-urw bookman-semibold-i-normal--", (struct xfont*) NULL}, -+ {"-urw-nimbus mono ps-medium-r-normal--", (struct xfont*) NULL}, -+ {"-urw-nimbus mono ps-medium-i-normal--", (struct xfont*) NULL}, -+ {"-urw-nimbus mono ps-bold-r-normal--", (struct xfont*) NULL}, -+ {"-urw-nimbus mono ps-bold-i-normal--", (struct xfont*) NULL}, -+ {"-urw-nimbus sans-medium-r-normal--", (struct xfont*) NULL}, -+ {"-urw-nimbus sans-medium-i-normal--", (struct xfont*) NULL}, -+ {"-urw-nimbus sans-bold-r-normal--", (struct xfont*) NULL}, -+ {"-urw-nimbus sans-bold-i-normal--", (struct xfont*) NULL}, -+ {"-urw-nimbus sans narrow-medium-r-semicondensed--", (struct xfont*) NULL}, -+ {"-urw-nimbus sans narrow-medium-o-semicondensed--", (struct xfont*) NULL}, -+ {"-urw-nimbus sans narrow-bold-r-semicondensed--", (struct xfont*) NULL}, -+ {"-urw-nimbus sans narrow-bold-o-semicondensed--", (struct xfont*) NULL}, -+ {"-urw-c059-medium-r-normal--", (struct xfont*) NULL}, -+ {"-urw-c059-medium-i-normal--", (struct xfont*) NULL}, -+ {"-urw-c059-bold-r-normal--", (struct xfont*) NULL}, -+ {"-urw-c059-bold-i-normal--", (struct xfont*) NULL}, -+ {"-urw-p052-medium-r-normal--", (struct xfont*) NULL}, -+ {"-urw-p052-medium-i-normal--", (struct xfont*) NULL}, -+ {"-urw-p052-bold-r-normal--", (struct xfont*) NULL}, -+ {"-urw-p052-bold-i-normal--", (struct xfont*) NULL}, -+ /* Should be "-urw-standard symbols ps-medium-r-normal--" but that is currently broken */ -+ {"-*-symbol-medium-r-normal--", (struct xfont*) NULL}, -+ /* Should be "-urw-z003-medium-i-normal--" but that is currently broken */ -+ {"-urw-nimbus roman-bold-i-normal--", (struct xfont*) NULL}, -+ /* Also broken but we've no alternative for it */ -+ {"-urw-d050000l-medium-r-normal--", (struct xfont*) NULL}, ++ {"-urw-nimbus roman no9 l-medium-r-normal--", (struct xfont*) NULL}, ++ {"-urw-nimbus roman no9 l-medium-i-normal--", (struct xfont*) NULL}, ++ {"-urw-nimbus roman no9 l-bold-r-normal--", (struct xfont*) NULL}, ++ {"-urw-nimbus roman no9 l-bold-i-normal--", (struct xfont*) NULL}, ++ {"-urw-urw gothic l-medium-r-normal--", (struct xfont*) NULL}, ++ {"-urw-urw gothic l-medium-o-normal--", (struct xfont*) NULL}, ++ {"-urw-urw gothic l-semibold-r-normal--", (struct xfont*) NULL}, ++ {"-urw-urw gothic l-semibold-o-normal--", (struct xfont*) NULL}, ++ {"-urw-urw bookman l-medium-r-normal--", (struct xfont*) NULL}, ++ {"-urw-urw bookman l-medium-i-normal--", (struct xfont*) NULL}, ++ {"-urw-urw bookman l-bold-r-normal--", (struct xfont*) NULL}, ++ {"-urw-urw bookman l-bold-i-normal--", (struct xfont*) NULL}, ++ {"-urw-nimbus mono l-medium-r-normal--", (struct xfont*) NULL}, ++ {"-urw-nimbus mono l-medium-o-normal--", (struct xfont*) NULL}, ++ {"-urw-nimbus mono l-bold-r-normal--", (struct xfont*) NULL}, ++ {"-urw-nimbus mono l-bold-o-normal--", (struct xfont*) NULL}, ++ {"-urw-nimbus sans l-medium-r-normal--", (struct xfont*) NULL}, ++ {"-urw-nimbus sans l-medium-i-normal--", (struct xfont*) NULL}, ++ {"-urw-nimbus sans l-bold-r-normal--", (struct xfont*) NULL}, ++ {"-urw-nimbus sans l-bold-i-normal--", (struct xfont*) NULL}, ++ {"-urw-nimbus sans l-medium-r-condensed--", (struct xfont*) NULL}, ++ {"-urw-nimbus sans l-medium-i-condensed--", (struct xfont*) NULL}, ++ {"-urw-nimbus sans l-bold-r-condensed--", (struct xfont*) NULL}, ++ {"-urw-nimbus sans l-bold-i-condensed--", (struct xfont*) NULL}, ++ {"-urw-century schoolbook l-medium-r-normal--", (struct xfont*) NULL}, ++ {"-urw-century schoolbook l-medium-i-normal--", (struct xfont*) NULL}, ++ {"-urw-century schoolbook l-bold-r-normal--", (struct xfont*) NULL}, ++ {"-urw-century schoolbook l-bold-i-normal--", (struct xfont*) NULL}, ++ {"-urw-urw palladio l-medium-r-normal--", (struct xfont*) NULL}, ++ {"-urw-urw palladio l-medium-i-normal--", (struct xfont*) NULL}, ++ {"-urw-urw palladio l-bold-r-normal--", (struct xfont*) NULL}, ++ {"-urw-urw palladio l-bold-i-normal--", (struct xfont*) NULL}, ++ {"-urw-standard symbols l-medium-r-normal--", (struct xfont*) NULL}, ++ {"-urw-urw chancery l-medium-i-normal--", (struct xfont*) NULL}, ++ {"-urw-dingbats-medium-r-normal--", (struct xfont*) NULL}, }; /* Use the following font names for any font that doesn't exist in the table above. diff --git a/xfig-3.2.6a-fallback-for-nonscalable-fonts.patch b/xfig-3.2.6a-fallback-for-nonscalable-fonts.patch deleted file mode 100644 index 36644e3..0000000 --- a/xfig-3.2.6a-fallback-for-nonscalable-fonts.patch +++ /dev/null @@ -1,71 +0,0 @@ -diff -up xfig-3.2.6a/src/w_drawprim.c.orig xfig-3.2.6a/src/w_drawprim.c ---- xfig-3.2.6a/src/w_drawprim.c.orig 2018-03-03 14:16:49.102597205 +0100 -+++ xfig-3.2.6a/src/w_drawprim.c 2018-03-03 14:31:36.434162815 +0100 -@@ -90,6 +90,7 @@ void init_font(void) - struct xfont *newfont, *nf; - int f, count, i, p, ss; - char template[300]; -+ char backup_template[300]; - char **fontlist, **fname; - - if (appres.boldFont == NULL || *appres.boldFont == '\0') -@@ -171,19 +172,28 @@ void init_font(void) - nf = NULL; - strcpy(template,x_fontinfo[f].template); - strcat(template,"*-*-*-*-*-*-"); -+ strcpy(backup_template,x_backup_fontinfo[f].template); -+ strcat(backup_template,"*-*-*-*-*-*-"); - /* add ISO8859 (if not Symbol font or ZapfDingbats) to font name in non-international mode*/ - if ( - #ifdef I18N - !appres.international && - #endif - strstr(template,"ymbol") == NULL && -- strstr(template,"ingbats") == NULL) -+ strstr(template,"ingbats") == NULL) { - strcat(template,"ISO8859-*"); -- else -+ strcat(backup_template,"ISO8859-*"); -+ } else { - strcat(template,"*-*"); -+ strcat(backup_template,"*-*"); -+ } - /* don't free the Fontlist because we keep pointers into it */ - p = 0; -- if ((fontlist = XListFonts(tool_d, template, MAXNAMES, &count))==0) { -+ -+ if ((fontlist = XListFonts(tool_d, template, MAXNAMES, &count))==0) -+ fontlist = XListFonts(tool_d, backup_template, MAXNAMES, &count); -+ -+ if (fontlist == 0) { - /* no fonts by that name found, substitute the -normal font name */ - flist[p].fn = appres.normalFont; - flist[p++].s = 12; /* just set the size to 12 */ -@@ -233,16 +243,17 @@ parsesize(char *name) - int s; - char *np; - -- for (np = name; *(np + 1); np++) -- if (*np == '-' && *(np + 1) == '-') /* look for the -- */ -- break; -- s = 0; -- if (*(np + 1)) { -- np += 2; /* point past the -- */ -- s = atoi(np); /* get the point size */ -- } else -- fprintf(stderr, "Can't parse '%s'\n", name); -- return s; -+ for (np = name; *(np + 1); np++) { -+ /* look for "--" */ -+ if (strncmp(np, "--", 2) == 0) -+ return atoi(np + 2); -+ /* For "-b&h-lucida-*-normal-sans--*" */ -+ if (strncmp(np, "-normal-sans-", 13) == 0) -+ return atoi(np + 13); -+ } -+ -+ fprintf(stderr, "Can't parse '%s'\n", name); -+ return 0; - } - - /* diff --git a/xfig-3.2.6a-scalable-fonts.patch b/xfig-3.2.6a-scalable-fonts.patch deleted file mode 100644 index f9b1ed0..0000000 --- a/xfig-3.2.6a-scalable-fonts.patch +++ /dev/null @@ -1,106 +0,0 @@ -diff -up xfig-3.2.6a/src/w_drawprim.c.scalable xfig-3.2.6a/src/w_drawprim.c ---- xfig-3.2.6a/src/w_drawprim.c.scalable 2017-01-05 15:08:08.000000000 +0100 -+++ xfig-3.2.6a/src/w_drawprim.c 2018-03-01 18:01:52.344780986 +0100 -@@ -69,6 +69,7 @@ static Pixel gc_color[NUMOPS], gc_backgr - static XRectangle clip[1]; - static int parsesize(char *name); - static Boolean openwinfonts; -+static Boolean font_scalable[NUM_FONTS]; - - #define MAXNAMES 300 - -@@ -131,33 +132,42 @@ void init_font(void) - if (appres.scalablefonts) { - /* first look for OpenWindow style font names (e.g. times-roman) */ - if ((fontlist = XListFonts(tool_d, ps_fontinfo[1].name, 1, &count))!=0) { -- openwinfonts = True; /* yes, use them */ -- for (f=0; fnext = NULL; - } - } /* next size */ -- } /* next font, f */ -- } /* !appres.scalablefonts */ -+ } /* !font_scalable[f] */ -+ } /* next font, f */ - } - - /* parse the point size of font 'name' */ -@@ -279,11 +289,11 @@ lookfont(int fnum, int size) - nf = x_fontinfo[fnum].xfontlist; - oldnf = nf; - if (nf != NULL) { -- if (nf->size > size && !appres.scalablefonts) -+ if (nf->size > size && !font_scalable[fnum]) - found = True; - else { - while (nf != NULL) { -- if (nf->size == size || (!appres.scalablefonts && -+ if (nf->size == size || (!font_scalable[fnum] && - (nf->size >= size && oldnf->size <= size))) { - found = True; - break; -@@ -297,7 +307,7 @@ lookfont(int fnum, int size) - strcpy(fn,nf->fname); /* put the name in fn */ - if (size < nf->size) - put_msg("Font size %d not found, using larger %d point",size,nf->size); -- } else if (!appres.scalablefonts) { /* not found, use largest available */ -+ } else if (!font_scalable[fnum]) { /* not found, use largest available */ - nf = oldnf; - strcpy(fn,nf->fname); /* put the name in fn */ - if (size > nf->size) diff --git a/xfig.spec b/xfig.spec index 440212b..a87bcea 100644 --- a/xfig.spec +++ b/xfig.spec @@ -2,8 +2,8 @@ Summary: An X Window System tool for drawing basic vector graphics Name: xfig -Version: 3.2.6a -Release: 8%{?dist} +Version: 3.2.7a +Release: 1%{?dist} License: MIT URL: https://en.wikipedia.org/wiki/Xfig Source0: http://downloads.sourceforge.net/mcj/xfig-%{version}.tar.xz @@ -12,10 +12,7 @@ Source2: xfig.desktop Source3: xfig.appdata.xml Patch0: xfig-3.2.5a-default-apps.patch -#Patch1: xfig-3.2.5-urwfonts.patch -Patch2: xfig-3.2.6a-scalable-fonts.patch -Patch3: xfig-3.2.6a-fallback-for-nonscalable-fonts.patch -Patch4: 07_colorsliderarrows.patch +Patch1: xfig-3.2.5-urwfonts.patch BuildRequires: gcc BuildRequires: libjpeg-devel @@ -34,13 +31,11 @@ BuildRequires: man2html-core ImageMagick BuildRequires: desktop-file-utils libappstream-glib # For eps preview generation Requires: ghostscript +Requires: transfig # Used in the UI Requires: xorg-x11-fonts-misc -# For scalable fonts, currently broken see bug: 1551219 -#Requires: urw-base35-fonts -# Because urw-base35-fonts is currently broken. Should be dropped -# and xfig-3.2.5-urwfonts.patch adjusted, once fixed -Requires: xorg-x11-fonts-100dpi +# For scalable fonts, inc. Bookman, New Century Schoolbook and Palatino +Requires: urw-base35-fonts-legacy # We used to have seperate Xaw3d and non Xaw3d pkgs, now we only have Xaw3d Obsoletes: %{name}-common < %{version}-%{release} @@ -109,6 +104,14 @@ appstream-util validate-relax --nonet \ %changelog +* Mon Oct 29 2018 Hans de Goede - 3.2.7a-1 +- New upstream release 3.2.7a +- Add Requires: transfig to make sure esp export works (rhbz#1642033) +- Switch back to URW fonts so that Bookman, New Century Schoolbook and + Palatino work again. This uses the old version of the URW fonts which are + now packaged as urw-base35-fonts-legacy (rhbz#1523624, rhbz#1551219) +- Trim the changelog + * Sat Jul 14 2018 Fedora Release Engineering - 3.2.6a-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild @@ -177,396 +180,3 @@ appstream-util validate-relax --nonet \ * Fri Feb 05 2016 Fedora Release Engineering - 3.2.5-47.c - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - -* Fri Jun 19 2015 Fedora Release Engineering - 3.2.5-46.c -- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild - -* Thu Oct 9 2014 Hans de Goede - 3.2.5-45.c -- Fix png reading (rhbz#1150330) - -* Mon Aug 18 2014 Fedora Release Engineering - 3.2.5-44.c -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild - -* Wed Jun 18 2014 Hans de Goede - 3.2.5-43.c -- Fix crash when changing arrow size on x86_64 (rhbz#1046102) - -* Sun Jun 08 2014 Fedora Release Engineering - 3.2.5-42.c -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - -* Mon Jan 06 2014 Michal Srb - 3.2.5-41.c -- Name binaries correctly - -* Mon Jan 06 2014 Michal Srb - 3.2.5-40.c -- Use fprintf in safe manner - -* Fri Jan 03 2014 David Kaufmann - 3.2.5-39.c -- Version bump to 3.2.5-39c - -* Fri Jan 03 2014 Michal Srb - 3.2.5-38.b -- Fix crash when creating lines with linestyle 3 -- Resolves: rhbz#1023744 (Thanks to Maurizio Paolini and David Kaufmann) - -* Sun Aug 04 2013 Fedora Release Engineering - 3.2.5-37.b -- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild - -* Sun Feb 10 2013 Parag Nemade - 3.2.5-36.b -- Remove vendor tag from desktop file as per https://fedorahosted.org/fesco/ticket/1077 - -* Mon Jan 21 2013 Adam Tkac - 3.2.5-35.b -- rebuild due to "jpeg8-ABI" feature drop - -* Fri Dec 21 2012 Adam Tkac - 3.2.5-34.b -- rebuild against new libjpeg - -* Sun Aug 12 2012 Hans de Goede - 3.2.5-33.b -- Re-organize / consolidate patches -- Add a bunch of patches (minor bug-fixes) from the Debian package -- Add better icons from the Debian package - -* Sun Aug 12 2012 Hans de Goede - 3.2.5-32.b -- Fix a stack overflow when importing 1.3 files (CVE-2009-4227) (rhbz#543905) - -* Sun Jul 22 2012 Fedora Release Engineering - 3.2.5-31.b -- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild - -* Sun Feb 26 2012 Orion Poplawski - 3.2.5-30.b -- Rebuild with Xaw3d 1.6.1 - -* Tue Feb 14 2012 Peter Robinson - 3.2.5-29.b -- Add patch from Debian for libpng 1.5 - -* Sat Jan 14 2012 Fedora Release Engineering - 3.2.5-28.b -- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild - -* Tue Dec 06 2011 Adam Jackson - 3.2.5-27.b -- Rebuild for new libpng - -* Mon Feb 07 2011 Fedora Release Engineering - 3.2.5-26.b -- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild - -* Mon Dec 6 2010 Stanislav Ochotnicky - 3.2.5-25.b -- Fix buffer overflow when opening malicious fig files - -* Thu Nov 25 2010 Hans de Goede 3.2.5-24.b -- Fix importing of eps files (#657290) - -* Wed Sep 30 2009 Hans de Goede 3.2.5-23.b -- New upstream 3.2.5b release -- Drop many merged patches - -* Mon Jul 27 2009 Fedora Release Engineering - 3.2.5-22.a -- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild - -* Sun Jun 28 2009 Caolán McNamara 3.2.5-21.a -- Resolves: rhbz#506791 make xfig spellchecking work - -* Wed Jun 3 2009 Hans de Goede 3.2.5-20.a -- Fix eps preview (#503911) - -* Wed Apr 8 2009 Hans de Goede 3.2.5-19.a -- Fix crash when printing (#494193), thanks to Ian Dall for the patch - -* Fri Mar 27 2009 Hans de Goede 3.2.5-18.a -- Rebase to new upstream 3.2.5a release, this was made available to me by - the Debian maintainer who is in contact with upstream, which appearantly - is still somewhat alive (but not alive enough to put the tarbal on the - homepage ??) - -* Sun Mar 15 2009 Hans de Goede 3.2.5-17 -- Add various patches from Debian (doc updates, new figures in the lib, - better fix for modepanel resizing) -- Do not crash when inserting a character from the charmap into a text string - -* Sun Mar 15 2009 Hans de Goede 3.2.5-16 -- Fix Text size field inserts characters on left instead of right (#490257) -- Fix xfig-Xaw3d does not display messages in message panel (#490259) - -* Thu Feb 26 2009 Fedora Release Engineering - 3.2.5-15 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild - -* Sun Feb 22 2009 Hans de Goede 3.2.5-14 -- Add missing Requires: xorg-x11-fonts-base (#486701) - -* Mon Nov 10 2008 Stepan Kasal - 3.2.5-13 -- fix the Obsoletes tag to <= 3.2.5-7.fc8, which is the last - release with Xaw3d subpackage - -* Tue Nov 4 2008 Hans de Goede 3.2.5-12 -- Various small specfile cleanups from merge review - -* Mon Jul 14 2008 Ian Hutchinson 3.2.5-11 -- Fix incorrect height of modepanel. - -* Thu Apr 3 2008 Hans de Goede 3.2.5-10 -- Fix missing prototype compiler warnings - -* Thu Feb 28 2008 Hans de Goede 3.2.5-9 -- Fix cmdline parsing (broken by renaming the binary) (bz 435097) - -* Tue Feb 19 2008 Fedora Release Engineering - 3.2.5-8 -- Autorebuild for GCC 4.3 - -* Wed Dec 12 2007 Hans de Goede 3.2.5-7 -- Fix xfig crashing when zooming in a lot (bz 420411) - -* Sat Nov 17 2007 Hans de Goede 3.2.5-6 -- Put the Xaw3d version in the main xfig package, put the plain Xaw version - in a -plain subpackage - -* Fri Nov 16 2007 Hans de Goede 3.2.5-5 -- Also compile a version against Xaw3d instead of plain Xaw, available in the - new xfig-Xaw3d package -- Various specfile cleanups for packaging guidelines compliance -- Remove spurious executable permissions on various files (bz 247424) -- Apply patch fixing problems with xfig not finding fonts (bz 210278) - -* Thu Nov 15 2007 Than Ngo 3.2.5-4 -- fix #201992, xfig crashes in the edit function - -* Thu Nov 15 2007 Than Ngo 3.2.5-3 -- fix #201992, xfig crashes in the edit function - -* Fri Oct 05 2007 Than Ngo - 3.2.5-2 -- rh#313321, use xdg-open - -* Mon Apr 16 2007 Than Ngo - 3.2.5-1.fc7 -- 3.2.5 - -* Wed Jul 12 2006 Jesse Keating - 3.2.4-21.1 -- rebuild - -* Tue May 16 2006 Than Ngo 3.2.4-21 -- fix #191816, Xaw3d build problem - -* Fri May 05 2006 Than Ngo 3.2.4-20 -- fix #169330, wrong docdir -- fix #187902, no parameter negotiation for xfig -- fix #182451, switch xfig's pdf viewer to evince - -* Tue Apr 25 2006 Adam Jackson 3.2.4-19 -- Rebuild for updated imake build rules - -* Tue Apr 04 2006 Than Ngo 3.2.4-18 -- no parameter negotiation for xfig, fix #187902 - -* Fri Feb 10 2006 Jesse Keating - 3.2.4-17.2 -- bump again for double-long bug on ppc(64) - -* Tue Feb 07 2006 Jesse Keating - 3.2.4-17.1 -- rebuilt for new gcc4.1 snapshot and glibc changes - -* Wed Dec 21 2005 Than Ngo 3.2.4-17 -- workaround for utf8 - -* Sun Dec 18 2005 Than Ngo 3.2.4-16 -- add correct app-defaults directory - -* Fri Dec 09 2005 Jesse Keating -- rebuilt - -* Tue Nov 15 2005 Than Ngo 3.2.4-15 -- fix for modular X - -* Mon Oct 24 2005 Than Ngo 3.2.4-14 -- enable xpm support #158422 - -* Tue Jul 19 2005 Than Ngo 3.2.4-13 -- buildrequires on xorg-x11-devel - -* Mon Jul 18 2005 Than Ngo 3.2.4-12 -- fix another buffer overflow #163413 - -* Thu May 19 2005 Than Ngo 3.2.4-11 -- apply patch to fix buffer overflow #158088 - -* Mon Mar 21 2005 Than Ngo 3.2.4-10 -- fix font warning #116542 - -* Mon Mar 07 2005 Than Ngo 3.2.4-9 -- cleanup - -* Sat Mar 05 2005 Than Ngo 3.2.4-8 -- rebuilt - -* Wed Feb 09 2005 Than Ngo 3.2.4-7 -- rebuilt - -* Sat Sep 25 2004 Than Ngo 3.2.4-6 -- add mimetype spec #131629 - -* Mon Sep 13 2004 Than Ngo 3.2.4-5 -- fix desktop file #131983 - -* Tue Jun 15 2004 Elliot Lee -- rebuilt - -* Fri Feb 13 2004 Elliot Lee -- rebuilt - -* Wed Jun 04 2003 Elliot Lee -- rebuilt - -* Tue Jun 3 2003 Jeff Johnson -- add explicit epoch's where needed. - -* Tue May 6 2003 Than Ngo 3.2.4-1 -- 3.2.4 - -* Wed Jan 22 2003 Tim Powers -- rebuilt - -* Thu Nov 7 2002 Than Ngo 3.2.3d-11 -- rebuild in new enviroment - -* Thu Aug 22 2002 Than Ngo 3.2.3d-10 -- close should get fd, not filename - -* Wed Jul 31 2002 Than Ngo 3.2.3d-9 -- Fixed typo bug (bug #70347) - -* Wed Jul 24 2002 Than Ngo 3.2.3d-8 -- desktop file issue (bug #69543) - -* Tue Jun 25 2002 Than Ngo 3.2.3d-7 -- add patch file using mkstemp (bug #67351) - -* Fri Jun 21 2002 Tim Powers -- automated rebuild - -* Thu May 23 2002 Tim Powers -- automated rebuild - -* Wed Jan 09 2002 Tim Powers -- automated rebuild - -* Fri Jul 13 2001 Than Ngo 3.2.3d-3 -- fix build dependencies (bug #48910) - -* Tue Jul 03 2001 Than Ngo -- fix export to eps when i18n set (bug #45114) -- requires transfig-3.2.3d - -* Fri Jun 15 2001 Than Ngo -- update to 3.2.3d release - -* Tue Jun 12 2001 Than Ngo -- fix to build against XFree86-4.1.0 - -* Tue May 29 2001 Than Ngo -- update to 3.2.3d beta2 fixes (Bug #42597, #42556) -- fix bug when LANG is set, launching help gives a spurious error (Bug #42596) -- fix bug in resource setting (Bug #42595) -- remove some patches, which are included in 3.2.3d beta2 -- fix wrong version number -- use make install.all -- fix fhs problem - -* Wed May 9 2001 Bernhard Rosenkraenzer -- Don't require Netscape at all - use htmlview (which automatically launches - Netscape, Mozilla or Konqueror depending on what is installed/running). - No need to depend on proprietary stuff... - -* Thu Apr 26 2001 Florian La Roche -- do the same for s390x - -* Sat Jan 06 2001 Florian La Roche -- only require /usr/bin/netscape if not on S390 - -* Wed Dec 20 2000 Yukihiro Nakai -- Delete enable_japanese macro and set i18n default. -- Fix Japanese translation in .desktop file - -* Mon Nov 20 2000 Than Ngo -- rebuilt to fix bad dir perms - -* Thu Nov 9 2000 Than Ngo -- fixed f_read, which made xfig stop reading the file after - removing such bad objects. - -* Fri Oct 13 2000 Preston Brown -- improved .desktop entry - -* Thu Aug 24 2000 Yukihiro Nakai -- Add Japanese patch - -* Tue Aug 08 2000 Than Ngo -- fixed dependency problem -- fixed starting xpdf - -* Mon Aug 07 2000 Than Ngo -- fixed for using xpdf instead acroreader (Bug #15621) -- add requires: netscape, display - -* Sat Aug 05 2000 Than Ngo -- update to 3.2.3c (bugs fixed released) -- fix parse_printcap broken (Bug #11147) - -* Thu Jul 13 2000 Prospector -- automatic rebuild - -* Fri Jun 23 2000 Than Ngo -- xfig crash, if a menu item was clicked (Bug #12855) - -* Sun Jun 18 2000 Than Ngo -- rebuilt in the new build environment -- enable optimization - -* Sat Jun 03 2000 Than Ngo -- fix requires, xfig-3.2.3a requires transfig-2.2.3 or newer -- disable optimization -O2 (gcc-2.96 Bug) on i386 - -* Thu May 18 2000 Preston Brown -- fix buildroot issue in Imakefile - -* Mon May 8 2000 Bernhard Rosenkraenzer -- rebuild with current libXaw3d -- update to 3.2.3a - -* Mon Feb 07 2000 Preston Brown -- rebuild to gzip man pages - -* Fri Jan 14 2000 Preston Brown -- upgrade to beta1 of 2.2.3. Hopefully this fixes outstanding issues. -- no need for vararg fix, commented out - -* Thu Sep 23 1999 Preston Brown -- add icon -- don't compile with optimization on alpha - -* Mon Aug 30 1999 Preston Brown -- converted to use a .desktop file - -* Fri Mar 26 1999 Michael Maher -- added files that were missing. - -* Sun Mar 21 1999 Cristian Gafton -- auto rebuild in the new build environment (release 4) -- varargs fix - -* Thu Feb 18 1999 Jeff Johnson -- correct DESTDIRR typo (#962) - -* Wed Dec 30 1998 Cristian Gafton -- build for glibc 2.1 - -* Tue Jul 7 1998 Jeff Johnson -- updated to 3.2.2. - -* Wed Jun 10 1998 Prospector System -- translations modified for de - -* Fri May 08 1998 Prospector System -- translations modified for de, fr, tr - -* Sat Apr 11 1998 Cristian Gafton -- updated for manhattan -- buildroot - -* Thu Oct 23 1997 Marc Ewing -- new version -- messed with config for 5.0 -- updated Requires and Copyright -- added wmconfig - -* Mon Jul 21 1997 Erik Troan -- built against glibc From 4a82806a34100af5aec05177156626cb02ed64dc Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Fri, 11 Jan 2019 17:28:50 +0100 Subject: [PATCH 11/40] Fix spline drawing (rhbz#1665237) --- xfig-3.2.7a-spline-fix.patch | 12 ++++++++++++ xfig.spec | 6 +++++- 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 xfig-3.2.7a-spline-fix.patch diff --git a/xfig-3.2.7a-spline-fix.patch b/xfig-3.2.7a-spline-fix.patch new file mode 100644 index 0000000..01ccee1 --- /dev/null +++ b/xfig-3.2.7a-spline-fix.patch @@ -0,0 +1,12 @@ +diff -up xfig-3.2.7a/src/d_spline.c~ xfig-3.2.7a/src/d_spline.c +--- xfig-3.2.7a/src/d_spline.c~ 2016-07-23 23:10:27.000000000 +0200 ++++ xfig-3.2.7a/src/d_spline.c 2019-01-11 16:49:43.562644931 +0100 +@@ -168,7 +168,7 @@ make_sfactors(F_spline *spl) + { + F_point *p = spl->points; + F_sfactor *sp, *cur_sp; +- int type_s = approx_spline(spl) ? S_SPLINE_APPROX : S_SPLINE_INTERP; ++ double type_s = approx_spline(spl) ? S_SPLINE_APPROX : S_SPLINE_INTERP; + + spl->sfactors = NULL; + if ((sp = create_sfactor()) == NULL) diff --git a/xfig.spec b/xfig.spec index a87bcea..ac6a4fe 100644 --- a/xfig.spec +++ b/xfig.spec @@ -3,7 +3,7 @@ Summary: An X Window System tool for drawing basic vector graphics Name: xfig Version: 3.2.7a -Release: 1%{?dist} +Release: 2%{?dist} License: MIT URL: https://en.wikipedia.org/wiki/Xfig Source0: http://downloads.sourceforge.net/mcj/xfig-%{version}.tar.xz @@ -13,6 +13,7 @@ Source3: xfig.appdata.xml Patch0: xfig-3.2.5a-default-apps.patch Patch1: xfig-3.2.5-urwfonts.patch +Patch2: xfig-3.2.7a-spline-fix.patch BuildRequires: gcc BuildRequires: libjpeg-devel @@ -104,6 +105,9 @@ appstream-util validate-relax --nonet \ %changelog +* Fri Jan 11 2019 Hans de Goede - 3.2.7a-2 +- Fix spline drawing (rhbz#1665237) + * Mon Oct 29 2018 Hans de Goede - 3.2.7a-1 - New upstream release 3.2.7a - Add Requires: transfig to make sure esp export works (rhbz#1642033) From d2c2a811147a0f1e4ad9d383dd90bbba21036629 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sun, 3 Feb 2019 12:25:16 +0000 Subject: [PATCH 12/40] - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- xfig.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xfig.spec b/xfig.spec index ac6a4fe..acd1de5 100644 --- a/xfig.spec +++ b/xfig.spec @@ -3,7 +3,7 @@ Summary: An X Window System tool for drawing basic vector graphics Name: xfig Version: 3.2.7a -Release: 2%{?dist} +Release: 3%{?dist} License: MIT URL: https://en.wikipedia.org/wiki/Xfig Source0: http://downloads.sourceforge.net/mcj/xfig-%{version}.tar.xz @@ -105,6 +105,9 @@ appstream-util validate-relax --nonet \ %changelog +* Sun Feb 03 2019 Fedora Release Engineering - 3.2.7a-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + * Fri Jan 11 2019 Hans de Goede - 3.2.7a-2 - Fix spline drawing (rhbz#1665237) From d22f7fc8e895eb67729bd89d5a41838ae09c258b Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 27 Jul 2019 04:12:44 +0000 Subject: [PATCH 13/40] - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- xfig.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xfig.spec b/xfig.spec index acd1de5..fe1e531 100644 --- a/xfig.spec +++ b/xfig.spec @@ -3,7 +3,7 @@ Summary: An X Window System tool for drawing basic vector graphics Name: xfig Version: 3.2.7a -Release: 3%{?dist} +Release: 4%{?dist} License: MIT URL: https://en.wikipedia.org/wiki/Xfig Source0: http://downloads.sourceforge.net/mcj/xfig-%{version}.tar.xz @@ -105,6 +105,9 @@ appstream-util validate-relax --nonet \ %changelog +* Sat Jul 27 2019 Fedora Release Engineering - 3.2.7a-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + * Sun Feb 03 2019 Fedora Release Engineering - 3.2.7a-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild From b49b11d2e5a0f040645806e8425fc26462105911 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Thu, 16 Jan 2020 11:02:05 +0100 Subject: [PATCH 14/40] New upstream release 3.2.7b --- .gitignore | 1 + sources | 2 +- xfig-3.2.7a-spline-fix.patch | 12 ------------ xfig.rpmlintrc | 2 ++ xfig.spec | 11 +++++++---- 5 files changed, 11 insertions(+), 17 deletions(-) delete mode 100644 xfig-3.2.7a-spline-fix.patch create mode 100644 xfig.rpmlintrc diff --git a/.gitignore b/.gitignore index ee34dba..50b47b4 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ xfig.3.2.5b.full.tar.gz /xfig-3.2.6.tar.xz /xfig-3.2.6a.tar.xz /xfig-3.2.7a.tar.xz +/xfig-3.2.7b.tar.xz diff --git a/sources b/sources index b7c4295..9193668 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (xfig-3.2.7a.tar.xz) = d5c8c6f1d7fb0ce9565e71eb7b9fad00b797c321c29542c1cf68d93b7fd1f018c72d1eeb242735b9741fb4b48ac8e93c68589bb89737e497fffdf67068a1cd04 +SHA512 (xfig-3.2.7b.tar.xz) = f3396ebf8a5961909e58b05b60117fd7bbc8c24fabbd47f108eaea9586f4180af572faffe077b1a5dcbf669ebd69b1c2791f302c126dea62a44aa1592de66f73 SHA512 (xfig-icons.tar.gz) = f7d9b314d57994d479712740dcac4a2c924ddacea028db1c6cdeef36fb7d846885c45d21499f7453c750c265eeb5877e4b032454911ce91667ccc550cb2112e5 diff --git a/xfig-3.2.7a-spline-fix.patch b/xfig-3.2.7a-spline-fix.patch deleted file mode 100644 index 01ccee1..0000000 --- a/xfig-3.2.7a-spline-fix.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up xfig-3.2.7a/src/d_spline.c~ xfig-3.2.7a/src/d_spline.c ---- xfig-3.2.7a/src/d_spline.c~ 2016-07-23 23:10:27.000000000 +0200 -+++ xfig-3.2.7a/src/d_spline.c 2019-01-11 16:49:43.562644931 +0100 -@@ -168,7 +168,7 @@ make_sfactors(F_spline *spl) - { - F_point *p = spl->points; - F_sfactor *sp, *cur_sp; -- int type_s = approx_spline(spl) ? S_SPLINE_APPROX : S_SPLINE_INTERP; -+ double type_s = approx_spline(spl) ? S_SPLINE_APPROX : S_SPLINE_INTERP; - - spl->sfactors = NULL; - if ((sp = create_sfactor()) == NULL) diff --git a/xfig.rpmlintrc b/xfig.rpmlintrc new file mode 100644 index 0000000..d4619a7 --- /dev/null +++ b/xfig.rpmlintrc @@ -0,0 +1,2 @@ +addFilter("W: spelling-error.*") +addFilter("W: invalid-url Source1") diff --git a/xfig.spec b/xfig.spec index fe1e531..9fa81b0 100644 --- a/xfig.spec +++ b/xfig.spec @@ -2,8 +2,8 @@ Summary: An X Window System tool for drawing basic vector graphics Name: xfig -Version: 3.2.7a -Release: 4%{?dist} +Version: 3.2.7b +Release: 1%{?dist} License: MIT URL: https://en.wikipedia.org/wiki/Xfig Source0: http://downloads.sourceforge.net/mcj/xfig-%{version}.tar.xz @@ -13,9 +13,8 @@ Source3: xfig.appdata.xml Patch0: xfig-3.2.5a-default-apps.patch Patch1: xfig-3.2.5-urwfonts.patch -Patch2: xfig-3.2.7a-spline-fix.patch -BuildRequires: gcc +BuildRequires: gcc libtool BuildRequires: libjpeg-devel BuildRequires: libpng-devel BuildRequires: libICE-devel @@ -63,6 +62,7 @@ for i in doc/html/japanese/button_frame.fig doc/html/japanese/japanese.ps \ doc/html/animate.js; do sed -i.orig 's/\r//' $i; touch -r $i.orig $i; rm $i.orig done +autoreconf -i %build @@ -105,6 +105,9 @@ appstream-util validate-relax --nonet \ %changelog +* Thu Jan 16 2020 Hans de Goede - 3.2.7b-1 +- New upstream release 3.2.7b + * Sat Jul 27 2019 Fedora Release Engineering - 3.2.7a-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild From 1e6ca73d3172ee11d9aa3cab5d77410228e6eff7 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Thu, 16 Jan 2020 12:12:25 +0100 Subject: [PATCH 15/40] Add missing BuildRequires: transfig --- xfig.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/xfig.spec b/xfig.spec index 9fa81b0..1aee29f 100644 --- a/xfig.spec +++ b/xfig.spec @@ -15,6 +15,7 @@ Patch0: xfig-3.2.5a-default-apps.patch Patch1: xfig-3.2.5-urwfonts.patch BuildRequires: gcc libtool +BuildRequires: transfig BuildRequires: libjpeg-devel BuildRequires: libpng-devel BuildRequires: libICE-devel From 73a36189c359e5f782ddc405fbe90db1423f4125 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 31 Jan 2020 04:28:21 +0000 Subject: [PATCH 16/40] - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- xfig.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xfig.spec b/xfig.spec index 1aee29f..f83297b 100644 --- a/xfig.spec +++ b/xfig.spec @@ -3,7 +3,7 @@ Summary: An X Window System tool for drawing basic vector graphics Name: xfig Version: 3.2.7b -Release: 1%{?dist} +Release: 2%{?dist} License: MIT URL: https://en.wikipedia.org/wiki/Xfig Source0: http://downloads.sourceforge.net/mcj/xfig-%{version}.tar.xz @@ -106,6 +106,9 @@ appstream-util validate-relax --nonet \ %changelog +* Fri Jan 31 2020 Fedora Release Engineering - 3.2.7b-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + * Thu Jan 16 2020 Hans de Goede - 3.2.7b-1 - New upstream release 3.2.7b From 41f17ceb0d6d16be52f3324abb71f37d55f19380 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 29 Jul 2020 14:44:33 +0000 Subject: [PATCH 17/40] - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- xfig.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xfig.spec b/xfig.spec index f83297b..42d519c 100644 --- a/xfig.spec +++ b/xfig.spec @@ -3,7 +3,7 @@ Summary: An X Window System tool for drawing basic vector graphics Name: xfig Version: 3.2.7b -Release: 2%{?dist} +Release: 3%{?dist} License: MIT URL: https://en.wikipedia.org/wiki/Xfig Source0: http://downloads.sourceforge.net/mcj/xfig-%{version}.tar.xz @@ -106,6 +106,9 @@ appstream-util validate-relax --nonet \ %changelog +* Wed Jul 29 2020 Fedora Release Engineering - 3.2.7b-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + * Fri Jan 31 2020 Fedora Release Engineering - 3.2.7b-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild From 5ff91750d14521e876ee165f28b43c38dce6449b Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 1 Aug 2020 09:44:13 +0000 Subject: [PATCH 18/40] - Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- xfig.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/xfig.spec b/xfig.spec index 42d519c..1208683 100644 --- a/xfig.spec +++ b/xfig.spec @@ -3,7 +3,7 @@ Summary: An X Window System tool for drawing basic vector graphics Name: xfig Version: 3.2.7b -Release: 3%{?dist} +Release: 4%{?dist} License: MIT URL: https://en.wikipedia.org/wiki/Xfig Source0: http://downloads.sourceforge.net/mcj/xfig-%{version}.tar.xz @@ -106,6 +106,10 @@ appstream-util validate-relax --nonet \ %changelog +* Sat Aug 01 2020 Fedora Release Engineering - 3.2.7b-4 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + * Wed Jul 29 2020 Fedora Release Engineering - 3.2.7b-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild From b53197af76050ad3e4fe1f30a2e5f83e1949d249 Mon Sep 17 00:00:00 2001 From: Tom Stellard Date: Sat, 9 Jan 2021 01:26:51 +0000 Subject: [PATCH 19/40] Add BuildRequires: make https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot --- xfig.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/xfig.spec b/xfig.spec index 1208683..4247faf 100644 --- a/xfig.spec +++ b/xfig.spec @@ -14,6 +14,7 @@ Source3: xfig.appdata.xml Patch0: xfig-3.2.5a-default-apps.patch Patch1: xfig-3.2.5-urwfonts.patch +BuildRequires: make BuildRequires: gcc libtool BuildRequires: transfig BuildRequires: libjpeg-devel From 008ef270d3c4559917c510d05f8612bd3ecd825e Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 28 Jan 2021 00:03:41 +0000 Subject: [PATCH 20/40] - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- xfig.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xfig.spec b/xfig.spec index 4247faf..20d1761 100644 --- a/xfig.spec +++ b/xfig.spec @@ -3,7 +3,7 @@ Summary: An X Window System tool for drawing basic vector graphics Name: xfig Version: 3.2.7b -Release: 4%{?dist} +Release: 5%{?dist} License: MIT URL: https://en.wikipedia.org/wiki/Xfig Source0: http://downloads.sourceforge.net/mcj/xfig-%{version}.tar.xz @@ -107,6 +107,9 @@ appstream-util validate-relax --nonet \ %changelog +* Thu Jan 28 2021 Fedora Release Engineering - 3.2.7b-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + * Sat Aug 01 2020 Fedora Release Engineering - 3.2.7b-4 - Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild From f80ca5035b3afb853c08e156b1ef9030e6b892ef Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Sat, 29 May 2021 18:18:19 +0200 Subject: [PATCH 21/40] New upstream release 3.2.8a --- .gitignore | 1 + sources | 2 +- xfig.spec | 7 +++++-- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 50b47b4..0658c35 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ xfig.3.2.5b.full.tar.gz /xfig-3.2.6a.tar.xz /xfig-3.2.7a.tar.xz /xfig-3.2.7b.tar.xz +/xfig-3.2.8a.tar.xz diff --git a/sources b/sources index 9193668..61d6748 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (xfig-3.2.7b.tar.xz) = f3396ebf8a5961909e58b05b60117fd7bbc8c24fabbd47f108eaea9586f4180af572faffe077b1a5dcbf669ebd69b1c2791f302c126dea62a44aa1592de66f73 +SHA512 (xfig-3.2.8a.tar.xz) = fe20378d7c6de980aa0df4728470cd31a50adff748ebf707e2419fb057a8c3692fc3798bb5bc67fcec87d13c5ed66be93adb66a15b6ccf6fa1381ee45156f35b SHA512 (xfig-icons.tar.gz) = f7d9b314d57994d479712740dcac4a2c924ddacea028db1c6cdeef36fb7d846885c45d21499f7453c750c265eeb5877e4b032454911ce91667ccc550cb2112e5 diff --git a/xfig.spec b/xfig.spec index 20d1761..5368161 100644 --- a/xfig.spec +++ b/xfig.spec @@ -2,8 +2,8 @@ Summary: An X Window System tool for drawing basic vector graphics Name: xfig -Version: 3.2.7b -Release: 5%{?dist} +Version: 3.2.8a +Release: 1%{?dist} License: MIT URL: https://en.wikipedia.org/wiki/Xfig Source0: http://downloads.sourceforge.net/mcj/xfig-%{version}.tar.xz @@ -107,6 +107,9 @@ appstream-util validate-relax --nonet \ %changelog +* Sat May 29 2021 Hans de Goede - 3.2.8a-1 +- New upstream release 3.2.8a + * Thu Jan 28 2021 Fedora Release Engineering - 3.2.7b-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild From 78629c1193b521a621376de369004180a281b339 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 23 Jul 2021 21:35:16 +0000 Subject: [PATCH 22/40] - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- xfig.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xfig.spec b/xfig.spec index 5368161..dee7e9d 100644 --- a/xfig.spec +++ b/xfig.spec @@ -3,7 +3,7 @@ Summary: An X Window System tool for drawing basic vector graphics Name: xfig Version: 3.2.8a -Release: 1%{?dist} +Release: 2%{?dist} License: MIT URL: https://en.wikipedia.org/wiki/Xfig Source0: http://downloads.sourceforge.net/mcj/xfig-%{version}.tar.xz @@ -107,6 +107,9 @@ appstream-util validate-relax --nonet \ %changelog +* Fri Jul 23 2021 Fedora Release Engineering - 3.2.8a-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + * Sat May 29 2021 Hans de Goede - 3.2.8a-1 - New upstream release 3.2.8a From 633a28c1986146112eba4ee50fc8b85a0b1b3725 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Mon, 11 Oct 2021 13:25:55 +0200 Subject: [PATCH 23/40] New upstream release 3.2.8b --- .gitignore | 1 + sources | 2 +- xfig.spec | 7 +++++-- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 0658c35..3db123b 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ xfig.3.2.5b.full.tar.gz /xfig-3.2.7a.tar.xz /xfig-3.2.7b.tar.xz /xfig-3.2.8a.tar.xz +/xfig-3.2.8b.tar.xz diff --git a/sources b/sources index 61d6748..378a54c 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (xfig-3.2.8a.tar.xz) = fe20378d7c6de980aa0df4728470cd31a50adff748ebf707e2419fb057a8c3692fc3798bb5bc67fcec87d13c5ed66be93adb66a15b6ccf6fa1381ee45156f35b +SHA512 (xfig-3.2.8b.tar.xz) = 5cc5e61977f97956baca77bf4bce09d0f47ea6fafb10055d0523f7cccd72d7af80e706daa62ae16df3fc54338b4f6cd4a6b71dc460311e65be749ec84fa662b3 SHA512 (xfig-icons.tar.gz) = f7d9b314d57994d479712740dcac4a2c924ddacea028db1c6cdeef36fb7d846885c45d21499f7453c750c265eeb5877e4b032454911ce91667ccc550cb2112e5 diff --git a/xfig.spec b/xfig.spec index dee7e9d..9295339 100644 --- a/xfig.spec +++ b/xfig.spec @@ -2,8 +2,8 @@ Summary: An X Window System tool for drawing basic vector graphics Name: xfig -Version: 3.2.8a -Release: 2%{?dist} +Version: 3.2.8b +Release: 1%{?dist} License: MIT URL: https://en.wikipedia.org/wiki/Xfig Source0: http://downloads.sourceforge.net/mcj/xfig-%{version}.tar.xz @@ -107,6 +107,9 @@ appstream-util validate-relax --nonet \ %changelog +* Mon Oct 11 2021 Hans de Goede - 3.2.8b-1 +- New upstream release 3.2.8b + * Fri Jul 23 2021 Fedora Release Engineering - 3.2.8a-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild From ef2d0fc262d007de3670ee3bb9b906e09a0b467d Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 22 Jan 2022 05:07:07 +0000 Subject: [PATCH 24/40] - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- xfig.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xfig.spec b/xfig.spec index 9295339..7be6431 100644 --- a/xfig.spec +++ b/xfig.spec @@ -3,7 +3,7 @@ Summary: An X Window System tool for drawing basic vector graphics Name: xfig Version: 3.2.8b -Release: 1%{?dist} +Release: 2%{?dist} License: MIT URL: https://en.wikipedia.org/wiki/Xfig Source0: http://downloads.sourceforge.net/mcj/xfig-%{version}.tar.xz @@ -107,6 +107,9 @@ appstream-util validate-relax --nonet \ %changelog +* Sat Jan 22 2022 Fedora Release Engineering - 3.2.8b-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + * Mon Oct 11 2021 Hans de Goede - 3.2.8b-1 - New upstream release 3.2.8b From 919897a2ca07e45a48e616c35a333dc83e0c3f6b Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 23 Jul 2022 13:08:55 +0000 Subject: [PATCH 25/40] Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- xfig.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xfig.spec b/xfig.spec index 7be6431..b27ccdd 100644 --- a/xfig.spec +++ b/xfig.spec @@ -3,7 +3,7 @@ Summary: An X Window System tool for drawing basic vector graphics Name: xfig Version: 3.2.8b -Release: 2%{?dist} +Release: 3%{?dist} License: MIT URL: https://en.wikipedia.org/wiki/Xfig Source0: http://downloads.sourceforge.net/mcj/xfig-%{version}.tar.xz @@ -107,6 +107,9 @@ appstream-util validate-relax --nonet \ %changelog +* Sat Jul 23 2022 Fedora Release Engineering - 3.2.8b-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + * Sat Jan 22 2022 Fedora Release Engineering - 3.2.8b-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild From c584d6197b3178df0eb340ba7623a6f08adc9ba6 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 21 Jan 2023 07:29:05 +0000 Subject: [PATCH 26/40] Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- xfig.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xfig.spec b/xfig.spec index b27ccdd..b52410f 100644 --- a/xfig.spec +++ b/xfig.spec @@ -3,7 +3,7 @@ Summary: An X Window System tool for drawing basic vector graphics Name: xfig Version: 3.2.8b -Release: 3%{?dist} +Release: 4%{?dist} License: MIT URL: https://en.wikipedia.org/wiki/Xfig Source0: http://downloads.sourceforge.net/mcj/xfig-%{version}.tar.xz @@ -107,6 +107,9 @@ appstream-util validate-relax --nonet \ %changelog +* Sat Jan 21 2023 Fedora Release Engineering - 3.2.8b-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + * Sat Jul 23 2022 Fedora Release Engineering - 3.2.8b-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild From 38531cf4fbebbb0f05c7fccbd1041b3489bff32d Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 22 Jul 2023 18:51:48 +0000 Subject: [PATCH 27/40] Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- xfig.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xfig.spec b/xfig.spec index b52410f..d06145f 100644 --- a/xfig.spec +++ b/xfig.spec @@ -3,7 +3,7 @@ Summary: An X Window System tool for drawing basic vector graphics Name: xfig Version: 3.2.8b -Release: 4%{?dist} +Release: 5%{?dist} License: MIT URL: https://en.wikipedia.org/wiki/Xfig Source0: http://downloads.sourceforge.net/mcj/xfig-%{version}.tar.xz @@ -107,6 +107,9 @@ appstream-util validate-relax --nonet \ %changelog +* Sat Jul 22 2023 Fedora Release Engineering - 3.2.8b-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + * Sat Jan 21 2023 Fedora Release Engineering - 3.2.8b-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild From fe283148262e2e363d8740b855ccd012d6f8712e Mon Sep 17 00:00:00 2001 From: aarem Date: Sat, 26 Aug 2023 10:36:17 -0500 Subject: [PATCH 28/40] update xfig to upstream 3.2.9 --- .gitignore | 1 + sources | 2 +- xfig-3.2.5-urwfonts.patch | 79 ---------------------------------- xfig-3.2.5a-default-apps.patch | 23 ---------- xfig.spec | 12 +++--- 5 files changed, 8 insertions(+), 109 deletions(-) delete mode 100644 xfig-3.2.5-urwfonts.patch delete mode 100644 xfig-3.2.5a-default-apps.patch diff --git a/.gitignore b/.gitignore index 3db123b..c4eacca 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ xfig.3.2.5b.full.tar.gz /xfig-3.2.7b.tar.xz /xfig-3.2.8a.tar.xz /xfig-3.2.8b.tar.xz +/xfig-3.2.9.tar.xz diff --git a/sources b/sources index 378a54c..17e233c 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (xfig-3.2.8b.tar.xz) = 5cc5e61977f97956baca77bf4bce09d0f47ea6fafb10055d0523f7cccd72d7af80e706daa62ae16df3fc54338b4f6cd4a6b71dc460311e65be749ec84fa662b3 +SHA512 (xfig-3.2.9.tar.xz) = ec33476ca4349cdc106ac2308c61f6ecd014bb7331a4fc3616c9f94b93bdc391ce9affe87139c70da88549449b45309d6d9ec78a1e8477450bda4bc370cbbc9a SHA512 (xfig-icons.tar.gz) = f7d9b314d57994d479712740dcac4a2c924ddacea028db1c6cdeef36fb7d846885c45d21499f7453c750c265eeb5877e4b032454911ce91667ccc550cb2112e5 diff --git a/xfig-3.2.5-urwfonts.patch b/xfig-3.2.5-urwfonts.patch deleted file mode 100644 index 7a46ce3..0000000 --- a/xfig-3.2.5-urwfonts.patch +++ /dev/null @@ -1,79 +0,0 @@ ---- xfig.3.2.4/src/u_fonts.c 2002-09-09 13:36:58.000000000 -0400 -+++ xfig-3.2.4/src/u_fonts.c 2006-10-11 00:29:07.000000000 -0400 -@@ -22,41 +22,41 @@ - /* X11 font names */ - - struct _xfstruct x_fontinfo[NUM_FONTS] = { -- {"-*-times-medium-r-normal--", (struct xfont*) NULL}, -- {"-*-times-medium-i-normal--", (struct xfont*) NULL}, -- {"-*-times-bold-r-normal--", (struct xfont*) NULL}, -- {"-*-times-bold-i-normal--", (struct xfont*) NULL}, -- {"-*-avantgarde-book-r-normal--", (struct xfont*) NULL}, -- {"-*-avantgarde-book-o-normal--", (struct xfont*) NULL}, -- {"-*-avantgarde-demi-r-normal--", (struct xfont*) NULL}, -- {"-*-avantgarde-demi-o-normal--", (struct xfont*) NULL}, -- {"-*-bookman-light-r-normal--", (struct xfont*) NULL}, -- {"-*-bookman-light-i-normal--", (struct xfont*) NULL}, -- {"-*-bookman-demi-r-normal--", (struct xfont*) NULL}, -- {"-*-bookman-demi-i-normal--", (struct xfont*) NULL}, -- {"-*-courier-medium-r-normal--", (struct xfont*) NULL}, -- {"-*-courier-medium-o-normal--", (struct xfont*) NULL}, -- {"-*-courier-bold-r-normal--", (struct xfont*) NULL}, -- {"-*-courier-bold-o-normal--", (struct xfont*) NULL}, -- {"-*-helvetica-medium-r-normal--", (struct xfont*) NULL}, -- {"-*-helvetica-medium-o-normal--", (struct xfont*) NULL}, -- {"-*-helvetica-bold-r-normal--", (struct xfont*) NULL}, -- {"-*-helvetica-bold-o-normal--", (struct xfont*) NULL}, -- {"-*-helvetica-medium-r-narrow--", (struct xfont*) NULL}, -- {"-*-helvetica-medium-o-narrow--", (struct xfont*) NULL}, -- {"-*-helvetica-bold-r-narrow--", (struct xfont*) NULL}, -- {"-*-helvetica-bold-o-narrow--", (struct xfont*) NULL}, -- {"-*-new century schoolbook-medium-r-normal--", (struct xfont*) NULL}, -- {"-*-new century schoolbook-medium-i-normal--", (struct xfont*) NULL}, -- {"-*-new century schoolbook-bold-r-normal--", (struct xfont*) NULL}, -- {"-*-new century schoolbook-bold-i-normal--", (struct xfont*) NULL}, -- {"-*-palatino-medium-r-normal--", (struct xfont*) NULL}, -- {"-*-palatino-medium-i-normal--", (struct xfont*) NULL}, -- {"-*-palatino-bold-r-normal--", (struct xfont*) NULL}, -- {"-*-palatino-bold-i-normal--", (struct xfont*) NULL}, -- {"-*-symbol-medium-r-normal--", (struct xfont*) NULL}, -- {"-*-itc zapf chancery-medium-i-normal--", (struct xfont*) NULL}, -- {"-*-itc zapf dingbats-*-*-*--", (struct xfont*) NULL}, -+ {"-urw-nimbus roman no9 l-medium-r-normal--", (struct xfont*) NULL}, -+ {"-urw-nimbus roman no9 l-medium-i-normal--", (struct xfont*) NULL}, -+ {"-urw-nimbus roman no9 l-bold-r-normal--", (struct xfont*) NULL}, -+ {"-urw-nimbus roman no9 l-bold-i-normal--", (struct xfont*) NULL}, -+ {"-urw-urw gothic l-medium-r-normal--", (struct xfont*) NULL}, -+ {"-urw-urw gothic l-medium-o-normal--", (struct xfont*) NULL}, -+ {"-urw-urw gothic l-semibold-r-normal--", (struct xfont*) NULL}, -+ {"-urw-urw gothic l-semibold-o-normal--", (struct xfont*) NULL}, -+ {"-urw-urw bookman l-medium-r-normal--", (struct xfont*) NULL}, -+ {"-urw-urw bookman l-medium-i-normal--", (struct xfont*) NULL}, -+ {"-urw-urw bookman l-bold-r-normal--", (struct xfont*) NULL}, -+ {"-urw-urw bookman l-bold-i-normal--", (struct xfont*) NULL}, -+ {"-urw-nimbus mono l-medium-r-normal--", (struct xfont*) NULL}, -+ {"-urw-nimbus mono l-medium-o-normal--", (struct xfont*) NULL}, -+ {"-urw-nimbus mono l-bold-r-normal--", (struct xfont*) NULL}, -+ {"-urw-nimbus mono l-bold-o-normal--", (struct xfont*) NULL}, -+ {"-urw-nimbus sans l-medium-r-normal--", (struct xfont*) NULL}, -+ {"-urw-nimbus sans l-medium-i-normal--", (struct xfont*) NULL}, -+ {"-urw-nimbus sans l-bold-r-normal--", (struct xfont*) NULL}, -+ {"-urw-nimbus sans l-bold-i-normal--", (struct xfont*) NULL}, -+ {"-urw-nimbus sans l-medium-r-condensed--", (struct xfont*) NULL}, -+ {"-urw-nimbus sans l-medium-i-condensed--", (struct xfont*) NULL}, -+ {"-urw-nimbus sans l-bold-r-condensed--", (struct xfont*) NULL}, -+ {"-urw-nimbus sans l-bold-i-condensed--", (struct xfont*) NULL}, -+ {"-urw-century schoolbook l-medium-r-normal--", (struct xfont*) NULL}, -+ {"-urw-century schoolbook l-medium-i-normal--", (struct xfont*) NULL}, -+ {"-urw-century schoolbook l-bold-r-normal--", (struct xfont*) NULL}, -+ {"-urw-century schoolbook l-bold-i-normal--", (struct xfont*) NULL}, -+ {"-urw-urw palladio l-medium-r-normal--", (struct xfont*) NULL}, -+ {"-urw-urw palladio l-medium-i-normal--", (struct xfont*) NULL}, -+ {"-urw-urw palladio l-bold-r-normal--", (struct xfont*) NULL}, -+ {"-urw-urw palladio l-bold-i-normal--", (struct xfont*) NULL}, -+ {"-urw-standard symbols l-medium-r-normal--", (struct xfont*) NULL}, -+ {"-urw-urw chancery l-medium-i-normal--", (struct xfont*) NULL}, -+ {"-urw-dingbats-medium-r-normal--", (struct xfont*) NULL}, - }; - - /* Use the following font names for any font that doesn't exist in the table above. diff --git a/xfig-3.2.5a-default-apps.patch b/xfig-3.2.5a-default-apps.patch deleted file mode 100644 index 54ceef0..0000000 --- a/xfig-3.2.5a-default-apps.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff -up xfig-3.2.6/app-defaults/Fig.in~ xfig-3.2.6/app-defaults/Fig.in ---- xfig-3.2.6/app-defaults/Fig.in~ 2016-07-23 23:12:46.000000000 +0200 -+++ xfig-3.2.6/app-defaults/Fig.in 2016-08-11 12:36:56.550555744 +0200 -@@ -10,6 +10,10 @@ Fig.version: @VERSION@ - - ! some sample settings you may want to change - -+! If the following resource is set to false, xfig will use metric units -+! by default. -+Fig.inches: false -+ - ! The following fixes a problem that some window managers have - ! with xfig continually resizing itself - -@@ -38,7 +38,7 @@ Fig.pdfviewer: xdg-open %f - ! Spell check program - put your favorite spelling check program here. - ! It must write the misspelled words to standard output. - --Fig.spellcheckcommand: spell %f -+Fig.spellcheckcommand: enchant -l %f - - ! delay before spinner automatically counts when pressed (milliseconds) - Fig.spinner_delay: 1000 diff --git a/xfig.spec b/xfig.spec index d06145f..041bcd9 100644 --- a/xfig.spec +++ b/xfig.spec @@ -2,8 +2,8 @@ Summary: An X Window System tool for drawing basic vector graphics Name: xfig -Version: 3.2.8b -Release: 5%{?dist} +Version: 3.2.9 +Release: 1%{?dist} License: MIT URL: https://en.wikipedia.org/wiki/Xfig Source0: http://downloads.sourceforge.net/mcj/xfig-%{version}.tar.xz @@ -11,8 +11,8 @@ Source1: xfig-icons.tar.gz Source2: xfig.desktop Source3: xfig.appdata.xml -Patch0: xfig-3.2.5a-default-apps.patch -Patch1: xfig-3.2.5-urwfonts.patch +#Patch0: xfig-3.2.5a-default-apps.patch +#Patch1: xfig-3.2.5-urwfonts.patch BuildRequires: make BuildRequires: gcc libtool @@ -107,8 +107,8 @@ appstream-util validate-relax --nonet \ %changelog -* Sat Jul 22 2023 Fedora Release Engineering - 3.2.8b-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild +* Sat Aug 26 2023 Ranjan Maitra - 3.2.9 +- New upstream release 3.2.9 * Sat Jan 21 2023 Fedora Release Engineering - 3.2.8b-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild From bcfd9f7504022991b88a5fa1dbef4511036351cb Mon Sep 17 00:00:00 2001 From: aarem Date: Sat, 26 Aug 2023 10:50:04 -0500 Subject: [PATCH 29/40] update xfig to upstream 3.2.9 --- xfig.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/xfig.spec b/xfig.spec index 041bcd9..8e29f6d 100644 --- a/xfig.spec +++ b/xfig.spec @@ -22,6 +22,7 @@ BuildRequires: libpng-devel BuildRequires: libICE-devel BuildRequires: libSM-devel BuildRequires: libX11-devel +BuildRequires: libXft-devel BuildRequires: libXaw-devel BuildRequires: libXext-devel BuildRequires: libXi-devel From af2c7a84ee2ce7ee6f40ceb3307bc51a57f48dfd Mon Sep 17 00:00:00 2001 From: aarem Date: Sat, 26 Aug 2023 10:51:29 -0500 Subject: [PATCH 30/40] update xfig to upstream 3.2.9 --- xfig.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/xfig.spec b/xfig.spec index 041bcd9..8e29f6d 100644 --- a/xfig.spec +++ b/xfig.spec @@ -22,6 +22,7 @@ BuildRequires: libpng-devel BuildRequires: libICE-devel BuildRequires: libSM-devel BuildRequires: libX11-devel +BuildRequires: libXft-devel BuildRequires: libXaw-devel BuildRequires: libXext-devel BuildRequires: libXi-devel From 63b5996609c7aae1ff50e42298dacca10541ef42 Mon Sep 17 00:00:00 2001 From: Mamoru TASAKA Date: Thu, 18 Jan 2024 16:38:48 +0900 Subject: [PATCH 31/40] Backport upstream patches for upstream 2 issues Fix exporting only active layers Sanitize a call to realloc (redhat #2252679) --- ...orting-only-active-layers-ticket-163.patch | 29 ++++++++++++ Sanitize-a-call-to-realloc-ticket-165.patch | 44 +++++++++++++++++++ xfig.spec | 16 ++++++- 3 files changed, 87 insertions(+), 2 deletions(-) create mode 100644 Fix-exporting-only-active-layers-ticket-163.patch create mode 100644 Sanitize-a-call-to-realloc-ticket-165.patch diff --git a/Fix-exporting-only-active-layers-ticket-163.patch b/Fix-exporting-only-active-layers-ticket-163.patch new file mode 100644 index 0000000..dabc1c1 --- /dev/null +++ b/Fix-exporting-only-active-layers-ticket-163.patch @@ -0,0 +1,29 @@ +From a4a2f3f3aa29ec7fc84f9d782306b37bbe75025c Mon Sep 17 00:00:00 2001 +From: Thomas Loimer +Date: Sun, 31 Dec 2023 22:51:29 +0100 +Subject: [PATCH] Fix exporting only active layers, ticket #163 + +--- + src/u_print.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/u_print.c b/src/u_print.c +index c24c096..57921b3 100644 +--- a/src/u_print.c ++++ b/src/u_print.c +@@ -861,10 +861,10 @@ build_layer_list(char *layers) + } + if (len < notlen && firstyes != -1) { + /* use list of layers TO print */ +- sprintf(layers," -D +%s ",list); ++ sprintf(layers, "+%s", list); + } else if (firstno != -1){ + /* use list of layers to NOT print */ +- sprintf(layers," -D -%s ",notlist); ++ sprintf(layers, "-%s", notlist); + } + } + +-- +2.39.2 + diff --git a/Sanitize-a-call-to-realloc-ticket-165.patch b/Sanitize-a-call-to-realloc-ticket-165.patch new file mode 100644 index 0000000..94b8246 --- /dev/null +++ b/Sanitize-a-call-to-realloc-ticket-165.patch @@ -0,0 +1,44 @@ +From 68403622a6f6c7d74f73e38989cfc0ed86fb83fc Mon Sep 17 00:00:00 2001 +From: Thomas Loimer +Date: Sun, 31 Dec 2023 15:18:45 +0100 +Subject: [PATCH] Sanitize a call to realloc(), ticket #165 + +--- + src/u_print.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/src/u_print.c b/src/u_print.c +index 2ed385f..c24c096 100644 +--- a/src/u_print.c ++++ b/src/u_print.c +@@ -130,7 +130,7 @@ start_argumentlist(char *arg[restrict], char argbuf[restrict][ARGBUF_SIZE], + arg[0] = fig2dev_cmd; + arg[1] = "-L"; + *a = 2; /* arg[2] will be the output language */ +- if (appres.magnification < 99.99 | appres.magnification > 100.01) { ++ if (appres.magnification < 99.99 || appres.magnification > 100.01) { + int n; + arg[++*a] = "-m"; + n = snprintf(argbuf[++*b], ARGBUF_SIZE, +@@ -531,6 +531,7 @@ print_export(char *file, int xoff, int yoff, char *backgrnd, char *transparent, + } else if (cur_exp_lang == LANG_PSTEX || + cur_exp_lang == LANG_PDFTEX) { + size_t len = strlen(outfile); ++ char *s; + + /* Options were already set above + - output the first file */ +@@ -544,8 +545,9 @@ print_export(char *file, int xoff, int yoff, char *backgrnd, char *transparent, + goto free_outfile; + } + memcpy(tmp_name, outfile, len + 1); +- if (!realloc(outfile, len + 3)) { ++ if (!(outfile = realloc(s = outfile, len + 3))) { + ret = 1; ++ outfile = s; /* for free(outfile) below */ + goto free_tmp_name; + } + strcpy(outfile + len, "_t"); +-- +2.39.2 + diff --git a/xfig.spec b/xfig.spec index 8e29f6d..35b688f 100644 --- a/xfig.spec +++ b/xfig.spec @@ -3,13 +3,20 @@ Summary: An X Window System tool for drawing basic vector graphics Name: xfig Version: 3.2.9 -Release: 1%{?dist} +Release: 2%{?dist} License: MIT URL: https://en.wikipedia.org/wiki/Xfig Source0: http://downloads.sourceforge.net/mcj/xfig-%{version}.tar.xz Source1: xfig-icons.tar.gz Source2: xfig.desktop Source3: xfig.appdata.xml +# https://sourceforge.net/p/mcj/tickets/165/ +# https://bugzilla.redhat.com/show_bug.cgi?id=2252679 +# https://sourceforge.net/p/mcj/xfig/ci/68403622a6f6c7d74f73e38989cfc0ed86fb83fc/ +Patch0: Sanitize-a-call-to-realloc-ticket-165.patch +# https://sourceforge.net/p/mcj/tickets/163/ +# https://sourceforge.net/p/mcj/xfig/ci/a4a2f3f3aa29ec7fc84f9d782306b37bbe75025c/ +Patch1: Fix-exporting-only-active-layers-ticket-163.patch #Patch0: xfig-3.2.5a-default-apps.patch #Patch1: xfig-3.2.5-urwfonts.patch @@ -108,7 +115,12 @@ appstream-util validate-relax --nonet \ %changelog -* Sat Aug 26 2023 Ranjan Maitra - 3.2.9 +* Thu Jan 18 2024 Mamoru TASAKA - 3.2.9-2 +- Backport upstream patches for upstream 2 issues + - Fix exporting only active layers + - Sanitize a call to realloc (redhat #2252679) + +* Sat Aug 26 2023 Ranjan Maitra - 3.2.9-1 - New upstream release 3.2.9 * Sat Jan 21 2023 Fedora Release Engineering - 3.2.8b-4 From 86a92e5fa20da5489239c029accc5bee68f1b156 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 27 Jan 2024 09:42:42 +0000 Subject: [PATCH 32/40] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- xfig.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xfig.spec b/xfig.spec index 35b688f..506d57e 100644 --- a/xfig.spec +++ b/xfig.spec @@ -3,7 +3,7 @@ Summary: An X Window System tool for drawing basic vector graphics Name: xfig Version: 3.2.9 -Release: 2%{?dist} +Release: 3%{?dist} License: MIT URL: https://en.wikipedia.org/wiki/Xfig Source0: http://downloads.sourceforge.net/mcj/xfig-%{version}.tar.xz @@ -115,6 +115,9 @@ appstream-util validate-relax --nonet \ %changelog +* Sat Jan 27 2024 Fedora Release Engineering - 3.2.9-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Thu Jan 18 2024 Mamoru TASAKA - 3.2.9-2 - Backport upstream patches for upstream 2 issues - Fix exporting only active layers From ed4f129aa602ae06fcf84c3cbb56d970ab3ce8ae Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Mon, 26 Feb 2024 13:20:50 +0100 Subject: [PATCH 33/40] Fix missing Dingbats and Symbol glyphs Resolves: rhbz#2260359 --- ...ingbat-glyphs-to-their-unicode-locat.patch | 644 ++++++++++++++++++ xfig.spec | 11 +- 2 files changed, 653 insertions(+), 2 deletions(-) create mode 100644 0001-Map-symbol-and-dingbat-glyphs-to-their-unicode-locat.patch diff --git a/0001-Map-symbol-and-dingbat-glyphs-to-their-unicode-locat.patch b/0001-Map-symbol-and-dingbat-glyphs-to-their-unicode-locat.patch new file mode 100644 index 0000000..cc47580 --- /dev/null +++ b/0001-Map-symbol-and-dingbat-glyphs-to-their-unicode-locat.patch @@ -0,0 +1,644 @@ +From 1e2d842875502b4ce0e74ec779454304c71efe54 Mon Sep 17 00:00:00 2001 +From: "Dr. Werner Fink" +Date: Sat, 30 Sep 2023 23:10:46 +0200 +Subject: [PATCH] Map symbol and dingbat glyphs to their unicode locations + +Under suse, symbol and dingbat glyphs are not displayed without +remapping to their correct unicode code points. Based on the +mappings defined in +usr/share/fonts/encodings/adobe-dingbats.enc.gz and +/usr/share/fonts/encodings/adobe-symbol.enc.gz. +Also include some aliases for these two fonts. +Under archlinux and debian, these mappings were not necessary, but +do not seem to do any harm. +--- + src/u_fonts.c | 500 ++++++++++++++++++++++++++++++++++++++++++++++- + src/u_fonts.h | 11 ++ + src/w_drawprim.c | 17 +- + 3 files changed, 516 insertions(+), 12 deletions(-) + +diff --git a/src/u_fonts.c b/src/u_fonts.c +index b29d0ea..5e454eb 100644 +--- a/src/u_fonts.c ++++ b/src/u_fonts.c +@@ -124,9 +124,9 @@ const char *const xft_name[NUM_FONTS] = { + "palatino:italic", /* Palatino-Italic */ + "palatino:bold", /* Palatino-Bold */ + "palatino:bold:italic", /* Palatino-BoldItalic */ +- "symbol", /* Symbol */ ++ "symbol,StandardSymbolsPS,StandardSymbolsL", /* Symbol */ + "zapfchancery:medium:italic", /* ZapfChancery-MediumItalic */ +- "zapfdingbats" /* ZapfDingbats */ ++ "zapfdingbats,ITCZapfDingbats,Dingbats,D050000L" /* ZapfDingbats */ + }; + + +@@ -307,6 +307,7 @@ textextents(F_text *t) + { + XGlyphInfo extents; + XftFont *rotfont; ++ map_f map = NULL; + int len = (int)strlen(t->cstring); + + /* shortcut, nothing to do for an empty string */ +@@ -325,8 +326,20 @@ textextents(F_text *t) + /* Get the font at native Fig resolution (often, 1200 ppi) */ + rotfont = getfont(psfont_text(t), t->font, t->size * ZOOM_FACTOR, + (double)t->angle); +- XftTextExtentsUtf8(tool_d, rotfont, (XftChar8 *)t->cstring, len, +- &extents); ++ if ((map = adobe_charset(rotfont))) { ++ XftChar32 glyphs[len], *glyph; ++ XftChar8 *s = (XftChar8 *)t->cstring; ++ int glen = 0; ++ ++ for (XftChar8 *chr = s; chr < s+len; chr++) { ++ XftChar32 glyph = XftCharIndex(tool_d, rotfont, map(*chr)); ++ if (glyph) ++ glyphs[glen++] = glyph; ++ } ++ XftGlyphExtents(tool_d, rotfont, glyphs, glen, &extents); ++ } else ++ XftTextExtentsUtf8(tool_d, rotfont, (XftChar8 *)t->cstring, len, ++ &extents); + /* libxft keeps the last 16, closed fonts in cache. + Hence, no need to keep rotfont open, in our own cache. */ + closefont(rotfont); +@@ -409,13 +422,27 @@ textextents(F_text *t) + } else { + /* a font at an angle */ + XftFont *horfont; ++ map_f map = NULL; + double cosa, sina; + struct f_pos tl, bl, tr, br; + + horfont = getfont(psfont_text(t), t->font, + t->size * ZOOM_FACTOR, 0.0); +- XftTextExtentsUtf8(tool_d, horfont, (XftChar8 *)t->cstring, len, +- &extents); ++ if ((map = adobe_charset(horfont))) { ++ XftChar32 glyphs[len], *glyph; ++ XftChar8 *s = (XftChar8 *)t->cstring; ++ int glen = 0; ++ ++ for (XftChar8 *chr = s; chr < s+len; chr++) { ++ XftChar32 glyph = XftCharIndex(tool_d, horfont, map(*chr)); ++ if (glyph) ++ glyphs[glen++] = glyph; ++ } ++ XftGlyphExtents(tool_d, horfont, glyphs, glen, &extents); ++ } else { ++ XftTextExtentsUtf8(tool_d, horfont, (XftChar8 *)t->cstring, ++ len, &extents); ++ } + /* See above, libxft keeps a cache of 16 closed fonts. */ + closefont(horfont); + +@@ -453,11 +480,25 @@ int + textlength(XftFont *horfont, XftChar8 *string, int len) + { + XGlyphInfo extents; ++ map_f map = NULL; + + if (len == 0) + return 0; + +- XftTextExtentsUtf8(tool_d, horfont, string, len, &extents); ++ if ((map = adobe_charset(horfont))) { ++ XftChar32 glyphs[len], *glyph; ++ XftChar8 *chr, *s = string; ++ int glen = 0; ++ ++ for (XftChar8 *chr = s; chr < s+len; chr++) { ++ XftChar32 glyph = XftCharIndex(tool_d, horfont, map(*chr)); ++ if (glyph) ++ glyphs[glen++] = glyph; ++ } ++ XftGlyphExtents(tool_d, horfont, glyphs, glen, &extents); ++ } else { ++ XftTextExtentsUtf8(tool_d, horfont, string, len, &extents); ++ } + return (int)extents.xOff; + } + +@@ -473,16 +514,30 @@ textmaxheight(int psflag, int font, int size, int *ascent, int *descent) + XGlyphInfo extents; + XftFont *horfont; + XftChar8 max_height_str[] = "{|(fgjOÜ"; ++ map_f map = NULL; ++ size_t len = sizeof(max_height_str); + + horfont = getfont(psflag, font, size * ZOOM_FACTOR, 0.0); +- XftTextExtentsUtf8(tool_d, horfont, max_height_str, +- (int)sizeof(max_height_str), &extents); ++ if ((map = adobe_charset(horfont))) { ++ XftChar32 glyphs[len], *glyph; ++ XftChar8 *s = max_height_str; ++ int glen = 0; ++ ++ for (XftChar8 *chr = s; chr < s+len; chr++) { ++ XftChar32 glyph = XftCharIndex(tool_d, horfont, map(*chr)); ++ if (glyph) ++ glyphs[glen++] = glyph; ++ } ++ XftGlyphExtents(tool_d, horfont, glyphs, glen, &extents); ++ } else { ++ XftTextExtentsUtf8(tool_d, horfont, max_height_str, ++ (int)len, &extents); ++ } + closefont(horfont); + *ascent = extents.y; + *descent = extents.height - extents.y; + } + +- + /* + * Return the drawing origin, given the marker position (base_x, base_y) + * and the alignment. +@@ -510,3 +565,428 @@ text_origin(int *draw_x, int *draw_y, int base_x, int base_y, int align, + break; + } + } ++/* ++ * Unicode mapping found in ++ * /usr/share/fonts/encodings/adobe-dingbats.enc.gz ++ */ ++XftChar32 map_dingbats(XftChar8 in) ++{ ++ switch (in) { ++ case 0x20: return 0x0020; /* SPACE */ ++ case 0x21: return 0x2701; /* UPPER BLADE SCISSORS */ ++ case 0x22: return 0x2702; /* BLACK SCISSORS */ ++ case 0x23: return 0x2703; /* LOWER BLADE SCISSORS */ ++ case 0x24: return 0x2704; /* WHITE SCISSORS */ ++ case 0x25: return 0x260E; /* BLACK TELEPHONE */ ++ case 0x26: return 0x2706; /* TELEPHONE LOCATION SIGN */ ++ case 0x27: return 0x2707; /* TAPE DRIVE */ ++ case 0x28: return 0x2708; /* AIRPLANE */ ++ case 0x29: return 0x2709; /* ENVELOPE */ ++ case 0x2A: return 0x261B; /* BLACK RIGHT POINTING INDEX */ ++ case 0x2B: return 0x261E; /* WHITE RIGHT POINTING INDEX */ ++ case 0x2C: return 0x270C; /* VICTORY HAND */ ++ case 0x2D: return 0x270D; /* WRITING HAND */ ++ case 0x2E: return 0x270E; /* LOWER RIGHT PENCIL */ ++ case 0x2F: return 0x270F; /* PENCIL */ ++ case 0x30: return 0x2710; /* UPPER RIGHT PENCIL */ ++ case 0x31: return 0x2711; /* WHITE NIB */ ++ case 0x32: return 0x2712; /* BLACK NIB */ ++ case 0x33: return 0x2713; /* CHECK MARK */ ++ case 0x34: return 0x2714; /* HEAVY CHECK MARK */ ++ case 0x35: return 0x2715; /* MULTIPLICATION X */ ++ case 0x36: return 0x2716; /* HEAVY MULTIPLICATION X */ ++ case 0x37: return 0x2717; /* BALLOT X */ ++ case 0x38: return 0x2718; /* HEAVY BALLOT X */ ++ case 0x39: return 0x2719; /* OUTLINED GREEK CROSS */ ++ case 0x3A: return 0x271A; /* HEAVY GREEK CROSS */ ++ case 0x3B: return 0x271B; /* OPEN CENTRE CROSS */ ++ case 0x3C: return 0x271C; /* HEAVY OPEN CENTRE CROSS */ ++ case 0x3D: return 0x271D; /* LATIN CROSS */ ++ case 0x3E: return 0x271E; /* SHADOWED WHITE LATIN CROSS */ ++ case 0x3F: return 0x271F; /* OUTLINED LATIN CROSS */ ++ case 0x40: return 0x2720; /* MALTESE CROSS */ ++ case 0x41: return 0x2721; /* STAR OF DAVID */ ++ case 0x42: return 0x2722; /* FOUR TEARDROP-SPOKED ASTERISK */ ++ case 0x43: return 0x2723; /* FOUR BALLOON-SPOKED ASTERISK */ ++ case 0x44: return 0x2724; /* HEAVY FOUR BALLOON-SPOKED ASTERISK */ ++ case 0x45: return 0x2725; /* FOUR CLUB-SPOKED ASTERISK */ ++ case 0x46: return 0x2726; /* BLACK FOUR POINTED STAR */ ++ case 0x47: return 0x2727; /* WHITE FOUR POINTED STAR */ ++ case 0x48: return 0x2605; /* BLACK STAR */ ++ case 0x49: return 0x2729; /* STRESS OUTLINED WHITE STAR */ ++ case 0x4A: return 0x272A; /* CIRCLED WHITE STAR */ ++ case 0x4B: return 0x272B; /* OPEN CENTRE BLACK STAR */ ++ case 0x4C: return 0x272C; /* BLACK CENTRE WHITE STAR */ ++ case 0x4D: return 0x272D; /* OUTLINED BLACK STAR */ ++ case 0x4E: return 0x272E; /* HEAVY OUTLINED BLACK STAR */ ++ case 0x4F: return 0x272F; /* PINWHEEL STAR */ ++ case 0x50: return 0x2730; /* SHADOWED WHITE STAR */ ++ case 0x51: return 0x2731; /* HEAVY ASTERISK */ ++ case 0x52: return 0x2732; /* OPEN CENTRE ASTERISK */ ++ case 0x53: return 0x2733; /* EIGHT SPOKED ASTERISK */ ++ case 0x54: return 0x2734; /* EIGHT POINTED BLACK STAR */ ++ case 0x55: return 0x2735; /* EIGHT POINTED PINWHEEL STAR */ ++ case 0x56: return 0x2736; /* SIX POINTED BLACK STAR */ ++ case 0x57: return 0x2737; /* EIGHT POINTED RECTILINEAR BLACK STAR */ ++ case 0x58: return 0x2738; /* HEAVY EIGHT POINTED RECTILINEAR BLACK STAR */ ++ case 0x59: return 0x2739; /* TWELVE POINTED BLACK STAR */ ++ case 0x5A: return 0x273A; /* SIXTEEN POINTED ASTERISK */ ++ case 0x5B: return 0x273B; /* TEARDROP-SPOKED ASTERISK */ ++ case 0x5C: return 0x273C; /* OPEN CENTRE TEARDROP-SPOKED ASTERISK */ ++ case 0x5D: return 0x273D; /* HEAVY TEARDROP-SPOKED ASTERISK */ ++ case 0x5E: return 0x273E; /* SIX PETALLED BLACK AND WHITE FLORETTE */ ++ case 0x5F: return 0x273F; /* BLACK FLORETTE */ ++ case 0x60: return 0x2740; /* WHITE FLORETTE */ ++ case 0x61: return 0x2741; /* EIGHT PETALLED OUTLINED BLACK FLORETTE */ ++ case 0x62: return 0x2742; /* CIRCLED OPEN CENTRE EIGHT POINTED STAR */ ++ case 0x63: return 0x2743; /* HEAVY TEARDROP-SPOKED PINWHEEL ASTERISK */ ++ case 0x64: return 0x2744; /* SNOWFLAKE */ ++ case 0x65: return 0x2745; /* TIGHT TRIFOLIATE SNOWFLAKE */ ++ case 0x66: return 0x2746; /* HEAVY CHEVRON SNOWFLAKE */ ++ case 0x67: return 0x2747; /* SPARKLE */ ++ case 0x68: return 0x2748; /* HEAVY SPARKLE */ ++ case 0x69: return 0x2749; /* BALLOON-SPOKED ASTERISK */ ++ case 0x6A: return 0x274A; /* EIGHT TEARDROP-SPOKED PROPELLER ASTERISK */ ++ case 0x6B: return 0x274B; /* HEAVY EIGHT TEARDROP-SPOKED PROPELLER ASTERISK */ ++ case 0x6C: return 0x25CF; /* BLACK CIRCLE */ ++ case 0x6D: return 0x274D; /* SHADOWED WHITE CIRCLE */ ++ case 0x6E: return 0x25A0; /* BLACK SQUARE */ ++ case 0x6F: return 0x274F; /* LOWER RIGHT DROP-SHADOWED WHITE SQUARE */ ++ case 0x70: return 0x2750; /* UPPER RIGHT DROP-SHADOWED WHITE SQUARE */ ++ case 0x71: return 0x2751; /* LOWER RIGHT SHADOWED WHITE SQUARE */ ++ case 0x72: return 0x2752; /* UPPER RIGHT SHADOWED WHITE SQUARE */ ++ case 0x73: return 0x25B2; /* BLACK UP-POINTING TRIANGLE */ ++ case 0x74: return 0x25BC; /* BLACK DOWN-POINTING TRIANGLE */ ++ case 0x75: return 0x25C6; /* BLACK DIAMOND */ ++ case 0x76: return 0x2756; /* BLACK DIAMOND MINUS WHITE X */ ++ case 0x77: return 0x25D7; /* RIGHT HALF BLACK CIRCLE */ ++ case 0x78: return 0x2758; /* LIGHT VERTICAL BAR */ ++ case 0x79: return 0x2759; /* MEDIUM VERTICAL BAR */ ++ case 0x7A: return 0x275A; /* HEAVY VERTICAL BAR */ ++ case 0x7B: return 0x275B; /* HEAVY SINGLE TURNED COMMA QUOTATION MARK ORNAMENT */ ++ case 0x7C: return 0x275C; /* HEAVY SINGLE COMMA QUOTATION MARK ORNAMENT */ ++ case 0x7D: return 0x275D; /* HEAVY DOUBLE TURNED COMMA QUOTATION MARK ORNAMENT */ ++ case 0x7E: return 0x275E; /* HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT */ ++ case 0x80: return 0xF8D7; /* MEDIUM LEFT PARENTHESIS ORNAMENT */ ++ case 0x81: return 0xF8D8; /* MEDIUM RIGHT PARENTHESIS ORNAMENT */ ++ case 0x82: return 0xF8D9; /* MEDIUM FLATTENED LEFT PARENTHESIS ORNAMENT */ ++ case 0x83: return 0xF8DA; /* MEDIUM FLATTENED RIGHT PARENTHESIS ORNAMENT */ ++ case 0x84: return 0xF8DB; /* MEDIUM LEFT-POINTING ANGLE BRACKET ORNAMENT */ ++ case 0x85: return 0xF8DC; /* MEDIUM RIGHT-POINTING ANGLE BRACKET ORNAMENT */ ++ case 0x86: return 0xF8DD; /* HEAVY LEFT-POINTING ANGLE QUOTATION MARK ORNAMENT */ ++ case 0x87: return 0xF8DE; /* HEAVY RIGHT-POINTING ANGLE QUOTATION MARK ORNAMENT */ ++ case 0x88: return 0xF8DF; /* HEAVY LEFT-POINTING ANGLE BRACKET ORNAMENT */ ++ case 0x89: return 0xF8E0; /* HEAVY RIGHT-POINTING ANGLE BRACKET ORNAMENT */ ++ case 0x8A: return 0xF8E1; /* LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT */ ++ case 0x8B: return 0xF8E2; /* LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT */ ++ case 0x8C: return 0xF8E3; /* MEDIUM LEFT CURLY BRACKET ORNAMENT */ ++ case 0x8D: return 0xF8E4; /* MEDIUM RIGHT CURLY BRACKET ORNAMENT */ ++ case 0xA1: return 0x2761; /* CURVED STEM PARAGRAPH SIGN ORNAMENT */ ++ case 0xA2: return 0x2762; /* HEAVY EXCLAMATION MARK ORNAMENT */ ++ case 0xA3: return 0x2763; /* HEAVY HEART EXCLAMATION MARK ORNAMENT */ ++ case 0xA4: return 0x2764; /* HEAVY BLACK HEART */ ++ case 0xA5: return 0x2765; /* ROTATED HEAVY BLACK HEART BULLET */ ++ case 0xA6: return 0x2766; /* FLORAL HEART */ ++ case 0xA7: return 0x2767; /* ROTATED FLORAL HEART BULLET */ ++ case 0xA8: return 0x2663; /* BLACK CLUB SUIT */ ++ case 0xA9: return 0x2666; /* BLACK DIAMOND SUIT */ ++ case 0xAA: return 0x2665; /* BLACK HEART SUIT */ ++ case 0xAB: return 0x2660; /* BLACK SPADE SUIT */ ++ case 0xAC: return 0x2460; /* CIRCLED DIGIT ONE */ ++ case 0xAD: return 0x2461; /* CIRCLED DIGIT TWO */ ++ case 0xAE: return 0x2462; /* CIRCLED DIGIT THREE */ ++ case 0xAF: return 0x2463; /* CIRCLED DIGIT FOUR */ ++ case 0xB0: return 0x2464; /* CIRCLED DIGIT FIVE */ ++ case 0xB1: return 0x2465; /* CIRCLED DIGIT SIX */ ++ case 0xB2: return 0x2466; /* CIRCLED DIGIT SEVEN */ ++ case 0xB3: return 0x2467; /* CIRCLED DIGIT EIGHT */ ++ case 0xB4: return 0x2468; /* CIRCLED DIGIT NINE */ ++ case 0xB5: return 0x2469; /* CIRCLED NUMBER TEN */ ++ case 0xB6: return 0x2776; /* DINGBAT NEGATIVE CIRCLED DIGIT ONE */ ++ case 0xB7: return 0x2777; /* DINGBAT NEGATIVE CIRCLED DIGIT TWO */ ++ case 0xB8: return 0x2778; /* DINGBAT NEGATIVE CIRCLED DIGIT THREE */ ++ case 0xB9: return 0x2779; /* DINGBAT NEGATIVE CIRCLED DIGIT FOUR */ ++ case 0xBA: return 0x277A; /* DINGBAT NEGATIVE CIRCLED DIGIT FIVE */ ++ case 0xBB: return 0x277B; /* DINGBAT NEGATIVE CIRCLED DIGIT SIX */ ++ case 0xBC: return 0x277C; /* DINGBAT NEGATIVE CIRCLED DIGIT SEVEN */ ++ case 0xBD: return 0x277D; /* DINGBAT NEGATIVE CIRCLED DIGIT EIGHT */ ++ case 0xBE: return 0x277E; /* DINGBAT NEGATIVE CIRCLED DIGIT NINE */ ++ case 0xBF: return 0x277F; /* DINGBAT NEGATIVE CIRCLED NUMBER TEN */ ++ case 0xC0: return 0x2780; /* DINGBAT CIRCLED SANS-SERIF DIGIT ONE */ ++ case 0xC1: return 0x2781; /* DINGBAT CIRCLED SANS-SERIF DIGIT TWO */ ++ case 0xC2: return 0x2782; /* DINGBAT CIRCLED SANS-SERIF DIGIT THREE */ ++ case 0xC3: return 0x2783; /* DINGBAT CIRCLED SANS-SERIF DIGIT FOUR */ ++ case 0xC4: return 0x2784; /* DINGBAT CIRCLED SANS-SERIF DIGIT FIVE */ ++ case 0xC5: return 0x2785; /* DINGBAT CIRCLED SANS-SERIF DIGIT SIX */ ++ case 0xC6: return 0x2786; /* DINGBAT CIRCLED SANS-SERIF DIGIT SEVEN */ ++ case 0xC7: return 0x2787; /* DINGBAT CIRCLED SANS-SERIF DIGIT EIGHT */ ++ case 0xC8: return 0x2788; /* DINGBAT CIRCLED SANS-SERIF DIGIT NINE */ ++ case 0xC9: return 0x2789; /* DINGBAT CIRCLED SANS-SERIF NUMBER TEN */ ++ case 0xCA: return 0x278A; /* DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT ONE */ ++ case 0xCB: return 0x278B; /* DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT TWO */ ++ case 0xCC: return 0x278C; /* DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT THREE */ ++ case 0xCD: return 0x278D; /* DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FOUR */ ++ case 0xCE: return 0x278E; /* DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FIVE */ ++ case 0xCF: return 0x278F; /* DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SIX */ ++ case 0xD0: return 0x2790; /* DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SEVEN */ ++ case 0xD1: return 0x2791; /* DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT EIGHT */ ++ case 0xD2: return 0x2792; /* DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT NINE */ ++ case 0xD3: return 0x2793; /* DINGBAT NEGATIVE CIRCLED SANS-SERIF NUMBER TEN */ ++ case 0xD4: return 0x2794; /* HEAVY WIDE-HEADED RIGHTWARDS ARROW */ ++ case 0xD5: return 0x2192; /* RIGHTWARDS ARROW */ ++ case 0xD6: return 0x2194; /* LEFT RIGHT ARROW */ ++ case 0xD7: return 0x2195; /* UP DOWN ARROW */ ++ case 0xD8: return 0x2798; /* HEAVY SOUTH EAST ARROW */ ++ case 0xD9: return 0x2799; /* HEAVY RIGHTWARDS ARROW */ ++ case 0xDA: return 0x279A; /* HEAVY NORTH EAST ARROW */ ++ case 0xDB: return 0x279B; /* DRAFTING POINT RIGHTWARDS ARROW */ ++ case 0xDC: return 0x279C; /* HEAVY ROUND-TIPPED RIGHTWARDS ARROW */ ++ case 0xDD: return 0x279D; /* TRIANGLE-HEADED RIGHTWARDS ARROW */ ++ case 0xDE: return 0x279E; /* HEAVY TRIANGLE-HEADED RIGHTWARDS ARROW */ ++ case 0xDF: return 0x279F; /* DASHED TRIANGLE-HEADED RIGHTWARDS ARROW */ ++ case 0xE0: return 0x27A0; /* HEAVY DASHED TRIANGLE-HEADED RIGHTWARDS ARROW */ ++ case 0xE1: return 0x27A1; /* BLACK RIGHTWARDS ARROW */ ++ case 0xE2: return 0x27A2; /* THREE-D TOP-LIGHTED RIGHTWARDS ARROWHEAD */ ++ case 0xE3: return 0x27A3; /* THREE-D BOTTOM-LIGHTED RIGHTWARDS ARROWHEAD */ ++ case 0xE4: return 0x27A4; /* BLACK RIGHTWARDS ARROWHEAD */ ++ case 0xE5: return 0x27A5; /* HEAVY BLACK CURVED DOWNWARDS AND RIGHTWARDS ARROW */ ++ case 0xE6: return 0x27A6; /* HEAVY BLACK CURVED UPWARDS AND RIGHTWARDS ARROW */ ++ case 0xE7: return 0x27A7; /* SQUAT BLACK RIGHTWARDS ARROW */ ++ case 0xE8: return 0x27A8; /* HEAVY CONCAVE-POINTED BLACK RIGHTWARDS ARROW */ ++ case 0xE9: return 0x27A9; /* RIGHT-SHADED WHITE RIGHTWARDS ARROW */ ++ case 0xEA: return 0x27AA; /* LEFT-SHADED WHITE RIGHTWARDS ARROW */ ++ case 0xEB: return 0x27AB; /* BACK-TILTED SHADOWED WHITE RIGHTWARDS ARROW */ ++ case 0xEC: return 0x27AC; /* FRONT-TILTED SHADOWED WHITE RIGHTWARDS ARROW */ ++ case 0xED: return 0x27AD; /* HEAVY LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW */ ++ case 0xEE: return 0x27AE; /* HEAVY UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW */ ++ case 0xEF: return 0x27AF; /* NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW */ ++ case 0xF1: return 0x27B1; /* NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW */ ++ case 0xF2: return 0x27B2; /* CIRCLED HEAVY WHITE RIGHTWARDS ARROW */ ++ case 0xF3: return 0x27B3; /* WHITE-FEATHERED RIGHTWARDS ARROW */ ++ case 0xF4: return 0x27B4; /* BLACK-FEATHERED SOUTH EAST ARROW */ ++ case 0xF5: return 0x27B5; /* BLACK-FEATHERED RIGHTWARDS ARROW */ ++ case 0xF6: return 0x27B6; /* BLACK-FEATHERED NORTH EAST ARROW */ ++ case 0xF7: return 0x27B7; /* HEAVY BLACK-FEATHERED SOUTH EAST ARROW */ ++ case 0xF8: return 0x27B8; /* HEAVY BLACK-FEATHERED RIGHTWARDS ARROW */ ++ case 0xF9: return 0x27B9; /* HEAVY BLACK-FEATHERED NORTH EAST ARROW */ ++ case 0xFA: return 0x27BA; /* TEARDROP-BARBED RIGHTWARDS ARROW */ ++ case 0xFB: return 0x27BB; /* HEAVY TEARDROP-SHANKED RIGHTWARDS ARROW */ ++ case 0xFC: return 0x27BC; /* WEDGE-TAILED RIGHTWARDS ARROW */ ++ case 0xFD: return 0x27BD; /* HEAVY WEDGE-TAILED RIGHTWARDS ARROW */ ++ case 0xFE: return 0x27BE; /* OPEN-OUTLINED RIGHTWARDS ARROW */ ++ default: return 0x0000; ++ } ++}; ++ ++/* ++ * Unicode mapping found in ++ * /usr/share/fonts/encodings/adobe-symbol.enc.gz ++ * Duplicates are disabled ++ */ ++XftChar32 map_symbols(XftChar8 in) ++{ ++ switch(in) { ++ case 0x20: return 0x0020; /* SPACE */ ++ case 0x21: return 0x0021; /* EXCLAMATION MARK */ ++ case 0x23: return 0x0023; /* NUMBER SIGN */ ++ case 0x25: return 0x0025; /* PERCENT SIGN */ ++ case 0x26: return 0x0026; /* AMPERSAND */ ++ case 0x28: return 0x0028; /* OPENING PARENTHESIS */ ++ case 0x29: return 0x0029; /* CLOSING PARENTHESIS */ ++ case 0x2B: return 0x002B; /* PLUS SIGN */ ++ case 0x2C: return 0x002C; /* COMMA */ ++ case 0x2E: return 0x002E; /* PERIOD */ ++ case 0x2F: return 0x002F; /* SLASH */ ++ case 0x30: return 0x0030; /* DIGIT ZERO */ ++ case 0x31: return 0x0031; /* DIGIT ONE */ ++ case 0x32: return 0x0032; /* DIGIT TWO */ ++ case 0x33: return 0x0033; /* DIGIT THREE */ ++ case 0x34: return 0x0034; /* DIGIT FOUR */ ++ case 0x35: return 0x0035; /* DIGIT FIVE */ ++ case 0x36: return 0x0036; /* DIGIT SIX */ ++ case 0x37: return 0x0037; /* DIGIT SEVEN */ ++ case 0x38: return 0x0038; /* DIGIT EIGHT */ ++ case 0x39: return 0x0039; /* DIGIT NINE */ ++ case 0x3A: return 0x003A; /* COLON */ ++ case 0x3B: return 0x003B; /* SEMICOLON */ ++ case 0x3C: return 0x003C; /* LESS-THAN SIGN */ ++ case 0x3D: return 0x003D; /* EQUALS SIGN */ ++ case 0x3E: return 0x003E; /* GREATER-THAN SIGN */ ++ case 0x3F: return 0x003F; /* QUESTION MARK */ ++ case 0x5B: return 0x005B; /* OPENING SQUARE BRACKET */ ++ case 0x5D: return 0x005D; /* CLOSING SQUARE BRACKET */ ++ case 0x5F: return 0x005F; /* SPACING UNDERSCORE */ ++ case 0x7B: return 0x007B; /* OPENING CURLY BRACKET */ ++ case 0x7C: return 0x007C; /* VERTICAL BAR */ ++ case 0x7D: return 0x007D; /* CLOSING CURLY BRACKET */ ++ case 0xD3: return 0x00A9; /* COPYRIGHT SIGN */ ++ case 0xE3: return 0x00A9; /* COPYRIGHT SIGN */ ++ case 0xD8: return 0x00AC; /* NOT SIGN */ ++ case 0xD2: return 0x00AE; /* REGISTERED TRADE MARK SIGN */ ++ case 0xE2: return 0x00AE; /* REGISTERED TRADE MARK SIGN */ ++ case 0xB0: return 0x00B0; /* DEGREE SIGN */ ++ case 0xB1: return 0x00B1; /* PLUS-OR-MINUS SIGN */ ++ case 0xB4: return 0x00D7; /* MULTIPLICATION SIGN */ ++ case 0xB8: return 0x00F7; /* DIVISION SIGN */ ++ case 0xA6: return 0x0192; /* LATIN SMALL LETTER SCRIPT F */ ++ case 0x41: return 0x0391; /* GREEK CAPITAL LETTER ALPHA */ ++ case 0x42: return 0x0392; /* GREEK CAPITAL LETTER BETA */ ++ case 0x47: return 0x0393; /* GREEK CAPITAL LETTER GAMMA */ ++ case 0x44: return 0x0394; /* GREEK CAPITAL LETTER DELTA */ ++ case 0x45: return 0x0395; /* GREEK CAPITAL LETTER EPSILON */ ++ case 0x5A: return 0x0396; /* GREEK CAPITAL LETTER ZETA */ ++ case 0x48: return 0x0397; /* GREEK CAPITAL LETTER ETA */ ++ case 0x51: return 0x0398; /* GREEK CAPITAL LETTER THETA */ ++ case 0x49: return 0x0399; /* GREEK CAPITAL LETTER IOTA */ ++ case 0x4B: return 0x039A; /* GREEK CAPITAL LETTER KAPPA */ ++ case 0x4C: return 0x039B; /* GREEK CAPITAL LETTER LAMBDA */ ++ case 0x4D: return 0x039C; /* GREEK CAPITAL LETTER MU */ ++ case 0x4E: return 0x039D; /* GREEK CAPITAL LETTER NU */ ++ case 0x58: return 0x039E; /* GREEK CAPITAL LETTER XI */ ++ case 0x4F: return 0x039F; /* GREEK CAPITAL LETTER OMICRON */ ++ case 0x50: return 0x03A0; /* GREEK CAPITAL LETTER PI */ ++ case 0x52: return 0x03A1; /* GREEK CAPITAL LETTER RHO */ ++ case 0x53: return 0x03A3; /* GREEK CAPITAL LETTER SIGMA */ ++ case 0x54: return 0x03A4; /* GREEK CAPITAL LETTER TAU */ ++ case 0x55: return 0x03A5; /* GREEK CAPITAL LETTER UPSILON */ ++ case 0x46: return 0x03A6; /* GREEK CAPITAL LETTER PHI */ ++ case 0x43: return 0x03A7; /* GREEK CAPITAL LETTER CHI */ ++ case 0x59: return 0x03A8; /* GREEK CAPITAL LETTER PSI */ ++ case 0x57: return 0x03A9; /* GREEK CAPITAL LETTER OMEGA */ ++ case 0x61: return 0x03B1; /* GREEK SMALL LETTER ALPHA */ ++ case 0x62: return 0x03B2; /* GREEK SMALL LETTER BETA */ ++ case 0x67: return 0x03B3; /* GREEK SMALL LETTER GAMMA */ ++ case 0x64: return 0x03B4; /* GREEK SMALL LETTER DELTA */ ++ case 0x65: return 0x03B5; /* GREEK SMALL LETTER EPSILON */ ++ case 0x7A: return 0x03B6; /* GREEK SMALL LETTER ZETA */ ++ case 0x68: return 0x03B7; /* GREEK SMALL LETTER ETA */ ++ case 0x71: return 0x03B8; /* GREEK SMALL LETTER THETA */ ++ case 0x69: return 0x03B9; /* GREEK SMALL LETTER IOTA */ ++ case 0x6B: return 0x03BA; /* GREEK SMALL LETTER KAPPA */ ++ case 0x6C: return 0x03BB; /* GREEK SMALL LETTER LAMBDA */ ++ case 0x6D: return 0x03BC; /* GREEK SMALL LETTER MU */ ++ case 0x6E: return 0x03BD; /* GREEK SMALL LETTER NU */ ++ case 0x78: return 0x03BE; /* GREEK SMALL LETTER XI */ ++ case 0x6F: return 0x03BF; /* GREEK SMALL LETTER OMICRON */ ++ case 0x70: return 0x03C0; /* GREEK SMALL LETTER PI */ ++ case 0x72: return 0x03C1; /* GREEK SMALL LETTER RHO */ ++ case 0x56: return 0x03C2; /* GREEK SMALL LETTER FINAL SIGMA */ ++ case 0x73: return 0x03C3; /* GREEK SMALL LETTER SIGMA */ ++ case 0x74: return 0x03C4; /* GREEK SMALL LETTER TAU */ ++ case 0x75: return 0x03C5; /* GREEK SMALL LETTER UPSILON */ ++ case 0x66: return 0x03C6; /* GREEK SMALL LETTER PHI */ ++ case 0x63: return 0x03C7; /* GREEK SMALL LETTER CHI */ ++ case 0x79: return 0x03C8; /* GREEK SMALL LETTER PSI */ ++ case 0x77: return 0x03C9; /* GREEK SMALL LETTER OMEGA */ ++ case 0x4A: return 0x03D1; /* GREEK SMALL LETTER SCRIPT THETA */ ++ case 0xA1: return 0x03D2; /* GREEK CAPITAL LETTER UPSILON HOOK */ ++ case 0x6A: return 0x03D5; /* GREEK SMALL LETTER SCRIPT PHI */ ++ case 0x76: return 0x03D6; /* GREEK SMALL LETTER OMEGA PI */ ++ case 0xB7: return 0x2022; /* BULLET */ ++ case 0xBC: return 0x2026; /* HORIZONTAL ELLIPSIS */ ++ case 0xA2: return 0x2032; /* PRIME */ ++ case 0xB2: return 0x2033; /* DOUBLE PRIME */ ++ case 0x60: return 0x203E; /* SPACING OVERSCORE */ ++ case 0xA4: return 0x2044; /* FRACTION SLASH */ ++ case 0xC1: return 0x2111; /* BLACK-LETTER I */ ++ case 0xC3: return 0x2118; /* SCRIPT P */ ++ case 0xC2: return 0x211C; /* BLACK-LETTER R */ ++ case 0xD4: return 0x2122; /* TRADEMARK */ ++ case 0xE4: return 0x2122; /* TRADEMARK */ ++/* case 0x57: return 0x2126; /* OHM */ ++ case 0xC0: return 0x2135; /* FIRST TRANSFINITE CARDINAL */ ++ case 0xAC: return 0x2190; /* LEFT ARROW */ ++ case 0xAD: return 0x2191; /* UP ARROW */ ++ case 0xAE: return 0x2192; /* RIGHT ARROW */ ++ case 0xAF: return 0x2193; /* DOWN ARROW */ ++ case 0xAB: return 0x2194; /* LEFT RIGHT ARROW */ ++ case 0xBF: return 0x21B5; /* DOWN ARROW WITH CORNER LEFT */ ++ case 0xDC: return 0x21D0; /* LEFT DOUBLE ARROW */ ++ case 0xDD: return 0x21D1; /* UP DOUBLE ARROW */ ++ case 0xDE: return 0x21D2; /* RIGHT DOUBLE ARROW */ ++ case 0xDF: return 0x21D3; /* DOWN DOUBLE ARROW */ ++ case 0xDB: return 0x21D4; /* LEFT RIGHT DOUBLE ARROW */ ++ case 0x22: return 0x2200; /* FOR ALL */ ++ case 0xB6: return 0x2202; /* PARTIAL DIFFERENTIAL */ ++ case 0x24: return 0x2203; /* THERE EXISTS */ ++ case 0xC6: return 0x2205; /* EMPTY SET */ ++/* case 0x44: return 0x2206; /* INCREMENT */ ++ case 0xD1: return 0x2207; /* NABLA */ ++ case 0xCE: return 0x2208; /* ELEMENT OF */ ++ case 0xCF: return 0x2209; /* NOT AN ELEMENT OF */ ++ case 0x27: return 0x220B; /* CONTAINS AS MEMBER */ ++ case 0xD5: return 0x220F; /* N-ARY PRODUCT */ ++ case 0xE5: return 0x2211; /* N-ARY SUMMATION */ ++ case 0x2D: return 0x2212; /* MINUS SIGN */ ++/* case 0xA4: return 0x2215; /* DIVISION SLASH */ ++ case 0x2A: return 0x2217; /* ASTERISK OPERATOR */ ++ case 0xD6: return 0x221A; /* SQUARE ROOT */ ++ case 0xB5: return 0x221D; /* PROPORTIONAL TO */ ++ case 0xA5: return 0x221E; /* INFINITY */ ++ case 0xD0: return 0x2220; /* ANGLE */ ++ case 0xD9: return 0x2227; /* LOGICAL AND */ ++ case 0xDA: return 0x2228; /* LOGICAL OR */ ++ case 0xC7: return 0x2229; /* INTERSECTION */ ++ case 0xC8: return 0x222A; /* UNION */ ++ case 0xF2: return 0x222B; /* INTEGRAL */ ++ case 0x5C: return 0x2234; /* THEREFORE */ ++ case 0x7E: return 0x223C; /* TILDE OPERATOR */ ++ case 0x40: return 0x2245; /* APPROXIMATELY EQUAL TO */ ++ case 0xBB: return 0x2248; /* ALMOST EQUAL TO */ ++ case 0xB9: return 0x2260; /* NOT EQUAL TO */ ++ case 0xBA: return 0x2261; /* IDENTICAL TO */ ++ case 0xA3: return 0x2264; /* LESS THAN OR EQUAL TO */ ++ case 0xB3: return 0x2265; /* GREATER THAN OR EQUAL TO */ ++ case 0xCC: return 0x2282; /* SUBSET OF */ ++ case 0xC9: return 0x2283; /* SUPERSET OF */ ++ case 0xCB: return 0x2284; /* NOT A SUBSET OF */ ++ case 0xCD: return 0x2286; /* SUBSET OF OR EQUAL TO */ ++ case 0xCA: return 0x2287; /* SUPERSET OF OR EQUAL TO */ ++ case 0xC5: return 0x2295; /* CIRCLED PLUS */ ++ case 0xC4: return 0x2297; /* CIRCLED TIMES */ ++ case 0x5E: return 0x22A5; /* UP TACK */ ++ case 0xD7: return 0x22C5; /* DOT OPERATOR */ ++ case 0xF3: return 0x2320; /* TOP HALF INTEGRAL */ ++ case 0xF5: return 0x2321; /* BOTTOM HALF INTEGRAL */ ++ case 0xE1: return 0x2329; /* BRA */ ++ case 0xF1: return 0x232A; /* KET */ ++ case 0xE0: return 0x25CA; /* LOZENGE */ ++ case 0xAA: return 0x2660; /* BLACK SPADE SUIT */ ++ case 0xA7: return 0x2663; /* BLACK CLUB SUIT */ ++ case 0xA9: return 0x2665; /* BLACK HEART SUIT */ ++ case 0xA8: return 0x2666; /* BLACK DIAMOND SUIT */ ++ default: return 0x0000; ++ } ++}; ++ ++map_f adobe_charset(XftFont *font) ++{ ++ map_f map = NULL; ++ ++ /* ++ * Hack: does this font has small a in its charset? ++ * If not it is likly a Symbol or a Dingbats derivate. ++ */ ++ if (XftCharExists(tool_d, font, 0x61)) ++ return NULL; ++ else { ++ XftChar8 *pattern = FcNameUnparse(font->pattern); ++ char *fullname; ++ ++ if ((fullname = strcasestr((char*)pattern, "fullname="))) { ++ char *colon; ++ ++ fullname += 9; ++ if (colon = strchr(fullname, ':')) ++ *colon = '\0'; ++ if (strcasestr(fullname, "symbol")) ++ map = map_symbols; ++ else if (strcasestr(fullname, "dingbats")) ++ map = map_dingbats; ++ else if (strcasestr(fullname, "d050000l")) ++ map = map_dingbats; ++ free(pattern); ++ } ++ } ++ return map; ++} +diff --git a/src/u_fonts.h b/src/u_fonts.h +index 10b5f7c..725161a 100644 +--- a/src/u_fonts.h ++++ b/src/u_fonts.h +@@ -71,4 +71,15 @@ extern void text_origin(int *draw_x, int *draw_y, int base_x, int base_y, + extern struct _fstruct ps_fontinfo[]; + extern struct _fstruct latex_fontinfo[]; + ++/* ++ * For (ITC) Zapf Dingbats, URW Dingbats, or URW D050000L as well ++ * as Symbol, Standard Symbols PS, or URW Standard Symbols L we ++ * need to map the byte characters into UTF-8 multi byte characters. ++ * This to make XftTextExtentsUtf8() and XftDrawStringUtf8() working. ++ */ ++typedef XftChar8 (*map_f)(XftChar8); ++extern XftChar32 map_dingbats(XftChar8); ++extern XftChar32 map_symbols(XftChar8); ++extern map_f adobe_charset(XftFont *font); ++ + #endif /* U_FONTS_H */ +diff --git a/src/w_drawprim.c b/src/w_drawprim.c +index 959e3a6..7487833 100644 +--- a/src/w_drawprim.c ++++ b/src/w_drawprim.c +@@ -162,6 +162,8 @@ pw_xfttext(XftDraw *xftdraw, int x, int y, int depth, XftFont *font, + { + int zy = ZOOMY(y); + int zx = ZOOMX(x); ++ size_t len = strlen(s); ++ map_f map = NULL; + /* XGlyphInfo extents; */ + + if (*s == '\0') +@@ -181,8 +183,19 @@ pw_xfttext(XftDraw *xftdraw, int x, int y, int depth, XftFont *font, + if (check_cancel()) + return; + +- XftDrawStringUtf8(xftdraw, &xftcolor[c], font, zx, zy, (XftChar8 *)s, +- (int)strlen(s)); ++ if ((map = adobe_charset(font))) { ++ XftChar32 glyphs[len]; ++ int glen = 0; ++ ++ for (XftChar8 *chr = (XftChar8 *)s; chr < s+len; chr++) { ++ XftChar32 glyph = XftCharIndex(tool_d, font, map(*chr)); ++ if (glyph) ++ glyphs[glen++] = glyph; ++ } ++ XftDrawGlyphs(xftdraw, &xftcolor[c], font, zx, zy, glyphs, glen); ++ } else ++ XftDrawStringUtf8(xftdraw, &xftcolor[c], font, zx, zy, ++ (XftChar8*)s, (int)len); + } + + /* print "string" in window "w" using font specified in fstruct +-- +2.43.0 + diff --git a/xfig.spec b/xfig.spec index 506d57e..a3c2bcc 100644 --- a/xfig.spec +++ b/xfig.spec @@ -3,7 +3,7 @@ Summary: An X Window System tool for drawing basic vector graphics Name: xfig Version: 3.2.9 -Release: 3%{?dist} +Release: 4%{?dist} License: MIT URL: https://en.wikipedia.org/wiki/Xfig Source0: http://downloads.sourceforge.net/mcj/xfig-%{version}.tar.xz @@ -17,7 +17,10 @@ Patch0: Sanitize-a-call-to-realloc-ticket-165.patch # https://sourceforge.net/p/mcj/tickets/163/ # https://sourceforge.net/p/mcj/xfig/ci/a4a2f3f3aa29ec7fc84f9d782306b37bbe75025c/ Patch1: Fix-exporting-only-active-layers-ticket-163.patch - +# https://sourceforge.net/p/mcj/tickets/159/ +# https://bugzilla.redhat.com/show_bug.cgi?id=2260359 +# https://sourceforge.net/p/mcj/xfig/ci/1e2d842875502b4ce0e74ec779454304c71efe54/ +Patch2: 0001-Map-symbol-and-dingbat-glyphs-to-their-unicode-locat.patch #Patch0: xfig-3.2.5a-default-apps.patch #Patch1: xfig-3.2.5-urwfonts.patch @@ -115,6 +118,10 @@ appstream-util validate-relax --nonet \ %changelog +* Mon Feb 26 2024 Hans de Goede - 3.2.9-4 +- Fix missing Dingbats and Symbol glyphs +- Resolves: rhbz#2260359 + * Sat Jan 27 2024 Fedora Release Engineering - 3.2.9-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From a6b2ba00ebe180bfdfad2add5abfe22699931f9b Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Mon, 26 Feb 2024 14:15:30 +0100 Subject: [PATCH 34/40] Fix compile error with f40+ gcc --- xfig-3.2.9-compile-fix.patch | 13 +++++++++++++ xfig.spec | 2 ++ 2 files changed, 15 insertions(+) create mode 100644 xfig-3.2.9-compile-fix.patch diff --git a/xfig-3.2.9-compile-fix.patch b/xfig-3.2.9-compile-fix.patch new file mode 100644 index 0000000..6ca38bc --- /dev/null +++ b/xfig-3.2.9-compile-fix.patch @@ -0,0 +1,13 @@ +diff -up xfig-3.2.9/configure~ xfig-3.2.9/configure +diff -up xfig-3.2.9/src/u_fonts.h~ xfig-3.2.9/src/u_fonts.h +--- xfig-3.2.9/src/u_fonts.h~ 2024-02-26 13:37:49.000000000 +0100 ++++ xfig-3.2.9/src/u_fonts.h 2024-02-26 14:05:16.718889666 +0100 +@@ -77,7 +77,7 @@ extern struct _fstruct latex_fontinfo[]; + * need to map the byte characters into UTF-8 multi byte characters. + * This to make XftTextExtentsUtf8() and XftDrawStringUtf8() working. + */ +-typedef XftChar8 (*map_f)(XftChar8); ++typedef XftChar32 (*map_f)(XftChar8); + extern XftChar32 map_dingbats(XftChar8); + extern XftChar32 map_symbols(XftChar8); + extern map_f adobe_charset(XftFont *font); diff --git a/xfig.spec b/xfig.spec index a3c2bcc..f40d049 100644 --- a/xfig.spec +++ b/xfig.spec @@ -21,6 +21,8 @@ Patch1: Fix-exporting-only-active-layers-ticket-163.patch # https://bugzilla.redhat.com/show_bug.cgi?id=2260359 # https://sourceforge.net/p/mcj/xfig/ci/1e2d842875502b4ce0e74ec779454304c71efe54/ Patch2: 0001-Map-symbol-and-dingbat-glyphs-to-their-unicode-locat.patch +# compile fix for above patch +Patch3: xfig-3.2.9-compile-fix.patch #Patch0: xfig-3.2.5a-default-apps.patch #Patch1: xfig-3.2.5-urwfonts.patch From 4aeded16a42ab5b35ef853c7ab05fc4963b2dbae Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 20 Jul 2024 10:04:37 +0000 Subject: [PATCH 35/40] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild --- xfig.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xfig.spec b/xfig.spec index f40d049..0c5cf6d 100644 --- a/xfig.spec +++ b/xfig.spec @@ -3,7 +3,7 @@ Summary: An X Window System tool for drawing basic vector graphics Name: xfig Version: 3.2.9 -Release: 4%{?dist} +Release: 5%{?dist} License: MIT URL: https://en.wikipedia.org/wiki/Xfig Source0: http://downloads.sourceforge.net/mcj/xfig-%{version}.tar.xz @@ -120,6 +120,9 @@ appstream-util validate-relax --nonet \ %changelog +* Sat Jul 20 2024 Fedora Release Engineering - 3.2.9-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + * Mon Feb 26 2024 Hans de Goede - 3.2.9-4 - Fix missing Dingbats and Symbol glyphs - Resolves: rhbz#2260359 From 25fb80a93080ec0fb3c12dc79aab069dbcd4bad1 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sun, 19 Jan 2025 15:50:30 +0000 Subject: [PATCH 36/40] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild --- xfig.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xfig.spec b/xfig.spec index 0c5cf6d..4722ea4 100644 --- a/xfig.spec +++ b/xfig.spec @@ -3,7 +3,7 @@ Summary: An X Window System tool for drawing basic vector graphics Name: xfig Version: 3.2.9 -Release: 5%{?dist} +Release: 6%{?dist} License: MIT URL: https://en.wikipedia.org/wiki/Xfig Source0: http://downloads.sourceforge.net/mcj/xfig-%{version}.tar.xz @@ -120,6 +120,9 @@ appstream-util validate-relax --nonet \ %changelog +* Sun Jan 19 2025 Fedora Release Engineering - 3.2.9-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + * Sat Jul 20 2024 Fedora Release Engineering - 3.2.9-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild From da28ae8028e2c4d6aaa9e6bae3b92244e115bc42 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 25 Jul 2025 20:50:36 +0000 Subject: [PATCH 37/40] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild --- xfig.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xfig.spec b/xfig.spec index 4722ea4..d535632 100644 --- a/xfig.spec +++ b/xfig.spec @@ -3,7 +3,7 @@ Summary: An X Window System tool for drawing basic vector graphics Name: xfig Version: 3.2.9 -Release: 6%{?dist} +Release: 7%{?dist} License: MIT URL: https://en.wikipedia.org/wiki/Xfig Source0: http://downloads.sourceforge.net/mcj/xfig-%{version}.tar.xz @@ -120,6 +120,9 @@ appstream-util validate-relax --nonet \ %changelog +* Fri Jul 25 2025 Fedora Release Engineering - 3.2.9-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + * Sun Jan 19 2025 Fedora Release Engineering - 3.2.9-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild From 0b394da35bfb4ba5cb4240454973fbd4377b4d97 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Wed, 6 Aug 2025 22:00:49 +0200 Subject: [PATCH 38/40] Update to 3.2.9a + latest git changes to fix build with -std=c11 Switch to upstream appdata/metainfo and desktop file Drop all patches (all upstreamed) Resolves: rhbz#2341567 Resolves: rhbz#2385740 --- .gitignore | 1 + ...ingbat-glyphs-to-their-unicode-locat.patch | 644 ------------------ ...orting-only-active-layers-ticket-163.patch | 29 - Sanitize-a-call-to-realloc-ticket-165.patch | 44 -- sources | 2 +- xfig-3.2.9-compile-fix.patch | 13 - xfig.appdata.xml | 31 - xfig.desktop | 49 -- xfig.rpmlintrc | 5 +- xfig.spec | 52 +- 10 files changed, 25 insertions(+), 845 deletions(-) delete mode 100644 0001-Map-symbol-and-dingbat-glyphs-to-their-unicode-locat.patch delete mode 100644 Fix-exporting-only-active-layers-ticket-163.patch delete mode 100644 Sanitize-a-call-to-realloc-ticket-165.patch delete mode 100644 xfig-3.2.9-compile-fix.patch delete mode 100644 xfig.appdata.xml delete mode 100644 xfig.desktop diff --git a/.gitignore b/.gitignore index c4eacca..26e4cf7 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,4 @@ xfig.3.2.5b.full.tar.gz /xfig-3.2.8a.tar.xz /xfig-3.2.8b.tar.xz /xfig-3.2.9.tar.xz +/mcj-xfig-ce9782a404b6a527393839369aac13dcfb66ff16.zip diff --git a/0001-Map-symbol-and-dingbat-glyphs-to-their-unicode-locat.patch b/0001-Map-symbol-and-dingbat-glyphs-to-their-unicode-locat.patch deleted file mode 100644 index cc47580..0000000 --- a/0001-Map-symbol-and-dingbat-glyphs-to-their-unicode-locat.patch +++ /dev/null @@ -1,644 +0,0 @@ -From 1e2d842875502b4ce0e74ec779454304c71efe54 Mon Sep 17 00:00:00 2001 -From: "Dr. Werner Fink" -Date: Sat, 30 Sep 2023 23:10:46 +0200 -Subject: [PATCH] Map symbol and dingbat glyphs to their unicode locations - -Under suse, symbol and dingbat glyphs are not displayed without -remapping to their correct unicode code points. Based on the -mappings defined in -usr/share/fonts/encodings/adobe-dingbats.enc.gz and -/usr/share/fonts/encodings/adobe-symbol.enc.gz. -Also include some aliases for these two fonts. -Under archlinux and debian, these mappings were not necessary, but -do not seem to do any harm. ---- - src/u_fonts.c | 500 ++++++++++++++++++++++++++++++++++++++++++++++- - src/u_fonts.h | 11 ++ - src/w_drawprim.c | 17 +- - 3 files changed, 516 insertions(+), 12 deletions(-) - -diff --git a/src/u_fonts.c b/src/u_fonts.c -index b29d0ea..5e454eb 100644 ---- a/src/u_fonts.c -+++ b/src/u_fonts.c -@@ -124,9 +124,9 @@ const char *const xft_name[NUM_FONTS] = { - "palatino:italic", /* Palatino-Italic */ - "palatino:bold", /* Palatino-Bold */ - "palatino:bold:italic", /* Palatino-BoldItalic */ -- "symbol", /* Symbol */ -+ "symbol,StandardSymbolsPS,StandardSymbolsL", /* Symbol */ - "zapfchancery:medium:italic", /* ZapfChancery-MediumItalic */ -- "zapfdingbats" /* ZapfDingbats */ -+ "zapfdingbats,ITCZapfDingbats,Dingbats,D050000L" /* ZapfDingbats */ - }; - - -@@ -307,6 +307,7 @@ textextents(F_text *t) - { - XGlyphInfo extents; - XftFont *rotfont; -+ map_f map = NULL; - int len = (int)strlen(t->cstring); - - /* shortcut, nothing to do for an empty string */ -@@ -325,8 +326,20 @@ textextents(F_text *t) - /* Get the font at native Fig resolution (often, 1200 ppi) */ - rotfont = getfont(psfont_text(t), t->font, t->size * ZOOM_FACTOR, - (double)t->angle); -- XftTextExtentsUtf8(tool_d, rotfont, (XftChar8 *)t->cstring, len, -- &extents); -+ if ((map = adobe_charset(rotfont))) { -+ XftChar32 glyphs[len], *glyph; -+ XftChar8 *s = (XftChar8 *)t->cstring; -+ int glen = 0; -+ -+ for (XftChar8 *chr = s; chr < s+len; chr++) { -+ XftChar32 glyph = XftCharIndex(tool_d, rotfont, map(*chr)); -+ if (glyph) -+ glyphs[glen++] = glyph; -+ } -+ XftGlyphExtents(tool_d, rotfont, glyphs, glen, &extents); -+ } else -+ XftTextExtentsUtf8(tool_d, rotfont, (XftChar8 *)t->cstring, len, -+ &extents); - /* libxft keeps the last 16, closed fonts in cache. - Hence, no need to keep rotfont open, in our own cache. */ - closefont(rotfont); -@@ -409,13 +422,27 @@ textextents(F_text *t) - } else { - /* a font at an angle */ - XftFont *horfont; -+ map_f map = NULL; - double cosa, sina; - struct f_pos tl, bl, tr, br; - - horfont = getfont(psfont_text(t), t->font, - t->size * ZOOM_FACTOR, 0.0); -- XftTextExtentsUtf8(tool_d, horfont, (XftChar8 *)t->cstring, len, -- &extents); -+ if ((map = adobe_charset(horfont))) { -+ XftChar32 glyphs[len], *glyph; -+ XftChar8 *s = (XftChar8 *)t->cstring; -+ int glen = 0; -+ -+ for (XftChar8 *chr = s; chr < s+len; chr++) { -+ XftChar32 glyph = XftCharIndex(tool_d, horfont, map(*chr)); -+ if (glyph) -+ glyphs[glen++] = glyph; -+ } -+ XftGlyphExtents(tool_d, horfont, glyphs, glen, &extents); -+ } else { -+ XftTextExtentsUtf8(tool_d, horfont, (XftChar8 *)t->cstring, -+ len, &extents); -+ } - /* See above, libxft keeps a cache of 16 closed fonts. */ - closefont(horfont); - -@@ -453,11 +480,25 @@ int - textlength(XftFont *horfont, XftChar8 *string, int len) - { - XGlyphInfo extents; -+ map_f map = NULL; - - if (len == 0) - return 0; - -- XftTextExtentsUtf8(tool_d, horfont, string, len, &extents); -+ if ((map = adobe_charset(horfont))) { -+ XftChar32 glyphs[len], *glyph; -+ XftChar8 *chr, *s = string; -+ int glen = 0; -+ -+ for (XftChar8 *chr = s; chr < s+len; chr++) { -+ XftChar32 glyph = XftCharIndex(tool_d, horfont, map(*chr)); -+ if (glyph) -+ glyphs[glen++] = glyph; -+ } -+ XftGlyphExtents(tool_d, horfont, glyphs, glen, &extents); -+ } else { -+ XftTextExtentsUtf8(tool_d, horfont, string, len, &extents); -+ } - return (int)extents.xOff; - } - -@@ -473,16 +514,30 @@ textmaxheight(int psflag, int font, int size, int *ascent, int *descent) - XGlyphInfo extents; - XftFont *horfont; - XftChar8 max_height_str[] = "{|(fgjOÜ"; -+ map_f map = NULL; -+ size_t len = sizeof(max_height_str); - - horfont = getfont(psflag, font, size * ZOOM_FACTOR, 0.0); -- XftTextExtentsUtf8(tool_d, horfont, max_height_str, -- (int)sizeof(max_height_str), &extents); -+ if ((map = adobe_charset(horfont))) { -+ XftChar32 glyphs[len], *glyph; -+ XftChar8 *s = max_height_str; -+ int glen = 0; -+ -+ for (XftChar8 *chr = s; chr < s+len; chr++) { -+ XftChar32 glyph = XftCharIndex(tool_d, horfont, map(*chr)); -+ if (glyph) -+ glyphs[glen++] = glyph; -+ } -+ XftGlyphExtents(tool_d, horfont, glyphs, glen, &extents); -+ } else { -+ XftTextExtentsUtf8(tool_d, horfont, max_height_str, -+ (int)len, &extents); -+ } - closefont(horfont); - *ascent = extents.y; - *descent = extents.height - extents.y; - } - -- - /* - * Return the drawing origin, given the marker position (base_x, base_y) - * and the alignment. -@@ -510,3 +565,428 @@ text_origin(int *draw_x, int *draw_y, int base_x, int base_y, int align, - break; - } - } -+/* -+ * Unicode mapping found in -+ * /usr/share/fonts/encodings/adobe-dingbats.enc.gz -+ */ -+XftChar32 map_dingbats(XftChar8 in) -+{ -+ switch (in) { -+ case 0x20: return 0x0020; /* SPACE */ -+ case 0x21: return 0x2701; /* UPPER BLADE SCISSORS */ -+ case 0x22: return 0x2702; /* BLACK SCISSORS */ -+ case 0x23: return 0x2703; /* LOWER BLADE SCISSORS */ -+ case 0x24: return 0x2704; /* WHITE SCISSORS */ -+ case 0x25: return 0x260E; /* BLACK TELEPHONE */ -+ case 0x26: return 0x2706; /* TELEPHONE LOCATION SIGN */ -+ case 0x27: return 0x2707; /* TAPE DRIVE */ -+ case 0x28: return 0x2708; /* AIRPLANE */ -+ case 0x29: return 0x2709; /* ENVELOPE */ -+ case 0x2A: return 0x261B; /* BLACK RIGHT POINTING INDEX */ -+ case 0x2B: return 0x261E; /* WHITE RIGHT POINTING INDEX */ -+ case 0x2C: return 0x270C; /* VICTORY HAND */ -+ case 0x2D: return 0x270D; /* WRITING HAND */ -+ case 0x2E: return 0x270E; /* LOWER RIGHT PENCIL */ -+ case 0x2F: return 0x270F; /* PENCIL */ -+ case 0x30: return 0x2710; /* UPPER RIGHT PENCIL */ -+ case 0x31: return 0x2711; /* WHITE NIB */ -+ case 0x32: return 0x2712; /* BLACK NIB */ -+ case 0x33: return 0x2713; /* CHECK MARK */ -+ case 0x34: return 0x2714; /* HEAVY CHECK MARK */ -+ case 0x35: return 0x2715; /* MULTIPLICATION X */ -+ case 0x36: return 0x2716; /* HEAVY MULTIPLICATION X */ -+ case 0x37: return 0x2717; /* BALLOT X */ -+ case 0x38: return 0x2718; /* HEAVY BALLOT X */ -+ case 0x39: return 0x2719; /* OUTLINED GREEK CROSS */ -+ case 0x3A: return 0x271A; /* HEAVY GREEK CROSS */ -+ case 0x3B: return 0x271B; /* OPEN CENTRE CROSS */ -+ case 0x3C: return 0x271C; /* HEAVY OPEN CENTRE CROSS */ -+ case 0x3D: return 0x271D; /* LATIN CROSS */ -+ case 0x3E: return 0x271E; /* SHADOWED WHITE LATIN CROSS */ -+ case 0x3F: return 0x271F; /* OUTLINED LATIN CROSS */ -+ case 0x40: return 0x2720; /* MALTESE CROSS */ -+ case 0x41: return 0x2721; /* STAR OF DAVID */ -+ case 0x42: return 0x2722; /* FOUR TEARDROP-SPOKED ASTERISK */ -+ case 0x43: return 0x2723; /* FOUR BALLOON-SPOKED ASTERISK */ -+ case 0x44: return 0x2724; /* HEAVY FOUR BALLOON-SPOKED ASTERISK */ -+ case 0x45: return 0x2725; /* FOUR CLUB-SPOKED ASTERISK */ -+ case 0x46: return 0x2726; /* BLACK FOUR POINTED STAR */ -+ case 0x47: return 0x2727; /* WHITE FOUR POINTED STAR */ -+ case 0x48: return 0x2605; /* BLACK STAR */ -+ case 0x49: return 0x2729; /* STRESS OUTLINED WHITE STAR */ -+ case 0x4A: return 0x272A; /* CIRCLED WHITE STAR */ -+ case 0x4B: return 0x272B; /* OPEN CENTRE BLACK STAR */ -+ case 0x4C: return 0x272C; /* BLACK CENTRE WHITE STAR */ -+ case 0x4D: return 0x272D; /* OUTLINED BLACK STAR */ -+ case 0x4E: return 0x272E; /* HEAVY OUTLINED BLACK STAR */ -+ case 0x4F: return 0x272F; /* PINWHEEL STAR */ -+ case 0x50: return 0x2730; /* SHADOWED WHITE STAR */ -+ case 0x51: return 0x2731; /* HEAVY ASTERISK */ -+ case 0x52: return 0x2732; /* OPEN CENTRE ASTERISK */ -+ case 0x53: return 0x2733; /* EIGHT SPOKED ASTERISK */ -+ case 0x54: return 0x2734; /* EIGHT POINTED BLACK STAR */ -+ case 0x55: return 0x2735; /* EIGHT POINTED PINWHEEL STAR */ -+ case 0x56: return 0x2736; /* SIX POINTED BLACK STAR */ -+ case 0x57: return 0x2737; /* EIGHT POINTED RECTILINEAR BLACK STAR */ -+ case 0x58: return 0x2738; /* HEAVY EIGHT POINTED RECTILINEAR BLACK STAR */ -+ case 0x59: return 0x2739; /* TWELVE POINTED BLACK STAR */ -+ case 0x5A: return 0x273A; /* SIXTEEN POINTED ASTERISK */ -+ case 0x5B: return 0x273B; /* TEARDROP-SPOKED ASTERISK */ -+ case 0x5C: return 0x273C; /* OPEN CENTRE TEARDROP-SPOKED ASTERISK */ -+ case 0x5D: return 0x273D; /* HEAVY TEARDROP-SPOKED ASTERISK */ -+ case 0x5E: return 0x273E; /* SIX PETALLED BLACK AND WHITE FLORETTE */ -+ case 0x5F: return 0x273F; /* BLACK FLORETTE */ -+ case 0x60: return 0x2740; /* WHITE FLORETTE */ -+ case 0x61: return 0x2741; /* EIGHT PETALLED OUTLINED BLACK FLORETTE */ -+ case 0x62: return 0x2742; /* CIRCLED OPEN CENTRE EIGHT POINTED STAR */ -+ case 0x63: return 0x2743; /* HEAVY TEARDROP-SPOKED PINWHEEL ASTERISK */ -+ case 0x64: return 0x2744; /* SNOWFLAKE */ -+ case 0x65: return 0x2745; /* TIGHT TRIFOLIATE SNOWFLAKE */ -+ case 0x66: return 0x2746; /* HEAVY CHEVRON SNOWFLAKE */ -+ case 0x67: return 0x2747; /* SPARKLE */ -+ case 0x68: return 0x2748; /* HEAVY SPARKLE */ -+ case 0x69: return 0x2749; /* BALLOON-SPOKED ASTERISK */ -+ case 0x6A: return 0x274A; /* EIGHT TEARDROP-SPOKED PROPELLER ASTERISK */ -+ case 0x6B: return 0x274B; /* HEAVY EIGHT TEARDROP-SPOKED PROPELLER ASTERISK */ -+ case 0x6C: return 0x25CF; /* BLACK CIRCLE */ -+ case 0x6D: return 0x274D; /* SHADOWED WHITE CIRCLE */ -+ case 0x6E: return 0x25A0; /* BLACK SQUARE */ -+ case 0x6F: return 0x274F; /* LOWER RIGHT DROP-SHADOWED WHITE SQUARE */ -+ case 0x70: return 0x2750; /* UPPER RIGHT DROP-SHADOWED WHITE SQUARE */ -+ case 0x71: return 0x2751; /* LOWER RIGHT SHADOWED WHITE SQUARE */ -+ case 0x72: return 0x2752; /* UPPER RIGHT SHADOWED WHITE SQUARE */ -+ case 0x73: return 0x25B2; /* BLACK UP-POINTING TRIANGLE */ -+ case 0x74: return 0x25BC; /* BLACK DOWN-POINTING TRIANGLE */ -+ case 0x75: return 0x25C6; /* BLACK DIAMOND */ -+ case 0x76: return 0x2756; /* BLACK DIAMOND MINUS WHITE X */ -+ case 0x77: return 0x25D7; /* RIGHT HALF BLACK CIRCLE */ -+ case 0x78: return 0x2758; /* LIGHT VERTICAL BAR */ -+ case 0x79: return 0x2759; /* MEDIUM VERTICAL BAR */ -+ case 0x7A: return 0x275A; /* HEAVY VERTICAL BAR */ -+ case 0x7B: return 0x275B; /* HEAVY SINGLE TURNED COMMA QUOTATION MARK ORNAMENT */ -+ case 0x7C: return 0x275C; /* HEAVY SINGLE COMMA QUOTATION MARK ORNAMENT */ -+ case 0x7D: return 0x275D; /* HEAVY DOUBLE TURNED COMMA QUOTATION MARK ORNAMENT */ -+ case 0x7E: return 0x275E; /* HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT */ -+ case 0x80: return 0xF8D7; /* MEDIUM LEFT PARENTHESIS ORNAMENT */ -+ case 0x81: return 0xF8D8; /* MEDIUM RIGHT PARENTHESIS ORNAMENT */ -+ case 0x82: return 0xF8D9; /* MEDIUM FLATTENED LEFT PARENTHESIS ORNAMENT */ -+ case 0x83: return 0xF8DA; /* MEDIUM FLATTENED RIGHT PARENTHESIS ORNAMENT */ -+ case 0x84: return 0xF8DB; /* MEDIUM LEFT-POINTING ANGLE BRACKET ORNAMENT */ -+ case 0x85: return 0xF8DC; /* MEDIUM RIGHT-POINTING ANGLE BRACKET ORNAMENT */ -+ case 0x86: return 0xF8DD; /* HEAVY LEFT-POINTING ANGLE QUOTATION MARK ORNAMENT */ -+ case 0x87: return 0xF8DE; /* HEAVY RIGHT-POINTING ANGLE QUOTATION MARK ORNAMENT */ -+ case 0x88: return 0xF8DF; /* HEAVY LEFT-POINTING ANGLE BRACKET ORNAMENT */ -+ case 0x89: return 0xF8E0; /* HEAVY RIGHT-POINTING ANGLE BRACKET ORNAMENT */ -+ case 0x8A: return 0xF8E1; /* LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT */ -+ case 0x8B: return 0xF8E2; /* LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT */ -+ case 0x8C: return 0xF8E3; /* MEDIUM LEFT CURLY BRACKET ORNAMENT */ -+ case 0x8D: return 0xF8E4; /* MEDIUM RIGHT CURLY BRACKET ORNAMENT */ -+ case 0xA1: return 0x2761; /* CURVED STEM PARAGRAPH SIGN ORNAMENT */ -+ case 0xA2: return 0x2762; /* HEAVY EXCLAMATION MARK ORNAMENT */ -+ case 0xA3: return 0x2763; /* HEAVY HEART EXCLAMATION MARK ORNAMENT */ -+ case 0xA4: return 0x2764; /* HEAVY BLACK HEART */ -+ case 0xA5: return 0x2765; /* ROTATED HEAVY BLACK HEART BULLET */ -+ case 0xA6: return 0x2766; /* FLORAL HEART */ -+ case 0xA7: return 0x2767; /* ROTATED FLORAL HEART BULLET */ -+ case 0xA8: return 0x2663; /* BLACK CLUB SUIT */ -+ case 0xA9: return 0x2666; /* BLACK DIAMOND SUIT */ -+ case 0xAA: return 0x2665; /* BLACK HEART SUIT */ -+ case 0xAB: return 0x2660; /* BLACK SPADE SUIT */ -+ case 0xAC: return 0x2460; /* CIRCLED DIGIT ONE */ -+ case 0xAD: return 0x2461; /* CIRCLED DIGIT TWO */ -+ case 0xAE: return 0x2462; /* CIRCLED DIGIT THREE */ -+ case 0xAF: return 0x2463; /* CIRCLED DIGIT FOUR */ -+ case 0xB0: return 0x2464; /* CIRCLED DIGIT FIVE */ -+ case 0xB1: return 0x2465; /* CIRCLED DIGIT SIX */ -+ case 0xB2: return 0x2466; /* CIRCLED DIGIT SEVEN */ -+ case 0xB3: return 0x2467; /* CIRCLED DIGIT EIGHT */ -+ case 0xB4: return 0x2468; /* CIRCLED DIGIT NINE */ -+ case 0xB5: return 0x2469; /* CIRCLED NUMBER TEN */ -+ case 0xB6: return 0x2776; /* DINGBAT NEGATIVE CIRCLED DIGIT ONE */ -+ case 0xB7: return 0x2777; /* DINGBAT NEGATIVE CIRCLED DIGIT TWO */ -+ case 0xB8: return 0x2778; /* DINGBAT NEGATIVE CIRCLED DIGIT THREE */ -+ case 0xB9: return 0x2779; /* DINGBAT NEGATIVE CIRCLED DIGIT FOUR */ -+ case 0xBA: return 0x277A; /* DINGBAT NEGATIVE CIRCLED DIGIT FIVE */ -+ case 0xBB: return 0x277B; /* DINGBAT NEGATIVE CIRCLED DIGIT SIX */ -+ case 0xBC: return 0x277C; /* DINGBAT NEGATIVE CIRCLED DIGIT SEVEN */ -+ case 0xBD: return 0x277D; /* DINGBAT NEGATIVE CIRCLED DIGIT EIGHT */ -+ case 0xBE: return 0x277E; /* DINGBAT NEGATIVE CIRCLED DIGIT NINE */ -+ case 0xBF: return 0x277F; /* DINGBAT NEGATIVE CIRCLED NUMBER TEN */ -+ case 0xC0: return 0x2780; /* DINGBAT CIRCLED SANS-SERIF DIGIT ONE */ -+ case 0xC1: return 0x2781; /* DINGBAT CIRCLED SANS-SERIF DIGIT TWO */ -+ case 0xC2: return 0x2782; /* DINGBAT CIRCLED SANS-SERIF DIGIT THREE */ -+ case 0xC3: return 0x2783; /* DINGBAT CIRCLED SANS-SERIF DIGIT FOUR */ -+ case 0xC4: return 0x2784; /* DINGBAT CIRCLED SANS-SERIF DIGIT FIVE */ -+ case 0xC5: return 0x2785; /* DINGBAT CIRCLED SANS-SERIF DIGIT SIX */ -+ case 0xC6: return 0x2786; /* DINGBAT CIRCLED SANS-SERIF DIGIT SEVEN */ -+ case 0xC7: return 0x2787; /* DINGBAT CIRCLED SANS-SERIF DIGIT EIGHT */ -+ case 0xC8: return 0x2788; /* DINGBAT CIRCLED SANS-SERIF DIGIT NINE */ -+ case 0xC9: return 0x2789; /* DINGBAT CIRCLED SANS-SERIF NUMBER TEN */ -+ case 0xCA: return 0x278A; /* DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT ONE */ -+ case 0xCB: return 0x278B; /* DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT TWO */ -+ case 0xCC: return 0x278C; /* DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT THREE */ -+ case 0xCD: return 0x278D; /* DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FOUR */ -+ case 0xCE: return 0x278E; /* DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FIVE */ -+ case 0xCF: return 0x278F; /* DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SIX */ -+ case 0xD0: return 0x2790; /* DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SEVEN */ -+ case 0xD1: return 0x2791; /* DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT EIGHT */ -+ case 0xD2: return 0x2792; /* DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT NINE */ -+ case 0xD3: return 0x2793; /* DINGBAT NEGATIVE CIRCLED SANS-SERIF NUMBER TEN */ -+ case 0xD4: return 0x2794; /* HEAVY WIDE-HEADED RIGHTWARDS ARROW */ -+ case 0xD5: return 0x2192; /* RIGHTWARDS ARROW */ -+ case 0xD6: return 0x2194; /* LEFT RIGHT ARROW */ -+ case 0xD7: return 0x2195; /* UP DOWN ARROW */ -+ case 0xD8: return 0x2798; /* HEAVY SOUTH EAST ARROW */ -+ case 0xD9: return 0x2799; /* HEAVY RIGHTWARDS ARROW */ -+ case 0xDA: return 0x279A; /* HEAVY NORTH EAST ARROW */ -+ case 0xDB: return 0x279B; /* DRAFTING POINT RIGHTWARDS ARROW */ -+ case 0xDC: return 0x279C; /* HEAVY ROUND-TIPPED RIGHTWARDS ARROW */ -+ case 0xDD: return 0x279D; /* TRIANGLE-HEADED RIGHTWARDS ARROW */ -+ case 0xDE: return 0x279E; /* HEAVY TRIANGLE-HEADED RIGHTWARDS ARROW */ -+ case 0xDF: return 0x279F; /* DASHED TRIANGLE-HEADED RIGHTWARDS ARROW */ -+ case 0xE0: return 0x27A0; /* HEAVY DASHED TRIANGLE-HEADED RIGHTWARDS ARROW */ -+ case 0xE1: return 0x27A1; /* BLACK RIGHTWARDS ARROW */ -+ case 0xE2: return 0x27A2; /* THREE-D TOP-LIGHTED RIGHTWARDS ARROWHEAD */ -+ case 0xE3: return 0x27A3; /* THREE-D BOTTOM-LIGHTED RIGHTWARDS ARROWHEAD */ -+ case 0xE4: return 0x27A4; /* BLACK RIGHTWARDS ARROWHEAD */ -+ case 0xE5: return 0x27A5; /* HEAVY BLACK CURVED DOWNWARDS AND RIGHTWARDS ARROW */ -+ case 0xE6: return 0x27A6; /* HEAVY BLACK CURVED UPWARDS AND RIGHTWARDS ARROW */ -+ case 0xE7: return 0x27A7; /* SQUAT BLACK RIGHTWARDS ARROW */ -+ case 0xE8: return 0x27A8; /* HEAVY CONCAVE-POINTED BLACK RIGHTWARDS ARROW */ -+ case 0xE9: return 0x27A9; /* RIGHT-SHADED WHITE RIGHTWARDS ARROW */ -+ case 0xEA: return 0x27AA; /* LEFT-SHADED WHITE RIGHTWARDS ARROW */ -+ case 0xEB: return 0x27AB; /* BACK-TILTED SHADOWED WHITE RIGHTWARDS ARROW */ -+ case 0xEC: return 0x27AC; /* FRONT-TILTED SHADOWED WHITE RIGHTWARDS ARROW */ -+ case 0xED: return 0x27AD; /* HEAVY LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW */ -+ case 0xEE: return 0x27AE; /* HEAVY UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW */ -+ case 0xEF: return 0x27AF; /* NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW */ -+ case 0xF1: return 0x27B1; /* NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW */ -+ case 0xF2: return 0x27B2; /* CIRCLED HEAVY WHITE RIGHTWARDS ARROW */ -+ case 0xF3: return 0x27B3; /* WHITE-FEATHERED RIGHTWARDS ARROW */ -+ case 0xF4: return 0x27B4; /* BLACK-FEATHERED SOUTH EAST ARROW */ -+ case 0xF5: return 0x27B5; /* BLACK-FEATHERED RIGHTWARDS ARROW */ -+ case 0xF6: return 0x27B6; /* BLACK-FEATHERED NORTH EAST ARROW */ -+ case 0xF7: return 0x27B7; /* HEAVY BLACK-FEATHERED SOUTH EAST ARROW */ -+ case 0xF8: return 0x27B8; /* HEAVY BLACK-FEATHERED RIGHTWARDS ARROW */ -+ case 0xF9: return 0x27B9; /* HEAVY BLACK-FEATHERED NORTH EAST ARROW */ -+ case 0xFA: return 0x27BA; /* TEARDROP-BARBED RIGHTWARDS ARROW */ -+ case 0xFB: return 0x27BB; /* HEAVY TEARDROP-SHANKED RIGHTWARDS ARROW */ -+ case 0xFC: return 0x27BC; /* WEDGE-TAILED RIGHTWARDS ARROW */ -+ case 0xFD: return 0x27BD; /* HEAVY WEDGE-TAILED RIGHTWARDS ARROW */ -+ case 0xFE: return 0x27BE; /* OPEN-OUTLINED RIGHTWARDS ARROW */ -+ default: return 0x0000; -+ } -+}; -+ -+/* -+ * Unicode mapping found in -+ * /usr/share/fonts/encodings/adobe-symbol.enc.gz -+ * Duplicates are disabled -+ */ -+XftChar32 map_symbols(XftChar8 in) -+{ -+ switch(in) { -+ case 0x20: return 0x0020; /* SPACE */ -+ case 0x21: return 0x0021; /* EXCLAMATION MARK */ -+ case 0x23: return 0x0023; /* NUMBER SIGN */ -+ case 0x25: return 0x0025; /* PERCENT SIGN */ -+ case 0x26: return 0x0026; /* AMPERSAND */ -+ case 0x28: return 0x0028; /* OPENING PARENTHESIS */ -+ case 0x29: return 0x0029; /* CLOSING PARENTHESIS */ -+ case 0x2B: return 0x002B; /* PLUS SIGN */ -+ case 0x2C: return 0x002C; /* COMMA */ -+ case 0x2E: return 0x002E; /* PERIOD */ -+ case 0x2F: return 0x002F; /* SLASH */ -+ case 0x30: return 0x0030; /* DIGIT ZERO */ -+ case 0x31: return 0x0031; /* DIGIT ONE */ -+ case 0x32: return 0x0032; /* DIGIT TWO */ -+ case 0x33: return 0x0033; /* DIGIT THREE */ -+ case 0x34: return 0x0034; /* DIGIT FOUR */ -+ case 0x35: return 0x0035; /* DIGIT FIVE */ -+ case 0x36: return 0x0036; /* DIGIT SIX */ -+ case 0x37: return 0x0037; /* DIGIT SEVEN */ -+ case 0x38: return 0x0038; /* DIGIT EIGHT */ -+ case 0x39: return 0x0039; /* DIGIT NINE */ -+ case 0x3A: return 0x003A; /* COLON */ -+ case 0x3B: return 0x003B; /* SEMICOLON */ -+ case 0x3C: return 0x003C; /* LESS-THAN SIGN */ -+ case 0x3D: return 0x003D; /* EQUALS SIGN */ -+ case 0x3E: return 0x003E; /* GREATER-THAN SIGN */ -+ case 0x3F: return 0x003F; /* QUESTION MARK */ -+ case 0x5B: return 0x005B; /* OPENING SQUARE BRACKET */ -+ case 0x5D: return 0x005D; /* CLOSING SQUARE BRACKET */ -+ case 0x5F: return 0x005F; /* SPACING UNDERSCORE */ -+ case 0x7B: return 0x007B; /* OPENING CURLY BRACKET */ -+ case 0x7C: return 0x007C; /* VERTICAL BAR */ -+ case 0x7D: return 0x007D; /* CLOSING CURLY BRACKET */ -+ case 0xD3: return 0x00A9; /* COPYRIGHT SIGN */ -+ case 0xE3: return 0x00A9; /* COPYRIGHT SIGN */ -+ case 0xD8: return 0x00AC; /* NOT SIGN */ -+ case 0xD2: return 0x00AE; /* REGISTERED TRADE MARK SIGN */ -+ case 0xE2: return 0x00AE; /* REGISTERED TRADE MARK SIGN */ -+ case 0xB0: return 0x00B0; /* DEGREE SIGN */ -+ case 0xB1: return 0x00B1; /* PLUS-OR-MINUS SIGN */ -+ case 0xB4: return 0x00D7; /* MULTIPLICATION SIGN */ -+ case 0xB8: return 0x00F7; /* DIVISION SIGN */ -+ case 0xA6: return 0x0192; /* LATIN SMALL LETTER SCRIPT F */ -+ case 0x41: return 0x0391; /* GREEK CAPITAL LETTER ALPHA */ -+ case 0x42: return 0x0392; /* GREEK CAPITAL LETTER BETA */ -+ case 0x47: return 0x0393; /* GREEK CAPITAL LETTER GAMMA */ -+ case 0x44: return 0x0394; /* GREEK CAPITAL LETTER DELTA */ -+ case 0x45: return 0x0395; /* GREEK CAPITAL LETTER EPSILON */ -+ case 0x5A: return 0x0396; /* GREEK CAPITAL LETTER ZETA */ -+ case 0x48: return 0x0397; /* GREEK CAPITAL LETTER ETA */ -+ case 0x51: return 0x0398; /* GREEK CAPITAL LETTER THETA */ -+ case 0x49: return 0x0399; /* GREEK CAPITAL LETTER IOTA */ -+ case 0x4B: return 0x039A; /* GREEK CAPITAL LETTER KAPPA */ -+ case 0x4C: return 0x039B; /* GREEK CAPITAL LETTER LAMBDA */ -+ case 0x4D: return 0x039C; /* GREEK CAPITAL LETTER MU */ -+ case 0x4E: return 0x039D; /* GREEK CAPITAL LETTER NU */ -+ case 0x58: return 0x039E; /* GREEK CAPITAL LETTER XI */ -+ case 0x4F: return 0x039F; /* GREEK CAPITAL LETTER OMICRON */ -+ case 0x50: return 0x03A0; /* GREEK CAPITAL LETTER PI */ -+ case 0x52: return 0x03A1; /* GREEK CAPITAL LETTER RHO */ -+ case 0x53: return 0x03A3; /* GREEK CAPITAL LETTER SIGMA */ -+ case 0x54: return 0x03A4; /* GREEK CAPITAL LETTER TAU */ -+ case 0x55: return 0x03A5; /* GREEK CAPITAL LETTER UPSILON */ -+ case 0x46: return 0x03A6; /* GREEK CAPITAL LETTER PHI */ -+ case 0x43: return 0x03A7; /* GREEK CAPITAL LETTER CHI */ -+ case 0x59: return 0x03A8; /* GREEK CAPITAL LETTER PSI */ -+ case 0x57: return 0x03A9; /* GREEK CAPITAL LETTER OMEGA */ -+ case 0x61: return 0x03B1; /* GREEK SMALL LETTER ALPHA */ -+ case 0x62: return 0x03B2; /* GREEK SMALL LETTER BETA */ -+ case 0x67: return 0x03B3; /* GREEK SMALL LETTER GAMMA */ -+ case 0x64: return 0x03B4; /* GREEK SMALL LETTER DELTA */ -+ case 0x65: return 0x03B5; /* GREEK SMALL LETTER EPSILON */ -+ case 0x7A: return 0x03B6; /* GREEK SMALL LETTER ZETA */ -+ case 0x68: return 0x03B7; /* GREEK SMALL LETTER ETA */ -+ case 0x71: return 0x03B8; /* GREEK SMALL LETTER THETA */ -+ case 0x69: return 0x03B9; /* GREEK SMALL LETTER IOTA */ -+ case 0x6B: return 0x03BA; /* GREEK SMALL LETTER KAPPA */ -+ case 0x6C: return 0x03BB; /* GREEK SMALL LETTER LAMBDA */ -+ case 0x6D: return 0x03BC; /* GREEK SMALL LETTER MU */ -+ case 0x6E: return 0x03BD; /* GREEK SMALL LETTER NU */ -+ case 0x78: return 0x03BE; /* GREEK SMALL LETTER XI */ -+ case 0x6F: return 0x03BF; /* GREEK SMALL LETTER OMICRON */ -+ case 0x70: return 0x03C0; /* GREEK SMALL LETTER PI */ -+ case 0x72: return 0x03C1; /* GREEK SMALL LETTER RHO */ -+ case 0x56: return 0x03C2; /* GREEK SMALL LETTER FINAL SIGMA */ -+ case 0x73: return 0x03C3; /* GREEK SMALL LETTER SIGMA */ -+ case 0x74: return 0x03C4; /* GREEK SMALL LETTER TAU */ -+ case 0x75: return 0x03C5; /* GREEK SMALL LETTER UPSILON */ -+ case 0x66: return 0x03C6; /* GREEK SMALL LETTER PHI */ -+ case 0x63: return 0x03C7; /* GREEK SMALL LETTER CHI */ -+ case 0x79: return 0x03C8; /* GREEK SMALL LETTER PSI */ -+ case 0x77: return 0x03C9; /* GREEK SMALL LETTER OMEGA */ -+ case 0x4A: return 0x03D1; /* GREEK SMALL LETTER SCRIPT THETA */ -+ case 0xA1: return 0x03D2; /* GREEK CAPITAL LETTER UPSILON HOOK */ -+ case 0x6A: return 0x03D5; /* GREEK SMALL LETTER SCRIPT PHI */ -+ case 0x76: return 0x03D6; /* GREEK SMALL LETTER OMEGA PI */ -+ case 0xB7: return 0x2022; /* BULLET */ -+ case 0xBC: return 0x2026; /* HORIZONTAL ELLIPSIS */ -+ case 0xA2: return 0x2032; /* PRIME */ -+ case 0xB2: return 0x2033; /* DOUBLE PRIME */ -+ case 0x60: return 0x203E; /* SPACING OVERSCORE */ -+ case 0xA4: return 0x2044; /* FRACTION SLASH */ -+ case 0xC1: return 0x2111; /* BLACK-LETTER I */ -+ case 0xC3: return 0x2118; /* SCRIPT P */ -+ case 0xC2: return 0x211C; /* BLACK-LETTER R */ -+ case 0xD4: return 0x2122; /* TRADEMARK */ -+ case 0xE4: return 0x2122; /* TRADEMARK */ -+/* case 0x57: return 0x2126; /* OHM */ -+ case 0xC0: return 0x2135; /* FIRST TRANSFINITE CARDINAL */ -+ case 0xAC: return 0x2190; /* LEFT ARROW */ -+ case 0xAD: return 0x2191; /* UP ARROW */ -+ case 0xAE: return 0x2192; /* RIGHT ARROW */ -+ case 0xAF: return 0x2193; /* DOWN ARROW */ -+ case 0xAB: return 0x2194; /* LEFT RIGHT ARROW */ -+ case 0xBF: return 0x21B5; /* DOWN ARROW WITH CORNER LEFT */ -+ case 0xDC: return 0x21D0; /* LEFT DOUBLE ARROW */ -+ case 0xDD: return 0x21D1; /* UP DOUBLE ARROW */ -+ case 0xDE: return 0x21D2; /* RIGHT DOUBLE ARROW */ -+ case 0xDF: return 0x21D3; /* DOWN DOUBLE ARROW */ -+ case 0xDB: return 0x21D4; /* LEFT RIGHT DOUBLE ARROW */ -+ case 0x22: return 0x2200; /* FOR ALL */ -+ case 0xB6: return 0x2202; /* PARTIAL DIFFERENTIAL */ -+ case 0x24: return 0x2203; /* THERE EXISTS */ -+ case 0xC6: return 0x2205; /* EMPTY SET */ -+/* case 0x44: return 0x2206; /* INCREMENT */ -+ case 0xD1: return 0x2207; /* NABLA */ -+ case 0xCE: return 0x2208; /* ELEMENT OF */ -+ case 0xCF: return 0x2209; /* NOT AN ELEMENT OF */ -+ case 0x27: return 0x220B; /* CONTAINS AS MEMBER */ -+ case 0xD5: return 0x220F; /* N-ARY PRODUCT */ -+ case 0xE5: return 0x2211; /* N-ARY SUMMATION */ -+ case 0x2D: return 0x2212; /* MINUS SIGN */ -+/* case 0xA4: return 0x2215; /* DIVISION SLASH */ -+ case 0x2A: return 0x2217; /* ASTERISK OPERATOR */ -+ case 0xD6: return 0x221A; /* SQUARE ROOT */ -+ case 0xB5: return 0x221D; /* PROPORTIONAL TO */ -+ case 0xA5: return 0x221E; /* INFINITY */ -+ case 0xD0: return 0x2220; /* ANGLE */ -+ case 0xD9: return 0x2227; /* LOGICAL AND */ -+ case 0xDA: return 0x2228; /* LOGICAL OR */ -+ case 0xC7: return 0x2229; /* INTERSECTION */ -+ case 0xC8: return 0x222A; /* UNION */ -+ case 0xF2: return 0x222B; /* INTEGRAL */ -+ case 0x5C: return 0x2234; /* THEREFORE */ -+ case 0x7E: return 0x223C; /* TILDE OPERATOR */ -+ case 0x40: return 0x2245; /* APPROXIMATELY EQUAL TO */ -+ case 0xBB: return 0x2248; /* ALMOST EQUAL TO */ -+ case 0xB9: return 0x2260; /* NOT EQUAL TO */ -+ case 0xBA: return 0x2261; /* IDENTICAL TO */ -+ case 0xA3: return 0x2264; /* LESS THAN OR EQUAL TO */ -+ case 0xB3: return 0x2265; /* GREATER THAN OR EQUAL TO */ -+ case 0xCC: return 0x2282; /* SUBSET OF */ -+ case 0xC9: return 0x2283; /* SUPERSET OF */ -+ case 0xCB: return 0x2284; /* NOT A SUBSET OF */ -+ case 0xCD: return 0x2286; /* SUBSET OF OR EQUAL TO */ -+ case 0xCA: return 0x2287; /* SUPERSET OF OR EQUAL TO */ -+ case 0xC5: return 0x2295; /* CIRCLED PLUS */ -+ case 0xC4: return 0x2297; /* CIRCLED TIMES */ -+ case 0x5E: return 0x22A5; /* UP TACK */ -+ case 0xD7: return 0x22C5; /* DOT OPERATOR */ -+ case 0xF3: return 0x2320; /* TOP HALF INTEGRAL */ -+ case 0xF5: return 0x2321; /* BOTTOM HALF INTEGRAL */ -+ case 0xE1: return 0x2329; /* BRA */ -+ case 0xF1: return 0x232A; /* KET */ -+ case 0xE0: return 0x25CA; /* LOZENGE */ -+ case 0xAA: return 0x2660; /* BLACK SPADE SUIT */ -+ case 0xA7: return 0x2663; /* BLACK CLUB SUIT */ -+ case 0xA9: return 0x2665; /* BLACK HEART SUIT */ -+ case 0xA8: return 0x2666; /* BLACK DIAMOND SUIT */ -+ default: return 0x0000; -+ } -+}; -+ -+map_f adobe_charset(XftFont *font) -+{ -+ map_f map = NULL; -+ -+ /* -+ * Hack: does this font has small a in its charset? -+ * If not it is likly a Symbol or a Dingbats derivate. -+ */ -+ if (XftCharExists(tool_d, font, 0x61)) -+ return NULL; -+ else { -+ XftChar8 *pattern = FcNameUnparse(font->pattern); -+ char *fullname; -+ -+ if ((fullname = strcasestr((char*)pattern, "fullname="))) { -+ char *colon; -+ -+ fullname += 9; -+ if (colon = strchr(fullname, ':')) -+ *colon = '\0'; -+ if (strcasestr(fullname, "symbol")) -+ map = map_symbols; -+ else if (strcasestr(fullname, "dingbats")) -+ map = map_dingbats; -+ else if (strcasestr(fullname, "d050000l")) -+ map = map_dingbats; -+ free(pattern); -+ } -+ } -+ return map; -+} -diff --git a/src/u_fonts.h b/src/u_fonts.h -index 10b5f7c..725161a 100644 ---- a/src/u_fonts.h -+++ b/src/u_fonts.h -@@ -71,4 +71,15 @@ extern void text_origin(int *draw_x, int *draw_y, int base_x, int base_y, - extern struct _fstruct ps_fontinfo[]; - extern struct _fstruct latex_fontinfo[]; - -+/* -+ * For (ITC) Zapf Dingbats, URW Dingbats, or URW D050000L as well -+ * as Symbol, Standard Symbols PS, or URW Standard Symbols L we -+ * need to map the byte characters into UTF-8 multi byte characters. -+ * This to make XftTextExtentsUtf8() and XftDrawStringUtf8() working. -+ */ -+typedef XftChar8 (*map_f)(XftChar8); -+extern XftChar32 map_dingbats(XftChar8); -+extern XftChar32 map_symbols(XftChar8); -+extern map_f adobe_charset(XftFont *font); -+ - #endif /* U_FONTS_H */ -diff --git a/src/w_drawprim.c b/src/w_drawprim.c -index 959e3a6..7487833 100644 ---- a/src/w_drawprim.c -+++ b/src/w_drawprim.c -@@ -162,6 +162,8 @@ pw_xfttext(XftDraw *xftdraw, int x, int y, int depth, XftFont *font, - { - int zy = ZOOMY(y); - int zx = ZOOMX(x); -+ size_t len = strlen(s); -+ map_f map = NULL; - /* XGlyphInfo extents; */ - - if (*s == '\0') -@@ -181,8 +183,19 @@ pw_xfttext(XftDraw *xftdraw, int x, int y, int depth, XftFont *font, - if (check_cancel()) - return; - -- XftDrawStringUtf8(xftdraw, &xftcolor[c], font, zx, zy, (XftChar8 *)s, -- (int)strlen(s)); -+ if ((map = adobe_charset(font))) { -+ XftChar32 glyphs[len]; -+ int glen = 0; -+ -+ for (XftChar8 *chr = (XftChar8 *)s; chr < s+len; chr++) { -+ XftChar32 glyph = XftCharIndex(tool_d, font, map(*chr)); -+ if (glyph) -+ glyphs[glen++] = glyph; -+ } -+ XftDrawGlyphs(xftdraw, &xftcolor[c], font, zx, zy, glyphs, glen); -+ } else -+ XftDrawStringUtf8(xftdraw, &xftcolor[c], font, zx, zy, -+ (XftChar8*)s, (int)len); - } - - /* print "string" in window "w" using font specified in fstruct --- -2.43.0 - diff --git a/Fix-exporting-only-active-layers-ticket-163.patch b/Fix-exporting-only-active-layers-ticket-163.patch deleted file mode 100644 index dabc1c1..0000000 --- a/Fix-exporting-only-active-layers-ticket-163.patch +++ /dev/null @@ -1,29 +0,0 @@ -From a4a2f3f3aa29ec7fc84f9d782306b37bbe75025c Mon Sep 17 00:00:00 2001 -From: Thomas Loimer -Date: Sun, 31 Dec 2023 22:51:29 +0100 -Subject: [PATCH] Fix exporting only active layers, ticket #163 - ---- - src/u_print.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/u_print.c b/src/u_print.c -index c24c096..57921b3 100644 ---- a/src/u_print.c -+++ b/src/u_print.c -@@ -861,10 +861,10 @@ build_layer_list(char *layers) - } - if (len < notlen && firstyes != -1) { - /* use list of layers TO print */ -- sprintf(layers," -D +%s ",list); -+ sprintf(layers, "+%s", list); - } else if (firstno != -1){ - /* use list of layers to NOT print */ -- sprintf(layers," -D -%s ",notlist); -+ sprintf(layers, "-%s", notlist); - } - } - --- -2.39.2 - diff --git a/Sanitize-a-call-to-realloc-ticket-165.patch b/Sanitize-a-call-to-realloc-ticket-165.patch deleted file mode 100644 index 94b8246..0000000 --- a/Sanitize-a-call-to-realloc-ticket-165.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 68403622a6f6c7d74f73e38989cfc0ed86fb83fc Mon Sep 17 00:00:00 2001 -From: Thomas Loimer -Date: Sun, 31 Dec 2023 15:18:45 +0100 -Subject: [PATCH] Sanitize a call to realloc(), ticket #165 - ---- - src/u_print.c | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/src/u_print.c b/src/u_print.c -index 2ed385f..c24c096 100644 ---- a/src/u_print.c -+++ b/src/u_print.c -@@ -130,7 +130,7 @@ start_argumentlist(char *arg[restrict], char argbuf[restrict][ARGBUF_SIZE], - arg[0] = fig2dev_cmd; - arg[1] = "-L"; - *a = 2; /* arg[2] will be the output language */ -- if (appres.magnification < 99.99 | appres.magnification > 100.01) { -+ if (appres.magnification < 99.99 || appres.magnification > 100.01) { - int n; - arg[++*a] = "-m"; - n = snprintf(argbuf[++*b], ARGBUF_SIZE, -@@ -531,6 +531,7 @@ print_export(char *file, int xoff, int yoff, char *backgrnd, char *transparent, - } else if (cur_exp_lang == LANG_PSTEX || - cur_exp_lang == LANG_PDFTEX) { - size_t len = strlen(outfile); -+ char *s; - - /* Options were already set above - - output the first file */ -@@ -544,8 +545,9 @@ print_export(char *file, int xoff, int yoff, char *backgrnd, char *transparent, - goto free_outfile; - } - memcpy(tmp_name, outfile, len + 1); -- if (!realloc(outfile, len + 3)) { -+ if (!(outfile = realloc(s = outfile, len + 3))) { - ret = 1; -+ outfile = s; /* for free(outfile) below */ - goto free_tmp_name; - } - strcpy(outfile + len, "_t"); --- -2.39.2 - diff --git a/sources b/sources index 17e233c..221c443 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (xfig-3.2.9.tar.xz) = ec33476ca4349cdc106ac2308c61f6ecd014bb7331a4fc3616c9f94b93bdc391ce9affe87139c70da88549449b45309d6d9ec78a1e8477450bda4bc370cbbc9a +SHA512 (mcj-xfig-ce9782a404b6a527393839369aac13dcfb66ff16.zip) = a0d483d77edb16d869596a53f89783efd232832b4447089227f34ff552836209f595e5cc9f179242386e85f6f8378607433913720aab29b9d69a2a4007404b47 SHA512 (xfig-icons.tar.gz) = f7d9b314d57994d479712740dcac4a2c924ddacea028db1c6cdeef36fb7d846885c45d21499f7453c750c265eeb5877e4b032454911ce91667ccc550cb2112e5 diff --git a/xfig-3.2.9-compile-fix.patch b/xfig-3.2.9-compile-fix.patch deleted file mode 100644 index 6ca38bc..0000000 --- a/xfig-3.2.9-compile-fix.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -up xfig-3.2.9/configure~ xfig-3.2.9/configure -diff -up xfig-3.2.9/src/u_fonts.h~ xfig-3.2.9/src/u_fonts.h ---- xfig-3.2.9/src/u_fonts.h~ 2024-02-26 13:37:49.000000000 +0100 -+++ xfig-3.2.9/src/u_fonts.h 2024-02-26 14:05:16.718889666 +0100 -@@ -77,7 +77,7 @@ extern struct _fstruct latex_fontinfo[]; - * need to map the byte characters into UTF-8 multi byte characters. - * This to make XftTextExtentsUtf8() and XftDrawStringUtf8() working. - */ --typedef XftChar8 (*map_f)(XftChar8); -+typedef XftChar32 (*map_f)(XftChar8); - extern XftChar32 map_dingbats(XftChar8); - extern XftChar32 map_symbols(XftChar8); - extern map_f adobe_charset(XftFont *font); diff --git a/xfig.appdata.xml b/xfig.appdata.xml deleted file mode 100644 index 52787f6..0000000 --- a/xfig.appdata.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - xfig.desktop - CC0-1.0 - MIT - Xfig - Xfig drawing application - -

- Xfig is an X Window System tool for creating basic vector graphics, - including bezier curves, lines, rulers and more. The resulting - graphics can be saved, printed on PostScript printers or converted to - a variety of other formats (e.g., X11 bitmaps, Encapsulated - PostScript, LaTeX). -

-

- You should install xfig if you need a simple program to create vector - graphics. -

-
- https://en.wikipedia.org/wiki/Xfig - http://epb.lbl.gov/xfig/ - - http://mcj.sourceforge.net/images/screen-image.png - http://mcj.sourceforge.net/images/library-icon-view.png - http://mcj.sourceforge.net/images/file-panel.png - http://mcj.sourceforge.net/images/color-panel.png - http://mcj.sourceforge.net/images/dimline-panel.png - - jwrdegoede_at_fedoraproject.org -
diff --git a/xfig.desktop b/xfig.desktop deleted file mode 100644 index 0ad8a60..0000000 --- a/xfig.desktop +++ /dev/null @@ -1,49 +0,0 @@ -[Desktop Entry] -Categories=Graphics; -MimeType=image/fig;image/x-xfig; -Exec=/usr/bin/xfig %f -Icon=xfig -Type=Application -Name=Xfig -Name[eo]=XDesegno -Name[et]=Ffig -Name[ja]=xfig -Name[no]=X-figur -Comment=Xfig drawing application -Comment[bg]=Xfig ïðîãðàìà çà ðèñóâàíå -Comment[ca]=Aplicació de dibuix Xfig -Comment[cs]=Aplikace pro kreslení vektorových obrázků -Comment[da]=Xfig tegneprogram -Comment[de]=Xfig-Zeichenprogramm -Comment[el]=Xfig -Comment[eo]=Desegnilo "Xfig" -Comment[es]=Aplicación de diseño vectorial (objetos) -Comment[et]=XFig joonistusprogramm -Comment[fi]=Xfig vektoripiirto-ohjelma -Comment[fr]=Programme de dessin objet Xfig -Comment[gl]=Aplicación de debuxo (obxectos) -Comment[he]=Xfig רויצה םושיי -Comment[hr]=Program za crtanje -Comment[hu]=Rajzolóprogram -Comment[is]=Hlutbundið teikniforrit -Comment[it]=Applicazione di disegno Xfig -Comment[lt]=Xfig braižymo programa -Comment[mk]=Едноставна апликација за векторско цртање -Comment[nl]=Xfig-tekenprogramma -Comment[no]=Xfig-tegneprogram -Comment[no_NY]=Teikneprogrammet Xfig -Comment[pl]=Aplikacja do kreślenia -Comment[pt]=Aplicação de desenho -Comment[ro]=Program de desenare vectorială -Comment[ru]=Приложения для рисования векторной графики -Comment[sk]=Xfig aplikácia pre kreslenie vektorových obrázkov -Comment[sl]=Program za risanje Xfig -Comment[sr]=Xfig prgram za vektorsko crtanje -Comment[sv]=Xfig ritprogram -Comment[ta]=Xfig Ũþø ÀÂýÀ¡Î -Comment[tr]=Xfig çizim uygulaması -Comment[uk]=Xfig -Comment[zh_CN.GB2312]=Xfig 绘图应用程序 -Terminal=false -StartupNotify=false -Keywords=vector;graphics;figure;drawing; diff --git a/xfig.rpmlintrc b/xfig.rpmlintrc index d4619a7..e87b437 100644 --- a/xfig.rpmlintrc +++ b/xfig.rpmlintrc @@ -1,2 +1,5 @@ -addFilter("W: spelling-error.*") addFilter("W: invalid-url Source1") +addFilter("W: no-%check-section") +addFilter("W: files-duplicate /usr/share/") +addFilter("E: non-executable-script /usr/share/xfig/Libraries/Maps/") +addFilter("E: spelling-error") diff --git a/xfig.spec b/xfig.spec index d535632..75c7451 100644 --- a/xfig.spec +++ b/xfig.spec @@ -1,36 +1,23 @@ -%global app_defaults_dir %{_datadir}/X11/app-defaults +%global commit ce9782a404b6a527393839369aac13dcfb66ff16 +%global commitdate 20250317 +%global shortcommit %(c=%{commit}; echo ${c:0:7}) Summary: An X Window System tool for drawing basic vector graphics Name: xfig -Version: 3.2.9 -Release: 7%{?dist} +Version: 3.2.9a +Release: 1.%{commitdate}git%{shortcommit}%{?dist} License: MIT URL: https://en.wikipedia.org/wiki/Xfig -Source0: http://downloads.sourceforge.net/mcj/xfig-%{version}.tar.xz +#Source0: http://downloads.sourceforge.net/mcj/xfig-%%{version}.tar.xz +Source0: https://sourceforge.net/code-snapshots/git/m/mc/mcj/xfig.git/mcj-xfig-%{commit}.zip Source1: xfig-icons.tar.gz -Source2: xfig.desktop -Source3: xfig.appdata.xml -# https://sourceforge.net/p/mcj/tickets/165/ -# https://bugzilla.redhat.com/show_bug.cgi?id=2252679 -# https://sourceforge.net/p/mcj/xfig/ci/68403622a6f6c7d74f73e38989cfc0ed86fb83fc/ -Patch0: Sanitize-a-call-to-realloc-ticket-165.patch -# https://sourceforge.net/p/mcj/tickets/163/ -# https://sourceforge.net/p/mcj/xfig/ci/a4a2f3f3aa29ec7fc84f9d782306b37bbe75025c/ -Patch1: Fix-exporting-only-active-layers-ticket-163.patch -# https://sourceforge.net/p/mcj/tickets/159/ -# https://bugzilla.redhat.com/show_bug.cgi?id=2260359 -# https://sourceforge.net/p/mcj/xfig/ci/1e2d842875502b4ce0e74ec779454304c71efe54/ -Patch2: 0001-Map-symbol-and-dingbat-glyphs-to-their-unicode-locat.patch -# compile fix for above patch -Patch3: xfig-3.2.9-compile-fix.patch -#Patch0: xfig-3.2.5a-default-apps.patch -#Patch1: xfig-3.2.5-urwfonts.patch BuildRequires: make BuildRequires: gcc libtool BuildRequires: transfig BuildRequires: libjpeg-devel BuildRequires: libpng-devel +BuildRequires: libtiff-devel BuildRequires: libICE-devel BuildRequires: libSM-devel BuildRequires: libX11-devel @@ -43,7 +30,6 @@ BuildRequires: libXpm-devel BuildRequires: libXt-devel BuildRequires: Xaw3d-devel BuildRequires: man2html-core ImageMagick -BuildRequires: desktop-file-utils libappstream-glib # For eps preview generation Requires: ghostscript Requires: transfig @@ -72,7 +58,7 @@ graphics. %prep -%autosetup -p1 -a 1 +%autosetup -p1 -a 1 -n mcj-xfig-%{commit} for i in doc/html/japanese/button_frame.fig doc/html/japanese/japanese.ps \ doc/html/animate.js; do sed -i.orig 's/\r//' $i; touch -r $i.orig $i; rm $i.orig @@ -100,26 +86,26 @@ convert %{name}32x32.xpm \ convert %{name}64x64.xpm \ $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/64x64/apps/%{name}.png -mkdir -p $RPM_BUILD_ROOT%{_datadir}/applications -desktop-file-install --dir $RPM_BUILD_ROOT%{_datadir}/applications %{SOURCE2} -mkdir -p $RPM_BUILD_ROOT%{_datadir}/appdata -install -p -m 644 %{SOURCE3} $RPM_BUILD_ROOT%{_datadir}/appdata -appstream-util validate-relax --nonet \ - $RPM_BUILD_ROOT%{_datadir}/appdata/%{name}.appdata.xml - %files %doc %{_docdir}/%{name} %{_bindir}/%{name} %{_datadir}/%{name} %{_mandir}/man1/%{name}.1* -%{app_defaults_dir}/Fig -%{_datadir}/appdata/%{name}.appdata.xml -%{_datadir}/applications/%{name}.desktop +%{_datadir}/X11/app-defaults/Fig +%{_datadir}/metainfo/org.xfig.xfig.metainfo.xml +%{_datadir}/applications/org.xfig.xfig.desktop %{_datadir}/icons/hicolor/??x??/apps/%{name}.png %changelog +* Wed Aug 6 2025 Hans de Goede - 3.2.9a-1.20250317gitce9782a +- Update to 3.2.9a + latest git changes to fix build with -std=c11 +- Switch to upstream appdata/metainfo and desktop file +- Drop all patches (all upstreamed) +- Resolves: rhbz#2341567 +- Resolves: rhbz#2385740 + * Fri Jul 25 2025 Fedora Release Engineering - 3.2.9-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild From 8a8a141c23983dff8d27625a8c80cf1b2d4c443d Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 17 Jan 2026 20:40:35 +0000 Subject: [PATCH 39/40] Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild --- xfig.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xfig.spec b/xfig.spec index 75c7451..fc32cd5 100644 --- a/xfig.spec +++ b/xfig.spec @@ -5,7 +5,7 @@ Summary: An X Window System tool for drawing basic vector graphics Name: xfig Version: 3.2.9a -Release: 1.%{commitdate}git%{shortcommit}%{?dist} +Release: 2.%{commitdate}git%{shortcommit}%{?dist} License: MIT URL: https://en.wikipedia.org/wiki/Xfig #Source0: http://downloads.sourceforge.net/mcj/xfig-%%{version}.tar.xz @@ -99,6 +99,9 @@ convert %{name}64x64.xpm \ %changelog +* Sat Jan 17 2026 Fedora Release Engineering - 3.2.9a-2.20250317gitce9782a +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + * Wed Aug 6 2025 Hans de Goede - 3.2.9a-1.20250317gitce9782a - Update to 3.2.9a + latest git changes to fix build with -std=c11 - Switch to upstream appdata/metainfo and desktop file From 45f80125657f0726c3de37c1a428d4890190d7c4 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 17 Jul 2026 09:13:38 +0000 Subject: [PATCH 40/40] Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild --- xfig.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xfig.spec b/xfig.spec index fc32cd5..2443f40 100644 --- a/xfig.spec +++ b/xfig.spec @@ -5,7 +5,7 @@ Summary: An X Window System tool for drawing basic vector graphics Name: xfig Version: 3.2.9a -Release: 2.%{commitdate}git%{shortcommit}%{?dist} +Release: 3.%{commitdate}git%{shortcommit}%{?dist} License: MIT URL: https://en.wikipedia.org/wiki/Xfig #Source0: http://downloads.sourceforge.net/mcj/xfig-%%{version}.tar.xz @@ -99,6 +99,9 @@ convert %{name}64x64.xpm \ %changelog +* Fri Jul 17 2026 Fedora Release Engineering - 3.2.9a-3.20250317gitce9782a +- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild + * Sat Jan 17 2026 Fedora Release Engineering - 3.2.9a-2.20250317gitce9782a - Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild