lookup Q_alts {
    sub Q' @NO_DESC_1 @NO_DESC_1 by Q.long;
    sub Q' @NO_DESC_1 [ @NO_DESC quoteleft quoteright ] @RIGHT_DESC  by Q.long;
    sub Q' [ g j p y ] by Q.short;
    sub Q' [ J comma semicolon parenright bracketright braceright ] by Q.low;
} Q_alts;

# Although the following is better (shorter lists of allowed
# characters after the long f) I have to apply a more complicated 
# solution because XeTeX doesn’t like ignore sub rules
#
#lookup f_long {
#    ignore sub @DEFAULT_F' [ @NO_ASC ];
#    sub @DEFAULT_F' by @SHORT_F;
#} f_long;

lookup f_long {
     sub @DEFAULT_F' [ @HIGH_ASC_F @HIGH_PUNCT @ORDN @SUPS ] by @SHORT_F;
     sub @DEFAULT_LONGS' [ @HIGH_ASC_LONGS @HIGH_PUNCT @ORDN @SUPS ] by @SHORT_LONGS;
} f_long;

lookup caltLAT {
    #sub [ space @PUNCT ] u.LAT' by u.LATinit;
    sub [ @Letters U.LAT u.LAT u.LATmedi v.LATmedi ] [ u.LAT v.LAT]' by [ u.LATmedi v.LATmedi];
} caltLAT;

feature calt {
    lookup Q_alts;
#    lookup f_long;
    lookup caltLAT;
} calt;
