Is it a safe assumption that whenever the 'case' feature is activated, the text run will contain only uppercase letters? (i.e. the application will have already converted all lowercase letters to uppercase before calling the relevant GSUB lookups?)
IOW, if my 'case' feature undoes the effects of 'c2sc', is it necessary for it to also undo the effects of 'smcp'?
ADDENDUM: Perhaps a question which I should be asking before the above is whether it is better practice to have 'case' undo the effects of 'c2sc' or to have 'c2sc' undo the effects of 'case'. Which should take priority?