Skip to content

Commit

Permalink
version 2.0.2: fix two-digit numbers
Browse files Browse the repository at this point in the history
  • Loading branch information
MarcSabatella committed Jun 11, 2019
1 parent 70aed5b commit feec98c
Show file tree
Hide file tree
Showing 7 changed files with 397 additions and 168 deletions.
Binary file modified Campania.otf
Binary file not shown.
520 changes: 365 additions & 155 deletions Campania.sfd

Large diffs are not rendered by default.

Binary file modified Campania.ttf
Binary file not shown.
Binary file modified Campania.woff
Binary file not shown.
8 changes: 5 additions & 3 deletions CampaniaCLASSES.fea
Expand Up @@ -8,12 +8,14 @@
@accidentalssuperior = [ flatsuperior naturalsuperior sharpsuperior doubleflatsuperior doublesharpsuperior ];
@accidentalsraw = [ b h numbersign doubleflat x ];

@rootsupper = [ oneromanupper tworomanupper threeromanupper fourromanupper fiveromanupper sixromanupper sevenromanupper ];
@rootslower = [ oneromanlower tworomanlower threeromanlower fourromanlower fiveromanlower sixromanlower sevenromanlower ];
@roots = [ A-Z a-z ];
@romanupper = [ oneromanupper tworomanupper threeromanupper fourromanupper fiveromanupper sixromanupper sevenromanupper ];
@romanlower = [ oneromanlower tworomanlower threeromanlower fourromanlower fiveromanlower sixromanlower sevenromanlower ];
@roman = [ @romanupper @romanlower ];
@roots = [ A-Z a-z @roman ];

@quality = [ m M a A j degree degreeslash ];

@intervals = [ zero one two three four five six seven eight nine ];
@intervalssuperior = [ zerosuperior onesuperior twosuperior threesuperior foursuperior fivesuperior sixsuperior sevensuperior eightsuperior ninesuperior ];
@intervalssubscript = [ zerosubscript onesubscript twosubscript threesubscript foursubscript fivesubscript sixsubscript sevensubscript eightsubscript ninesubscript ];
@intervalsstack = [ @intervalssuperior @intervalssubscript ];
23 changes: 20 additions & 3 deletions CampaniaGPOS.fea
Expand Up @@ -9,18 +9,35 @@ lookup symbol_spacing {
pos @accidentals <100 0 100 0>; # add padding around accidentals
} symbol_spacing;

@noonesuperior = [ zerosuperior twosuperior threesuperior foursuperior fivesuperior sixsuperior sevensuperior eightsuperior ninesuperior ];

lookup inversion_3_pos {
pos @intervalssuperior' <0 875 0 0> @intervalssuperior @intervalssubscript; # raise first superscript numeral when in stacks of three (643)
# raise first superscript number when in stacks of three (643)
pos onesuperior' <0 875 0 0> @intervalssuperior @noonesuperior @intervalssubscript;
pos onesuperior' <0 875 0 0> @intervalssuperior onesuperior @intervalssuperior @intervalssubscript;
pos onesuperior onesuperior' <0 875 0 0> @noonesuperior @intervalssubscript;
pos @noonesuperior' <0 875 0 0> @noonesuperior @intervalssubscript;
pos @noonesuperior' <0 875 0 0> onesuperior @intervalssuperior @intervalssubscript;
} inversion_3_pos;

lookup inversion_2_pos {
pos @intervalssuperior @intervalssubscript -737; # move superscript numerals left to aign under other superscript numerals
pos @intervalssuperior @intervalssuperior -737; # move subscript numerals left to aign under superscript numerals
pos onesuperior @intervalssuperior -150; # kern two-digit superscript numbers
pos onesubscript @intervalssubscript -150; # kern two-digit subscript numbers
pos @noonesuperior @intervalsstack -737; # move superscript and subscript numerals left to align under superscript numerals
pos hyphensuperior hyphensubscript -395; # move subscript hyphen left to align under superscript hyphen (64-53)
} inversion_2_pos;

lookup inversion_one_pos {
pos onesuperior onesuperior @intervalsstack @intervalsstack' <-1174 0 -587 0>; # move bottom numeral of stack further left to align under second interval (?)
pos onesuperior @noonesuperior @intervalsstack @intervalsstack' <-587 0 0 0>; # move bottom numeral of stack further left to align under second interval
pos onesuperior onesuperior @intervalsstack' <-1174 0 0 0> @intervalsstack; # move numerals further left to align under two-digit numbers
pos onesuperior onesuperior @intervalsstack' <-1324 0 -737 0>; # move numerals further left to align under two-digit numbers (and fix advance?)
pos onesuperior @noonesuperior @intervalsstack' <-587 0 0 0>; # move numerals further left to align under two-digit numbers
} inversion_one_pos;

feature kern {
lookup symbol_spacing;
lookup inversion_3_pos;
lookup inversion_2_pos;
lookup inversion_one_pos;
} kern;
14 changes: 7 additions & 7 deletions CampaniaGSUB.fea
Expand Up @@ -26,22 +26,22 @@ lookup trailing {
# interval and inversion lookups

lookup intervals_1 {
sub @roots @intervals' by @intervalssuperior;
sub @roots @quality @intervals' by @intervalssuperior;
sub @roots @intervals' by @intervalssuperior; # superscript interval after root
sub @roots @quality @intervals' by @intervalssuperior; # superscript interval after quality
} intervals_1;

lookup intervals_2 {
sub onesuperior @intervals' by @intervalssuperior;
ignore sub onesuperior onesuperior @intervals'; # do not allow three-digit numbers
sub onesuperior @intervals' by @intervalssuperior; # allow two digit numbers
} intervals_2;

lookup inversion_3 {
sub @intervalssuperior @intervals' @intervals by @intervalssuperior;
sub @intervalssuperior @intervals' @intervals by @intervalssuperior; # set up stack of three intervals (superscript, superscript, subscript)
} inversion_3;

lookup inversion_2 {
sub @intervalssuperior @intervals' by @intervalssubscript;
sub hyphen @intervals' by @intervalssuperior;
sub equal @intervals' by @intervalssuperior;
sub @intervalssuperior @intervals' by @intervalssubscript; # set up stack of two intervals (superscript, subscript)
sub [ hyphen equal ] @intervals' by @intervalssuperior; # superscript after hyphen
} inversion_2;

# alteration lookups
Expand Down

0 comments on commit feec98c

Please sign in to comment.