lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GSoC 2020 update, June 5


From: Werner LEMBERG
Subject: Re: GSoC 2020 update, June 5
Date: Sat, 06 Jun 2020 06:39:34 +0200 (CEST)

Hello Owen,


> This week, I was able to encode the whole note (semibreve) glyph in
> its proper SMuFL-encoded spot in the PUA based on .mf log output.
> 
> I also got LilyPond to use a generated Scheme hash table to try to
> look up a glyph's SMuFL character code before falling back to the
> old way.  [...]

Nice!

> I also had to rework open-type-font.cc's lookup functions.  Now,
> name_to_index simply calls the new, more 'primitive'
> name_to_charcode and charcode_to_index methods in order to get the
> correct font index through SMuFL.

Just a general remark: A glyph name to character code mapping function
only works if there is a guaranteed one-to-one relationship between
glyph names and character codes.  Normal text fonts, for example,
don't have this property; it is quite common that a font contains far
more glyphs than character codes.  Maybe this should be reflected in
comments for clarity.

> open-type-font.cc is *only* used for music fonts, and pango-font.cc
> for text fonts, correct?  I don't want to mess anything up in the
> text encoding world.

IIRC, you are correct.

> Next, I've begun re-encoding other notehead glyphs, but of course I
> have run into difficulties rather quickly, since the old and new
> encodings hardly have a one-to-one mapping.  SMuFL suggests using
> OTF stylistic alts on the same code point for distinguishing, e.g.,
> double whole note (breve) glyphs with one or two lines on each side,
> but I've been having a bit of trouble finding how to do that in
> FontForge's Python docs.

If difficulties arise, the FontForge people are usually quite helpful.

> It will probably involve changing .mf's log output, too, adding
> support for an optional "." separator in the smuflcode string when
> Python reads the log, e.g. so that "E0A0.01" can be split into
> smufl_code and salt_code.

Sounds sensible.

Congrats to your progress, which looks very promising!


    Werner



reply via email to

[Prev in Thread] Current Thread [Next in Thread]