LilyPond 2.5.4 released

Han-Wen Nienhuys <[email protected]> Sun, 19 Dec 2004 15:56:04 +0100
Newsgroups gmane.comp.gnu.lilypond.announce
Message-ID <[email protected]>
LilyPond 2.5.4 is out. This release has some major brainsurgery in the
font handling. As of now, LilyPond loads the music fonts in OpenType
font format using FreeType.  This has made a lot of things simpler,
including font handling for the GNOME backend and SVG backend. It
should be possible now to run

       lilypond -f svg <lyfile>

and load the resulting lyfile.svg directly into Inkscape.

Kudos to Werner Lemberg for his tips with designing this, and to
George Williams for his relentlesswork on FontForge.

LilyPond 2.5.x now has some more build dependencies, including

 * fontforge 12 dec 2004 or newer

 * freetype 2 

 * mftrace 1.1.0


Unfortunately, there is no i386 RPM binary release for this
version. The new font handling also exposes some bugs in Ghostscript
7.07 (notably: wtk-fugue2.ly will hang during the PDF conversion
stage), which is shipped with many distributions. This means that I
have been unable to build the standard Fedora core RPM. It is possible
to build the documentation. Just make sure that you're running a
recent 8.x release of Ghostscript. 8.50 AFPL is fine, I haven't tested
the 8.15 GPL.

Another caveat is that almost all glyphnames in the font have been
changed. For compatibility reasons, glyphnames should not contain '-'
symbols. Therefore, all dashes have been replaced with dots ('.'). I
would welcome extra rules for convert-ly to handle this conversion.


2004-12-19  Han-Wen Nienhuys  <[email protected]>

	* VERSION (PACKAGE_NAME): release 2.5.4

	* scm/framework-texstr.scm (output-framework): new file.  

	* scm/output-texstr.scm: new file. Collect (TEXT . ) calls for TeX
	processing.

	* Documentation/user/invoking.itely (Invoking lilypond): add SVG

	* stepmake/stepmake/metafont-rules.make: make single SVG/PFA/PFB
	rule.

	* configure.in (gui_b): bump mftrace requirement to 1.1.0

	* mf/feta-bolletjes.mf (triangle): add s to 0triangle.

	* mf/GNUmakefile (ALL_GEN_FILES): make SVG files too.

2004-12-19  Jan Nieuwenhuizen  <[email protected]>

	* scm/framework-svg.scm (dump-page): Implement landscape.

2004-12-18  Jan Nieuwenhuizen  <[email protected]>

	* lily/main.cc (setup_paths): Add svg to search path.

	* scm/output-svg.scm:
	* scm/framework-svg.scm: Add pageSet.  Update.
	(dump-fonts): New function.
	(output-framework): Use it.

	* mf/GNUmakefile: 
	* buildscripts/gen-bigcheese-scripts.py: Also generate SVG font.

2004-12-18  Han-Wen Nienhuys  <[email protected]>

	* tex/lilyponddefs.tex: comment out new ifpdf code.

2004-12-17  Jan Nieuwenhuizen  <[email protected]>

	* GNUmakefile.in: 
	* SConstruct (symlink): Replace afm by otf.

	* scm/framework-gnome.scm (gnome-main): Remove invocation of
	ly:pango-add-afm-decoder.

	* lily/lily-guile.cc ("ly:pango-add-afm-decoder"): Build fix: Remove.

2004-12-17  Han-Wen Nienhuys  <[email protected]>

	* scm/output-ps.scm (new-text): don't access t glyph for getting
	space dimension.

	* ly/init.ly: warn about \version

	* lily/lexer.ll: set version-seen?

2004-12-17  Jan Nieuwenhuizen  <[email protected]>

	* scm/output-svg.scm (string->entities): Update.

2004-12-17  Han-Wen Nienhuys  <[email protected]>

	* lily/main.cc (setup_paths): replace afm by otf for path. 

	* lily/pangofc-afm-decoder.cc: remove.

	* lily/include/pangofc-afm-decoder.hh: remove.

	* scm/framework-scm.scm (output-framework): new file.

	* mf/GNUmakefile: remove SAUTER_FONTS.
	remove SVG/sodipodi hacks.

	* scm/lily-library.scm (stderr): move stderr.

	* mf/GNUmakefile: remove AFM support.

	* buildscripts/mf-to-table.py (base): remove AFM support.

	* lily/open-type-font.cc (design_size): use design_size

2004-12-17  Pedro Kroger  <[email protected]>

	* lily/font-metric.cc (LY_DEFINE): Fix the docstring.

2004-12-17  Jan Nieuwenhuizen  <[email protected]>

	* mf/GNUmakefile: Generate combined aybabtu info.
	* mf/aybabtu.pe.in (i): Load it.

	* scm/framework-tex.scm (otf-font-load-command): Bugfix: subfonts
	are not symbols.

	* lily/include/open-type-font.hh (count): New method.

	* mf/aybabtu.pe.in: Typo.

	* Documentation/user/out/lilypond-internals.nexi (Scheme
	functions): Typo.

	* lily/include/guile-compatibility.hh (SCM_HASHTABLE_P): Add compat.

2004-12-17  Han-Wen Nienhuys  <[email protected]>

	* buildscripts/gen-bigcheese-scripts.py (i): use symbols for
	subfonts.

	* scm/output-tex.scm (named-glyph): new function. This fixes TeX output.

	* scm/framework-tex.scm (otf-font-load-command): load subfonts.
	(tex-font-command-raw): new function.

	* lily/include/virtual-font-metric.hh (Module): remove file

	* lily/virtual-font-metric.cc (Module): remove file.

	* lily/open-type-font.cc (LY_DEFINE): ly:otf-font-glyph-info
	(get_indexed_char): read bbox from lily table if present.

2004-12-16  Han-Wen Nienhuys  <[email protected]>

	* mf/GNUmakefile ($(outdir)/aybabtu.subfonts): rule for
	aybabtu.subfonts

	* mf/feta-beugel.mf (y): don't number consecutively, instead, use
	global glyphname. Enables more than 64 glyphs in the OTF.

2004-12-16  Jan Nieuwenhuizen  <[email protected]>

	* scm/font.scm (add-music-fonts): Load aybabtu iso all separate
	braces.

	* lily/open-type-font.cc (design_size): Use 12 as default for
	design size.

	* mf/aybabtu.pe.in: New file.  Merge all our braces.

	* mf/GNUmakefile: Generate aybabtu.

	* tex/lilyponddefs.tex: teTeX 3.0 pdfetex fix.

2004-12-14  Jan Nieuwenhuizen  <[email protected]>

	* scm/lily-library.scm (char->unicode-index): Remove.

	* scm/output-gnome.scm (text): Bugfix for plain string input.
	Updates.

	* scm/output-svg.scm (svg-font): Add weight to font selection.

2004-12-14  Mats Bengtsson  <[email protected]>

	* Documentation/topdocs/INSTALL.texi (Top): Point to
	buildscripts/out/clean-fonts instead of
	buildscripts/clean-fonts.sh. 

2004-12-13  Graham Percival  <[email protected]>

	* input/regression/figured-bass.ly: attempt to clarify text.

	* Documentation/user/notation.tely: add cindex for tag, attempt to
	add figured bass example.

	* Documentation/user/changing-defaults: basic editing.

2004-12-13  Han-Wen Nienhuys  <[email protected]>

	* buildscripts/gen-bigcheese-scripts.py (i): load .subfonts table. 

	* lily/open-type-font.cc (LY_DEFINE): new function
	ly:font-sub-fonts

	* lily/include/font-metric.hh (struct Font_metric): new method
	sub_fonts()

	* lily/vaticana-ligature-engraver.cc (transform_heads): replace
	. with - in add.stem.
	
2004-12-13  Jan Nieuwenhuizen  <[email protected]>

	* scm/encoding.scm (coding-alist): Fix encodings for fetaNumber
	and fetaDynamic.

	* lily/rest.cc (glyph_name): Change - to . .

	* scm/output-gnome.scm (text): Hello world, again.

	* scm/output-svg.scm (named-glyph): New function.  Hello world!

	* lily/modified-font-metric.cc (index_to_charcode): New method.

	* lily/include/font-metric.hh (index_to_charcode): New function.

	* lily/font-metric.cc (ly:font-glyph-name-to-charcode): Use it in
	new function.
	(ly:font-glyph-to-index): Remove.

2004-12-12  Han-Wen Nienhuys  <[email protected]>

	* lily/open-type-font.cc (make_index_to_charcode_map): new method.

	* mf/feta-autometric.mf (code): remove tex name from fet_beginchar.

	* lily/open-type-font.cc (load_scheme_table): new function

	* lily/dots.cc (print): replace - 

	* lily/open-type-font.cc (attachment_point): new function.
	(load_table): read LILC table

	* buildscripts/gen-bigcheese-scripts.py (Module): new
	file. Generate FF scripts.

	* mf/feta-din10.mf: idem.

	* mf/feta-nummer10.mf: remove mf files.

	* mf/feta-alphabet.mf (dynamic_design_size): merge din and number font.

2004-12-12  Jan Nieuwenhuizen  <[email protected]>

	* lily/lily-guile.cc: Use scm_from_locale_stringn.

	* lily/include/guile-compatibility.hh (scm_from_locale_stringn): Add
	compatibility.

2004-12-12  Han-Wen Nienhuys  <[email protected]>

	* lily/open-type-font.cc (get_indexed_char): scale metrics by
	design-size and units_per_EM.

	* mf/bigcheese.pe.in: set PUA codepoints before loading din & nummer.

2004-12-12  Jan Nieuwenhuizen  <[email protected]>

	* mf/bigcheese.pe.in (i): Map to 0xe000 (PUA) for testing, which
	does not crash fontforge.

	* scm/lily-library.scm (char->unicode-index): Hack to map onto
	PUA.

2004-12-12  Han-Wen Nienhuys  <[email protected]>

	* scm/framework-ps.scm (ps-embed-cff): new function.

	* lily/lily-guile.cc (LY_DEFINE): make ly:gulp-file binary proof.

2004-12-12  Werner Lemberg  <[email protected]>

	* mf/bigcheese.pe.in: Add PUA mapping.
	Don't create Type 42 but bare CFF font.

2004-12-12  Jan Nieuwenhuizen  <[email protected]>

	* scm/output-gnome.scm (placebox): Hackery to get bigcheese symbols
	within canvas boundaries.

	* mf/merge.pe.in: Set font names, version, license GPL.

	* make/substitute.make: Add FONTFORGE.

	* config.make.in (FONTFORGE): Add.

	* configure.in (gui_b): Use PATH_PROG for fontforge.

2004-12-11  Graham Percival  <[email protected]>

	* scm/define-markup-commands.scm: add baseline-skip to info
	about \column.

2004-12-11  Jan Nieuwenhuizen  <[email protected]>

	* lily/font-metric.cc (ly:font-get-glyph-index): New function.

	* scm/output-gnome.scm (named-glyph): Use it.

	* scm/lily.scm (ly:all-stencil-expressions): Add named-glyph.

	* flower/string.cc (substitute_char): Rename, rewrite, modify this.
	(upper_string, lower_string, reverse_string): Remove.

	* configure.in (fontforge): Reinstate version check.

	* ly/engraver-init.ly: Fix clef glyph names.

	* lily/time-signature.cc (special_time_signature): Fix fraction
	glyph names.

2004-12-11  Han-Wen Nienhuys  <[email protected]>

	* mf/merge.pe: new file.

	* lily/freetype.cc: new file.

	* lily/include/open-type-font.hh (class Open_type_font): new file.

	* lily/include/freetype.hh: new file.

	* lily/open-type-font.cc: new file.

	* lily/all-font-metrics.cc (find_otf): new function.

2004-12-11  Jan Nieuwenhuizen  <[email protected]>

	* lily/time-signature.cc (special_time_signature): Fix.

	* configure.in (PKG_CONFIG_PATH): Remove stray `i'.  Check for
	GTK2 before checking for pango.  Fixes -fgnome.

	* lily/font-metric.cc (LY_DEFINE): Also rename C name to match
	Scheme name.

	* scm/define-markup-commands.scm:
	* scm/safe-lily.scm: Bugfix: ly:font-by-name.

	* configure.in: Require makeinfo 4.7 (needed for @ifdocbook).

	* stepmake/aclocal.m4 (STEPMAKE_GET_VERSION): Grok fontforge-like
	date versions.  Fixes configure.
	(STEPMAKE_CHECK_VERSION): Support optional actual program version
	argument.

2004-12-10  Han-Wen Nienhuys  <[email protected]>

	* buildscripts/mf-to-table.py (write_ps_encoding): write real
	names in .enc

	* lily/*.cc: use '.' iso. '-' for separating glyph name elements.

2004-12-09  Graham Percival  <[email protected]>

        * Documentation/user/changing-defaults.itely: add info about
        make-dynamic-script

        * Documentation/user/notation.itely: add link in dynamics to
        section about make-dynamic-script.

2004-12-09  Christian hitz  <[email protected]>

	* lily/lily-guile.cc: change MACOS_X to __APPLE__

2004-12-09  Han-Wen Nienhuys  <[email protected]>

	* buildscripts/mf-to-table.py (parse_logfile): use . for
	concatting name and group.
	(parse_logfile): use M for Minus (negative.)

	* lily/include/type-swallow-translator.hh
	(DECLARE_EVENT_SWALLOWER): ENTER_DESCRIPTION -> ADD_TRANSLATOR

	* lily/*.cc: cosmetics around = sign.

	* lily/paper-column.cc (Paper_column): copy rank_. This fixes
	lyric spacing on the penultimate column.

2004-12-05  Christian Hitz  <[email protected]>

	* configure.in:
	* lily/accidental-placement.cc:
	* lily/bar-line.cc:
	* lily/beam-concave.cc:
	* lily/beam-quanting.cc:
	* lily/beam.cc:
	* lily/bezier-bow.cc:
	* lily/bezier.cc:
	* lily/break-align-interface.cc:
	* lily/custos.cc:
	* lily/dimension-cache.cc:
	* lily/dot-column.cc:
	* lily/font-metric.cc:
	* lily/font-select.cc:
	* lily/gourlay-breaking.cc:
	* lily/grob-property.cc:
	* lily/grob.cc:
	* lily/lily-guile.cc:
	* lily/line-spanner.cc:
	* lily/lookup.cc:
	* lily/lyric-extender.cc:
	* lily/lyric-hyphen.cc:
	* lily/mensural-ligature.cc:
	* lily/midi-def.cc:
	* lily/misc.cc:
	* lily/note-collision.cc:
	* lily/note-column.cc:
	* lily/note-head.cc:
	* lily/paper-outputter.cc:
	* lily/percent-repeat-item.cc:
	* lily/rest-collision.cc:
	* lily/side-position-interface.cc:
	* lily/simple-spacer.cc:
	* lily/slur-configuration.cc:
	* lily/slur-scoring.cc:
	* lily/slur.cc:
	* lily/spaceable-grob.cc:
	* lily/spacing-spanner.cc:
	* lily/spanner.cc:
	* lily/staff-symbol-referencer.cc:
	* lily/stem.cc:
	* lily/stencil.cc:
	* lily/system-start-delimiter.cc:
	* lily/system.cc:
	* lily/text-item.cc:
	* lily/tie.cc:
	* lily/tuplet-bracket.cc:
	* lily/vaticana-ligature.cc: Fix for MacOS X: use <math.h> instead of
	<cmath> beacause isinf/isnan is undefined in <cmath>

2004-12-03  Mats Bengtsson  <[email protected]>

	* cygwin/lily-wins.py (stat): remove old flag -p when calling lilypond.



  

-- 

 Han-Wen Nienhuys   |   [email protected]   |   http://www.xs4all.nl/~hanwen