I’m working on a typeface that uses several symbols for each letter of the alphabet. I need the symbols to be random and not the same. I have saved all the symbols in upper case, and the substitutes as A.alt0, A.alt1, A.alt2.
Everytime I compile this comes up
There is a problem with the font
Error: ““feature” statement allowed only in ‘aalt’ feature” in Feature calt in line: 0
syntax error at “{” missing “;”
This is what I have
feature calt {
@randomDuplicateSkip = [@uppercase];
lookup RandomDuplicate1 {
sub A A' by A.random1;
sub B B' by B.random1;
sub C C' by C.random1;
sub D D' by D.random1;
sub E E' by E.random1;
sub F F' by F.random1;
sub G G' by G.random1;
sub H H' by H.random1;
sub I I' by I.random1;
sub J J' by J.random1;
sub K K' by K.random1;
sub L L' by L.random1;
sub M M' by M.random1;
sub N N' by N.random1;
sub O O' by O.random1;
sub P P' by P.random1;
sub Q Q' by Q.random1;
sub R R' by R.random1;
sub S S' by S.random1;
sub T T' by T.random1;
sub U U' by U.random1;
sub V V' by V.random1;
sub W W' by W.random1;
sub X X' by X.random1;
sub Y Y' by Y.random1;
sub Z Z' by Z.random1;
} RandomDuplicate1;
lookup RandomDuplicate2 {
sub A @randomDuplicate A' by A.random1;
sub B @randomDuplicate B' by B.random1;
sub C @randomDuplicate C' by C.random1;
sub D @randomDuplicate D' by D.random1;
sub E @randomDuplicate E' by E.random1;
sub F @randomDuplicate F' by F.random1;
sub G @randomDuplicate G' by G.random1;
sub H @randomDuplicate H' by H.random1;
sub I @randomDuplicate I' by I.random1;
sub J @randomDuplicate J' by J.random1;
sub K @randomDuplicate K' by K.random1;
sub L @randomDuplicate L' by L.random1;
sub M @randomDuplicate M' by M.random1;
sub N @randomDuplicate N' by N.random1;
sub O @randomDuplicate O' by O.random1;
sub P @randomDuplicate P' by P.random1;
sub Q @randomDuplicate Q' by Q.random1;
sub R @randomDuplicate R' by R.random1;
sub S @randomDuplicate S' by S.random1;
sub T @randomDuplicate T' by T.random1;
sub U @randomDuplicate U' by U.random1;
sub V @randomDuplicate V' by V.random1;
sub W @randomDuplicate W' by W.random1;
sub X @randomDuplicate X' by X.random1;
sub Y @randomDuplicate Y' by Y.random1;
sub Z @randomDuplicate Z' by Z.random1;
} RandomDuplicate2;
lookup RandonDuplicate3 {
sub A @randomDuplicateSkip @randomDuplicateSkip A' by A.random1;
sub B @randomDuplicateSkip @randomDuplicateSkip B' by B.random1;
sub C @randomDuplicateSkip @randomDuplicateSkip C' by C.random1;
sub D @randomDuplicateSkip @randomDuplicateSkip D' by D.random1;
sub E @randomDuplicateSkip @randomDuplicateSkip E' by E.random1;
sub F @randomDuplicateSkip @randomDuplicateSkip F' by F.random1;
sub G @randomDuplicateSkip @randomDuplicateSkip G' by G.random1;
sub H @randomDuplicateSkip @randomDuplicateSkip H' by H.random1;
sub I @randomDuplicateSkip @randomDuplicateSkip I' by I.random1;
sub J @randomDuplicateSkip @randomDuplicateSkip J' by J.random1;
sub K @randomDuplicateSkip @randomDuplicateSkip K' by K.random1;
sub L @randomDuplicateSkip @randomDuplicateSkip L' by L.random1;
sub M @randomDuplicateSkip @randomDuplicateSkip M' by M.random1;
sub N @randomDuplicateSkip @randomDuplicateSkip N' by N.random1;
sub O @randomDuplicateSkip @randomDuplicateSkip O' by O.random1;
sub P @randomDuplicateSkip @randomDuplicateSkip P' by P.random1;
sub Q @randomDuplicateSkip @randomDuplicateSkip Q' by Q.random1;
sub R @randomDuplicateSkip @randomDuplicateSkip R' by R.random1;
sub S @randomDuplicateSkip @randomDuplicateSkip S' by S.random1;
sub T @randomDuplicateSkip @randomDuplicateSkip T' by T.random1;
sub U @randomDuplicateSkip @randomDuplicateSkip U' by U.random1;
sub V @randomDuplicateSkip @randomDuplicateSkip V' by V.random1;
sub W @randomDuplicateSkip @randomDuplicateSkip W' by W.random1;
sub X @randomDuplicateSkip @randomDuplicateSkip X' by X.random1;
sub Y @randomDuplicateSkip @randomDuplicateSkip Y' by Y.random1;
sub Z @randomDuplicateSkip @randomDuplicateSkip Z' by Z.random1;
} RandomDupliacte3;
.