File: CampaniaGPOS.fea

package info (click to toggle)
campania 2.009-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, sid
  • size: 652 kB
  • sloc: sh: 13; makefile: 9
file content (46 lines) | stat: -rw-r--r-- 2,683 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# Campania

# GPOS definitions

# values are specific to font metrics

lookup symbol_spacing {
#    pos @brackets <0 250 0 0>;          # raise brackets to align with RNA
    pos @accidentals <100 0 100 0>;     # add padding around accidentals
} symbol_spacing;

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

# not currently used, as FreeType apparently does not support vertical positioning on macOS
# instead use substitutions with @intervalssupersuper
lookup inversion_3_pos {
    # 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 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 hyphensupersuper hyphensuperior -395;           # move superscript hyphen left to align under supersuper hyphen (64-53)
    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;