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

- 2.9K All Categories
- 4 Introductions
- 2.3K Typeface Design
- 337 Font Technology
- 775 Technique and Theory
- 301 Type Business
- 291 Type Design Critiques
- 405 Type Design Software
- 27 Punchcutting
- 58 Lettering and Calligraphy
- 36 Technique and Theory
- 22 Lettering Critiques
- 220 Typography
- 154 History of Typography
- 66 Education
- 342 Announcements
- 58 Events
- 67 Job Postings
- 100 Type Releases
- 116 Miscellaneous News
- 173 About TypeDrawers
- 41 TypeDrawers Announcements
- 75 Suggestions and Bug Reports

Jeff Peters
Posts: **29**

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

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

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

118`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?2983629feature 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;

29836861thinspacesubstitution 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.291,391