Hello community, here is the log from the commit of package abcm2ps for openSUSE:Factory checked in at 2018-11-20 22:44:33 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/abcm2ps (Old) and /work/SRC/openSUSE:Factory/.abcm2ps.new.19453 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "abcm2ps" Tue Nov 20 22:44:33 2018 rev:2 rq:650537 version:8.14.1 Changes: -------- --- /work/SRC/openSUSE:Factory/abcm2ps/abcm2ps.changes 2018-10-01 08:16:31.010002491 +0200 +++ /work/SRC/openSUSE:Factory/.abcm2ps.new.19453/abcm2ps.changes 2018-11-20 22:45:11.450220306 +0100 @@ -1,0 +2,17 @@ +Mon Nov 19 12:45:13 UTC 2018 - [email protected] + +- Update to 8.14.1: + * bad definition of the music font (@font-face[1]) + * bad error when --pango 2 in command line and SVG output + * bad beams when notes on 2 staves and %%flatbeams + * error in SVG output when color setting since version v8.14.0 + * code revert: use pango only when needed + * crash in 'make install' when no 'rst2man' in the shell PATH + +------------------------------------------------------------------- +Mon Sep 24 16:33:28 UTC 2018 - Jan Engelhardt <[email protected]> + +- Fix some grammar issues in descriptions. +- Use %configure macro. + +------------------------------------------------------------------- Old: ---- v8.14.0.tar.gz New: ---- v8.14.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ abcm2ps.spec ++++++ --- /var/tmp/diff_new_pack.C0ZRCz/_old 2018-11-20 22:45:13.390219552 +0100 +++ /var/tmp/diff_new_pack.C0ZRCz/_new 2018-11-20 22:45:13.394219551 +0100 @@ -13,17 +13,17 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # Name: abcm2ps -Version: 8.14.0 +Version: 8.14.1 Release: 0 Summary: A program to typeset abc tunes into Postscript -Summary(de): Ein Werkzeug um ABC Notationen in Postscript zu drucken License: GPL-2.0-or-later Group: Productivity/Publishing/Other +Summary(de): Ein Werkzeug um ABC-Notationen in Postscript zu drucken URL: https://github.com/leesavide/abcm2ps/ Source0: https://github.com/leesavide/abcm2ps/archive/v%{version}.tar.gz Source1: italian.fmt @@ -35,15 +35,15 @@ BuildRequires: python3-docutils # for rendering non-latin characters in Postscript output BuildRequires: pkg-config -BuildRequires: pkgconfig(freetype2) BuildRequires: pkgconfig(cairo) +BuildRequires: pkgconfig(freetype2) BuildRequires: pkgconfig(pangocairo) %description abcm2ps is a package which converts music tunes from ABC format to PostScript. Based on abc2ps version 1.2.5, it was developed mainly to print barock organ scores which have independent voices played on one or many -keyboards and a pedal-board. abcm2ps introduces many extensions to the ABC +keyboards and a pedal board. abcm2ps introduces many extensions to the ABC language that make it suitable for classical music. %prep @@ -52,9 +52,7 @@ sed "s/\/\/#define A4_FORMAT/#define A4_FORMAT/" config.h.sed > config.h.in %build -export CFLAGS="%{optflags}" -export CPPFLAGS="%{optflags}" -./configure --prefix=%{_prefix} +%configure make %{?_smp_mflags} %install ++++++ v8.14.0.tar.gz -> v8.14.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/abcm2ps-8.14.0/Makefile.in new/abcm2ps-8.14.1/Makefile.in --- old/abcm2ps-8.14.0/Makefile.in 2018-09-09 15:16:10.000000000 +0200 +++ new/abcm2ps-8.14.1/Makefile.in 2018-11-15 18:16:01.000000000 +0100 @@ -40,7 +40,11 @@ examples=$(addprefix $(srcdir)/,*.abc *.eps) abcm2ps.1: abcm2ps.rst - rst2man abcm2ps.rst abcm2ps.1 + if [ -x "$$(command -v rst2man)" ]; then\ + rst2man abcm2ps.rst abcm2ps.1;\ + else\ + cp abcm2ps.rst abcm2ps.1;\ + fi install: build mkdir -p $(bindir); \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/abcm2ps-8.14.0/configure new/abcm2ps-8.14.1/configure --- old/abcm2ps-8.14.0/configure 2018-09-09 15:16:10.000000000 +0200 +++ new/abcm2ps-8.14.1/configure 2018-11-15 18:16:01.000000000 +0100 @@ -1,8 +1,8 @@ #! /bin/sh # (automatic update) -VERSION=8.14.0 -VDATE=2018-09-09 +VERSION=8.14.1 +VDATE=2018-11-15 CC=gcc CFLAGS="-g -O2 -Wall -pipe" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/abcm2ps-8.14.0/draw.c new/abcm2ps-8.14.1/draw.c --- old/abcm2ps-8.14.0/draw.c 2018-09-09 15:16:10.000000000 +0200 +++ new/abcm2ps-8.14.1/draw.c 2018-11-15 18:16:01.000000000 +0100 @@ -298,18 +298,19 @@ if (a0 * a0 < BEAM_THRESH * BEAM_THRESH) a = 0; /* flat below threshhold */ - b = (sy - a * sx) / notes; /* recalculate b for new slope */ +// b = (sy - a * sx) / notes; /* recalculate b for new slope */ /* if (nflags>1) b=b+2*stem;*/ /* leave a bit more room if several beams */ /* have flat beams when asked */ if (cfmt.flatbeams) { - if (!(s1->flags & ABC_F_GRACE)) - b = -11 + staff_tb[staff].y; - else - b = 35 + staff_tb[staff].y; +// if (!(s1->flags & ABC_F_GRACE)) +// b = -11 + staff_tb[staff].y; +// else +// b = 35 + staff_tb[staff].y; a = 0; } + b = (sy - a * sx) / notes; /* recalculate b for new slope */ /*fixme: have a look again*/ /* have room for the symbols in the staff */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/abcm2ps-8.14.0/format.c new/abcm2ps-8.14.1/format.c --- old/abcm2ps-8.14.0/format.c 2018-09-09 15:16:10.000000000 +0200 +++ new/abcm2ps-8.14.1/format.c 2018-11-15 18:16:01.000000000 +0100 @@ -1189,6 +1189,8 @@ switch (fd->subtype) { #ifdef HAVE_PANGO case 2: /* %%pango = 0, 1 or 2 */ + if (svg || epsf > 1) // if SVG output + break; if (*p == '2') { cfmt.pango = 2; break; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/abcm2ps-8.14.0/subs.c new/abcm2ps-8.14.1/subs.c --- old/abcm2ps-8.14.0/subs.c 2018-09-09 15:16:10.000000000 +0200 +++ new/abcm2ps-8.14.1/subs.c 2018-11-15 18:16:01.000000000 +0100 @@ -729,6 +729,30 @@ pg_para_output(job); pango_attr_list_unref(attrs); } + +/* check if pango is needed */ +static int is_latin(unsigned char *p) +{ + while (*p != '\0') { + if (*p >= 0xc6) { + if (*p == 0xe2) { + if (p[1] != 0x99 + || p[2] < 0xad || p[2] > 0xaf) + return 0; + p += 2; + } else if (*p == 0xf0) { + if (p[1] != 0x9d + || p[2] != 0x84 + || p[3] < 0xaa || p[3] > 0xab) + return 0; + } else { + return 0; + } + } + p++; + } + return 1; +} #endif /* HAVE_PANGO */ /* -- set the default font of a string -- */ @@ -903,8 +927,10 @@ //fixme: pango KO if user modification of ly/gc/an/gxshow /* use pango if some characters are out of the utf-array (in syms.c) */ if (cfmt.pango) { - str_pg_out(p, action); /* output the string */ - return; + if (cfmt.pango == 2 || !is_latin((unsigned char *) p)) { + str_pg_out(p, action); /* output the string */ + return; + } } #endif @@ -1004,6 +1030,9 @@ void write_text(char *cmd, char *s, int job) { int nw; +#ifdef HAVE_PANGO + int do_pango; +#endif float lineskip, parskip, strw; char *p; struct FONTSPEC *f; @@ -1067,7 +1096,10 @@ /* fill or justify lines */ #ifdef HAVE_PANGO - if (cfmt.pango) { + do_pango = cfmt.pango; + if (do_pango == 1) + do_pango = !is_latin((unsigned char *) s); + if (do_pango) { pg_write_text(s, job, parskip); goto skip; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/abcm2ps-8.14.0/svg.c new/abcm2ps-8.14.1/svg.c --- old/abcm2ps-8.14.0/svg.c 2018-09-09 15:16:10.000000000 +0200 +++ new/abcm2ps-8.14.1/svg.c 2018-11-15 18:16:01.000000000 +0100 @@ -1155,7 +1155,7 @@ " fill: currentColor}\n"; static const char svg_font_style_url[] = "@font-face {\n" - " font-family:music;\n" + " font-family:\"music\";\n" " src:%s}\n" ".music {font:24px music;\n" " fill: currentColor}\n"; @@ -1164,11 +1164,12 @@ "<title>"; fprintf(fout, svg_head1, w, h); - if (cfmt.musicfont) - fprintf(fout, - strchr(cfmt.musicfont, '(') ? - svg_font_style_url : svg_font_style, - cfmt.musicfont); + if (cfmt.musicfont) { + if (strchr(cfmt.musicfont, '(')) + fprintf(fout, svg_font_style_url, cfmt.musicfont); + else + fprintf(fout, svg_font_style); + } fputs(svg_head2, fout); } @@ -1275,14 +1276,26 @@ free(s); } -static void output_font(int back) +static void output_font(int span) { char *p, *fn; int i, imin; - if (gcur.font_n[0] == '\0') + if (gcur.font_n[0] == '\0' + && (span || !gcur.rgb)) return; - fprintf(fout, " style=\"font:"); + + fprintf(fout, " style=\""); + + if (!span && gcur.rgb) { + fprintf(fout, "color:#%06x;", gcur.rgb); + if (gcur.font_n[0] == '\0') { + fprintf(fout, "\""); + return; + } + } + + fprintf(fout, "font:"); fn = gcur.font_n; if (fn[0] == '/') fn++; @@ -1363,12 +1376,6 @@ fputs("\"", fout); } output_font(0); - if (gcur.rgb != 0) { - fprintf(fout, " style=\""); - if (gcur.rgb != 0) - fprintf(fout, "color:#%06x;", gcur.rgb); - fprintf(fout, "\""); - } //jfm test // fprintf(fout, "%s>\n", gcur.dash); fprintf(fout, ">\n");
