Different results in Variable and Static GPOS

Getting this type of different results when manually setting GPOS for Variable (top) and Static (bottom)

Using Number Values for Static and then have the same values written out per master for Variable.

lookup armn_shft_static {
    pos [vo-arm] question-arm.comb [comma-arm]' <$shft_question_vo 0 $shft_question_vo 0>;
} armn_shft_static;

#ifdef VARIABLE
lookup armn_shft_variable {
    pos [vo-arm] question-arm.comb [comma-arm]' <
        180 0 180 0
        (wght:40 slnt:0) 180 0 180 0
        (wght:135 slnt:0) 220 0 220 0
        (wght:220 slnt:0) 310 0 310 0
    >;
} armn_shft_variable;
#endif

Any ideas what may be causing the issue?

Did you make sure that the armn_shft_static lookup is not active in the variable build?

If it is, both pos rules will add up.

Looks like both are active. Ah, if I comment it out then it works. Makes sense.

How do I deactivate the static lookup in the variable build?

You can wrap the static code in an #ifndef VARIABLE … #endif.

1 Like

That definitely helps but there is still something slightly off. This combo has some contextual anchor happening…could that be throwing off how it is calculating?

Ok removed the contextual anchors and that wasn’t the issue.
I think I’ve isolated it though.


TEST 1: Origin at wght:95 slnt:0 (Regular)

With the slnt:-100 masters being included

the result is this


TEST 2: Origin at wght:95 slnt:0 (Regular) with slnt:-100 lines removes
If the slnt:-100 lines are removed

then it works (or at least the shift amount is equal)


TEST 3: Origin at wght:45 slnt:0 (Thin)
In the above examples, the Origin is set at the Regular (wght:95), however, if the Origin is set to the Thin (wght:40) then everything works


When the origin is at wght:95, you need a rule at wght:40, slnt:0, too.

I do have it though when origin is at wght:95 or do I have to do it another way?

So the first line (180 0 180 0) is the origin (wght:95 slnt:0) and there is a rule for each master.

You are right. What happens if you add it anyway?

Not sure I understand…what should I add?

There are 3 tests and their results in the post above

I meant if you duplicate the wght:95 slnt:0 180… line?

Get Variation position overrides origin position error

Can you send me the file?

Sent