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

- 2.7K All Categories
- 2 Introductions
- 2.2K Typeface Design
- 293 Font Technology
- 753 Technique and Theory
- 291 Type Business
- 278 Type Design Critiques
- 396 Type Design Software
- 27 Punchcutting
- 57 Lettering and Calligraphy
- 35 Technique and Theory
- 22 Lettering Critiques
- 210 Typography
- 145 History of Typography
- 65 Education
- 324 Announcements
- 56 Events
- 60 Job Postings
- 96 Type Releases
- 111 Miscellaneous News
- 165 About TypeDrawers
- 41 TypeDrawers Announcements
- 72 Suggestions and Bug Reports

Jeff Peters
Posts: **25**

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

831831spaceglyph is preceded by any member of the @figures class and followed by any member of the @numerators class, it should be replaced by athinspaceglyph.”282will 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.

2525(@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;

116`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?2576725feature 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;

25767831thinspacesubstitution 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.251,333