googlefonts / fez

Font Engineering made eaZy
BSD 3-Clause "New" or "Revised" License
14 stars 3 forks source link

Allow routine names to be nullable, per grammar… #2

Closed ctrlcctrlv closed 2 years ago

ctrlcctrlv commented 2 years ago

master raises error on FEZ code documented to work

This assigns names like FEZUnnamedRoutine1 in the FEA code.

Feature liga {
    Routine {
        Substitute period period period -> ellipsis;
        Substitute period period -> nldr;
    } <<latn/ENG>>;
    Routine bb {
        Substitute period period period -> ellipsis;
        Substitute period period -> nldr;
    } <<latn/TRK>>;
    Routine {
        Substitute period period period -> ellipsis;
        Substitute period period -> nldr;
    } <<latn/SPA>>;
};

becomes…

lookup FEZUnnamedRoutine0 {
    lookupflag 0;
    ;
    sub period period period by ellipsis;
    sub period period by nldr;
} FEZUnnamedRoutine0;

lookup bb {
    lookupflag 0;
    ;
    sub period period period by ellipsis;
    sub period period by nldr;
} bb;

lookup FEZUnnamedRoutine1 {
    lookupflag 0;
    ;
    sub period period period by ellipsis;
    sub period period by nldr;
} FEZUnnamedRoutine1;

feature liga {
    script latn;
    language ENG;
            lookup FEZUnnamedRoutine0;

} liga;

feature liga {
    script latn;
    language TRK;
            lookup bb;

} liga;

feature liga {
    script latn;
    language SPA;
            lookup FEZUnnamedRoutine1;

} liga;