Menu

#1388 Support OpenType font features

Verified
Enhancement
2017-07-18
2010-11-08
Anonymous
No

Originally created by: *anonymous

Originally created by: lemzw...@googlemail.com

Currently, LilyPond doesn't support OpenType font features.  For example, many fonts already contain glyphs for small caps letters, but lilypond can't access such glyphs directly since OpenType fonts don't need to have named glyphs, and you need to activate an OpenType feature (`smcp' in this particular case) so that input character codes get properly mapped to caps glyphs.

I suggest that we implement an interface similar to the `fontspec' package for XeTeX and luatex:

  http://www.ctan.org/get/macros/xetex/latex/fontspec/fontspec.pdf

Discussion

<< < 1 2 (Page 2 of 2)
  • Masamichi Hosoda

    How about the following method?

    • configure script checks whether Pango's version is 1.38 or above.
    • If Pango's version is 1.38+, configure makes that config.hh defines something like HAVE_PANGO_1_38.
    • In lily/pango-font.cc, enclose around pango_attr_font_features_new () with #ifdef HAVE_PANGO_1_38 and #endif.
      • In the else clause it may be better to show a warning message that this binary cannnot use OpenType font features.

    In this method, the binary that is builded by GUB can use OpenType font features since GUB has Pango 1.40.1.
    So you can use OpenType font features in the binary distributed by lilypond.org.

    LilyDev 4.1 also can compile it.
    However, the binary cannot use OpenType font features.
    If you compile .ly file that uses OpenType font features by the binary, you would see the warning message that this binary cannot use OpenType font features.

     
  • Anonymous

    Anonymous - 2017-06-11
    • Patch: countdown --> push
     
  • Anonymous

    Anonymous - 2017-06-11

    This can now be pushed - I am waiting on some approval from the other Devs (as far as I could see it was only LilyDev that was going to have problems with this change), and as Paul does not have commit access, if this gets approved one of the other Devs can push this - if they would be so kind - else set this back to 'Review' while we figure out what else (if anything) needs to be done.

     
  • Masamichi Hosoda

    If I understand correctly, LilyDev 4.1 cannot compile this patch.
    In my humble opinion, it is necessary that LilyDev 4.1 can compile it.

    I've uploaded an additional patch that can be compiled by LilyDev 4.1.
    https://sourceforge.net/p/testlilyissues/issues/5147/

    Jay,
    would you send us the git format-patch file?
    Then, I can commit your patch and my additional patch together.

     
  • horndude77

    horndude77 - 2017-06-14

    Patch can be downloaded as part of the review (https://codereview.appspot.com/download/issue323850043_20001.diff) or are you looking for something else?

     
  • Masamichi Hosoda

    I'd like the following information for commiting your patch.

    • author's name
    • author's email
    • date of written
    • commit message

    Rietveld's patch file (https://codereview.appspot.com/download/issue323850043_20001.diff) does not contain them.

    git format-patch command genarates a patch file that contains them.
    http://lilypond.org/doc/v2.19/Documentation/contributor/patches#how-to-make-a-patch

     
  • Anonymous

    Anonymous - 2017-06-19

    Patch counted down - please push.

    Hosoda-san can push this at the same time he pushes his fix for https://sourceforge.net/p/testlilyissues/issues/5147/

     
  • Masamichi Hosoda

    • labels: --> Fixed_2_19_63
    • status: Started --> Fixed
    • Patch: push -->
     
  • Masamichi Hosoda

    I've pushed to staging.

    commit 8cf69a467ad7650f5ca9da6fe2dfd4c7c088b239
    Issue 1388: Initial work to support opentype font features.

    Thank you.

     
  • Federico Bruni

    Federico Bruni - 2017-07-18
    • status: Fixed --> Verified
     
<< < 1 2 (Page 2 of 2)
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.