From 79d6846c01062fa4706f0c9d2bab9fae95aeb80d769c8f7a072744e1c90d2937 Mon Sep 17 00:00:00 2001 From: "Dr. Werner Fink" Date: Wed, 28 Aug 2024 07:03:33 +0000 Subject: [PATCH] gcc14 OBS-URL: https://build.opensuse.org/package/show/graphics/xfig?expand=0&rev=86 --- .gitattributes | 23 + .gitignore | 1 + ...orting-only-active-layers-ticket-163.patch | 29 + Sanitize-a-call-to-realloc-ticket-165.patch | 44 + font-test.fig | 46 + xfig-3.2.6.dif | 58 + xfig-3.2.9-dingbats.dif | 619 +++++++++ xfig-3.2.9-gcc14.patch | 15 + xfig-3.2.9.tar.xz | 3 + xfig.3.2.3d-international-std-fonts.dif | 45 + xfig.3.2.5b-fixes.dif | 59 + xfig.3.2.5b-locale.dif | 45 + xfig.3.2.5b-null.dif | 49 + xfig.changes | 1156 +++++++++++++++++ xfig.desktop | 10 + xfig.spec | 154 +++ 16 files changed, 2356 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 Fix-exporting-only-active-layers-ticket-163.patch create mode 100644 Sanitize-a-call-to-realloc-ticket-165.patch create mode 100644 font-test.fig create mode 100644 xfig-3.2.6.dif create mode 100644 xfig-3.2.9-dingbats.dif create mode 100644 xfig-3.2.9-gcc14.patch create mode 100644 xfig-3.2.9.tar.xz create mode 100644 xfig.3.2.3d-international-std-fonts.dif create mode 100644 xfig.3.2.5b-fixes.dif create mode 100644 xfig.3.2.5b-locale.dif create mode 100644 xfig.3.2.5b-null.dif create mode 100644 xfig.changes create mode 100644 xfig.desktop create mode 100644 xfig.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc 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..908c4e2 --- /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..813b650 --- /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/font-test.fig b/font-test.fig new file mode 100644 index 0000000..89b41c3 --- /dev/null +++ b/font-test.fig @@ -0,0 +1,46 @@ +#FIG 3.2 +Landscape +Center +Metric +A4 +100.00 +Single +-2 +1200 2 +1 3 0 1 0 7 50 0 -1 0.000 1 0.0000 12330 31770 162 162 12330 31770 12465 31860 +1 3 0 1 0 7 50 0 -1 0.000 1 0.0000 495 -540 142 142 495 -540 630 -495 +4 0 0 50 0 0 50 0.0000 4 150 1230 450 1000 Times-Roman\001 +4 0 0 50 0 1 50 0.0000 4 150 1065 450 2000 Times-Italic\001 +4 0 0 50 0 2 50 0.0000 4 150 1095 450 3000 Times-Bold\001 +4 0 0 50 0 4 50 0.0000 4 135 1350 450 5000 AvantGarde-Book\001 +4 0 0 50 0 5 50 0.0000 4 165 1980 450 6000 AvantGarde-BookOblique\001 +4 0 0 50 0 6 50 0.0000 4 135 1350 450 7000 AvantGarde-Demi\001 +4 0 0 50 0 7 50 0.0000 4 165 1980 450 8000 AvantGarde-DemiOblique\001 +4 0 0 50 0 8 50 0.0000 4 165 1170 450 9000 Bookman-Light\001 +4 0 0 50 0 9 50 0.0000 4 165 1710 450 10000 Bookman-LightItalic\001 +4 0 0 50 0 10 50 0.0000 4 135 1080 450 11000 Bookman-Demi\001 +4 0 0 50 0 11 50 0.0000 4 135 1620 450 12000 Bookman-DemiItalic\001 +4 0 0 50 0 12 50 0.0000 4 150 945 450 13000 Courier\001 +4 0 0 50 0 13 50 0.0000 4 195 2025 450 14000 Courier-Oblique\001 +4 0 0 50 0 14 50 0.0000 4 150 1620 450 15000 Courier-Bold\001 +4 0 0 50 0 15 50 0.0000 4 195 2565 450 16000 Courier-BoldOblique\001 +4 0 0 50 0 16 50 0.0000 4 165 900 450 17000 Helvetica\001 +4 0 0 50 0 17 50 0.0000 4 210 1740 450 18000 Helvetica-Oblique\001 +4 0 0 50 0 18 50 0.0000 4 165 1500 450 19000 Helvetica-Bold\001 +4 0 0 50 0 19 50 0.0000 4 210 2310 450 20000 Helvetica-BoldOblique\001 +4 0 0 50 0 20 50 0.0000 4 135 1440 450 21000 Helvetica-Narrow\001 +4 0 0 50 0 21 50 0.0000 4 165 2160 450 22000 Helvetica-Narrow-Oblique\001 +4 0 0 50 0 22 50 0.0000 4 135 1890 450 23000 Helvetica-Narrow-Bold\001 +4 0 0 50 0 23 50 0.0000 4 165 2520 450 24000 Helvetica-Narrow-BoldOblique\001 +4 0 0 50 0 24 50 0.0000 4 210 2805 450 25000 NewCenturySchlbk-Roman\001 +4 0 0 50 0 25 50 0.0000 4 210 2475 450 26000 NewCenturySchlbk-Italic\001 +4 0 0 50 0 26 50 0.0000 4 210 2760 450 27000 NewCenturySchlbk-Bold\001 +4 0 0 50 0 27 50 0.0000 4 210 3315 450 28000 NewCenturySchlbk-BoldItalic\001 +4 0 0 50 0 28 50 0.0000 4 135 1260 450 29000 Palatino-Roman\001 +4 0 0 50 0 29 50 0.0000 4 135 1350 450 30000 Palatino-Italic\001 +4 0 0 50 0 30 50 0.0000 4 135 1170 450 31000 Palatino-Bold\001 +4 0 0 50 0 31 50 0.0000 4 135 1710 450 32000 Palatino-BoldItalic\001 +4 0 0 50 0 32 50 0.0000 4 360 1275 450 33000 Symbol\001 +4 0 0 50 0 33 50 0.0000 4 165 2250 450 34000 ZapfChancery-MediumItalic\001 +4 0 0 50 0 34 50 0.0000 4 165 1080 450 35000 ZapfDingbats\001 +4 0 0 50 0 3 50 0.0000 4 150 1515 450 4000 Times-BoldItalic\001 diff --git a/xfig-3.2.6.dif b/xfig-3.2.6.dif new file mode 100644 index 0000000..1c73bbc --- /dev/null +++ b/xfig-3.2.6.dif @@ -0,0 +1,58 @@ +--- + app-defaults/Fig | 30 ++++++++++++++++++++++++++++-- + 1 file changed, 28 insertions(+), 2 deletions(-) + +--- app-defaults/Fig ++++ app-defaults/Fig 2023-09-13 09:21:18.377983211 +0000 +@@ -15,6 +15,7 @@ + ! The following fixes a problem that some window managers have + ! with xfig continually resizing itself + Fig*AllowShellResize: False ++Fig.inches: False + + ! Image editor - can edit imported image + Fig.image_editor: xdg-open +@@ -166,8 +167,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 +-Fig*mode_panel.background: black ++Fig*mode_panel.background: gray67 + Fig*mode_panel.foreground: black ++Fig*mode_panel*topShadow: white ++Fig*mode_panel*topShadowPixel: white ++Fig*mode_panel*bottomShadowPixel: gray17 + + ! 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 + ! file panel and scrollbar + Fig*FigList*background: gray95 + Fig*List*background: gray95 +-Fig*Scrollbar.background: gray80 ++Fig*Scrollbar.background: gray77 ++ ++Fig*Scrollbar.foreground: gray37 ++Fig*ScrollbarBackground: gray67 ++Fig*ScrollbarForeground: gray37 ++ ++Fig*horizontal.shadowWidth: 2 ++Fig*horizontal.topShadowPixel: gray95 ++Fig*horizontal.bottomShadowPixel: gray37 ++Fig*horizontal.topShadow: gray95 ++Fig*horizontal.bottomShadow: gray37 ++ ++Fig*Scrollbar.shadowWidth: 2 ++Fig*Scrollbar.topShadow: gray95 ++Fig*Scrollbar.bottomShadow: gray37 ++Fig*Scrollbar.topShadowPixel: gray95 ++Fig*Scrollbar.bottomShadowPixel: gray37 ++ ++Fig*stdColor.shadowWidth: 2 ++Fig*stdColor.topShadow: gray95 ++Fig*stdColor.bottomShadow: gray37 ++Fig*stdColor.topShadowPixel: gray95 ++Fig*stdColor.bottomShadowPixel: gray37 + + Fig*Label.background: gray80 + Fig*ind_box.background: gray80 diff --git a/xfig-3.2.9-dingbats.dif b/xfig-3.2.9-dingbats.dif new file mode 100644 index 0000000..e135bcc --- /dev/null +++ b/xfig-3.2.9-dingbats.dif @@ -0,0 +1,619 @@ +--- + 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 diff --git a/xfig-3.2.9-gcc14.patch b/xfig-3.2.9-gcc14.patch new file mode 100644 index 0000000..83ef633 --- /dev/null +++ b/xfig-3.2.9-gcc14.patch @@ -0,0 +1,15 @@ +--- + 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); diff --git a/xfig-3.2.9.tar.xz b/xfig-3.2.9.tar.xz new file mode 100644 index 0000000..8ec3785 --- /dev/null +++ b/xfig-3.2.9.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8e02e971991f3340d86fc8529e51ec000809f71207f3276856414172718d61d6 +size 5380408 diff --git a/xfig.3.2.3d-international-std-fonts.dif b/xfig.3.2.3d-international-std-fonts.dif new file mode 100644 index 0000000..9063be2 --- /dev/null +++ b/xfig.3.2.3d-international-std-fonts.dif @@ -0,0 +1,45 @@ +--- + 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 *), diff --git a/xfig.3.2.5b-fixes.dif b/xfig.3.2.5b-fixes.dif new file mode 100644 index 0000000..d40a39b --- /dev/null +++ b/xfig.3.2.5b-fixes.dif @@ -0,0 +1,59 @@ +--- + src/w_layers.c | 37 +++++++++++++++++++++++++++++++------ + 1 file changed, 31 insertions(+), 6 deletions(-) + +--- 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) + { + Widget label, below; + Widget layer_viewform; ++ Dimension ind_ht = 0, snap_ht = 0, mouse_ht; + +- /* MOUSEFUN_HT and ind_panel height aren't known yet */ +- LAYER_HT = TOPRULER_HT + CANVAS_HT; ++ if (XtIsManaged(ind_panel)) { ++ /* get height of indicator panel */ ++ FirstArg(XtNheight, &ind_ht); ++ GetValues(ind_panel); ++ ind_ht += INTERNAL_BW*2; ++ } ++ ++ if (XtIsManaged(snap_indicator_panel)) { ++ /* get height of snap panel */ ++ FirstArg(XtNheight, &snap_ht); ++ GetValues(snap_indicator_panel); ++ snap_ht += INTERNAL_BW*4; ++ } ++ ++ /* MOUSEFUN_HT height aren't known yet */ ++ mouse_ht = MSGPANEL_HT + CMDFORM_HT + INTERNAL_BW; ++ ++ /* now that the bitmaps have been created, put the checkmark in the proper toggle */ ++ LAYER_HT = mouse_ht + TOPRULER_HT + CANVAS_HT + ind_ht + INTERNAL_BW*2 - snap_ht; + + /* main form to hold all the layer stuff */ + +@@ -385,11 +403,18 @@ void + setup_depth_panel(void) + { + Dimension ind_ht, snap_ht=0; ++ + /* get height of indicator and snap panels */ +- FirstArg(XtNheight, &ind_ht); +- GetValues(ind_panel); +- FirstArg(XtNheight, &snap_ht); +- GetValues(snap_indicator_panel); ++ if (XtIsManaged(ind_panel)) { ++ FirstArg(XtNheight, &ind_ht); ++ GetValues(ind_panel); ++ ind_ht += INTERNAL_BW*2; ++ } ++ if (XtIsManaged(snap_indicator_panel)) { ++ FirstArg(XtNheight, &snap_ht); ++ GetValues(snap_indicator_panel); ++ snap_ht += INTERNAL_BW*4; ++ } + LAYER_HT = MOUSEFUN_HT + TOPRULER_HT + CANVAS_HT + ind_ht - snap_ht + INTERNAL_BW*4; + + /* now that the bitmaps have been created, put the checkmark in the proper toggle */ diff --git a/xfig.3.2.5b-locale.dif b/xfig.3.2.5b-locale.dif new file mode 100644 index 0000000..26ed80d --- /dev/null +++ b/xfig.3.2.5b-locale.dif @@ -0,0 +1,45 @@ +--- + src/main.c | 11 ++++++++--- + 1 file changed, 8 insertions(+), 3 deletions(-) + +--- src/main.c ++++ src/main.c 2023-09-13 10:32:19.633436763 +0000 +@@ -23,6 +23,7 @@ + + #include + #include ++#include + #include + #include + #include +@@ -805,9 +806,6 @@ main(int argc, char **argv) + } + } + +- setlocale(LC_ALL, ""); +- XtSetLanguageProc(NULL, NULL, NULL); +- + /* + * save the command line arguments + */ +@@ -914,6 +912,10 @@ main(int argc, char **argv) + else + setup_icons_big(); + ++ if (NULL == strcasestr(nl_langinfo(CODESET),"ANSI") && ++ NULL == strcasestr(nl_langinfo(CODESET),"ISO-8859-")) ++ appres.international = True; ++ + /*************************************************/ + /* indicate if the international option is unset */ + /*************************************************/ +@@ -1663,6 +1665,9 @@ setup_visual(int *argc_p, char **argv, A + */ + tool = XtAppInitialize (&tool_app, "Fig", options, XtNumber (options), + argc_p, argv, fallback_resources, args, 0); ++ setlocale(LC_ALL, ""); ++ XtSetLanguageProc(tool_app, NULL, NULL); ++ + /* save important info */ + tool_d = XtDisplay(tool); + tool_s = XtScreen(tool); diff --git a/xfig.3.2.5b-null.dif b/xfig.3.2.5b-null.dif new file mode 100644 index 0000000..4640885 --- /dev/null +++ b/xfig.3.2.5b-null.dif @@ -0,0 +1,49 @@ +--- + src/w_dir.c | 4 ++++ + src/w_library.c | 2 ++ + src/w_srchrepl.c | 3 +++ + 3 files changed, 9 insertions(+) + +--- 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_ + + XawListReturnStruct *ret_struct = (XawListReturnStruct *) call_data; + ++ if (!ret_struct) ++ return; + strcpy(CurrentSelectionName, ret_struct->string); + FirstArg(XtNstring, CurrentSelectionName); + if (browse_up) { +@@ -185,6 +187,8 @@ DirSelected(Widget w, XtPointer client_d + + XawListReturnStruct *ret_struct = (XawListReturnStruct *) call_data; + ++ if (!ret_struct) ++ return; + strcpy(CurrentSelectionName, ret_struct->string); + DoChangeDir(CurrentSelectionName); + } +--- 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 + int new_obj; + XawListReturnStruct *ret_struct = (XawListReturnStruct *) call_data; + ++ if (!ret_struct) ++ return; + new_obj = ret_struct->list_index; + if (icons_made) { + /* 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 + (void)widget; (void)closure; + XawListReturnStruct *ret_struct = (XawListReturnStruct *) call_data; + ++ if (!ret_struct) ++ return; ++ + /* make correct button and correction entry sensitive */ + XtSetSensitive(correct_button, True); + XtSetSensitive(correct_word, True); diff --git a/xfig.changes b/xfig.changes new file mode 100644 index 0000000..b147917 --- /dev/null +++ b/xfig.changes @@ -0,0 +1,1156 @@ +------------------------------------------------------------------- +Wed Aug 28 07:01:39 UTC 2024 - Dr. Werner Fink + +- Add patch xfig-3.2.9-gcc14.patch to make it build again + +------------------------------------------------------------------- +Mon Jan 8 08:53:08 UTC 2024 - Dr. Werner Fink + +- Add patches from upstream alert + * Fix-exporting-only-active-layers-ticket-163.patch + * Sanitize-a-call-to-realloc-ticket-165.patch + +------------------------------------------------------------------- +Mon Sep 25 06:55:31 UTC 2023 - Dr. Werner Fink + +- 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 + +------------------------------------------------------------------- +Thu Sep 14 07:30:23 UTC 2023 - Dr. Werner Fink + +- 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 + +------------------------------------------------------------------- +Mon Sep 20 10:17:58 UTC 2021 - Dr. Werner Fink + +- Some fonts in the used fontsets do not exist anymore, try + smaller fonts + +------------------------------------------------------------------- +Fri Jun 18 13:26:56 UTC 2021 - Dr. Werner Fink + +- Make spec file build with older SLE versions as well to be able + to bundle this with a security update of package transfig + * This version requires transfig version 3.2.8 and above + +------------------------------------------------------------------- +Thu Apr 1 11:47:00 UTC 2021 - Dr. Werner Fink + +- 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 + +------------------------------------------------------------------- +Wed Feb 10 12:37:21 UTC 2021 - Dirk Müller + +- 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 + +------------------------------------------------------------------- +Tue Oct 29 08:56:06 UTC 2019 - Dr. Werner Fink + +- 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 + +------------------------------------------------------------------- +Mon Sep 10 10:31:03 UTC 2018 - sndirsch@suse.com + +- also require mkfontdir, so fonts-config can create the appropriate + fonts.dir/fonts.scale/encodings.dir files (boo#1106850) + +------------------------------------------------------------------- +Thu Sep 6 13:40:48 UTC 2018 - Dr. Werner Fink + +- Revert workaround from locale patch as it breaks UTF-8 text + in file and object handling + +------------------------------------------------------------------- +Thu Sep 6 11:32:18 UTC 2018 - Dr. Werner Fink + +- Add workaround in locale patch for systems with large endcoding.dir + below /usr/share/fonts/encodings (boo#1106850) + * With this fallback to "C" for LC_CTYPE is used for UTF-8 locales + to allow that Xt library will find a useful FontSet +- Require mkfontscale +- Modernize international-std-fonts patch to fit for more fonts + +------------------------------------------------------------------- +Mon May 7 07:47:46 UTC 2018 - werner@suse.de + +- 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. + +------------------------------------------------------------------- +Thu Mar 1 21:03:21 UTC 2018 - crrodriguez@opensuse.org + +- use default libpng for build, problems with newer library + already fixed in version 3.2.6 + +------------------------------------------------------------------- +Thu Feb 2 13:40:36 UTC 2017 - werner@suse.de + +- 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. + +------------------------------------------------------------------- +Sat Jan 14 01:58:36 CET 2017 - oliver@getspam.de + +- Fix: Added preprocessor flag GSBIT to fix a 3.2.6 regression, that + resulted in EPS file preview not working, see: + https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=848040 + +------------------------------------------------------------------- +Thu Sep 22 10:40:28 UTC 2016 - werner@suse.de + +- 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 : + o Update LaTeX documentation, use \documentclass instead of + \documentstyle, \usepackage instead of \input. + o Builds on hurd, had to #include 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 . + o To compile on ancient systems, try make -DANCIENT. + o Report correct paths to installed files in the man page. + From Vladislav Zavjalov; Commit numbers refer to + http://git.altlinux.org/people/slazav/packages/?p=xfig.git;a=commit;h=# + o Preserve comments when deleting objects; Commit #6c42e5c + o Restore colors and main comment after Delete All + Undo; #34f6105 + o Draw horizontal scrollbar if property buttons are too wide to fit + on the screen. Commit #e9c1394 + o Add save8bit app-resource to allow saving 8-bit files. #5bd9fbb + o Move Xfuncs.h and Xosdefs.h out from fig.h. Commit #b433478 + o Move -l flags from LDFLAGS to LDADD. Commit #2d57c85 + From Roland Rosenfeld. Bug numers refer to https://bugs.debian.org/#. + o Do not link with -lXmu, if linking with Xaw3d > 1.5e. + o Make japanese documentation available for LANG=ja_JP.ujis. + o Set the Creation date in xfig_man.html to the date when + creating the source tarball. + o Really fix reading png files, + https://bugzilla.redhat.com/show_bug.cgi?id=1150330 + o Delete some superfluos files, fix typos (Caribbean), + add semicolon in xfig.desktop (bug # 812477). + From Brian V. Smith: + o old link for "Xfig On Microsoft Windows" (Getting and Installing Xfig html page) + o dash_list wrong dimension causes segfault on some line styles + o Should handle systems where REG_NOERROR (regular expression) is undefined now + o Missing xfig_man.html + o Modify a few places where to set locale to "C". + o Didn't allocate enough space for fonts (would segfault when popping up File panels) + o Moving arc point would segfault + From Roland Rosenfeld. Bug numbers refer to https://bugs.debian.org/#. + In fact, most of the bugs below, also those from other sources, were + fixed by applying the debian-patches. + o Position independent executables work, fixes bug # 756791. + o Revert previous change of X-spline parameter. + o Use C locale for fig2dev, to correctly interpret decimal point. + Fixes bug # 782737. + o Correct grid mode distances in man page. Bug # 314820. + o Extend xfig.desktop. + o Fix unsecure use of temporary file. From Thomas Hoger, gentoo. + Debian Bug # 565341. + o Escape - in man-page. + o Securely print string. + o Restore old shadow behaviour. + o Fix reading "/MediaBox" when importing pdf. Closes Bug # 530898. + o With -papersize b1, use B1, not B10. Bug 535181. + From Vladislav Zavjalov. Information on bugs is found + at https://bugzilla.altlinux.org/show_bug.cgi?id=# + o Do not use fontsets for symbol and dingbat fonts, bug # 26579. + o Fix compiler warnigs in w_indpanel.c. Commit feabe27. + o Restore correct depths when loading a figure, then undo. + Commit b5c79b3. + o Restore filename after delete region, undo. Commit 219d690. + o Restore user color when opening new fig-file. Commit fccd915. + o Restore correct depths when joining lines with different depths. + Commit a77bcaf. + o Fix xfontlist->fset initialization. Commit a592399. + o Fix default origin (100000,100000) -> (0,0) for filled objects. + Commit 4d87e60. + o Fix 100% cpu-load by save panel. Commit 81a4596. + o Do not use local SimpleMenu.c with XAW3D1_5E. Would segfault on + some 64-bit systems when opening main menu. + o Missing argument may cause crash or undefined behaviour. + Debian bug # 795642. From Michael Tautschnig. + From Hans de Goede. Bug information + at https://bugzilla.redhat.com/show_bug.cgi?id=#. + o Patch for importing png-files, Red Hat bug # 1150330. From David Kaufmann. + o Fix crash when changing arrow size. Bug # 1046102. + o Fix crash when creating dash-dotted lines. Bug # 1023744. + From Michael Srb, thanks to Maurizio Pollini and David Kaufmann. + o Fix crash on exit. From Peter Volkov at gentoo +- Remove browser script as for now xdg-open is used +- Patch xfig.3.2.5b.dif becomes xfig-3.2.6.dif +- Remove patch xfig.3.2.5b-mediaboxrealnb.dif and collection + xfig.3.2.5c-patches.tar.bz2 as now upstream +- Port the patches + xfig.3.2.3d-international-std-fonts.dif + xfig.3.2.5-urw-fonts.dif + xfig.3.2.5-xim.dif + xfig.3.2.5b-fixes.dif + xfig.3.2.5b-locale.dif + xfig.3.2.5b-null.dif + xfig.3.2.5b-preview.dif + xfig.3.2.5b-pspdftex.dif + to 3.2.6 + +------------------------------------------------------------------- +Fri Mar 11 09:34:01 UTC 2016 - werner@suse.de + +- Add BuildRequires on libXmu-devel + +------------------------------------------------------------------- +Thu Jun 18 19:53:44 UTC 2015 - crrodriguez@opensuse.org + +- Remove xorg-x11-devel from builrequires, replaced + by the individual required libraries. + +------------------------------------------------------------------- +Tue Nov 18 23:10:00 UTC 2014 - Led + +- fix shebang in xfig.sh script: + option '-a' of 'exec' command may be unsupported in other + POSIX-complete shells + +------------------------------------------------------------------- +Fri Jul 4 12:48:32 UTC 2014 - werner@suse.de + +- 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) + +------------------------------------------------------------------- +Tue Feb 11 10:26:27 UTC 2014 - werner@suse.de + +- Provide a pkgconfig file for older Xaw3d package + +------------------------------------------------------------------- +Tue Feb 11 09:34:13 UTC 2014 - werner@suse.de + +- Make if build for oS 13.1 + +------------------------------------------------------------------- +Tue Feb 11 08:17:58 UTC 2014 - werner@suse.de + +- Add upstream patch to patch tar ball to fix Xfig crash on + dash-dotted lines (bnc#860322) + +------------------------------------------------------------------- +Tue Dec 10 14:06:39 UTC 2013 - werner@suse.de + +- 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 + +------------------------------------------------------------------- +Fri Feb 8 11:14:39 UTC 2013 - werner@suse.de + +- User original patches from Debian + +------------------------------------------------------------------- +Thu Feb 7 14:12:21 UTC 2013 - werner@suse.de + +- Add xfig.3.2.5b-mediaboxrealnb.dif to fix regarding pdf import, + reported by Loic Le Guyader compare with Debian bug #530898 + +------------------------------------------------------------------- +Wed Oct 10 07:25:44 UTC 2012 - werner@suse.de + +- Add standard X11 fonts to be able to use it with xfig + +------------------------------------------------------------------- +Fri Sep 28 14:13:06 UTC 2012 - werner@suse.de + +- Fix bnc #777469 - CVE-2009-4227: xfig: stack based overflows + +------------------------------------------------------------------- +Thu May 31 07:33:50 UTC 2012 - cfarrell@suse.com + +- license update: MIT + SPDX compliant license short name. MIT chosen as majority of files are + under this license (Fedora also chose MIT) + +------------------------------------------------------------------- +Wed May 30 11:48:30 UTC 2012 - werner@suse.de + +- Remove forbidden file aircraft.fig (bnc#754676) + +------------------------------------------------------------------- +Fri Oct 21 09:40:57 UTC 2011 - werner@suse.de + +- Reenable Japanese support (bnc#720554) + +------------------------------------------------------------------- +Fri Jun 17 15:07:40 CEST 2011 - werner@suse.de + +- Fix broken append mode for eps/ps import (bnc#696368) + +------------------------------------------------------------------- +Fri Dec 3 15:23:11 CET 2010 - werner@suse.de + +- Fix overflow in formatted output conversion (bnc#657393) + +------------------------------------------------------------------- +Wed Dec 1 12:27:48 CET 2010 - werner@suse.de + +- Do canonicalize the eps files used with the previous fix + (thanks goes to Hans de Goede from RedHat) +- Make previous fix more clear by adding a command how the + used .locksafe operator works + +------------------------------------------------------------------- +Tue Aug 10 13:00:25 CEST 2010 - werner@suse.de + +- Make eps/ps import work again. This trouble was caused by the + security fix for ghostscript of bug bnc#608071 + +------------------------------------------------------------------- +Tue Apr 20 17:24:01 CEST 2010 - werner@suse.de + +- Add compatibility switch for libpng 1.4 or higher + +------------------------------------------------------------------- +Mon Apr 19 11:29:36 CEST 2010 - sndirsch@suse.de + +- fixed libpng buildrequires for openSUSE >= 11.3 + +------------------------------------------------------------------- +Mon Dec 14 14:08:05 CET 2009 - werner@suse.de + +- Update to xfig 3.2.5b including various bug fixes (including the + bug fix for bnc#560351): + * Dimension line indicator incorrectly showed arrow length/width + * Several patches from Fedora xfig maintainer + * divide by 0 under certain circumstances in ruler code + From Libor Pechacek + * Segfault if PRINTER env variable was not defined + * Fig-color merged into Fig app-defaults file because almost no one knows about + the "*customization: -color" option to make X programs read the color def file. + * dimension line arrowhead width and length used %d instead of %f in + dialog, always displaying 0 + * leftover debugging printf(...color = ) in startup + * finally fixed size of mode panel so it doesn't cover indicator panel + under certain circumstances + * removed "Alpha" from splash + * updated copyright date in Help/About + * problem with depth panel height due to snap mode indicator + * snap indicator indicated "Focus" when "Diameter" was selected + * w_keyboard.c had pointer assignment reversed + * extraneous "done" in Imakefile in "install.jhtml" section + From Eric Scott + * many protoytpe cleanups from Eric Scott + * #ifndef __FreeBSD__ added around #include from Eric Scott + * uses rint() instead of lrint() for those with non-C99 compilers + * Solaris doesn't have REG_NOERROR for regex, so have new #define for that + * added dependency on version.h and patchlevel.h for f_util.c and f_save.c to + Imakefile + * In imperial fractional scale mode, if the user scale factor wasn't 1.0, xfig + would switch to decimal mode. This has been fixed to remain in fractional mode. + * Added condition for GLIBC to not declare srandom(int) + * Better resizing of message popup panel + * Map of Spain included Portugal. From Eugen Dedu. + * Double-clicking on either style or family would crash xfig + * Export/Print grid units were not reset when loading Fig file of different units + * When converting empty export/print grid units to fractional inches would make 0/2 + * Escaped hyphens in man page + From Roland Rosendfeld + * When exporting to all three: PostScript, PDF and TeX, incorrectly generated + PostScript and PDF that included LaTeX-only (special) text + * Bug when doing Save As to a shorter filename - would corrupt name sometimes + * Note about 450 pixels/cm didn't make it from the FORMAT3.1 file to FORMAT3.2 + * Print command was using -P instead of -d for lp + * On Cygwin, needed to double-escape PRINTER environment when backslashes in name + * w_library.c had incompatible poiner type in call to ScanLibraryDirectory + * Not enough characters allocated for ruler inch/cm indicators. Would cause segfault + on zooming out because of longer ruler text, e.g. -10210cm + * 22 new arrowhead types + * changed default browser to firefox and default pdf viewer to xpdf + * HTML MAP export (fig2dev) produces reference to .png file instead of .gif now + * A note added to i18n.html that says if you run fig2dev standalone, you must + pass the -j option to it + * No need to have the C99 complex functions in the math library. + * New computers from Andre Esser (Libraries/Computers) + * Some network icons colored and/or combined by Roland Rosenfeld. + * When exporting only active layers have choice of bounding area of whole + figure or only the active layers + * Two new library figures - piano_keyboard.fig, top view of a piano keyboard + by Reinaert Albrecht, and piano_keyboard_perspect.fig, a perspective + view of a piano keyboard by Brian Smith, both in the Libraries/Music + directory. + * New library figure - scissors.fig in Libraries/OfficeEquip from Kasie + Breezer Talbot + * Search tolerance increased from 4 pixels to 10 for zoom < 20 + * Isometric grid to ease making isometric drawings + From Jasper Wesselingh + * New 37-pin D connector and 50-pin ribbon connector in Libraries/Electronic/Physical + +------------------------------------------------------------------- +Sun Nov 15 14:48:07 CET 2009 - meissner@suse.de + +- refresh patches to apply with fuzz=0 + +------------------------------------------------------------------- +Mon Apr 6 11:23:08 CEST 2009 - werner@suse.de + +- Add fix to avoid FPE aftger zoom in (bnc#492295) + +------------------------------------------------------------------- +Wed May 14 19:13:00 CEST 2008 - werner@suse.de + +- Fix buffer overflow in zoom handling (bnc#390283) + +------------------------------------------------------------------- +Fri Apr 25 18:17:48 CEST 2008 - werner@suse.de + +- Make PS/PDF/LaTeX work similar to PS/LaTeX and PDF/LaTeX (bnc#383669) + +------------------------------------------------------------------- +Tue Dec 18 14:22:49 UTC 2007 - werner@suse.de + +- Close comment in patch xfig.3.2.5-fixes.dif (bug #349439) + +------------------------------------------------------------------- +Fri Nov 23 12:30:59 CET 2007 - werner@suse.de + +- Make browser script know about firefox + +------------------------------------------------------------------- +Fri Jun 1 17:15:10 CEST 2007 - dmueller@suse.de + +- fix buildrequires + +------------------------------------------------------------------- +Mon May 7 16:44:45 CEST 2007 - werner@suse.de + +- Make it work as it should: + * Be sure that horizontal sidebar ruler and other elements are + visible all the time. This requires small modifications in the + calculations of the positions of a lot of elements/classes. + * Make splash screen show `3.2.5' instead of `3.2.5 - alpha5' + * Supress not wanted debug message +- Update to xfig 3.2.5 including various bug fixes, from the + CHANGES file (bug #267840): + * Shift-U accelerator added to popup units panel + * The library menu button sizes with the library panel, to show longer + path names if the user wants. + * The cursor for drawing lines, splines, etc. is a crosshair now instead + of an arrow. + * Snap features to allow snapping points to endpoints, midpoints and + intersections of other objects. + From Chris Moller. + * Keyboard input of object coordinates for precise positioning. + From Chris Moller. + * Can grab arc anywhere along the curve instead of just at grab points + From Chris Moller. + * Added -noflipvisualhints for cases where, due to "different" pointer + devices, they aren't really flipped, but the mapping indicates they are. + * Export to all of PS, PDF and LaTeX in one operation + From Alistair Ramsey + * Reorganized Networks library and new devices: ASX-200, 1000, and 4000 + by Bill Chimiak + * New figures "betty.fig" (Betty Boop) and "nikke.fig" (German detective + Nick Knatter) in Libraries/Examples drawn by Markku Reunanen + * Can finish text input by pressing Escape. This removes the cancellation + of a compose sequence (e.g. a-umlaut) + * Actually a bug fix, import of PDF files is now possible. The code was + there since version 3.2.3, but the user interface was not. + * Nearly-full ANSI protoization of code by Harald Koenig + * Installation of Libraries and doc files faster with tar instead of shell loop + * New Gregorian chant music symbols from Bill Chimiak. Also, Music library + divided into "chant" and "modern" + * Popup edit panel slightly more compact vertically + * New library "Fasteners" containing various bolts and screws + From Jim Yuzwalk + * Increased size of numeric entry fields in indicator panels + * N-channel IGBT in Electronic/Schematics Library from Art Blair + * starting values for arrow type, width, length, thickness may be specified + on command-line or in X resources: + -startarrowtype, -startarrowwidth, -startarrowlength, -startarrowthick + * xfig would crash on 64-bit processors because of a missing include, which + causes new_string() to be declared implicitly as returning an integer. + This may cause the top 32 bits to get lost and hence the crash. + * Blanks not preserved in imported picture filename when reading Fig file + * When in metric mode, decimal precision was ignored for dimension lines + * When showing vertex numbers on objects, first vertex is now 0 to match + edit window vertex numbers + * Also, vertex numbers are not shown on inactive (grayed) layers + * Widget shadow resources moved from Fig-color to Fig because they don't + really have anything to do with color. There was a problem when running + KDE because it set a global resource *Scrollbar*height: which made xfig + freeze when *customization: -color was NOT used. + * The point positioning indicator is turned on when editing a compound + object to show the user that it is used + * Increased the maximum size of images that can be imported. There was + a limit in the PostScript image encoder of 4096x4096 pixels. This was + increased to 8192x8192. + * Centered text was changed to left-justified when flipped horizontally + inside a compound object. + * With -v option, after reporting the version, xfig would say that -v + was an unknown option + * Local locale was being used when writing the xfig cut buffer file + instead of switching to "C" locale. This created commas instead of + decimal (.) for numbers in those particular locales. + From Dirk Osswald + * Local locale was used when forming command for calling fig2dev, + resulting in commas instead of decimals for floating point numbers. + * count_user_colors buffer overflow fixed + * Under Cygwin, temporary file stayed around after unlink(), causing + error when importing more than one ps/eps/pdf file + * Segfault when using -update because appres resources were NULL + * -update option failed when not first option passed to xfig + * Clicking window manager "close window" button in library titlebar + didn't close the window + * Wasn't distributing objects in compounds when there were only 2 objects + * Some compilers complain about the order of declaration in u_fonts.h - fixed + * Northern part of map of India was incorrect (Libraries/Maps/Asia/india.fig) + * Map of Serbia was misnamed "yugoslavia.fig" (Libraries/Maps/Europe/yugoslavia.fig) + * Map of Central Europe had old Yugoslavia instead of Croatia, Serbia, Bosnia- + Herzegovina, and Macedonia (also, Slovenia was mistakenly inside the border) + * Editing a compound object with more than 200 texts would crash xfig + * Added note to README and FAQ html file: + If the Xaw or Xaw3d Athena widget sets are compiled with the + ARROW_SCROLLBAR style of scrollbars, there is no StartScroll action + and you won't be able to scroll using the wheel on the mouse. + If you want to be able to scroll using the wheel, you must recompile + the Xaw library from sources, disabling the ARROW_SCROLLBAR option. + * Astrological symbols for planets in Miscellaneous/Astrology by Andrew Collier + * Added key bindings to text dialogs to be more like modern systems (the + Athena Widget Set that xfig uses is very old): + Home: beginning-of-line + End: end-of-line + Del: delete-character-right + * Added *.jpeg* to picture browse options + * New libraries for electronics from Fabio González in + Libraries/Electronics/Schematic/More + * typo in latex_and_xfig.html and LATEX_AND_XFIG files. Text should be: + \convertMPtoPDF{foo.0}{1}{1} + It was missing parameters {1}{1} + * -correct_font_size missing from -help option list and man pages + * -help and -version didn't work unless they were first in the options + * -O option wasn't passed to fig2dev for overlapping pages in multiple + page mode for PostScript export + * Introduction.html and installation.html updated to include Macintosh + port of xfig + * Button to collapse depths of a compound object (make all same depth) + in popup object editor + * Grid changed from dotted line to light red solid line + * Candle in Libraries/Miscellaneous by Dr. Lyman Hazelton + * Right-click on depth checkbox sets current depth in indicator panel + to that depth + * Library of symbols used when diagramming folding instructions to make + origami models and example contributed by Marc Vigo + * Can adjust width and height directly in popup editor for picture + objects + * Support for David Hawkey's Xaw3D version 1.5E + (http://www.visi.com/~hawkeyd/xaw3d.html) + * When loading a library object, if it contained only a compound and + nothing else, when xfig promoted that compound to the toplevel the + main comment was lost + * Incorrect header files used for SmeBSB resulted in either segfault or + none of the command panel entries being underlined + * Drawing very large splines (e.g. at zoom = 0.01) caused integer + roundoff errors, making xfig loop indefinitely + * Bug where a line that had a zero width or length arrowhead was not + redrawn after being moved, copied, canvas redraw, etc. + * The page border and axis lines would obscure Fig objects when moving, + copying etc. other objects on the canvas. + * In the popup picture editor, if the relative position of the corners + of the picture were changed, the rotation field was not updated + (this bug was in 3.2.5-alpha3 only) + * line, arc, ellipse length tool was reporting 0 length + * URL for information about the color optimization code (written by + Anthony Dekker) has changed to: + http://members.ozemail.com.au/~dekker/NEUQUANT.HTML + * -autorefresh command-line option (resource: Fig.autorefresh) which + will make xfig look at the timestamp on the .fig file and + automatically load it and display it everytime it changes. + * Removed requirement to compile with WHEELMOUSE when using wheelmouse + * New tower computers (Libraries/Computers/AOpenKF45E.fig and + AOpenKF45E.fig from Dirko van Schalkwyk) + * New 10/100 8port hub (Libraries/Networks/3Com3C16750.fig also from + Dirko van Schalkwyk) + * When placing library objects, the name and comments are displayed in + message window + * New flags (Libraries/Flags): Africa/Eritrea, Africa/Zimbabwe, + Asia/Myanmar, Asia/Tajikstan, Asia/Kyrgystan, Europe/Croatia + * non-polar capacitor added to Libraries/Electronic/Schematic + * Mouse wheel can be used to scroll through filename lists in File and + Export panels and icons or object lists in Library panel + * Thickness of ticks in dimension lines are user-adjustable now + * For attribute popup dialogs with only one text entry, keyboard now + focuses on the entry as long as the pointer is anywhere in the dialog + * When using the "Open compound, keep rest visible", the other objects + are drawn in shades of gray similar to the inactive layers feature. + * New library objects: adder, multiplier, sine-source and voltage-source + in Electronic/Schematic by Hubert Lam + * Zooming in or out with the Z or z key respectively will keep the canvas + centered on the mouse pointer + * Full version and patchlevel is included in Fig file header for + diagnostics + * Can explicitly set the rotation of imported pictures in edit panel + after importing + * Export option to produce both EPS and PDF (in two files) in one step. + Useful for those who both use LaTeX and PDFLaTeX + * "Epoch" added to rpm spec + * New HP/GL2 (fig2dev) driver from Glenn Burkhardt with paper size + selection, offset, centering and orientation options + * New library object "atom" in Libraries/Miscellaneous is the classic + drawing of an atom with electrons circling + From Andrew B. Collier + * Missing #ifdef XAW3D in SimpleMenu.c + * Bug when breaking a compound object - depths were added twice to the + counts + * When implicitly cancelling the placement of a library object by + choosing another mode, xfig would do one of two things: + 1. tell user to cancel or finish the current operation, but there + was no way to do that + 2. create the object that was being cancelled with extremely large, + negative coordinates + * Picture Reread button was active before file was read the first time + * Rereading picture in edit popup produced bad colors + * When using multiple copies of an imported picture, h/w ratio was not + computed for copies + * Importing PCX images were incorrect when bytes per line different from + width*bpp + * When passed a filename containing a directory name for a Fig object + library using -library_dir, and that directory only contains Fig files + and no subdirectories with Fig files, xfig segfaulted + * Several checks for memory allocation failure added to the library + loading procs + * Forgot to free allocated memory when return abnormally from loading + libraries + * Path length check in loading libraries fixed + * Missing include for put_msg prototype in e_measeure.c + * Needed #ifdef for XtVersion in SmeBSB.c (X11R5 doesn't have + international fontset) + * Added SIGPIPE signal to ignore in case an external program dies when we're + using pipes + * Screen capture on an MSBFirst X server with 24/32 bits per pixel was + incorrect. + * Importing any image file on such a server was incorrect (bytes/bits + reversed). + * Reading GIF or PCX files on 24-bit server *and* on big-endian machine + (e.g. Sparcstation) resulted in bytes being swapped and funny colors + * Could popup unit dialog when drawing/editing objects + * Embedded whitespace in filenames in recently loaded files weren't + parsed properly (.xfigrc) + * When pasting an object on the canvas, point positioning grid wasn't used + * Bug when reading a compressed eps file (file handle was passed to open + proc instead of name) + * Minor grid spec used twice instead of minor/major when passed to fig2dev + * Fixed conversions of export/print grid values when switching to/from + metric, decimal or fraction + * When loading or merging a file, xfig appended ".fig" to the name if + there wasn't ".fig" in the name. Now it only appends ".fig" if there + is no suffix (no "."). + * When appending the ".fig" before the previous change, xfig would segfault + * Libraries/Electronic/Schematic/transformer and transformer_ironcore + aligned to 1/16" grid + * Bugs in indicator panel display of text flags, dimension line params + and arrow size params when cycling through settings with middle or + right mouse button + * Bug in callbacks for dimension line checkboxes that select actual + length or user text + * When exporting to Combined PDF/LaTeX it uses ".pdf" and ".pdf_t" + suffixes because LaTeX doesn't recognize ".pdftex" as a PDF file + * Better clipping around arrowheads on thick lines (lines that are + thicker than the arrowhead is wide) + * Checks for open splines of < 2 points when reading figure file and + removes them + * Clicking middle mouse button after creating first point of closed + spline switched to freehand mode + * Export panel sections would get messed up when changing export + languages + * Now checks whether scrollbars support StartScroll before trying to use + it for the wheel scrolling. When the Xaw widgets are compiled with + ARROW_SCROLLBAR, there is no such action. + * pstex_t export lacked border option (-b) to align LaTeX text when + pstex figure specified border (also fixed in fig2dev) + * Create one picture object with no filename, then create another and + xfig crashed + * Some bugs when freeing dimension line components + * Bad choices for grid dot spacing in metric mode in the 5mm grid, and + decimal inch mode in the 0.5 and 1.0 inch grids + * -international flag missing from xfig.html and xfig.man docs + * Added call to XsetLocaleModifiers() when initializing input method + (-international mode only) + * xfig was limiting arrowhead lengths to 50 pixels instead of 50 inches, + and the width to 10 pixels instead of 10 inches. + * edit panel for circles shouldn't have "angle" entry + * edit panel wasn't allowing typing in of negative angles for text and + ellipses + * Objects were sometimes drawn with a wild point when zooming + * Full path was being added to default export filename and wasn't + changing when user changed directories + * When drawing a box or rounded box with the "show line lengths" on, the + sizes were in Fig units (1200ppi) instead of user units. + * Spacing cedilla (ISO 0xB8 / octal 270) was missing from CompKeyDB file + * Changing the units in the popup edit panel for a text object caused a + segfault. + * Rulers and grid didn't change scale when user scale was != 1.0. Even + though the message window showed the correct user scale when drawing + objects, the rulers and grid still showed the unscaled values. + * Axis lines through 0,0 now drawn after page border so it remains + visible when there is a grid + * Segfault if current directory was deleted after starting xfig + * Positioning grid was set to "ANY" when editing a compound object, + causing the original bounding box to be lost + * Bug in arc drawing caused arcs to be drawn as circles at high zoom + * Computing the area of a polygon larger than 38x38 inches overflowed + calculation + * Bug in bounds calculation for ellipses and circles that increased + bounding box even with line width = 1 + * Limit on number of styles in a family wasn't checked + * If all depths were turned off and any edit operation was attempted on + the canvas such as move object, delete object, xfig would hang, + searching for objects indefinitely. + +------------------------------------------------------------------- +Thu Nov 16 14:18:54 CET 2006 - werner@suse.de + +- Set LC_NUMERIC to POSIX before print or export data (bug #213942) + +------------------------------------------------------------------- +Tue Nov 7 16:01:20 CET 2006 - ro@suse.de + +- fix docu permissions + +------------------------------------------------------------------- +Mon Jul 31 19:17:02 CEST 2006 - werner@suse.de + +- Use Imake defines for LIBDIR/SHAREDIR switch + +------------------------------------------------------------------- +Fri Jul 28 19:22:50 CEST 2006 - werner@suse.de + +- Make it build with X11R7 + +------------------------------------------------------------------- +Wed Feb 15 10:36:07 CET 2006 - stbinner@suse.de + +- add GenericName to .desktop file + +------------------------------------------------------------------- +Wed Jan 25 21:43:07 CET 2006 - mls@suse.de + +- converted neededforbuild to BuildRequires + +------------------------------------------------------------------- +Thu Oct 6 19:28:43 CEST 2005 - werner@suse.de + +- Make URW fonts an option, use Adobe as fallback + +------------------------------------------------------------------- +Wed Aug 31 13:33:19 CEST 2005 - werner@suse.de + +- Fix single byte buffer overflow due pedantic gcc4 (bug #114344) + +------------------------------------------------------------------- +Mon Aug 29 11:30:10 CEST 2005 - ro@suse.de + +- use own desktop file with icon (#113672) + +------------------------------------------------------------------- +Tue Mar 1 10:35:20 CET 2005 - meissner@suse.de + +- fixed font struct definitions to be after struct + definition for gcc4. +- -Wno-all is actually -w. + +------------------------------------------------------------------- +Thu Aug 26 11:53:39 CEST 2004 - werner@suse.de + +- Allow arguments in the wrapper script for xfig + +------------------------------------------------------------------- +Wed Aug 25 15:05:13 CEST 2004 - werner@suse.de + +- Avoid nasty warnings about not found actions +- Use wrapper script to avoid UTF-8 for the program its self + +------------------------------------------------------------------- +Fri Aug 13 16:03:35 CEST 2004 - werner@suse.de + +- Filelist: Add pixmap of xfig (#43698) +- Package docu: correct dir name in PDB (#43698) + +------------------------------------------------------------------- +Fri May 28 11:35:57 CEST 2004 - adrian@suse.de + +- fix invalid Categories (#41338) + +------------------------------------------------------------------- +Tue Apr 6 17:00:46 CEST 2004 - werner@suse.de + +- Add application desktop file for xfig (bug #38507 ???) + +------------------------------------------------------------------- +Mon Mar 22 13:29:27 CET 2004 - werner@suse.de + +- Fix NULL pointer access (bug #36650) + +------------------------------------------------------------------- +Thu Mar 18 17:43:45 CET 2004 - werner@suse.de + +- Remove .bak's from file list (bug #36311) + +------------------------------------------------------------------- +Thu Mar 11 15:53:55 CET 2004 - werner@suse.de + +- Add browser script for detection of varisou web browsers (#35669) +- Add security fix for temporary files +- Fix doc location +- Avoid extrem long build logs + +------------------------------------------------------------------- +Tue Feb 3 18:55:23 CET 2004 - werner@suse.de + +- Update to 3.2.4 + +------------------------------------------------------------------- +Sat Jan 10 17:38:27 CET 2004 - adrian@suse.de + +- build as user + +------------------------------------------------------------------- +Tue Jul 22 13:20:15 CEST 2003 - hare@suse.de + +- Fixed function declaration. + +------------------------------------------------------------------- +Fri Jun 13 08:39:58 CEST 2003 - kukuk@suse.de + +- Add workaround for brp-symlink script + +------------------------------------------------------------------- +Thu Jun 12 10:51:39 CEST 2003 - kukuk@suse.de + +- Use BuildRoot +- Fix filelist + +------------------------------------------------------------------- +Fri May 9 12:35:24 CEST 2003 - mfabian@suse.de + +- fix Bugzilla #26734: extend the fontsets in + xfig-international-std-fonts.dif to always match something to + avoid warnings "Missing charsets in String to FontSet conversion" + even if only few fonts are installed. + +------------------------------------------------------------------- +Thu May 8 20:46:46 CEST 2003 - mfabian@suse.de + +- adapt font names in xfig.3.2.3d-urw-fonts.dif to the names + as they are auto generated by mkfontscale since SuSE Linux 8.2. +- don't print warnings concerning input styles when compose is + used, input styles don't matter for compose. + +------------------------------------------------------------------- +Mon Mar 18 21:19:14 CET 2002 - mfabian@suse.de + +- fix bug #15077, don't exit when XSetLocaleModifiers("") fails, + this would make it impossible to use the '-international' option + unless some input server is running, which is nonsense for most + non-Asian languages e.g. for Czech. +- enable '-international' automatically when + NULL == strcasestr(nl_langinfo(CODESET),"ISO-8859-1") + (i.e. enable it automatically for Czech as well). +- use better fonts for on screen display of Times-Roman and + Times-Bold when '-international' is used. + +------------------------------------------------------------------- +Mon Mar 18 12:45:13 CET 2002 - werner@suse.de + +- Fix bug # 15076: add link /usr/X11R6/lib/X11/xfig/html/ + pointing to /usr/share/doc/packages/xfig/html/, + add link /usr/X11R6/lib/X11/xfig/xfig.html pointing to + /usr/share/doc/packages/xfig/xfig.html, add link + /usr/X11R6/lib/X11/xfig/xfig-howto.pdf pointing to + /usr/share/doc/packages/xfig/xfig-howto.pdf + +------------------------------------------------------------------- +Thu Mar 7 12:43:21 CET 2002 - werner@suse.de + +- Fix bug # 14588: add link /usr/X11R6/lib/X11/xfig/Libraries + pointing to /usr/share/doc/packages/xfig/Examples/Libraries + +------------------------------------------------------------------- +Fri Feb 22 18:28:57 CET 2002 - mfabian@suse.de + +- use the URW fonts for display on X11 instead of bitmap fonts. + Using the URW fonts for display on X11 *and* for printing with + Ghostscript has the advantage that printout looks much more + similar to the preview on X11. Much more WYSIWYG now. + On top of that, the bitmap fonts could not be scaled anymore + because we now have ":unscaled" added to every directory in + the font path which contains only bitmap fonts. Therefore + changing the font size in xfig ceased to work on X11, it worked + only in the PostScript output. Because of this the X11 display + was very different from the PostScript output. +- add font-test.fig as a sample file to test the correct display + of the URW fonts. +- add xfig.3.2.3d-xim.dif to fix XIM for Japanese and Korean. + (didn't work at all previously because a call to + XSetLocaleModifiers() was missing) +- switch on the '-international' option for all locales using + codesets different from 'ISO-8859-*' on by default. +- remove Korean app-defaults. The only reason for it's existence + was to set 'Fig.international: true' apart from that it was + identical to the standard app-defaults file. And because of + some bug (which I still don't understand) it wasn't read anyway + and therefore achieved nothing. + +------------------------------------------------------------------- +Fri Feb 1 00:26:07 CET 2002 - ro@suse.de + +- changed neededforbuild to + +------------------------------------------------------------------- +Tue Dec 11 12:45:56 CET 2001 - werner@suse.de + +- Add forgotten examples +- Add forgotten docs + +------------------------------------------------------------------- +Mon Dec 10 16:33:10 CET 2001 - werner@suse.de + +- Update to version 3.2.3d + +------------------------------------------------------------------- +Tue May 8 18:47:29 CEST 2001 - mfabian@suse.de + +- bzip2 sources + +------------------------------------------------------------------- +Thu Jan 25 17:17:38 CET 2001 - violiet@suse.de + +- added Korean resource. + +------------------------------------------------------------------- +Thu Dec 14 15:31:00 CET 2000 - werner@suse.de + +- Fixed the improve of the object searching at higher zooms (bug#4672) + +------------------------------------------------------------------- +Tue Oct 10 16:46:11 CEST 2000 - werner@suse.de + +- Move XtSetLanguageProc after XtAppInitialize because otherwise + LC_NUMERIC will be overwritten by LANG. + +------------------------------------------------------------------- +Fri Sep 15 17:17:22 CEST 2000 - werner@suse.de + +- Update to 3.2.3c + * include bug fix for f_read.c + * Enable international support at compile time but disable + it at run time (works only for Japanese and Korean). + User could use -international + * Mention -international in the manual and html page + +------------------------------------------------------------------- +Fri Jun 30 15:37:59 CEST 2000 - werner@suse.de + +- Workaround for un-initialized label in sme_bsb class + +------------------------------------------------------------------- +Wed May 31 16:22:54 CEST 2000 - werner@suse.de + +- use %{_defaultdocdir} + +------------------------------------------------------------------- +Mon Mar 27 12:48:09 CEST 2000 - werner@suse.de + +- Avoid sparc nasties + +------------------------------------------------------------------- +Fri Mar 24 14:46:11 CET 2000 - werner@suse.de + +- Update to new version 3.2.3a +- Add patch for special jpeg version +- Change some minor shadow colorings + +------------------------------------------------------------------- +Mon Sep 13 17:23:57 CEST 1999 - bs@suse.de + +- ran old prepare_spec on spec file to switch to new prepare_spec. + +------------------------------------------------------------------- +Wed Apr 7 20:35:51 CEST 1999 - werner@suse.de + +- Use the macro __need___va_list instead of moving varargs.h +- Integrate the cut+paste patch +- Use colored XPM icon + +------------------------------------------------------------------- +Fri Mar 5 01:00:51 MET 1999 - ro@suse.de + +- move varargs topward to make it compile + +------------------------------------------------------------------- +Wed Dec 9 16:40:43 MET 1998 - max@suse.de + +- added whole /usr/X11R6/lib/X11/xfig path to the file list, to get + online documentation and cliparts into the rpm package. + +------------------------------------------------------------------- +Fri Oct 30 11:24:41 MET 1998 - ro@suse.de + +- update to 3.2.2 + +------------------------------------------------------------------- +Thu Sep 17 16:56:38 MEST 1998 - ro@suse.de + +- don't redeclare sys_errlist for glibc + +------------------------------------------------------------------- +Mon Oct 20 13:35:40 MEST 1997 - ro@suse.de + +- ready for autobuild + +------------------------------------------------------------------- +Tue May 27 20:03:59 MEST 1997 - florian@suse.de + + +- update to version 3.2 + +------------------------------------------------------------------- +Tue May 27 20:03:59 MEST 1997 - florian@suse.de + + +- update to version 3.2.0-beta3 + +- add more docu and examples + + +------------------------------------------------------------------- +Wed Nov 6 00:13:26 CET 1996 - florian@suse.de + + +- changed to use cm as default metric and not inches + + diff --git a/xfig.desktop b/xfig.desktop new file mode 100644 index 0000000..67b708d --- /dev/null +++ b/xfig.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Categories=VectorGraphics +Exec=@@BINDIR@@/xfig +InitialPreference=2 +MimeType=image/x-xfig; +Name=xfig +GenericName=Vector Drawing +Terminal=false +Type=Application +Icon=xfig diff --git a/xfig.spec b/xfig.spec new file mode 100644 index 0000000..ab2e117 --- /dev/null +++ b/xfig.spec @@ -0,0 +1,154 @@ +# +# spec file for package xfig +# +# Copyright (c) 2024 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +Name: xfig +Version: 3.2.9 +Release: 0 +Summary: Facility for Interactive Generation of Figures under the X Window System +License: MIT +Group: Productivity/Graphics/Vector Editors +URL: https://sourceforge.net/projects/mcj/ +# +# Remove forbidden files: aircraft.fig +# xfig-3.2.8a.tar +# tar -f xfig-3.2.8a.tar --delete xfig-3.2.8a/Libraries/Examples/aircraft.fig +# xfig-3.2.8a.tar +# +#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 +BuildRequires: dos2unix +BuildRequires: fdupes +BuildRequires: flex +BuildRequires: freetype2-devel +BuildRequires: libjpeg-devel +BuildRequires: libpng-devel +BuildRequires: netpbm +BuildRequires: pkgconfig +BuildRequires: update-desktop-files +BuildRequires: pkgconfig(fontconfig) +BuildRequires: pkgconfig(ijs) +BuildRequires: pkgconfig(libtiff-4) +BuildRequires: pkgconfig(x11) +BuildRequires: pkgconfig(xaw3d) +BuildRequires: pkgconfig(xaw6) +BuildRequires: pkgconfig(xft) +BuildRequires: pkgconfig(xi) +BuildRequires: pkgconfig(xmu) +BuildRequires: pkgconfig(xpm) +BuildRequires: pkgconfig(xt) +Requires: efont-unicode +Requires: fontconfig +%if 0%{?suse_version} >= 1699 +Requires: (ghostscript-fonts-std or urw-base35-fonts) +%else +Requires: ghostscript-fonts-std +%endif +Requires: ifnteuro +Requires: netpbm +Requires: transfig >= %{version} +Requires: xorg-x11-fonts +Requires: xorg-x11-fonts-core +Provides: xfig.3.2.3d +%if ! %{defined make_build} +%define make_build make %{?_smp_mflags} +%endif +%if ! %{defined make_install} +%define make_install make install DESTDIR=%{?buildroot} INSTALL="install -p" +%endif + +%description +Xfig is a menu-driven tool that allows the user to draw and manipulate +objects interactively in an X Window System window. The resulting +pictures can be saved, printed on PostScript printers, or converted to +a variety of other formats (to allow inclusion in LaTeX documents, for +example). + +%prep +%setup -q -n xfig-%{version} +set +x +find -type f | xargs -r chmod a-x,go-w +find -type f | while read file; do + if grep -qr $'\r' $file ; then + dos2unix --keepdate --quiet $file + fi +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 +cp %{SOURCE1} . +test ! -e Libraries/Examples/aircraft.fig || { echo forbidden file found 1>&2; exit 1; } + +%build +CC=gcc +CFLAGS="%{optflags} -w -D_GNU_SOURCE -std=gnu99 -DUSE_XPM -DUSE_SPLASH" +CFLAGS="$CFLAGS $(getconf LFS_CFLAGS) -DMAXNUMPTS=50000" +export CC CFLAGS +chmod +x configure +%configure \ + --docdir=%{_defaultdocdir}/%{name} \ + --enable-tablet \ + --enable-splash \ + --with-x \ + --with-xaw3d1_5e \ + --with-xaw3d +touch src/splash.xbm +touch src/splash.xpm +%make_build CCOPTIONS="$CFLAGS" + +%install +find -name '*.bak' -exec rm -vf '{}' \+ +%make_install +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 + +%files +%defattr(-,root,root,755) +%doc %{_docdir}/%{name} +%dir %{_datadir}/X11/app-defaults +%{_datadir}/X11/app-defaults/Fig +%{_bindir}/xfig* +%{_datadir}/applications/xfig.desktop +%{_datadir}/pixmaps/xfig.png +%{_datadir}/xfig +%{_mandir}/man1/xfig.1*.gz + +%changelog