Masamichi Hosoda [Mon, 30 May 2016 10:03:21 +0000 (19:03 +0900)]
Issue 4868/2: Add limited embedding support for OTC fonts
This commit adds limited embedding support
for OpenType/CFF Collection (OTC) fonts
which have `*.otc' filename extension.
Essentially, the extension of OTC font files should be `*.otc'.
However, most of the OTC fonts have the extension `*.ttc'
for backward compatibility.
https://www.microsoft.com/typography/otspec/recom.htm
So this is limited support
because most of the OTC fonts cannot be used.
TODO: distinguish files which have extension `*.ttc'
whether TrueType Collection (TTC) fonts or OTC fonts.
Masamichi Hosoda [Sun, 29 May 2016 15:24:09 +0000 (00:24 +0900)]
Issue 4867: Ignore some major OpenType/CFF Collection (OTC) fonts
Current LilyPond cannot handle OpenType/CFF Collection (OTC) fonts
(NotoSansCJK.ttc and SourceHanSans.ttc etc.).
This commit is a workaround that ignores some major OTC fonts
for avoiding errors.
TODO: Add OTC fonts support and remove this settings
Recent changes have rendered them trivial. This does not review their
accessibility status: in general, they should be protected since they
can be reused by derived classes but aren't needed externally. However,
where they are indeed called from static member functions of derived
classes, the associated trampoline instantiation appears to require
public access. This might warrant some more investigation.
David Kastrup [Wed, 1 Jun 2016 15:16:43 +0000 (17:16 +0200)]
Issue 4872: Remove Protected_scm destructor
Protected_scm works only for static data and single members cannot
be destructed without destroying the whole protection chain. When
static member destructors are called, the Guile memory subsystem
is already down, so tampering with the storage is just a waste of
effort and snake oil at best.
As discussion revealed the commit message is not true
and indicates a misconception.
(car ly:input-file-line-char-column a-location) does
*not* always return an absolute path, instead this
depends on how the file path has been passed to LilyPond.
As this commit changed the behaviour of point-and-click
in a somewhat unintentional and unmaintainable way it
is better to revert the commit. Especially as the
original behaviour was not harmful.
========================
The check for absolute paths in in output-ps.scm
and -svg.scm is unnecessary because
(car ly:input-file-line-char-column a-location)
always returns an absolute, slashified path
David Kastrup [Sun, 22 May 2016 11:54:40 +0000 (13:54 +0200)]
Issue 4858: Let define-session-public place variables natively into parser
Putting them as native variables in the parser module (rather than
using export/import) makes `set!' and `define' equivalent rather than
having `define' create a shadowing definition of the session variable.
That is important in order to avoid the values of the variable
diverging between parser module and `lily'.
Werner Lemberg [Tue, 31 May 2016 11:37:03 +0000 (13:37 +0200)]
Issue 4870: [midi2ly] Delay import of 'midi' module.
`make all` starts with generating the manual pages for lilypond's python
scripts using help2man. However, at the time `midi2ly --help` gets called,
the 'midi' python module (which is based on code written in C) imported by
'midi2ly' has not been compiled yet, making help2man abort.
David Kastrup [Sun, 29 May 2016 09:12:30 +0000 (11:12 +0200)]
Issue 4865/1: Move translator initializations to X::boot ()
This reorganization of the C++ translator initializations leads to more
predictable initialization order and makes the initializations have
access to private members of the class. This is a precondition for more
restrictive access control, helping to pin down accidental references to
members of the wrong class.
Urs Liska [Mon, 16 May 2016 13:11:53 +0000 (15:11 +0200)]
4855: Move old news from news-front to news
As requested in
http://lists.gnu.org/archive/html/bug-lilypond/2016-04/msg00042.html
we should strictly reduce the number of old news items on the
front page. This will probably also make it more straightforward
to think about a new appearance of our entry page.
However, I suggest a change in the old-news display.
Currently "news items" are mixed with release notes, and I think
*if* we want to keep old news available it would be better to
separate these two categories.
Greg Swinford [Sat, 21 May 2016 07:46:38 +0000 (08:46 +0100)]
lilypond-ftplugin.vim: set makeprg locally rather than globally
Issue 4845
lilypond-ftplugin.vim: set makeprg locally
rather than globally This avoids
changing the make program for
other Vim buffers when using
mapped keys to compile a LilyPond file.
Urs Liska [Sun, 8 May 2016 05:28:45 +0000 (07:28 +0200)]
4849: Update Link to Ben Lemon's video tutorials
Ben Lemon asked me to update the link to his video tutorials.
His website will be down for an unspecified time, so the link
now goes directly to the YouTube page.
David Kastrup [Fri, 29 Apr 2016 15:45:57 +0000 (17:45 +0200)]
Issue 4842/4: Replace Translator_method et al
All of Translator_method, Translator_group_method,
Translator_group_void_method, Callback can be expressed via SCM now.
Translator_method_binding is replaced with Method_instance.
David Kastrup [Wed, 27 Apr 2016 17:41:06 +0000 (19:41 +0200)]
Issue 4835: Move Callback_wrapper class to separate file and simplify
Callback_wrapper::make_smob now is only templated on the address of
the (static) trampoline function. Moving the trampolining to the
actual functions in question makes callbacks quite more versatile and
transparent and obviates the previous need for friend declarations due
to mixing internals of other classes into the Callback_wrapper
definition.
David Kastrup [Mon, 25 Apr 2016 15:20:30 +0000 (17:20 +0200)]
Issue 4834: Remove routing information from Grob_info
Routing information manages how to pass information to acknowledgers
but should not reach the acknowledgers themselves. Moving this
information into arguments for the various kinds of announce_grob
procedures is cleaner and allows to bounce Grob_info through Scheme
without the danger of information loss.