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
