typesupply / opentype-cookbook

An introduction to OpenType features for type designers.
104 stars 20 forks source link

The description for c2sc feature seems incorrect #54

Open rimas-kudelis opened 2 weeks ago

rimas-kudelis commented 2 weeks ago

Your description in https://github.com/typesupply/opentype-cookbook/blob/8d3a294b5cc1bb2a9dd4996993a4e49d23a7e357/docs/common-techniques.md?plain=1#L255 says that "[c2cs] is for situations in which the user wants everything possible, not just letters, to be converted to small cap forms."

This description seems not entirely in line with what the OpenType spec says about this feature:

Friendly name: Small Capitals From Capitals

Registered by: Adobe

Function: This feature turns capital characters into small capitals. It is generally used for words which would otherwise be set in all caps, such as acronyms, but which are desired in small-cap form to avoid disrupting the flow of text.

Example: The user types UNICEF or SCUBA, applies 'c2sc' and gets small cap text.

The way I understand it, this feature is not supposed to substitute small letters with small capitals, only capital letters (and okay, maybe numbers too). If it converted everything, acronyms with small letters in the middle (like IPv6 or LotR) would end up visually somewhat distorted and potentially even ambigous, and I don't think anyone would want that.

typesupply commented 1 week ago

The description in the cookbook is what was common practice in fonts at the time. I can't recall 100%, but I think this was a workaround for an implementation issue in InDesign way back when that was the only environment that supported GSUB and GPOS. Again, my memory is fuzzy because this was 20 years ago, but I seem to recall that "Small Caps" (invoking only smcp) and "All Small Caps" (invoking only c2sc) were binary options. Duplicating the rules of smcp into c2sc was needed for users to get "all" small caps.