SHA256
1
0
forked from pool/xfig

Compare commits

...

107 Commits

Author SHA256 Message Date
Ana Guerrero
8d2d71204d Accepting request 1235636 from graphics
- Update to xfig 3.2.9a
  this is Patchlevel 9a (Dez 2024)
  CHANGES:
  Ticket numbers refer to https://sourceforge.net/p/mcj/tickets/#.
  * Remove application resource fixedFontSet, fontSetSize.
  * Use float fontsizes, ticket #168.
  BUGS FIXED:
  * Enable compilation with libxaw, instead of libxaw3d, #138, #174.
  * Speed up drawing of a lot (thousands) of text objects, ticket #166.
  * Draw text in a user color, ticket #180.
  * Correctly place text into dimension lines, ticket #179.
  * Enable compilation on Mac Darwin, ticket #177.
  * Only print active layers if required, ticket #172.
  * Place line length values at saner locations, ticket #167.
  * Do not crash on export to pdf/latex under some circumstances, #165.
  * Export only active layers, ticket #163.
  * Sanitize sed script for build on Darwin, ticket #162.
  * Show symbol and dingbats fonts, ticket #159.
- Remove obsolete patches now upstream 
  * xfig-3.2.9-gcc14.patch
  * Fix-exporting-only-active-layers-ticket-163.patch
  * Sanitize-a-call-to-realloc-ticket-165.patch
  * 042708.patch
  * 7e0157.patch
  * a038d6.patch
  * f3466c.patch
- Remove patch xfig.3.2.3d-international-std-fonts.dif as outdated with UTF-8
- Remove patch xfig-3.2.9-dingbats.dif as we use now URW fonts only
- Port patches
  * xfig-3.2.6.dif

OBS-URL: https://build.opensuse.org/request/show/1235636
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xfig?expand=0&rev=59
2025-01-15 16:42:40 +00:00
Dr. Werner Fink
5c2fc709b6 .
OBS-URL: https://build.opensuse.org/package/show/graphics/xfig?expand=0&rev=91
2025-01-07 13:39:14 +00:00
Dr. Werner Fink
77667e59dc Update to xfig-3.2.9a (Patchlevel 9a)
OBS-URL: https://build.opensuse.org/package/show/graphics/xfig?expand=0&rev=90
2025-01-07 13:38:55 +00:00
Ana Guerrero
a84fd47c41 Accepting request 1199613 from graphics
- Add patches based on upstream commits
  * f3466c.patch
  * a038d6.patch
  * 042708.patch
  * 7e0157.patch
  https://sourceforge.net/p/mcj/tickets/179/ aka bug boo#1230298
  User defined text brakes Dimension Lines

OBS-URL: https://build.opensuse.org/request/show/1199613
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xfig?expand=0&rev=58
2024-09-09 12:45:32 +00:00
Dominique Leuenberger
4ffbfd4a74 Accepting request 1196405 from graphics
- Add patch xfig-3.2.9-gcc14.patch to make it build again

OBS-URL: https://build.opensuse.org/request/show/1196405
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xfig?expand=0&rev=57
2024-08-28 19:31:41 +00:00
Dr. Werner Fink
79d6846c01 gcc14
OBS-URL: https://build.opensuse.org/package/show/graphics/xfig?expand=0&rev=86
2024-08-28 07:03:33 +00:00
Ana Guerrero
288f09ba75 Accepting request 1137515 from graphics
- Add patches from upstream alert
  * Fix-exporting-only-active-layers-ticket-163.patch
  * Sanitize-a-call-to-realloc-ticket-165.patch

OBS-URL: https://build.opensuse.org/request/show/1137515
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xfig?expand=0&rev=56
2024-01-08 22:46:05 +00:00
Dr. Werner Fink
b940e8176d Fix problem with gcc 13 with upstream patches
OBS-URL: https://build.opensuse.org/package/show/graphics/xfig?expand=0&rev=84
2024-01-08 08:55:30 +00:00
Ana Guerrero
661476d26a Accepting request 1113365 from graphics
- Allow more uptodate urw-base35-fonts instead ghostscript-fonts-std-converted
- Require uptodate fig2dev aka transfig package to see multi byte characters
- Remove not used xfig.sh

OBS-URL: https://build.opensuse.org/request/show/1113365
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xfig?expand=0&rev=55
2023-09-25 18:03:41 +00:00
Dr. Werner Fink
018684d903 urw-base35-fonts
OBS-URL: https://build.opensuse.org/package/show/graphics/xfig?expand=0&rev=82
2023-09-25 06:58:26 +00:00
Dominique Leuenberger
6a9470e4df Accepting request 1112310 from graphics
- Update to xfig 3.2.9
  o Text objects are rendered using the xft library, querying fontconfig.
  o Relative, not absolute paths to embedded picture files are written
    to .fig files. This makes it easier to move and share .fig files.
  o Fig files are saved as utf-8 encoded unicode and all bytes, except
    backslash, are printed as is. Backslashes are escaped by a second
    backslash. The second line of generated fig files is exactly
    "#encoding: UTF-8".
    Previously, bytes with a value larger than expressable with 7 bits
    were printed as backslash-escaped three-digit octal value.
  o Remove application resources save8bit, latinKeyboard, scaleablefonts,
    fig2devLocalizeOption, encoding, eucEncoding, localeEncoding.
  Ticket numbers refer to https://sourceforge.net/p/mcj/tickets/#.
  o Compounds keep their their size after editing or updating, ticket #51.
  o Avoid crashing for large scaling, e.g., xfig -userscale 100, #144.
  o Fix crashing when embedding a pdf as the first picture, ticket #143.
- Remove obsolete patch xfig.3.2.5-urw-fonts.dif
- Add patch xfig-3.2.9-dingbats.dif to better support Symbol and Dingbats
  fonts as otherwise no glyphs will be seen
- Port the patches
  * xfig-3.2.6.dif
  * xfig.3.2.3d-international-std-fonts.dif
  * xfig.3.2.5b-fixes.dif
  * xfig.3.2.5b-locale.dif
  * xfig.3.2.5b-null.dif

OBS-URL: https://build.opensuse.org/request/show/1112310
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xfig?expand=0&rev=54
2023-09-20 11:30:20 +00:00
Dr. Werner Fink
dc8948a3c4 Update to xfig 3.2.9 which requires transfig 3.2.9
OBS-URL: https://build.opensuse.org/package/show/graphics/xfig?expand=0&rev=80
2023-09-19 13:54:47 +00:00
Dominique Leuenberger
02bbd5a9ac Accepting request 921733 from graphics
Automatic submission by obs-autosubmit

OBS-URL: https://build.opensuse.org/request/show/921733
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xfig?expand=0&rev=53
2021-09-27 18:08:59 +00:00
Dr. Werner Fink
270afe6a1a Correct fontsets
OBS-URL: https://build.opensuse.org/package/show/graphics/xfig?expand=0&rev=79
2021-09-20 10:19:35 +00:00
Dominique Leuenberger
4513596480 Accepting request 902847 from graphics
Automatic submission by obs-autosubmit

OBS-URL: https://build.opensuse.org/request/show/902847
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xfig?expand=0&rev=52
2021-06-29 20:43:04 +00:00
Dr. Werner Fink
1611eaa10e .
OBS-URL: https://build.opensuse.org/package/show/graphics/xfig?expand=0&rev=78
2021-06-21 12:11:23 +00:00
Dr. Werner Fink
7a885bbfd5 .
OBS-URL: https://build.opensuse.org/package/show/graphics/xfig?expand=0&rev=77
2021-06-21 07:28:54 +00:00
Dr. Werner Fink
9e6ab1ca59 Support older products
OBS-URL: https://build.opensuse.org/package/show/graphics/xfig?expand=0&rev=76
2021-06-18 13:29:55 +00:00
Richard Brown
5193d65bcf Accepting request 882561 from graphics
- Update to xfig 3.2.8 Patchlevel 8a (Mar 2021)
  o Distribute a current pdf documentation.
    Thanks to Roland Rosenfeld for the script and pointing out the issue.
- Correct hunk offsets of the patches
  o xfig.3.2.3d-international-std-fonts.dif
  o xfig.3.2.5b-locale.dif
  o xfig.spec

OBS-URL: https://build.opensuse.org/request/show/882561
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xfig?expand=0&rev=51
2021-04-06 15:29:48 +00:00
Dr. Werner Fink
139760bc46 Update to xfig 3.2.8a
OBS-URL: https://build.opensuse.org/package/show/graphics/xfig?expand=0&rev=74
2021-04-01 11:49:07 +00:00
Dominique Leuenberger
46cf7099f1 Accepting request 871142 from graphics
- update to 3.2.8:
  o Shift + Wheel Up pans left, Shift + Wheel Down pans right.
    Alt or Meta + Wheel Up pops up the edit panel, Alt or Meta + Wheel
    Down pops up the drawing panel. Previously, Shift + Wheel Up or Down
    popped up the edit or drawing panel, respectively, and panning
    sideways could only be achieved by moving the wheel sideways.
  o To display gif image files, either giftopnm and ppmtopcx from the
    netpbm package, imagemagick, or graphicsmagick must be installed.
  o Obey the resolution given in embedded png, tiff and jpeg image files.
  o Embedded image files are displayed in full color, not reduced to
    a maximum of 256 colors.
  o Display embedded pdf files.
  o Read version 1.3 fig files.
  o The default resolution of embedded raster images is changed
    from 80 dpi to 72 dpi.
  o Read compressed files, but do not silently uncompress them.
  o Get correct bounding box (/MediaBox) of embedded pdf files.
- remove xfig.3.2.5b-preview.dif, xfig.3.2.5b-pspdftex.dif,
  xfig.3.2.5-xim.dif: obsolete
- remove X11R6 ifdefs from spec file, this is obsolete (forwarded request 870850 from dirkmueller)

OBS-URL: https://build.opensuse.org/request/show/871142
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xfig?expand=0&rev=50
2021-02-11 11:49:43 +00:00
Dr. Werner Fink
33b8b3241f Accepting request 870850 from home:dirkmueller:branches:graphics
- update to 3.2.8:
  o Shift + Wheel Up pans left, Shift + Wheel Down pans right.
    Alt or Meta + Wheel Up pops up the edit panel, Alt or Meta + Wheel
    Down pops up the drawing panel. Previously, Shift + Wheel Up or Down
    popped up the edit or drawing panel, respectively, and panning
    sideways could only be achieved by moving the wheel sideways.
  o To display gif image files, either giftopnm and ppmtopcx from the
    netpbm package, imagemagick, or graphicsmagick must be installed.
  o Obey the resolution given in embedded png, tiff and jpeg image files.
  o Embedded image files are displayed in full color, not reduced to
    a maximum of 256 colors.
  o Display embedded pdf files.
  o Read version 1.3 fig files.
  o The default resolution of embedded raster images is changed
    from 80 dpi to 72 dpi.
  o Read compressed files, but do not silently uncompress them.
  o Get correct bounding box (/MediaBox) of embedded pdf files.
- remove xfig.3.2.5b-preview.dif, xfig.3.2.5b-pspdftex.dif,
  xfig.3.2.5-xim.dif: obsolete
- remove X11R6 ifdefs from spec file, this is obsolete

OBS-URL: https://build.opensuse.org/request/show/870850
OBS-URL: https://build.opensuse.org/package/show/graphics/xfig?expand=0&rev=72
2021-02-11 08:49:35 +00:00
Dominique Leuenberger
502ec9a38d Accepting request 743818 from graphics
- Update to xfig 3.2.7 Patchlevel 7b (Oct 2019)
  o New drawings in Electronic/Schematic library. Thanks to Niko Sauer.
  Ticket numbers refer to https://sourceforge.net/p/mcj/tickets/#.
  o When exiting, cleanly pull down all windows. Ticket #54.
  o Adding and deleting arrows to arcs works, ticket #46.
  o Allow more than 100 comment lines, ticket #47.
  o Make `xfig -update' work again, would segfault.
  o Correctly draw interpolated splines, ticket #35.
  o Position points on grid, if appres.userspacing unequal 1. Ticket #31.
- Correct hunk offsets of the patches
  * xfig.3.2.3d-international-std-fonts.dif
  * xfig.3.2.5-xim.dif
  * xfig.3.2.5b-locale.dif
  * xfig.3.2.5b-null.dif
  * xfig.3.2.5b-pspdftex.dif

OBS-URL: https://build.opensuse.org/request/show/743818
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xfig?expand=0&rev=49
2019-10-30 13:45:25 +00:00
Dr. Werner Fink
10d36783f1 Let it build
OBS-URL: https://build.opensuse.org/package/show/graphics/xfig?expand=0&rev=70
2019-10-29 11:58:30 +00:00
Dr. Werner Fink
ed4f3c9bb0 Update to xfig-3.2.7b
OBS-URL: https://build.opensuse.org/package/show/graphics/xfig?expand=0&rev=69
2019-10-29 11:15:09 +00:00
Yuchen Lin
477d35f547 Accepting request 634755 from graphics
OBS-URL: https://build.opensuse.org/request/show/634755
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xfig?expand=0&rev=48
2018-09-11 15:19:27 +00:00
f48102eee4 Accepting request 634711 from home:sndirsch:branches:graphics
- also require mkfontdir, so fonts-config can create the appropriate
  fonts.dir/fonts.scale/encodings.dir files (boo#1106850)

OBS-URL: https://build.opensuse.org/request/show/634711
OBS-URL: https://build.opensuse.org/package/show/graphics/xfig?expand=0&rev=67
2018-09-10 13:01:00 +00:00
Dr. Werner Fink
597fe24582 boo#1106850
OBS-URL: https://build.opensuse.org/package/show/graphics/xfig?expand=0&rev=66
2018-09-06 13:41:32 +00:00
Dr. Werner Fink
105ad5af85 boo#1106850
OBS-URL: https://build.opensuse.org/package/show/graphics/xfig?expand=0&rev=65
2018-09-06 11:48:47 +00:00
Dominique Leuenberger
57b317f0e0 Accepting request 605088 from graphics
- Update to xfig 3.2.7 Patchlevel 7a (May 2017)
  o Export to pdf now allows to choose between output to a full-page pdf,
    or cropping to the bounding box (the default behavior).
  o Enable horizontal scrolling with mouse buttons 6 and 7 (sideway push
    of mouse wheel, or horizontal movement on touchpad).
  o Rename the text flag "Special Flag" to "TeX Flag".
  o Interpolated splines are now created with the recommended value of the
    shape factor of -0.5, not with -1.0. A description of the shape factor
  o Really fix ticket #9, debian bug #270113. When entering the "Open.."
    dialog, moving to a new directory, pressing Cancel, a subsequent
    "Save" placed the figure file into the new directory.
  o Center canvas around cursor when zooming by pressing CTRL and using a
    wheel-mouse.
  o Apply xfig-3.2.6a-fallback-for-nonscalable-fonts.patch and
    xfig-3.2.6a-scalable-fonts.patch from Hans de Goede.
  o Apply debian patches 08_every_time.patch, 10_RELEASE_DATE.patch,
    11_declare_swap_colors.patch, from Roland Rosenfeld.
  o Apply debian patch 07_colorsliderarrows.patch. Debian bug #870365.
  o Change map of India to disputed boundaries, from
    https://en.wikipedia.org/wiki/File:India_disputed_areas_map.svg,
    retrieved 2018-02-25. Debian bug #270799, 09_india_disputed.patch
  o Prevent integer overflow in {floor,ceil}_coords_{x,y}(). Fixes debian
    bug #300436. Also prevent integer overflow in round_coords().
  o Completely remove alloca.h and alloca() from the code.
  o When entering the "Save as..." dialog, moving to a new directory and
    pressing "Cancel", a subsequent "Save" wrote to the new directory.
    This happened analogously for the "Export" dialog. Fixed, ticket #9.

OBS-URL: https://build.opensuse.org/request/show/605088
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xfig?expand=0&rev=47
2018-05-08 11:37:58 +00:00
Dr. Werner Fink
fef7d39412 Update to xfig-3.2.7a
OBS-URL: https://build.opensuse.org/package/show/graphics/xfig?expand=0&rev=63
2018-05-07 07:56:07 +00:00
Dominique Leuenberger
e52d381b6c Accepting request 581849 from graphics
OBS-URL: https://build.opensuse.org/request/show/581849
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xfig?expand=0&rev=46
2018-03-02 20:12:04 +00:00
OBS User mrdocs
12f7831a5f Accepting request 581836 from home:elvigia:branches:graphics
- use default libpng for build, problems with newer library 
  already fixed in version 3.2.6

OBS-URL: https://build.opensuse.org/request/show/581836
OBS-URL: https://build.opensuse.org/package/show/graphics/xfig?expand=0&rev=61
2018-03-01 23:36:55 +00:00
Dominique Leuenberger
5a26a4e9e1 Accepting request 454189 from graphics
- Update to xfig 3.2.6 Patchlevel 6a (January 2017)
  CHANGES:
    o Draw lines with the same width as in PostScript and other outputs.
  BUGS FIXED:
    o Add compile-switch --enable-tablet for using an input tablet.
    o Eventually, sorted out the xpm switches. Only use --enable-xpm-splash.
    o Improve ./configure and add diagnostic output. Looks now for headers
      and libraries in unusal places, for compilation under mac darwin when
      using fink or macports.

OBS-URL: https://build.opensuse.org/request/show/454189
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xfig?expand=0&rev=45
2017-02-07 11:01:12 +00:00
Dr. Werner Fink
a988e68a98 Update to 3.2.6a
OBS-URL: https://build.opensuse.org/package/show/graphics/xfig?expand=0&rev=59
2017-02-02 13:42:11 +00:00
Dominique Leuenberger
a9ac29ce4a Accepting request 450295 from graphics
Added fix for EPS preview not working (forwarded request 450227 from oliver_gtze)

OBS-URL: https://build.opensuse.org/request/show/450295
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xfig?expand=0&rev=44
2017-01-17 13:36:11 +00:00
c36028d9aa Accepting request 450227 from home:oliver_gtze:branches:graphics
Added fix for EPS preview not working

OBS-URL: https://build.opensuse.org/request/show/450227
OBS-URL: https://build.opensuse.org/package/show/graphics/xfig?expand=0&rev=57
2017-01-14 07:58:25 +00:00
Dominique Leuenberger
bb55aeea6b Accepting request 429839 from graphics
- Update to xfig 3.2.6
  New features:
    o Add compile switch to enable xpm-icon and xpm-splash screen
      independently (--enable-xpm-icon, --enable-xpm-splash).
    o New compile switch --enable-versioning, calls update_version_m4
      to get version information from a source control system.
    o Should compile on Mac (Darwin) after installing dependencies using
      Macports, Fink or Homebrew.
    o Add two rudimentary tests. Run with make check.
    o New tikz and pict2e export drivers.
    o Build using autoconf (./configure; make; make install).
  UI changes:
    From Brian V. Smith. These changes were made because the original
    view was of the drawing on the page instead of the modern view
    of the observer moving left/right/up/down:
      o Left arrow moves observer left (used to scroll canvas left)
      o Right arrow moves observer right
      o Up arrow moves observer up
      o Down arrow moves observer down
      o Ctrl+Wheel up zooms in, Ctrl+Wheel down zooms out (was the other way around)
  Bugs fixed:
    o Update documentation to LaTeX and Xfig.
    o Change \r\n to \n in all files.
    From Roland Rosenfeld <roland@spinnaker.de>:
      o Update LaTeX documentation, use \documentclass instead of
        \documentstyle, \usepackage instead of \input.
      o Builds on hurd, had to #include <limits.h> in a few places.
      o Use application/x-xfig, not image/x-xfig in xfig.desktop file.
        See https://bugs.launchpad.net/ubuntu/+source/xfig/+bug/690067 and
        https://bugs.launchpad.net/ubuntu/+source/xfig/+bug/1045848 .

OBS-URL: https://build.opensuse.org/request/show/429839
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xfig?expand=0&rev=43
2016-10-18 08:39:05 +00:00
Dr. Werner Fink
3f0e65d6e7 .
OBS-URL: https://build.opensuse.org/package/show/graphics/xfig?expand=0&rev=55
2016-09-23 14:49:23 +00:00
Dr. Werner Fink
ea9ea436e2 .
OBS-URL: https://build.opensuse.org/package/show/graphics/xfig?expand=0&rev=54
2016-09-23 14:43:34 +00:00
Dr. Werner Fink
a7d190bce9 .
OBS-URL: https://build.opensuse.org/package/show/graphics/xfig?expand=0&rev=53
2016-09-23 14:35:57 +00:00
Dr. Werner Fink
6b7f01c2a2 .
OBS-URL: https://build.opensuse.org/package/show/graphics/xfig?expand=0&rev=52
2016-09-22 10:48:04 +00:00
Dr. Werner Fink
9a044588cc .
OBS-URL: https://build.opensuse.org/package/show/graphics/xfig?expand=0&rev=51
2016-03-11 09:31:50 +00:00
Dominique Leuenberger
a7081dda9f Accepting request 312838 from graphics
1

OBS-URL: https://build.opensuse.org/request/show/312838
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xfig?expand=0&rev=42
2015-06-23 09:58:55 +00:00
26266e1909 Accepting request 312610 from home:elvigia:branches:graphics
- Remove xorg-x11-devel from builrequires, replaced 
  by the individual required libraries.

OBS-URL: https://build.opensuse.org/request/show/312610
OBS-URL: https://build.opensuse.org/package/show/graphics/xfig?expand=0&rev=49
2015-06-20 12:03:52 +00:00
Dominique Leuenberger
4d0d76d5f6 Accepting request 262329 from graphics
1

OBS-URL: https://build.opensuse.org/request/show/262329
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xfig?expand=0&rev=41
2014-11-20 17:43:22 +00:00
Dirk Stoecker
81413e4bd9 Accepting request 262246 from home:Ledest:bashisms
fix shebang in xfig.sh script: option '-a' of 'exec' command may be unsupported in other POSIX-complete shells

OBS-URL: https://build.opensuse.org/request/show/262246
OBS-URL: https://build.opensuse.org/package/show/graphics/xfig?expand=0&rev=47
2014-11-19 15:58:59 +00:00
Stephan Kulow
068688c6df Accepting request 239596 from graphics
- Fix patches 
  xfig.3.2.5b-mediaboxrealnb.dif
  xfig.3.2.5b-pspdftex.dif (bnc#882692)
- Add patch set from Debian xfig package as well
  31_spelling.patch
  39_man_hyphen.patch
  40_XAW3D1_5E_notlocal.patch
  41_mkstemp.patch (CVE-2009-1962)

OBS-URL: https://build.opensuse.org/request/show/239596
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xfig?expand=0&rev=39
2014-07-15 14:25:42 +00:00
Dr. Werner Fink
6cf13198eb .
OBS-URL: https://build.opensuse.org/package/show/graphics/xfig?expand=0&rev=45
2014-07-04 12:52:20 +00:00
Stephan Kulow
91cb7c72c2 Accepting request 221812 from graphics
- Provide a pkgconfig file for older Xaw3d package 

- Make if build for oS 13.1

OBS-URL: https://build.opensuse.org/request/show/221812
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xfig?expand=0&rev=38
2014-02-11 12:15:37 +00:00
Dr. Werner Fink
782d6fe356 .
OBS-URL: https://build.opensuse.org/package/show/graphics/xfig?expand=0&rev=43
2014-02-11 10:26:55 +00:00
Dr. Werner Fink
b6ed8475f9 .
OBS-URL: https://build.opensuse.org/package/show/graphics/xfig?expand=0&rev=42
2014-02-11 10:26:09 +00:00
Stephan Kulow
c2fc975a62 Accepting request 221762 from graphics
- Add upstream patch to patch tar ball to fix Xfig crash on
  dash-dotted lines (bnc#860322)

OBS-URL: https://build.opensuse.org/request/show/221762
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xfig?expand=0&rev=37
2014-02-11 09:59:24 +00:00
Dr. Werner Fink
b8f5414b81 .
OBS-URL: https://build.opensuse.org/package/show/graphics/xfig?expand=0&rev=40
2014-02-11 09:34:44 +00:00
Dr. Werner Fink
0f47d998d0 .
OBS-URL: https://build.opensuse.org/package/show/graphics/xfig?expand=0&rev=39
2014-02-11 08:18:59 +00:00
Stephan Kulow
7006506897 Accepting request 210384 from graphics
- Update underlying source tar ball to xfig.3.2.5c
- Delete patches 
  xfig.3.2.5b-bnc777469.diff and xfig.3.2.5b-bnc657393.dif
  as those are part of xfig.3.2.5c
- Change patches
  xfig.3.2.5-urw-fonts.dif, xfig.3.2.3d-international-std-fonts.dif,
  xfig.3.2.5b-locale.dif, xfig.3.2.5b-pspdftex.dif, and
  xfig.3.2.5b-preview.dif to fit xfig.3.2.5c
- Modify Imakefile to support new libXaw3d-1.6.2

OBS-URL: https://build.opensuse.org/request/show/210384
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xfig?expand=0&rev=36
2013-12-11 15:25:00 +00:00
Dr. Werner Fink
30d1f15777 .
OBS-URL: https://build.opensuse.org/package/show/graphics/xfig?expand=0&rev=37
2013-12-10 14:29:46 +00:00
Dr. Werner Fink
d3d335ca96 .
OBS-URL: https://build.opensuse.org/package/show/graphics/xfig?expand=0&rev=36
2013-12-10 14:27:20 +00:00
Dr. Werner Fink
7e0aa87dca .
OBS-URL: https://build.opensuse.org/package/show/graphics/xfig?expand=0&rev=35
2013-12-10 14:25:41 +00:00
Stephan Kulow
2867ab525e Accepting request 154911 from graphics
- User original patches from Debian 

- Add xfig.3.2.5b-mediaboxrealnb.dif to fix regarding pdf import,
  reported by Loic Le Guyader compare with Debian bug #530898

OBS-URL: https://build.opensuse.org/request/show/154911
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xfig?expand=0&rev=34
2013-02-12 15:46:40 +00:00
Dr. Werner Fink
951a758c3f .
OBS-URL: https://build.opensuse.org/package/show/graphics/xfig?expand=0&rev=33
2013-02-08 12:53:57 +00:00
Dr. Werner Fink
a25f2445c9 .
OBS-URL: https://build.opensuse.org/package/show/graphics/xfig?expand=0&rev=32
2013-02-08 11:15:09 +00:00
Dr. Werner Fink
81defae636 .
OBS-URL: https://build.opensuse.org/package/show/graphics/xfig?expand=0&rev=31
2013-02-07 14:15:47 +00:00
Stephan Kulow
edc6233fec Accepting request 137706 from graphics
- Add standard X11 fonts to be able to use it with xfig

OBS-URL: https://build.opensuse.org/request/show/137706
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xfig?expand=0&rev=32
2012-10-11 09:34:25 +00:00
Dr. Werner Fink
4a4e12d2ed .
OBS-URL: https://build.opensuse.org/package/show/graphics/xfig?expand=0&rev=29
2012-10-10 07:27:19 +00:00
Stephan Kulow
6c6fdfc250 Accepting request 136370 from graphics
- Fix bnc #777469 - CVE-2009-4227: xfig: stack based overflows

OBS-URL: https://build.opensuse.org/request/show/136370
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xfig?expand=0&rev=31
2012-09-29 13:38:08 +00:00
Dr. Werner Fink
9a3bb985fd .
OBS-URL: https://build.opensuse.org/package/show/graphics/xfig?expand=0&rev=27
2012-09-28 14:13:53 +00:00
Stephan Kulow
b27c6417da Accepting request 123043 from graphics
license update: MIT
SPDX compliant license short name. MIT chosen as majority of files are under this license (Fedora also chose MIT) (forwarded request 122986 from babelworx)

OBS-URL: https://build.opensuse.org/request/show/123043
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xfig?expand=0&rev=29
2012-06-01 05:25:00 +00:00
Dr. Werner Fink
ab219aa9de Accepting request 122986 from home:babelworx:ldig:branches:graphics
license update: MIT
SPDX compliant license short name. MIT chosen as majority of files are under this license (Fedora also chose MIT)

OBS-URL: https://build.opensuse.org/request/show/122986
OBS-URL: https://build.opensuse.org/package/show/graphics/xfig?expand=0&rev=25
2012-05-31 11:45:24 +00:00
Dr. Werner Fink
dfccd2d06b .
OBS-URL: https://build.opensuse.org/package/show/graphics/xfig?expand=0&rev=24
2012-05-30 11:49:39 +00:00
Stephan Kulow
09793b9220 Accepting request 88946 from graphics
- Reenable Japanese support (bnc#720554)

OBS-URL: https://build.opensuse.org/request/show/88946
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xfig?expand=0&rev=28
2011-10-21 14:47:30 +00:00
Dr. Werner Fink
5f29fd0891 .
OBS-URL: https://build.opensuse.org/package/show/graphics/xfig?expand=0&rev=21
2011-10-21 09:57:05 +00:00
Sascha Peilicke
64be7ce1a5 Autobuild autoformatter for 74035
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xfig?expand=0&rev=26
2011-06-20 08:50:31 +00:00
Sascha Peilicke
f15ac08138 Accepting request 74035 from graphics
- Fix broken append mode for eps/ps import (bnc#696368)

OBS-URL: https://build.opensuse.org/request/show/74035
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xfig?expand=0&rev=25
2011-06-20 08:50:09 +00:00
Dr. Werner Fink
e0c463ef37 .
OBS-URL: https://build.opensuse.org/package/show/graphics/xfig?expand=0&rev=19
2011-06-17 13:11:06 +00:00
Lars Vogdt
4b40d528db Autobuild autoformatter for 54436
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xfig?expand=0&rev=23
2010-12-05 21:56:01 +00:00
Lars Vogdt
bc6f285dac Accepting request 54436 from graphics
Accepted submit request 54436 from user WernerFink

OBS-URL: https://build.opensuse.org/request/show/54436
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xfig?expand=0&rev=22
2010-12-05 21:55:57 +00:00
Dr. Werner Fink
d52ca9bbdc .
OBS-URL: https://build.opensuse.org/package/show/graphics/xfig?expand=0&rev=17
2010-12-03 14:26:54 +00:00
Dr. Werner Fink
c07401c471 .
OBS-URL: https://build.opensuse.org/package/show/graphics/xfig?expand=0&rev=16
2010-12-03 14:26:24 +00:00
498c3b5043 Autobuild autoformatter for 54258
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xfig?expand=0&rev=21
2010-12-01 16:50:04 +00:00
OBS User buildservice-autocommit
5d6dde0475 Updating link to change in openSUSE:Factory/xfig revision 21.0
OBS-URL: https://build.opensuse.org/package/show/graphics/xfig?expand=0&rev=d4f923edbf7ee739960f8e3de8626adc
2010-12-01 16:50:04 +00:00
29582bba0b Accepting request 54258 from graphics
Accepted submit request 54258 from user WernerFink

OBS-URL: https://build.opensuse.org/request/show/54258
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xfig?expand=0&rev=20
2010-12-01 16:49:51 +00:00
Dr. Werner Fink
047586f694 .
OBS-URL: https://build.opensuse.org/package/show/graphics/xfig?expand=0&rev=14
2010-12-01 14:26:20 +00:00
Dr. Werner Fink
5611593192 .
OBS-URL: https://build.opensuse.org/package/show/graphics/xfig?expand=0&rev=13
2010-12-01 11:41:01 +00:00
OBS User autobuild
19cf9a971a Accepting request 45281 from graphics
Copy from graphics/xfig based on submit request 45281 from user WernerFink

OBS-URL: https://build.opensuse.org/request/show/45281
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xfig?expand=0&rev=19
2010-08-10 11:17:08 +00:00
OBS User buildservice-autocommit
dce43f95aa Updating link to change in openSUSE:Factory/xfig revision 19.0
OBS-URL: https://build.opensuse.org/package/show/graphics/xfig?expand=0&rev=13642d9679ea5f144be593146294147f
2010-08-10 11:17:08 +00:00
Dr. Werner Fink
6d8e855dc5 .
OBS-URL: https://build.opensuse.org/package/show/graphics/xfig?expand=0&rev=11
2010-08-10 11:01:52 +00:00
OBS User autobuild
fe93a53393 Accepting request 38369 from graphics
Copy from graphics/xfig based on submit request 38369 from user WernerFink

OBS-URL: https://build.opensuse.org/request/show/38369
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xfig?expand=0&rev=16
2010-04-20 23:54:24 +00:00
OBS User buildservice-autocommit
4169a21e97 Updating link to change in openSUSE:Factory/xfig revision 16.0
OBS-URL: https://build.opensuse.org/package/show/graphics/xfig?expand=0&rev=cc6b754f70908499ca65e275a2278f13
2010-04-20 23:54:24 +00:00
Dr. Werner Fink
60890bdc02 .
OBS-URL: https://build.opensuse.org/package/show/graphics/xfig?expand=0&rev=9
2010-04-20 15:54:50 +00:00
OBS User autobuild
0f56000973 Accepting request 38298 from graphics
Copy from graphics/xfig based on submit request 38298 from user coolo

OBS-URL: https://build.opensuse.org/request/show/38298
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xfig?expand=0&rev=15
2010-04-20 00:22:31 +00:00
OBS User buildservice-autocommit
fa8e5a4ab5 Updating link to change in openSUSE:Factory/xfig revision 15.0
OBS-URL: https://build.opensuse.org/package/show/graphics/xfig?expand=0&rev=2912f5b52c241cb8c3c94d05d07e503b
2010-04-20 00:22:31 +00:00
OBS User autobuild
5d7b72c5f1 Accepting request 38298 from graphics
checked in (request 38298)

OBS-URL: https://build.opensuse.org/request/show/38298
OBS-URL: https://build.opensuse.org/package/show/graphics/xfig?expand=0&rev=8
2010-04-20 00:22:30 +00:00
Stephan Kulow
541edb80b7 Accepting request 38212 from home:sndirsch:branches:graphics
Copy from home:sndirsch:branches:graphics/xfig via accept of submit request 38212 revision 2.
Request was accepted with message:
Reviewed ok

OBS-URL: https://build.opensuse.org/request/show/38212
OBS-URL: https://build.opensuse.org/package/show/graphics/xfig?expand=0&rev=7
2010-04-19 19:43:48 +00:00
OBS User autobuild
6fda32538c OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xfig?expand=0&rev=14 2010-03-18 15:36:32 +00:00
OBS User buildservice-autocommit
3b0403fcaf Updating link to change in openSUSE:Factory/xfig revision 14.0
OBS-URL: https://build.opensuse.org/package/show/graphics/xfig?expand=0&rev=e1b6fa1f8ee91a2193e0a88748953943
2010-03-18 15:36:32 +00:00
OBS User autobuild
d5c59d51e2 Accepting request 26416 from graphics
Copy from graphics/xfig based on submit request 26416 from user WernerFink

OBS-URL: https://build.opensuse.org/request/show/26416
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xfig?expand=0&rev=13
2009-12-16 09:58:06 +00:00
OBS User autobuild
31a4b947ef Accepting request 24629 from graphics
Copy from graphics/xfig based on submit request 24629 from user msmeissn

OBS-URL: https://build.opensuse.org/request/show/24629
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xfig?expand=0&rev=12
2009-11-18 10:36:05 +00:00
OBS User unknown
8156d07cdb OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xfig?expand=0&rev=10 2009-04-07 12:18:22 +00:00
OBS User unknown
30839835c6 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xfig?expand=0&rev=8 2008-05-16 13:05:07 +00:00
OBS User unknown
5fa72cc42a OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xfig?expand=0&rev=7 2008-04-26 09:41:29 +00:00
OBS User unknown
a75c851d57 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xfig?expand=0&rev=6 2008-03-05 09:30:16 +00:00
OBS User unknown
5f7afd7b42 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xfig?expand=0&rev=5 2007-12-18 17:59:38 +00:00
OBS User unknown
6ae272bfb3 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xfig?expand=0&rev=4 2007-11-23 13:14:32 +00:00
OBS User unknown
613fb2a0d4 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xfig?expand=0&rev=3 2007-07-27 00:14:11 +00:00
OBS User unknown
1bbee3a477 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xfig?expand=0&rev=2 2007-06-03 20:09:19 +00:00
OBS User unknown
0fb71d9e50 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xfig?expand=0&rev=1 2007-01-15 23:42:25 +00:00
18 changed files with 58 additions and 1082 deletions

View File

@ -1,124 +0,0 @@
From 042708a455f264e5b78d55f4df51ce3e508cc2ba Mon Sep 17 00:00:00 2001
From: Thomas Loimer <thomas.loimer@tuwien.ac.at>
Date: Mon, 2 Sep 2024 21:01:08 +0200
Subject: [PATCH] Place the dimension line text into the widget, #179
Draw the text that should appear in the example dimension line into
the dimension line widget, not onto the canvas.
---
src/w_indpanel.c | 45 +++++++++++++++++++++++++++++----------------
1 file changed, 29 insertions(+), 16 deletions(-)
diff --git src/w_indpanel.c src/w_indpanel.c
index 95218fd..bde8298 100644
--- src/w_indpanel.c
+++ src/w_indpanel.c
@@ -2499,7 +2499,6 @@ static Widget tick_thick_w;
static Widget box_thick_w, font_size_w, dimline_style_panel;
static Widget left_arrow_type_panel, right_arrow_type_panel;
static Widget font_button;
-static Pixmap dimline_examp_pixmap = (Pixmap) 0;
static Widget exampline;
static Widget fixed_chk, actual_chk;
static Widget dimline_precw;
@@ -2599,15 +2598,7 @@ void popup_dimline_panel(ind_sw_info *isw)
/* make an example line that shows current settings as a label */
- /* make a pixmap to draw it into */
- if (dimline_examp_pixmap == (Pixmap) 0)
- dimline_examp_pixmap = XCreatePixmap(tool_d, canvas_win,
- DIMLINE_PIXMAP_WIDTH, DIMLINE_PIXMAP_HEIGHT, tool_dpth);
- /* clear it */
- XFillRectangle(tool_d, dimline_examp_pixmap, ind_blank_gc, 0, 0,
- DIMLINE_PIXMAP_WIDTH, 30);
-
- /* now make the label widget to display the pixmap */
+ /* make the label widget to display the pixmap */
FirstArg(XtNfromVert, below);
NextArg(XtNborderWidth, 0);
NextArg(XtNwidth, DIMLINE_PIXMAP_WIDTH);
@@ -2619,7 +2610,9 @@ void popup_dimline_panel(ind_sw_info *isw)
NextArg(XtNinternational, False);
exampline = XtCreateManagedWidget("", labelWidgetClass,
form, Args, ArgCount);
- draw_cur_dimline(); /* this draws it into dimline_examp_pixmap */
+
+ /* draws the example dimension line into the label */
+ draw_cur_dimline();
/******************************/
/* frame for Line information */
@@ -3098,6 +3091,7 @@ void draw_cur_dimline(void)
F_compound *dimline_example;
F_point *point;
Boolean save_showlen, save_shownums;
+ static Pixmap dimline_examp_pixmap = (Pixmap)0;
/* make the a dimension line */
line = create_line();
@@ -3114,8 +3108,15 @@ void draw_cur_dimline(void)
/* make it 3-3/4 inches long */
append_point((int)((appres.INCHES? DIMLINE_IP_LENGTH*PIX_PER_INCH:
DIMLINE_SI_LENGTH*PIX_PER_CM)+75), 275, &point);
- /* make a dimension line from that line */
- dimline_example = create_dimension_line(line, False);
+
+ /*
+ * With xfig -debug, create_dimension_line() already draws the bounding
+ * boxes of some elements into the canvas. First create the pixmap to draw
+ * the dimension line into.
+ */
+ if (!dimline_examp_pixmap)
+ dimline_examp_pixmap = XCreatePixmap(tool_d, canvas_win,
+ DIMLINE_PIXMAP_WIDTH, DIMLINE_PIXMAP_HEIGHT, tool_dpth);
/* clear it */
XFillRectangle(tool_d, dimline_examp_pixmap, ind_blank_gc, 0, 0,
@@ -3127,8 +3128,19 @@ void draw_cur_dimline(void)
appres.showlengths = appres.shownums = False;
/* now draw it into our pixmap */
- canvas_win = (Window) dimline_examp_pixmap;
+ canvas_win = (Window)dimline_examp_pixmap;
+ XftDrawChange(canvas_draw, dimline_examp_pixmap);
preview_in_progress = True;
+
+ /* Now create an (empty) dimension line compound, with the side effect that
+ * under appres.DEBUG some boxes are drawn. */
+ if ((dimline_example = create_dimension_line(line, False)) == NULL) {
+ free_linestorage(line);
+ XFreePixmap(tool_d, dimline_examp_pixmap);
+ dimline_examp_pixmap = (Pixmap)0;
+ return;
+ }
+
/* locate the line components of the dimension line */
dimline_components(dimline_example, &line, &tick1, &tick2, &poly);
draw_line(line,PAINT);
@@ -3141,6 +3153,7 @@ void draw_cur_dimline(void)
/* restore the canvas */
canvas_win = main_canvas;
+ XftDrawChange(canvas_draw, main_canvas);
/* and the showlengths and shownums settings */
appres.showlengths = save_showlen;
appres.shownums = save_shownums;
@@ -3148,12 +3161,12 @@ void draw_cur_dimline(void)
/* fool the toolkit... you know the drill by now */
XtUnmanageChild(exampline);
- FirstArg(XtNbitmap, (Pixmap) 0);
+ FirstArg(XtNbitmap, (Pixmap)0);
SetValues(exampline);
FirstArg(XtNbitmap, dimline_examp_pixmap);
SetValues(exampline);
XtManageChild(exampline);
- /* finally, free the dimline */
+ /* finally, free the dimline and the pixmap*/
free_compound(&dimline_example);
}
--
2.35.3

View File

@ -1,56 +0,0 @@
From 7e0157b422b696d848c312aace78c89f3f914192 Mon Sep 17 00:00:00 2001
From: Thomas Loimer <thomas.loimer@tuwien.ac.at>
Date: Mon, 2 Sep 2024 21:30:00 +0200
Subject: [PATCH] Correctly scale the example dimension line in the widget
Draw the example dimension line into the correct position into its
widget. Before, moving the canvas, probably changing the zoom, then
entering line drawing mode and clicking on the dimension line widget in
the indicator panel would not render the example line correctly.
---
src/w_indpanel.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git src/w_indpanel.c src/w_indpanel.c
index bde8298..5ab33f6 100644
--- src/w_indpanel.c
+++ src/w_indpanel.c
@@ -3091,6 +3091,9 @@ void draw_cur_dimline(void)
F_compound *dimline_example;
F_point *point;
Boolean save_showlen, save_shownums;
+ int save_zoomxoff, save_zoomyoff;
+ float save_zoomscale;
+ float save_display_zoomscale;
static Pixmap dimline_examp_pixmap = (Pixmap)0;
/* make the a dimension line */
@@ -3126,6 +3129,14 @@ void draw_cur_dimline(void)
save_showlen = appres.showlengths;
save_shownums = appres.shownums;
appres.showlengths = appres.shownums = False;
+ /* and draw at scale 1 into the correct position */
+ save_zoomxoff = zoomxoff;
+ save_zoomyoff = zoomyoff;
+ save_zoomscale = zoomscale;
+ save_display_zoomscale = display_zoomscale;
+ zoomxoff = zoomyoff = 0;
+ display_zoomscale = 1.0f;
+ zoomscale = display_zoomscale / ZOOM_FACTOR;
/* now draw it into our pixmap */
canvas_win = (Window)dimline_examp_pixmap;
@@ -3157,6 +3168,10 @@ void draw_cur_dimline(void)
/* and the showlengths and shownums settings */
appres.showlengths = save_showlen;
appres.shownums = save_shownums;
+ zoomxoff = save_zoomxoff;
+ zoomyoff = save_zoomyoff;
+ zoomscale = save_zoomscale;
+ display_zoomscale = save_display_zoomscale;
preview_in_progress = False;
/* fool the toolkit... you know the drill by now */
--
2.35.3

View File

@ -1,29 +0,0 @@
From a4a2f3f3aa29ec7fc84f9d782306b37bbe75025c Mon Sep 17 00:00:00 2001
From: Thomas Loimer <thomas.loimer@tuwien.ac.at>
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

View File

@ -1,44 +0,0 @@
From 68403622a6f6c7d74f73e38989cfc0ed86fb83fc Mon Sep 17 00:00:00 2001
From: Thomas Loimer <thomas.loimer@tuwien.ac.at>
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

View File

@ -1,33 +0,0 @@
From a038d6624eb0bb4479d11f5b2bf472714c200365 Mon Sep 17 00:00:00 2001
From: Thomas Loimer <thomas.loimer@tuwien.ac.at>
Date: Sun, 1 Sep 2024 23:00:42 +0200
Subject: [PATCH] Do not lose input in xfig -debug mode
Starting with xfig -debug, entering line drawing mode and clicking on
the dimension line attributes in the indicator panel (below the canvas)
would lose the input, one has to quit xfig from the window manager or by
signal.
---
src/w_indpanel.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git src/w_indpanel.c src/w_indpanel.c
index 5ab33f6..9e4755b 100644
--- src/w_indpanel.c
+++ src/w_indpanel.c
@@ -2995,10 +2995,8 @@ void popup_dimline_panel(ind_sw_info *isw)
actions_added = True;
}
- if (appres.DEBUG)
- XtPopup(choice_popup, XtGrabNone); /* makes debugging easier */
- else
- XtPopup(choice_popup, XtGrabExclusive);
+ XtPopup(choice_popup, XtGrabExclusive);
+
/* if the file message window is up add it to the grab */
file_msg_add_grab();
(void) XSetWMProtocols(tool_d, XtWindow(choice_popup), &wm_delete_window, 1);
--
2.35.3

View File

@ -1,63 +0,0 @@
Based on f3466c988d67b90d8767c8173d9fae1b64211759 Mon Sep 17 00:00:00 2001
From: Thomas Loimer <thomas.loimer@tuwien.ac.at>
Date: Mon, 2 Sep 2024 21:57:04 +0200
Subject: [PATCH] With xfig -debug, do not draw bounding boxes into widgets
Do not draw bounding boxes into the example libraries and
example dimension line.
---
src/u_draw.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git src/u_draw.c src/u_draw.c
index 71edbab..22740db 100644
--- src/u_draw.c
+++ src/u_draw.c
@@ -3,7 +3,7 @@
* Copyright (c) 1985-1988 by Supoj Sutanthavibul
* Parts Copyright (c) 1989-2015 by Brian V. Smith
* Parts Copyright (c) 1991 by Paul King
- * Parts Copyright (c) 2016-2023 by Thomas Loimer
+ * Parts Copyright (c) 2016-2024 by Thomas Loimer
*
* Parts Copyright (c) 1992 by James Tough
* Parts Copyright (c) 1998 by Georg Stemmer
@@ -1336,7 +1336,7 @@ void draw_text(F_text *text, int op)
return;
/* outline the text bounds in red if debug resource is set */
- if (appres.DEBUG) {
+ if (appres.DEBUG && !preview_in_progress) {
pw_vector(canvas_win, x1, y1, x2, y2, op, 1, RUBBER_LINE, 0.0, RED);
pw_vector(canvas_win, x2, y2, x3, y3, op, 1, RUBBER_LINE, 0.0, RED);
pw_vector(canvas_win, x3, y3, x4, y4, op, 1, RUBBER_LINE, 0.0, RED);
@@ -1593,7 +1593,7 @@ void clip_arrows(F_line *obj, int objtype, int op, int skip)
}
n = i;
/* draw the clipping area for debugging */
- if (appres.DEBUG) {
+ if (appres.DEBUG && !preview_in_progress) {
for (i=0; i<n; i++) {
if (i==n-1)
j=0;
@@ -1632,7 +1632,7 @@ void clip_arrows(F_line *obj, int objtype, int op, int skip)
}
n = i;
/* draw the clipping area for debugging */
- if (appres.DEBUG) {
+ if (appres.DEBUG && !preview_in_progress) {
int j;
for (i=0; i<n; i++) {
if (i==n-1)
@@ -2127,7 +2127,7 @@ void debug_depth(int depth, int x, int y)
char str[10];
PR_SIZE size;
- if (appres.DEBUG) {
+ if (appres.DEBUG && !preview_in_progress) {
sprintf(str,"%d",depth);
size = textsize(roman_font, strlen(str), str);
pw_text(canvas_win, x-size.length-round(3.0/zoomscale), round(y-3.0/zoomscale),
--
2.35.3

View File

@ -12,7 +12,7 @@
! Image editor - can edit imported image
Fig.image_editor: xdg-open
@@ -166,8 +167,11 @@ Fig*canvas.shadowWidth: 0
@@ -180,8 +181,11 @@ Fig*canvas.shadowWidth: 0
! If on monochrome server, or no Fig-color app-defaults file
! This background resource shows between the buttons like a border
@ -25,7 +25,7 @@
! Specify a private Compose key database file. If this resource contains a "/"
! then the wired-in name of the xfig global directory will not be prefixed
@@ -638,7 +642,29 @@ Fig*sideruler.background: gray95
@@ -652,7 +656,29 @@ Fig*sideruler.background: gray95
! file panel and scrollbar
Fig*FigList*background: gray95
Fig*List*background: gray95

View File

@ -1,619 +0,0 @@
---
src/u_fonts.c | 497 +++++++++++++++++++++++++++++++++++++++++++++++++++++--
src/u_fonts.h | 11 +
src/w_drawprim.c | 17 +
3 files changed, 513 insertions(+), 12 deletions(-)
--- src/u_fonts.c
+++ src/u_fonts.c 2023-09-19 10:03:39.825796406 +0000
@@ -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,26 @@ 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 +479,24 @@ 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 +512,29 @@ textmaxheight(int psflag, int font, int
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 +562,428 @@ text_origin(int *draw_x, int *draw_y, in
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;
+}
--- src/u_fonts.h
+++ src/u_fonts.h 2023-09-19 10:01:32.672091235 +0000
@@ -71,4 +71,15 @@ extern void text_origin(int *draw_x, int
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 */
--- src/w_drawprim.c
+++ src/w_drawprim.c 2023-09-19 10:01:32.672091235 +0000
@@ -162,6 +162,8 @@ pw_xfttext(XftDraw *xftdraw, int x, int
{
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
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

View File

@ -1,15 +0,0 @@
---
src/u_fonts.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- src/u_fonts.h
+++ src/u_fonts.h 2024-08-28 07:00:30.512232174 +0000
@@ -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);

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8e02e971991f3340d86fc8529e51ec000809f71207f3276856414172718d61d6
size 5380408

3
xfig-3.2.9a.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:933293bccca0d0e1d12aae49f0b1a27d117c92c4c7078d7aaafc122b76dc66f9
size 5378540

View File

@ -1,45 +0,0 @@
---
src/main.c | 32 ++++++++++++++++++++++++++++++--
1 file changed, 30 insertions(+), 2 deletions(-)
--- src/main.c
+++ src/main.c 2023-09-13 09:37:09.600980464 +0000
@@ -366,8 +366,36 @@ static XtResource application_resources[
XtOffset(appresPtr, font_menu_language), XtRString, (caddr_t) ""},
{"fixedFontSet", "FontSet", XtRFontSet, sizeof(XFontSet),
XtOffset(appresPtr, fixed_fontset), XtRString,
- (caddr_t) "-*-times-medium-r-normal--16-*-*-*-*-*-*-*,"
- "-*-*-medium-r-normal--16-*-*-*-*-*-*-*,*--16-*" },
+ (caddr_t) "-urw-nimbus roman no9 l-medium-r-normal--34-*-*-*-*-*-*-*,"
+ "-*-*-medium-r-normal--24-*-*-*-*-*-jisx0208.1983-0,"
+ "-*-*-medium-r-normal--24-*-*-*-*-*-ksc5601.1987-0,"
+ "-*-times-medium-r-normal--24-*-*-*-*-*-*-*,"
+ "-*-*-medium-r-normal--24-*-*-*-*-*-*-*,*--24-*,"
+ "-*-times-medium-r-normal--16-*-*-*-*-*-*-*,"
+ "-*-*-medium-r-normal--16-*-*-*-*-*-*-*,*--16-*"
+ }, /*
+ {"normalFontSet", "NormalFontSet", XtRFontSet, sizeof(XFontSet),
+ XtOffset(appresPtr, normal_fontset), XtRString,
+ (caddr_t) "-urw-nimbus roman no9 l-medium-r-normal--34-*-*-*-*-*-*-*,"
+ "-*-*-medium-r-normal--24-*-*-*-*-*-jisx0208.1983-0,"
+ "-*-*-medium-r-normal--24-*-*-*-*-*-ksc5601.1987-0,"
+ "-*-times-medium-r-normal--24-*-*-*-*-*-*-*,"
+ "-*-*-medium-r-normal--24-*-*-*-*-*-*-*,"
+ "-*-*-*-r-*--24-*-*-*-*-*-*-*,"
+ "-*-times-medium-r-normal--16-*-*-*-*-*-*-*,"
+ "-*-*-medium-r-normal--16-*-*-*-*-*-*-*,*--16-*"
+ },
+ {"boldFontSet", "BoldFontSet", XtRFontSet, sizeof(XFontSet),
+ XtOffset(appresPtr, bold_fontset), XtRString,
+ (caddr_t) "-urw-nimbus roman no9 l-bold-r-normal--34-*-*-*-*-*-*-*,"
+ "-*-*-bold-r-normal--24-*-*-*-*-*-jisx0208.1983-0,"
+ "-*-*-bold-r-normal--24-*-*-*-*-*-ksc5601.1987-0,"
+ "-*-times-bold-r-normal--24-*-*-*-*-*-*-*,"
+ "-*-*-bold-r-normal--24-*-*-*-*-*-*-*,"
+ "-*-*-*-r-*--24-*-*-*-*-*-*-*,"
+ "-*-times-medium-r-normal--16-*-*-*-*-*-*-*,"
+ "-*-*-medium-r-normal--16-*-*-*-*-*-*-*,*--16-*"
+ }, */
{"fontSetSize", "FontSetSize", XtRInt, sizeof(int),
XtOffset(appresPtr, fontset_size), XtRImmediate, (caddr_t)0 },
{"inputStyle", "InputStyle", XtRString, sizeof(char *),

View File

@ -4,7 +4,7 @@
--- src/w_layers.c
+++ src/w_layers.c 2016-09-22 08:45:38.381908911 +0000
@@ -128,9 +128,27 @@ init_depth_panel(Widget parent)
@@ -121,9 +121,27 @@ init_depth_panel(Widget parent)
{
Widget label, below;
Widget layer_viewform;
@ -34,7 +34,7 @@
/* main form to hold all the layer stuff */
@@ -385,11 +403,18 @@ void
@@ -335,11 +353,18 @@ void
setup_depth_panel(void)
{
Dimension ind_ht, snap_ht=0;

View File

@ -12,7 +12,7 @@
#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
@@ -805,9 +806,6 @@ main(int argc, char **argv)
@@ -780,9 +781,6 @@ main(int argc, char **argv)
}
}
@ -22,7 +22,7 @@
/*
* save the command line arguments
*/
@@ -914,6 +912,10 @@ main(int argc, char **argv)
@@ -889,6 +887,10 @@ main(int argc, char **argv)
else
setup_icons_big();
@ -33,7 +33,7 @@
/*************************************************/
/* indicate if the international option is unset */
/*************************************************/
@@ -1663,6 +1665,9 @@ setup_visual(int *argc_p, char **argv, A
@@ -1638,6 +1640,9 @@ setup_visual(int *argc_p, char **argv, A
*/
tool = XtAppInitialize (&tool_app, "Fig", options, XtNumber (options),
argc_p, argv, fallback_resources, args, 0);

View File

@ -6,7 +6,7 @@
--- src/w_dir.c
+++ src/w_dir.c 2023-09-13 09:39:27.454515496 +0000
@@ -151,6 +151,8 @@ FileSelected(Widget w, XtPointer client_
@@ -148,6 +148,8 @@ FileSelected(Widget w, XtPointer client_
XawListReturnStruct *ret_struct = (XawListReturnStruct *) call_data;
@ -15,7 +15,7 @@
strcpy(CurrentSelectionName, ret_struct->string);
FirstArg(XtNstring, CurrentSelectionName);
if (browse_up) {
@@ -185,6 +187,8 @@ DirSelected(Widget w, XtPointer client_d
@@ -182,6 +184,8 @@ DirSelected(Widget w, XtPointer client_d
XawListReturnStruct *ret_struct = (XawListReturnStruct *) call_data;
@ -26,7 +26,7 @@
}
--- src/w_library.c
+++ src/w_library.c 2023-09-13 09:38:05.523980529 +0000
@@ -514,6 +514,8 @@ NewObjectSel(Widget w, XtPointer closure
@@ -503,6 +503,8 @@ NewObjectSel(Widget w, XtPointer closure
int new_obj;
XawListReturnStruct *ret_struct = (XawListReturnStruct *) call_data;
@ -37,7 +37,7 @@
/* unhighlight the current view icon */
--- src/w_srchrepl.c
+++ src/w_srchrepl.c 2023-09-13 09:40:26.341462455 +0000
@@ -918,6 +918,9 @@ spell_select_word(Widget widget, XtPoint
@@ -921,6 +921,9 @@ spell_select_word(Widget widget, XtPoint
(void)widget; (void)closure;
XawListReturnStruct *ret_struct = (XawListReturnStruct *) call_data;

View File

@ -1,3 +1,40 @@
-------------------------------------------------------------------
Tue Jan 7 13:34:13 UTC 2025 - Dr. Werner Fink <werner@suse.de>
- Update to xfig 3.2.9a
this is Patchlevel 9a (Dez 2024)
CHANGES:
Ticket numbers refer to https://sourceforge.net/p/mcj/tickets/#.
* Remove application resource fixedFontSet, fontSetSize.
* Use float fontsizes, ticket #168.
BUGS FIXED:
* Enable compilation with libxaw, instead of libxaw3d, #138, #174.
* Speed up drawing of a lot (thousands) of text objects, ticket #166.
* Draw text in a user color, ticket #180.
* Correctly place text into dimension lines, ticket #179.
* Enable compilation on Mac Darwin, ticket #177.
* Only print active layers if required, ticket #172.
* Place line length values at saner locations, ticket #167.
* Do not crash on export to pdf/latex under some circumstances, #165.
* Export only active layers, ticket #163.
* Sanitize sed script for build on Darwin, ticket #162.
* Show symbol and dingbats fonts, ticket #159.
- Remove obsolete patches now upstream
* xfig-3.2.9-gcc14.patch
* Fix-exporting-only-active-layers-ticket-163.patch
* Sanitize-a-call-to-realloc-ticket-165.patch
* 042708.patch
* 7e0157.patch
* a038d6.patch
* f3466c.patch
- Remove patch xfig.3.2.3d-international-std-fonts.dif as outdated with UTF-8
- Remove patch xfig-3.2.9-dingbats.dif as we use now URW fonts only
- Port patches
* xfig-3.2.6.dif
* xfig.3.2.5b-fixes.dif
* xfig.3.2.5b-locale.dif
* xfig.3.2.5b-null.dif
-------------------------------------------------------------------
Mon Sep 9 08:00:03 UTC 2024 - Dr. Werner Fink <werner@suse.de>

View File

@ -1,10 +0,0 @@
[Desktop Entry]
Categories=VectorGraphics
Exec=@@BINDIR@@/xfig
InitialPreference=2
MimeType=image/x-xfig;
Name=xfig
GenericName=Vector Drawing
Terminal=false
Type=Application
Icon=xfig

View File

@ -1,7 +1,7 @@
#
# spec file for package xfig
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -17,7 +17,7 @@
Name: xfig
Version: 3.2.9
Version: 3.2.9a
Release: 0
Summary: Facility for Interactive Generation of Figures under the X Window System
License: MIT
@ -32,25 +32,10 @@ URL: https://sourceforge.net/projects/mcj/
#Source: https://sourceforge.net/projects/mcj/files/xfig-%{version}.tar.xz/download#/xfig-%{version}.tar.xz
Source: xfig-%{version}.tar.xz
Source1: font-test.fig
Source4: xfig.desktop
Patch0: xfig-3.2.6.dif
Patch1: xfig-3.2.9-dingbats.dif
Patch3: xfig.3.2.3d-international-std-fonts.dif
# PATCH-FIX-UPSTREAM xfig.3.2.5b-mediaboxrealnb.dif [debian#530898]
Patch5: xfig.3.2.5b-null.dif
Patch6: xfig.3.2.5b-locale.dif
Patch7: xfig.3.2.5b-fixes.dif
# PATCH-FIX-UPSTREAM
Patch8: Sanitize-a-call-to-realloc-ticket-165.patch
# PATCH-FIX-UPSTREAM
Patch9: Fix-exporting-only-active-layers-ticket-163.patch
# PATCH-FIX-UPSTREAM
Patch10: xfig-3.2.9-gcc14.patch
# PATCH-FIX-UPSTREAM for boo#1230298 / upstream bug report #179
Patch11: 042708.patch
Patch12: 7e0157.patch
Patch13: a038d6.patch
Patch14: f3466c.patch
BuildRequires: dos2unix
BuildRequires: fdupes
BuildRequires: flex
@ -74,7 +59,7 @@ BuildRequires: pkgconfig(xt)
Requires: efont-unicode
Requires: fontconfig
%if 0%{?suse_version} >= 1699
Requires: (ghostscript-fonts-std or urw-base35-fonts)
Requires: urw-base35-fonts
%else
Requires: ghostscript-fonts-std
%endif
@ -109,18 +94,9 @@ find -type f | while read file; do
done
set -x
%patch -P0
%patch -P1 -b .dingbats
%patch -P3 -b .international-std-fonts
%patch -P5 -b .null
%patch -P6 -b .locale
%patch -P7 -b .fixes
%patch -P8 -p1
%patch -P9 -p1
%patch -P10
%patch -P11
%patch -P12
%patch -P13
%patch -P14
cp %{SOURCE1} .
test ! -e Libraries/Examples/aircraft.fig || { echo forbidden file found 1>&2; exit 1; }
@ -147,7 +123,7 @@ find -name '*.bak' -exec rm -vf '{}' \+
mv %{buildroot}%{_mandir}/man1/xfig.1 %{buildroot}%{_mandir}/man1/xfig.1x
gzip -9 %{buildroot}%{_mandir}/man1/xfig.1x
%fdupes %{buildroot}
%suse_update_desktop_file xfig VectorGraphics
%suse_update_desktop_file %{buildroot}%{_datadir}/applications/org.%name.%name.desktop VectorGraphics
%files
%defattr(-,root,root,755)
@ -155,9 +131,10 @@ gzip -9 %{buildroot}%{_mandir}/man1/xfig.1x
%dir %{_datadir}/X11/app-defaults
%{_datadir}/X11/app-defaults/Fig
%{_bindir}/xfig*
%{_datadir}/applications/xfig.desktop
%{_datadir}/applications/*xfig.desktop
%{_datadir}/metainfo/*xfig.metainfo.xml
%{_datadir}/pixmaps/xfig.png
%{_datadir}/xfig
%{_mandir}/man1/xfig.1*.gz
%{_mandir}/man1/xfig.1*%{?ext_man}
%changelog