It looks like you're new here. If you want to get involved, click one of these buttons!

- 3.3K All Categories
- 9 Introductions
- 2.7K Typeface Design
- 462 Font Technology
- 845 Technique and Theory
- 363 Type Business
- 328 Type Design Critiques
- 436 Type Design Software
- 29 Punchcutting
- 71 Lettering and Calligraphy
- 43 Technique and Theory
- 28 Lettering Critiques
- 280 Typography
- 193 History of Typography
- 81 Education
- 6 Resources
- 372 Announcements
- 60 Events
- 78 Job Postings
- 111 Type Releases
- 122 Miscellaneous News
- 194 About TypeDrawers
- 44 TypeDrawers Announcements
- 82 Suggestions and Bug Reports

Jeff Peters
Posts: **34**

Hello, please help. In this line – what does the **'** after **space** do and stand for? Thank you!

sub @figures space' @numerators by thinspace;

0

## Comments

904904spaceglyph is preceded by any member of the @figures class and followed by any member of the @numerators class, it should be replaced by athinspaceglyph.”470will replace any string of the form XYZ with XWZ.

Without the tickmark you'd have a ligature replacement rule:

would simply replace XYZ with W.

Note that the above can also be written as

which makes it clearer that all three elements on the left side of the rule are being replaced.

The rule you give, which I assume is from a 'frac' feature, substitutes spaces with thinspaces but only when they follow a figure and are followed by a numerator.

3434(@numr0 being figures and @numr1 being numerators. Thinspace exists in the font and is mapped to uni2009...)

feature frac { # Fractions

sub one [slash fraction] two by onehalf;

sub one [slash fraction] four by onequarter;

sub three [slash fraction] four by threequarters;

lookup SlashToFraction {

ignore sub slash @figures @figures @figures @figures @figures @figures @figures @figures @figures @figures slash';

ignore sub slash' @figures @figures @figures @figures @figures @figures @figures @figures @figures @figures slash;

ignore sub slash @figures @figures @figures @figures @figures @figures @figures @figures @figures slash';

ignore sub slash' @figures @figures @figures @figures @figures @figures @figures @figures @figures slash;

ignore sub slash @figures @figures @figures @figures @figures @figures @figures @figures slash';

ignore sub slash' @figures @figures @figures @figures @figures @figures @figures @figures slash;

ignore sub slash @figures @figures @figures @figures @figures @figures @figures slash';

ignore sub slash' @figures @figures @figures @figures @figures @figures @figures slash;

ignore sub slash @figures @figures @figures @figures @figures @figures slash';

ignore sub slash' @figures @figures @figures @figures @figures @figures slash;

ignore sub slash @figures @figures @figures @figures @figures slash';

ignore sub slash' @figures @figures @figures @figures @figures slash;

ignore sub slash @figures @figures @figures @figures slash';

ignore sub slash' @figures @figures @figures @figures slash;

ignore sub slash @figures @figures @figures slash';

ignore sub slash' @figures @figures @figures slash;

ignore sub slash @figures @figures slash';

ignore sub slash' @figures @figures slash;

ignore sub slash @figures slash';

ignore sub slash' @figures slash;

sub @figures slash' @figures by fraction;

} SlashToFraction;

sub @numr0' fraction by @numr1;

sub @numr0' @numr1 fraction by @numr1;

sub @numr0' @numr1 @numr1 fraction by @numr1;

sub @numr0' @numr1 @numr1 @numr1 fraction by @numr1;

sub @numr0' @numr1 @numr1 @numr1 @numr1 fraction by @numr1;

sub @numr0' @numr1 @numr1 @numr1 @numr1 @numr1 fraction by @numr1;

sub @numr0' @numr1 @numr1 @numr1 @numr1 @numr1 @numr1 fraction by @numr1;

sub @numr0' @numr1 @numr1 @numr1 @numr1 @numr1 @numr1 @numr1 fraction by @numr1;

sub @numr0' @numr1 @numr1 @numr1 @numr1 @numr1 @numr1 @numr1 @numr1 fraction by @numr1;

sub @numr0' @numr1 @numr1 @numr1 @numr1 @numr1 @numr1 @numr1 @numr1 @numr1 fraction by @numr1;

sub [fraction @dnom1] @dnom0' by @dnom1;

sub @numr0 space' @numr1 by thinspace;

} frac;

134`sub @numr0 space' @numr1 by thinspace;`

but I think it should be`sub @figures space' @numr1 by thinspace;`

. You say`@numr0`

is the same as`@figures`

, but, why do you then use both?3497334feature frac { # Fractions

sub one [slash fraction] two by onehalf;

sub one [slash fraction] four by onequarter;

sub three [slash fraction] four by threequarters;

sub @figures space' @figures [slash fraction] by thinspace;

lookup SlashToFraction {

ignore sub slash @figures @figures @figures @figures @figures @figures @figures @figures @figures @figures slash';

ignore sub slash' @figures @figures @figures @figures @figures @figures @figures @figures @figures @figures slash;

ignore sub slash @figures @figures @figures @figures @figures @figures @figures @figures @figures slash';

ignore sub slash' @figures @figures @figures @figures @figures @figures @figures @figures @figures slash;

ignore sub slash @figures @figures @figures @figures @figures @figures @figures @figures slash';

ignore sub slash' @figures @figures @figures @figures @figures @figures @figures @figures slash;

ignore sub slash @figures @figures @figures @figures @figures @figures @figures slash';

ignore sub slash' @figures @figures @figures @figures @figures @figures @figures slash;

ignore sub slash @figures @figures @figures @figures @figures @figures slash';

ignore sub slash' @figures @figures @figures @figures @figures @figures slash;

ignore sub slash @figures @figures @figures @figures @figures slash';

ignore sub slash' @figures @figures @figures @figures @figures slash;

ignore sub slash @figures @figures @figures @figures slash';

ignore sub slash' @figures @figures @figures @figures slash;

ignore sub slash @figures @figures @figures slash';

ignore sub slash' @figures @figures @figures slash;

ignore sub slash @figures @figures slash';

ignore sub slash' @figures @figures slash;

ignore sub slash @figures slash';

ignore sub slash' @figures slash;

sub @figures slash' @figures by fraction;

} SlashToFraction;

sub @numr0' fraction by @numr1;

sub @numr0' @numr1 fraction by @numr1;

sub @numr0' @numr1 @numr1 fraction by @numr1;

sub @numr0' @numr1 @numr1 @numr1 fraction by @numr1;

sub @numr0' @numr1 @numr1 @numr1 @numr1 fraction by @numr1;

sub @numr0' @numr1 @numr1 @numr1 @numr1 @numr1 fraction by @numr1;

sub @numr0' @numr1 @numr1 @numr1 @numr1 @numr1 @numr1 fraction by @numr1;

sub @numr0' @numr1 @numr1 @numr1 @numr1 @numr1 @numr1 @numr1 fraction by @numr1;

sub @numr0' @numr1 @numr1 @numr1 @numr1 @numr1 @numr1 @numr1 @numr1 fraction by @numr1;

sub @numr0' @numr1 @numr1 @numr1 @numr1 @numr1 @numr1 @numr1 @numr1 @numr1 fraction by @numr1;

sub [fraction @dnom1] @dnom0' by @dnom1;

} frac;

34973904thinspacesubstitution before the fractions. Even though you’ve restricted it to a sequence that includes theslashorfraction.ignore subsare written at the beginning, to skip over things like date format.thinspaceanywhere but the end (conditioned by the presence of a numerator), then you risk having thin spaces substituted in situations where it is not wanted when the feature is applied broadly. Perhaps rare, but still less desirable.thinspacesub as such. But if you remove those explicit lookup designations (as your code has), then you need to mark the final sub as its own lookup.341,524