OTVar ital in Glyphs


#1

I have a perhaps somewhat special question about OTVar ital: with my font Compressa as variable font I tried to implement the ITALIC axis for the first time (values ZERO and ONE). By definition, there should be no smooth gradient that makes different slopes possible, but a kind of switch that switches between Regular and Italic.

Unfortunately I did not manage it and I am currently helping myself by pointing out to the interested parties that you also have to activate the ital (or ss01) feature for the italic position. That’s annoying and stupid, of course.

Now I have seen at the FF meta introduced in Axis practice that it works so well there that even the italic glyphs are exchanged. So it really is the italic and not such a strange derivative as my Compressa with additional OpenType features.

Now the question: HOW do you do that? WHAT I have to do/adjust/create/consider, e.g. to actually switch an antiqua (which has completely different glyphs in Regular and Italic) with OTVar.

I would be very pleased about an answer…


Ich habe eine vielleicht etwas spezielle Frage zu OTVar ital: bei meiner Schrift Compressa als Variable Font habe ich das erste Mal versucht, die Achse ITALIC umzusetzen (Werte 0 und 1). Laut Definition sollte es keinen smoothen Verlauf geben der unterschiedliche Schrägen möglich macht, sondern eine Art Schalter sein, der zwischen Regular und Italic wechselt.

Ich habe es leider nicht hinbekommen und behelfe mich momentan damit, dass ich die Interessenten darauf hinweise, dass Sie bei der Kursivstellung zusätzlich das Feature ital (oder ss01) dazu schalten müssen. Das ist natürlich lästig und blöde.

Nun habe ich bei der in Axis-Praxis vorgestellten FF Meta gesehen, dass es dort so super funktioniert, dass sogar die kursiven Glyphen ausgetauscht werden. Es ist also dann tatsächlich die Kursive und nicht so ein seltsames Derivat wie bei meiner Compressa mit zusätzlichem Zuschalten von OpenType-Features.

Nun die Frage: WIE macht man das? WAS muss ich machen/einstellen/erzeugen/bedenken, um z.B. eine Antiqua (die ja völlig verschiedene Glyphen bei Regular und Italic hat) mit OTVar dann tatsächlich umzuschalten.

Würde mich über eine Antwort sehr freuen…


#2

Wahrscheinlich werden Sie die Italic und die Regular in zwei verschiedenen Files haben. Sie können bei beiden aber eine ital Achse hinzufügen und einfach nicht interpolieren. In allen Masters und Instanzen setzen sie bei der Italic den Wert auf 1, in der Aufrechten auf 0.


#3

Rainer, danke für deine Antwort. Genau so habe ich es gemacht - aber so funktioniert es nicht.

Die Achse ITALIC (ital) wird seltsamerweise als Achse SLANT (slnt) behandelt und nicht zwischen AN und AUS geschaltet, sondern ein Winkelwert zwischen 0° und 1° ausgegeben (siehe https://v-fonts.com/).

Bei der FF Meta hingegen findet ein tatsächlicher Schalter statt (Link zur Schrift auf gleicher Seite wie oben).
Ich habe die MetaVariableDemo-Set.woff2 analysiert, um dem Mechanismus zu verstehen. In Glyphs habe ich entdeckt, dass alle aufrechte Glyphen im jeweiligen Master durch die gleichen in Italic ersetzt wurden, jedoch als Feature-Glyphe *.ital ohne Unicode - aber alle Versuche, es der FF Meta gleich zu tun, scheiterten.

Sowohl durch Verwendung von zusätzlichen Backet- oder Brace-Layer, indem ich die verdoppelten *.ital genau in solch einen Layer gesetzt habe; alles klappt nicht oder ich mache etwas falsch. Der Austausch des Features, von Glyphen im Instanzenfenster etc.p.p. - alles kein Resultat.

Aber vielleicht gibt es einen anderen Trick?


#4

Das ital-Feature ist m.W. nicht mehr aktuell. Ich würde die Italic lieber in einer separaten Datei halten. Sie können mir auch die .glyphs-Datei schicken, dann schau ich mal rein.


#5

I think he speaks about the ital axis (in variable fonts) and not the OT feature with the same name.

That is technically possible but I would advice agains it. You would need to have separate glyphs for the italic and then use some variable lookups to switch the glyphs. And even trough you only have values from zero to one, most implementations would give you a slider that would do nothing for the first half and then switch.


#6

Genau; ich sprach nicht vom OT-Feature, sondern von der ital-Achse in OTVar STAT. Es geht mir um die Font-Italicization, die verschieden ist vo der Variable Slant (slnt). Letztere ermöglicht Werte auf einer Skala, die mittels Schieberegler eingestellt werden kann udn unterschiedliche Grade von Verschiefung ermöglicht. Das ist mir geläufig.

Mir geht es aber um die Möglichkeit (wie in Monotype FF Meta Variable), dass ich (meinetwegen mit Schieberegler, der bis zum Wert von 0,5 nix macht und dannden kompletten Zeichensatz in kursive Glyphen austauscht.

Das wäre für Antiquas interessant, deren Design in Regular und Kursiv völlig unterschieden ist; im Gegensatz zu manchen Sans Serifs, wo die Kursiven oftmals eher eine Slant sind.

Mir ist auch bewusst, dass ich stattdessen eher zwei VariableFonts herstellen kann, aber es geht mir um die prinzipielle Machbarkeit und den Weg, den ich dafür in/mit Glyphs gehen muss.


Exactly; I wasn’t talking about the OT feature, but about the ital axis in OTVar STAT. I am interested in font italicization, which is different from the variable Slant (slnt). The latter allows values on a scale that can be set using sliders and allows different degrees of displacement. I’m familiar with that.

But my point is the possibility (as in Monotype FF Meta Variable) that I (because of me with slider, which does nothing up to the value of 0.5 and then changes the complete character set into italic glyphs.

This would be interesting for antiquas whose design is completely different in regular and italics; in contrast to some SansSerifs, where the italics are more of a slant.

I’m also aware that I can create two VariableFonts instead, but I’m interested in the basic feasibility and the path I have to take in/with Glyphs.


#7

Das kann nicht sein. Sie meinen eher eine ital-Achse in gvar. Und das hatte ich gemeint mit meinem letzten Kommentar.


#8

Ich bezog mich bei dem Hinweis auf die Tabelle STAT auf dein Tool (FontTableViewer), in dem in der Tabelle STAT der axisTag ‘ital’ neben ‘wdth’ und ‘wght’ angezeigt wird.

Außerdem wird m.E. in der OT-Spezifikation 1.8 von Microsoft

die ital-Achse genau so beschrieben, wie ich sie verstanden hatte: als Bestandteil der STAT-Tabelle. Es ist letztendlich auch egal, in welcher Tabelle diese Werte abgespeichert werden, wenn sie von dort korrekt ausgelesen werden können:

The Italic axis has long been treated as a kind of design variation within a font family. The ‘ital’ axis tag is used within a ‘STAT’ table of italic fonts to provide a complete characterization of a font in relation to its family within the ‘STAT’ table. The Italic axis can be used as a variation axis within a variable font, though this is not expected to be common.

The Italic axis is distinct from the Slant axis (‘slnt’). Fonts may use one or the other, depending on the nature of the design, but should rarely use both. While an italic design often incorporates some slant in the design, use of the Italic axis does not require use of the Slant axis. An italic font should not be characterized in the ‘STAT’ table as being italic and also having some slant, unless the font family includes multiple italic designs with different amounts of slant.

Soweit die Spezifikation dazu. Mir ist nur aufgefallen, dass bei meinen Schriften trotz Einbau der Tabelle ‘ital’ die Verhaltensweise wie bei der Tabelle ‘slnt’ ist; unterschiedliche Winkel der Schrägstellung möglich sind und ich keinen Workflow habe, das Design der Glyphen tatsächlich zu tauschen, wie ich es nun bei der FF Meta gesehen habe.

Also weiß ich, dass es prinzipiell geht; weiß nur nicht, wie es mit Glyphs geht bzw. schreibt Glyphs evtl. die Werte in eine falsche Tabelle…?


#9

Keine Ideen? Soll ich die *.glyphs der Compressa schicken, in der sich die ital-Achse wie eine slnt-Achse verhält? Oder ein Tipp, wie ich es sonst machen kann, wenn ich zwei Font-Dateien (Regular und Italic) vermeiden möchte…


#10

Wenn die Kursivität nicht interpoliert wird, empfehle ich aber schon zwei Font-Dateien.

Aber Sie können mir die Datei schicken: bitte an support (at) (Glyphs app Punkt com).