All caps to Small cap

I’ve made an All-Cap typeface. I want to generate a small cap feature. Do I need to create a .smcp feature or the .c2sc is enough?

Depends on what your intention is. Do you want to enable cap+smallcap text setting? Then you need a separate smcp, and separate glyphs with lowercase Unicode values.

I have a similar issue.
I have an All Caps font.

  1. I updated the UC Glyphs Info, and each UC glyph now also has an lc Unicode too
  2. Then I created a .sc set.
  3. Then, I generated the OT features.
    But the .smcp feature doesn’t work because I don’t have actual lowercase glyphs in the set. Therefore a substitution like sub a by a.sc; doesn’t work.
    Can this issue be solved with a custom parameter in export?

There is no automated solution, but what you could do is disable Generate feature automatically in the c2sc feature and wrap the code in

lookup small_caps {
# ...
} small_caps;

like so:

Then, click the plus + button next to Features and add the smcp feature wherein you put the following code:

lookup small_caps;

like so:

Now, activating either the c2sc or smcp feature (or both) turns all glyphs to small caps. If you add more glyphs to your font, enable Generate feature automatically in the c2sc feature, disable it again, and write the two wrapping code lines again.

Thank you! This worked perfectly but since I had added the dottless i and and had a LC i I had to add
" sub i by i.sc;" in c2sc