Re: LilyPond and FontForge

2019-08-23 Thread Werner LEMBERG

>> I would really appreciate someone explaining how to generate these
>> tables using FontForge. thanks!

I've just updated `mf/README' in the git repository with an even more
detailed description of the conversion process.


Werner

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: LilyPond and FontForge

2019-08-18 Thread fasola
Thank you, Werner! That's exactly the information I was looking for. Since I
only modified a few glyphs, manual adjustment is fine. 



--
Sent from: http://lilypond.1069038.n5.nabble.com/User-f3.html

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: LilyPond and FontForge

2019-08-17 Thread Werner LEMBERG

> I would really appreciate someone explaining how to generate these
> tables using FontForge. thanks!

(0) Please read `mf/README'.  For better readability of log files
created by METAFONT I suggest that you (temporarily) set

  max_print_line=1000

in your environment.

(1) A run of `mf' (or `mf2pt1') as described in `mf/README' creates a
`*.log' file that contains lines like

  @{group@:rests@}
  ...
  @{char@:breve rest@:39@:0@:2.3805@:0@:3.9675@:2.3805@:0@:M1@}
  ...
  @{puorg@:rests@}

The glyph name of `breve rest' is then `rests.M1'.

(2) The script `mf-to-table.py' converts the info in the `*.log' file
into the files `*.otf-gtable', `*.lisp', and `*.enc'.  A rule in
`mf/GNUmakefile' concatenates the `*.lisp' files into
`*.otf-table'.

(3) The script `gen-emmentaler-scripts' creates a FontForge script
`*.genpe' that merges the Feta and Parmesan fonts into an
Emmentaler font.  It also creates a text file `*.subfonts'.  The
files `*.otf-table', `*.otf-gtable', and `*.subfonts' are then
embedded verbatim as SFNT tables `LILC', `LILY', and `LILF',
respectively.

If you are going to modify metrics directly in FontForge, you have to
manually adjust the corresponding values in the `LIL*' SFNT files.


Werner

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: LilyPond and FontForge

2019-08-17 Thread fasola
Thank you, Andrew. Clearly, your answer makes sense if I anticipate doing a
lot of font customization. However, I've already made the font modifications
I want in FontForge; they're quite small and I don't want to learn a
different approach to make minor tweaks. One of my changes is to semibreves,
and as you say, they're tricky. I have my modified OTF files as I like them
and the only thing that seems to be preventing them working correctly is the
metrics tables. I would really appreciate someone explaining how to generate
these tables using FontForge. thanks!



--
Sent from: http://lilypond.1069038.n5.nabble.com/User-f3.html

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: LilyPond and FontForge

2019-08-09 Thread Andrew Bernard

Hello Fasola,

I may be wrong, but I thought Emmentaler is defined using Metafont, 
which is very powerful and very sophisticated. I am not aware that you 
can edit the glyphs with a font design tool.


I use custom fonts heavily in my work with New Complexity School scores. 
You define the notehead outline as a path, and use your new definition 
instead. It involves a lot of experimentation to get the shape you want, 
but it's not impossible, and very much worth it. Doing this, I have no 
problems with alignment such as you mentioned. I will admit I have never 
quite got semibreves just exactly right - they are tricky for reasons 
you will soon discover.


Just to give you a bit of a taste of the flavour of this work, here's an 
extract from my custom notehead functions showing how a path is defined. 
There's other machinery in Scheme necessary to make it all work, and I'd 
be happy to share that with you, but I will omit from this post for now.



% for unfilled notes
sOne =
\markup
\override #'(filled . #t)
\path #0.01
#'((moveto    0.00  -0.35)
   (lineto    0.08  -0.28)
   (curveto   0.08  -0.32   0.10  -0.33   0.18  -0.33)
   (curveto   0.48  -0.33   1.03   0.08   1.03   0.28)
   (curveto   1.03   0.34   0.94   0.33   0.93   0.33)
   (curveto   0.65   0.33   0.08  -0.05   0.08  -0.28)
   (lineto    0.00  -0.35)
   (curveto   0.00   0.00   0.55   0.55   0.90   0.55)
   (curveto   1.00   0.55   1.10   0.50   1.10   0.35)
   (curveto   1.10   0.00   0.55  -0.55   0.20  -0.55)
   (curveto   0.05  -0.55   0.00  -0.45   0.00  -0.35))


All pretty low level, yes, but the complexity is not  really that high.

Probably I should use Metafont myself, but I have not been able to get a 
copy of the book (at any reasonable price!).



Andrew


On 10/08/2019 6:06 am, fasola wrote:

I may be having the same problem. I'm using FontForge to make adjustments to
the shapenote note heads in emmentaler so they are more readable. This
involves changing the width of some symbols. When I generate my custom
version of emmentaler, some of the note heads don't line up with the stems.
Perhaps the problem is the LILC, LILF, and LILY tables? Could someone please
explain how to update them? Help greatly appreciated!
pond-user


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: LilyPond and FontForge

2019-08-09 Thread fasola
I may be having the same problem. I'm using FontForge to make adjustments to
the shapenote note heads in emmentaler so they are more readable. This
involves changing the width of some symbols. When I generate my custom
version of emmentaler, some of the note heads don't line up with the stems.
Perhaps the problem is the LILC, LILF, and LILY tables? Could someone please
explain how to update them? Help greatly appreciated!



--
Sent from: http://lilypond.1069038.n5.nabble.com/User-f3.html

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: LilyPond and FontForge

2018-05-15 Thread foxfanfare
tisimst wrote
> Glad to hear you got something working! Congrats! There are a lot of
> nuances you should be aware of. It's not as cut-and-dry as it appears, but
> getting something working at all is half the battle.
> 
> I'm curious to know how you used TTX to accomplish the task. I can see how
> I would do it, but anyway, I'd be interested to hear yours.
> 
> Best,
> Abraham

Hi Abraham,

Actually, unlike what I thought first, it is only a "semi" victory!... 

First, the problem occured when I exported a new otf font with fontforge.
Even with 8 differents fonts with the right size name, LilyPond cannot use
them as it is missing the SNFT table...

So I tried with TTX, to convert one of your font in XML, and I just
copy-paste the missing table to my new exported font. But this seems to work
smoothly only for little changes in the glyphs.

I then realized that if you change their size, LilyPond doesn't see it and
the result is in certain case "ugly". Look:

 

I also noticed that the LILC / LILF and LILY table were different in each
font... So I guess they are linked to the glyphs inside and I think I'd need
to generate them again for the new font, but I can't find how!

If you can help me a little here, that would be much appreciated! And btw,
your work on the different available fonts is really awesome. I'm trying to
make some little modifications but realize it is way harder than what I did
with my old Sibelius fonts!

Cheers.




--
Sent from: http://lilypond.1069038.n5.nabble.com/User-f3.html

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: LilyPond and FontForge

2018-05-14 Thread Abraham Lee
Hi, foxfanfare!

On Fri, May 11, 2018 at 3:02 PM, foxfanfare  wrote:

> foxfanfare wrote
> Werner LEMBERG wrote > Hmm, I can't help here. No problem. I'll continue
> my investigations! Thx!
>
> Finally! I did solve this problem and succeed to make modifications in the
> fonts. Werner did directed me in the good direction, and it needed the use
> of TTX. But ...*ouch ... what a nightmare to make this works with Windows
> (python, ttx, etc...) ! If someone is interested in also doing this kind of
> stuff and want me to write a quick tutorial, just let me know. Cheers.
>

Glad to hear you got something working! Congrats! There are a lot of
nuances you should be aware of. It's not as cut-and-dry as it appears, but
getting something working at all is half the battle.

I'm curious to know how you used TTX to accomplish the task. I can see how
I would do it, but anyway, I'd be interested to hear yours.

Best,
Abraham
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: LilyPond and FontForge

2018-05-11 Thread Werner LEMBERG

> 1) what is the lilypond's pipeline you're refering to? Is this an
>easier way than using FontForge?

The *.mf files in lilypond/mf are converted to proto Type 1 code
using the script `mf2pt1' (which in turn calls METAPOST instead of
METAFONT for creating PostScript code).  Processing the *.mf files
also creates log files with a lot of auxiliary information that gets
further converted to the three extra SFNT tables by
`scripts/build/mf-to-table.py'.

FontForge now converts the proto Type 1 code (in batch mode) to the
final OTF format using scripts generated by `emmentaler-scripts.py'.

Have a look into file `mf/README' for some technical details,
especially how to prepare proof sheets to check the glyph outlines.

> 2) I looked at the emmentaler-scripts.py, but how do I exactly work
>with that?

You shouldn't use this directly but look at the FontForge script
commands!  See

  http://fontforge.github.io/en-US/documentation/scripting/native/

for the complete (native) scripting reference.


Werner
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: LilyPond and FontForge

2018-05-11 Thread foxfanfare
Werner LEMBERG wrote
> This is expected.  The three tables are specific to lilypond; they are
> simple text files put into SFNT tables – if you add or modify fonts
> you probably have to update this information also in case you are
> directly editing the fonts with FontForge instead of using lilypond's
> pipeline to create them (from METAFONT source code).  Have a look at
> `scripts/build/gen-emmentaler-scripts.py' (which generates the
> `emmentaler-*.genpe' scripts); there you can see how to add the three
> tables using a FontForge script.

And btw, this intrigues me and would need for me further explantion:

1) what is the lilypond's pipeline you're refering to? Is this an easier way
than using FontForge?
2) I looked at the emmentaler-scripts.py, but how do I exactly work with
that?

... sorry if those are noobish questions!




--
Sent from: http://lilypond.1069038.n5.nabble.com/User-f3.html

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: LilyPond and FontForge

2018-05-11 Thread foxfanfare
foxfanfare wrote
> Werner LEMBERG wrote> Hmm, I can't help here.No problem. I'll continue my
> investigations!Thx!

Finally! I did solve this problem and succeed to make modifications in the
fonts. Werner did directed me in the good direction, and it needed the use
of TTX.But ...*ouch ... what a nightmare to make this works with Windows
(python, ttx, etc...) !If someone is interested in also doing this kind of
stuff and want me to write a quick tutorial, just let me know.Cheers.



--
Sent from: http://lilypond.1069038.n5.nabble.com/User-f3.html___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: LilyPond and FontForge

2018-05-11 Thread foxfanfare
Werner LEMBERG wrote
> Hmm, I can't help here.

No problem. I'll continue my investigations!
Thx!




--
Sent from: http://lilypond.1069038.n5.nabble.com/User-f3.html

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: LilyPond and FontForge

2018-05-10 Thread Werner LEMBERG

> Unfortunately, it still isn't working. After saving all the
> different sized fonts using the same method you showed in video, if
> you then copy the new fonts in LilyPond font folder and call for
> them, you'd get an ugly output (as LP can't access the correct
> glyphs), and also the error message : "Erreur FreeType : SFNT font
> table missing"

Hmm, I can't help here.

> I'm sorry Werner, but your explanation is bit too complicated
> for me to understand! TTX also seems to be only available for Linux

No, ttx is a Python program and should work on any platform.

> and I
> don't know where to find this gen-emmentaler-scripts.py file!

It's part of lilypond git, cf.

  
http://git.savannah.gnu.org/gitweb/?p=lilypond.git;a=blob;f=scripts/build/gen-emmentaler-scripts.py;hb=HEAD


Werner

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: LilyPond and FontForge

2018-05-10 Thread foxfanfare
Thank you both for your reply and especially the video!

Unfortunately, it still isn't working. After saving all the different sized
fonts using the same method you showed in video, if you then copy the new
fonts in LilyPond font folder and call for them, you'd get an ugly output
(as LP can't access the correct glyphs), and also the error message :
"Erreur FreeType : SFNT font table missing"


Werner LEMBERG wrote
> All of those errors are harmless and can be ignored.  However, I
> suggest to use the `ttx' (from https://github.com/fonttools/fonttools)
> to disassemble (to XML) the original and re-exported font.  You can
> then compare the XML files, looking for issues.
> 
> This is expected.  The three tables are specific to lilypond; they are
> simple text files put into SFNT tables – if you add or modify fonts
> you probably have to update this information also in case you are
> directly editing the fonts with FontForge instead of using lilypond's
> pipeline to create them (from METAFONT source code).  Have a look at
> `scripts/build/gen-emmentaler-scripts.py' (which generates the
> `emmentaler-*.genpe' scripts); there you can see how to add the three
> tables using a FontForge script.

So I guess it is related to this SFNT table that I can achieve to put in the
OTF file... I'm sorry Werner, but your explanation is bit too complicated
for me to understand! TTX also seems to be only available for Linux and I
don't know where to find this gen-emmentaler-scripts.py file!



--
Sent from: http://lilypond.1069038.n5.nabble.com/User-f3.html

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: LilyPond and FontForge

2018-05-10 Thread Ben

On 5/10/2018 10:15 AM, foxfanfare wrote:

SoundsFromSound wrote

Sorry, but I don't see those errors when I use v8.20 on my Windows 10
machine. I was able to generate an OTF without issues.

I saved the OTF font on my Desktop. Maybe there is a problem with your
fonts?

Thank you anyway for testing!

I just tried on another computer and I get the same errors message.
The font is the original provided in LilyPond directory
(LilyPond\usr\share\lilypond\current\fonts\otf)

I think the problem is when the font is opened, it seems to ignore some
important tables...

I can bypass the error message and export the font anyway. But it creates a
new OTF slightly smaller (less than 100ko), and if I tried then within
LilyPond, here's what I get:







I think those errors are safe to ignore for what you want to do...

I made you a quick video showing what I did here...hope it can be of 
some help.


Have fun! :)

Video:
https://www.dropbox.com/s/m074o63vaubqsix/fontforge-lily.mp4?dl=0
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: LilyPond and FontForge

2018-05-10 Thread Ben



On 5/10/2018 10:15 AM, foxfanfare wrote:

SoundsFromSound wrote

Sorry, but I don't see those errors when I use v8.20 on my Windows 10
machine. I was able to generate an OTF without issues.

I saved the OTF font on my Desktop. Maybe there is a problem with your
fonts?

Thank you anyway for testing!

I just tried on another computer and I get the same errors message.
The font is the original provided in LilyPond directory
(LilyPond\usr\share\lilypond\current\fonts\otf)

I think the problem is when the font is opened, it seems to ignore some
important tables...

I can bypass the error message and export the font anyway. But it creates a
new OTF slightly smaller (less than 100ko), and if I tried then within
LilyPond, here's what I get:



I think those errors are safe to ignore for what you want to do...

I made you a quick video showing what I did here...hope it can be of 
some help.


Have fun! :)

Video:
https://www.dropbox.com/s/m074o63vaubqsix/fontforge-lily.mp4?dl=0
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: LilyPond and FontForge

2018-05-10 Thread Werner LEMBERG

> I'm using FontForge version 08:20 on Windows 10. I just open the
> emmentaler-20.otf and try to export it again without any changes,
> and it shows several errors:
>
> - If I choose to review the errors, it shows:
> <http://lilypond.1069038.n5.nabble.com/file/t5604/fontforge2.png>

All of those errors are harmless and can be ignored.  However, I
suggest to use the `ttx' (from https://github.com/fonttools/fonttools)
to disassemble (to XML) the original and re-exported font.  You can
then compare the XML files, looking for issues.

> - And also:
> <http://lilypond.1069038.n5.nabble.com/file/t5604/fontforge3.png>
> "The following tables has been ignored by FontForge"

This is expected.  The three tables are specific to lilypond; they are
simple text files put into SFNT tables – if you add or modify fonts
you probably have to update this information also in case you are
directly editing the fonts with FontForge instead of using lilypond's
pipeline to create them (from METAFONT source code).  Have a look at
`scripts/build/gen-emmentaler-scripts.py' (which generates the
`emmentaler-*.genpe' scripts); there you can see how to add the three
tables using a FontForge script.


Werner
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: LilyPond and FontForge

2018-05-10 Thread foxfanfare
SoundsFromSound wrote
> Sorry, but I don't see those errors when I use v8.20 on my Windows 10 
> machine. I was able to generate an OTF without issues.
> 
> I saved the OTF font on my Desktop. Maybe there is a problem with your 
> fonts?

Thank you anyway for testing!

I just tried on another computer and I get the same errors message.
The font is the original provided in LilyPond directory
(LilyPond\usr\share\lilypond\current\fonts\otf)

I think the problem is when the font is opened, it seems to ignore some
important tables...

I can bypass the error message and export the font anyway. But it creates a
new OTF slightly smaller (less than 100ko), and if I tried then within
LilyPond, here's what I get:

 



--
Sent from: http://lilypond.1069038.n5.nabble.com/User-f3.html

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: LilyPond and FontForge

2018-05-10 Thread Ben

On 5/10/2018 8:39 AM, foxfanfare wrote:

I'm using FontForge version 08:20 on Windows 10. I just open the
emmentaler-20.otf and try to export it again without any changes, and it
shows several errors:

- When I choose "Generate Fonts":

  "The font contains error / missing points at extrema / glyph names
incorrect"

- If I choose to review the errors, it shows:


- And also:

"The following tables has been ignored by FontForge"


Sorry, but I don't see those errors when I use v8.20 on my Windows 10 
machine. I was able to generate an OTF without issues.


I saved the OTF font on my Desktop. Maybe there is a problem with your 
fonts?



___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: LilyPond and FontForge

2018-05-10 Thread foxfanfare
I'm using FontForge version 08:20 on Windows 10. I just open the
emmentaler-20.otf and try to export it again without any changes, and it
shows several errors:

- When I choose "Generate Fonts":
 
 "The font contains error / missing points at extrema / glyph names
incorrect"

- If I choose to review the errors, it shows:
 

- And also:
 
"The following tables has been ignored by FontForge"



--
Sent from: http://lilypond.1069038.n5.nabble.com/User-f3.html

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: LilyPond and FontForge

2018-05-10 Thread Ben

On 5/10/2018 5:39 AM, foxfanfare wrote:

Hi everyone,

I'm trying to modify some glyphs in the emmentaler font and make a "custom"
font which will fits better my tastes. I am using FontForge for this but
cannot understand how the font table is working.

If I open the default emmentaler and try then to generate it again in OTF, I
get several error messages (especially "missing points at extrema").

Obviously I must have missed something in FontForge to get it worked but I
cannot find any informations on this. Could someone please explain me how to
set FontForge in order to export a correct OTF compatible in LP?




Hello,

I am not seeing those errors when I try to generate a new OTF font from 
Emmentaler within FontForge - maybe it's specific to the changes you're 
making?

Can you share your methods and maybe we can reproduce?


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


RE: LilyPond and FontForge

2018-05-10 Thread foxfanfare
Andrew Bernard wrote
> Hello foxfanfare,Have you looked at Abraham Lee's superb lilypond
> fonts?https://www.musictypefoundry.com/I realise that this does not answer
> your question, but perhaps you may findthe hard work already done. What
> are you attempting to produce?Andrew

Yes I did! It is absolutely great work. But sometimes I feel like I'd prefer
make my "own" mix between all the fonts available. For instance, I prefer
noteheads in one font, trill line in another etc.I know I can override the
font.name for those different glyphs, but still I'd kinda prefer have my own
personalized font which could evolved in the future and will be automaticaly
updated in all my previous works!



--
Sent from: http://lilypond.1069038.n5.nabble.com/User-f3.html___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


RE: LilyPond and FontForge

2018-05-10 Thread andrew.bernard
Hello foxfanfare,

Have you looked at Abraham Lee's superb lilypond fonts?

https://www.musictypefoundry.com/

I realise that this does not answer your question, but perhaps you may find
the hard work already done. What are you attempting to produce?

Andrew



-Original Message-
From: lilypond-user <lilypond-user-bounces+andrew.bernard=gmail@gnu.org>
On Behalf Of foxfanfare
Sent: Thursday, 10 May 2018 7:39 PM
To: lilypond-user@gnu.org
Subject: LilyPond and FontForge

Hi everyone,

I'm trying to modify some glyphs in the emmentaler font and make a "custom"
font which will fits better my tastes 



___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


LilyPond and FontForge

2018-05-10 Thread foxfanfare
Hi everyone,

I'm trying to modify some glyphs in the emmentaler font and make a "custom"
font which will fits better my tastes. I am using FontForge for this but
cannot understand how the font table is working.

If I open the default emmentaler and try then to generate it again in OTF, I
get several error messages (especially "missing points at extrema").

Obviously I must have missed something in FontForge to get it worked but I
cannot find any informations on this. Could someone please explain me how to
set FontForge in order to export a correct OTF compatible in LP?



--
Sent from: http://lilypond.1069038.n5.nabble.com/User-f3.html

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user