alerque / libertinus

The Libertinus font family
Other
962 stars 57 forks source link

Add support for U+1D106 and U+1D107 (musical symbol left|right repeat sign) #339

Closed gyuris closed 3 years ago

gyuris commented 4 years ago

I'm developing a tool for for Christian worship leaders to make chord sheets from XML using CSS. Currently I use previous version of Libertinus (Linux Libertine/Biolinum). I have to format repeating lines with musical repeat signs:

๐„† Repeating line ๐„‡

Would it be possible to support these two glyphs in Libertinus?

(I'm not a font designer, just a user. I made Opentype-Features.fodt)

alerque commented 4 years ago

Sure. I once had a use for them myself. However I can give you a heads up that it will be a little while before I can tackle this myself, and even a little (less) while before I could accept such a thing as a contribution if somebody else were to do it. I suggest setting up a character range match in your CSS and fallback to another font that supports this for those glyphs. It's a bit of a hack but I don't want to hold your project up.

Also if you know of another font that has these glyphs under a compatible license we could steal them from that would be a great foot forward.

gyuris commented 4 years ago

Thanks Caleb for responding!

Another fonts that support these glyphs:

gitjeff2 commented 4 years ago

@gyuris I know you said you're using CSS, but have you considered handling this with LilyPond? I've never used it, but there is a MusicXML plugin that might meet your needs.

alerque commented 4 years ago

I've used LilyPond extensively too and love itยน, but it's more for sheet music than chords. Of course you can add cords to sheet music, but it's not great at just typesetting lyrics with chords. Personally I consider that lazy-music anyway, but my opinion doesn't count for much. I'm the guy that can't carry a tune in a dumptruck.

If CSS matching CSS to screen slides wasn't a requirement I'd say use SILE (maybe with the chordmode package, maybe just custom tags for handling MusicXML) for PDF output.;-)

ยน Also hate it because of the scheme-based syntax, but it's text based and hence versionable and gives great results, so that's a win overall.

gyuris commented 4 years ago

Thanks @gitjeff2 and @alerque for your suggestions.

I use OpenLyrics with OpenLP for projecting songs and my goal is to provide chord sheets from OpenLyrics XML source files. I know about MusicXML and Lilypond but I think this is another task. I'm mostly done (sample). There are only such small details left as for example the correct display of repetitive signs. But I can live without them :smiley:.

alerque commented 4 years ago

@gyurls Thanks for the font finds. Having discovered this command to search for fonts that support specific codepoints:

$ fc-list ':charset=1D106 1D107'

... at least from the system I'm on now I'll add Bravura, Symbola, and Noto Music to the sampling. Here's what they each look like:

SILE Sample Code

$ sile sample.sil ```sile \begin[papersize=a6]{document} \nofolios\neverindent \begin{script} SILE.registerCommand("sample", function (options, _) SILE.call("font", { family = options.family }, { "๐„† "..options.family.." ๐„‡" }) SILE.call("break") end) \end{script} \font[size=30pt] \begin{raggedright} % \sample[family=Linux Libertine] % \sample[family=Linux Biolinum] \sample[family=Libertinus Serif] \sample[family=Libertinus Sans] \sample[family=Symbola] \sample[family=Vollkorn] \sample[family=FreeSerif] \sample[family=Bravura Text] \sample[family=Noto Music] \end{raggedright} \end{document} ```

image

alerque commented 4 years ago

Any preference as to the height of these glyphs relative to other text? Of the precedent I've looked at so far there seem to be two main options:

Here is some context with other dot and bar symbols:

SILE Sample Code

$ sile sample.sil ```sile \begin[papersize=a6]{document} \nofolios\neverindent \begin{script} SILE.registerCommand("sample", function (options, _) SILE.call("font", { family = options.family }, { "๐„† "..options.family.." ๐„‡", SILE.Commands["hfill"], "๐„† -ยท|โ‹ฎ.:fg: ๐„‡" }) SILE.call("break") end) \end{script} \font[size=16pt] % \sample[family=Linux Libertine] % \sample[family=Linux Biolinum] \sample[family=Libertinus Serif] \sample[family=Libertinus Sans] \sample[family=Symbola] \sample[family=Vollkorn] \sample[family=FreeSerif] \sample[family=Bravura] \sample[family=Noto Music] \end{document} ```

image

My inclination so far is to go the latter route.

gyuris commented 4 years ago

Hi Caleb, thanks for dealing with this feature :smiley:. I do not have any preference for height of these glyphs. Choose what you prefer.