lilypond-devel
[Top][All Lists]
Advanced

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

GSoC 2020 update, May 30


From: Owen Lamb
Subject: GSoC 2020 update, May 30
Date: Sat, 30 May 2020 15:34:07 -0700

Hi all. Sorry for the radio silence the past couple days. I got rather
overwhelmed trying to learn Metafont on my own, and the schedule I set up
for myself broke down rather quickly. I'll do my best to give my next
weekly report on time (i.e. on Friday).

Since I gave an update earlier this week, I'll just fill you in on the last
couple days. In the future, this will be a regular thing on Fridays. So,
without further ado...

I started work on Han-Wen's suggested order of operations. In order to make
the .mf files output a SMuFL code to their log, I needed to learn Metafont,
which proved to be a language as little documented as it is ingenious.
First, I followed the Metafont tutorial provided in the LilyPond docs
(found at http://metafont.tutorial.free.fr/). It seemed to be
unfinished, so I started looking at the other resources on that site. *The
METAFONT Book* was comprehensive, but, since TeXing it is not legally
allowed, I looked off the source, which is rather difficult to parse out.
(I'm considering just buying the book, as it would be good for future
reference even outside LilyPond.) Still, I finally got something together
that outputs a hex code for each character, defaulting to "0" if SMuFL
isn't yet implemented for it. (I had to use strings because MF doesn't
support numbers at/above 4096.) I do have a question about making the code
cleaner, but I'll save that for a separate message to keep replies
organized.

Making a Python-readable JSON list wasn't too hard, comparatively.
Currently, I've got the python code to generate multiple .json files (one
per .mf file), each a single object with key-value pairings between
lilypond glyph names and the SMuFL codes output by MF. Next, I'll be
changing the actual encoding of the glyphs in gen-emmentaler.fontforge.py
to take the SMuFL code instead of the i variable that iterates through
consecutive numbers. I'll probably have to move the as-yet-unchanged
characters to a different code point location to avoid conflicts (both the
old and the new encodings use the same PUA), but that should be an
easy change, since, as has been mentioned before, LilyPond currently looks
for glyph names, not code points.

As an aside, looking at my Git history, it appears that, when I tried to
change the name of my first commit to be more informative, I accidentally
fused it with Valentin's previous commit. Sorry about that! The code isn't
affected, but it looks rather strange. I think it's because I attempted to
revert the previous commit *and* do an "amend" commit. The right way to do
it would have been just to "amend," correct? At any rate, I plan on
thinking harder about what to call my commits the first time from now on!

If you have any questions or suggestions, please let me know. I felt rather
overwhelmed this week and made the mistake of not asking for help sooner.

Thanks,
Owen


reply via email to

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