Zu Inhalt springen

erste Schrift Fragen zu Opentype feature Kontextbedingte Varianten (calt)

Hervorgehobene Antworten

Hallo,

 

in den letzten Tagen habe ich meine Schrift ausgebaut die ich vor ca. einem Jahr angefangen habe. Damals habe ich Ligaturen und Kontextbedingte Varianten mit Hilfe meines Lehrers (Oliver Linke) eingebaut. Der Code war noch da aber die features funktionieren nicht mehr, jetzt habe ich einiges gelesen und rumgebaut aber ich bekomme es einfach nicht hin.

 

Was ich machen möchte:

Da es eine Art Schreibschrift ist möchte ich, dass am Ende jedes Wortes der Verbindende Strich weg ist. Dafür habe ich alternative kleinbuchstaben angelegt (z.B. a.end). Zudem gibt es zwei kleinbuchstaben die den Verbindungsstrich auch nach vorne haben und dafür brauche ich die Ersetzung am Anfang des Wortes. Auch dafür gibt es alternative Zeichen.

 

Der Code:

1) Die aktuelle Variante an der ich ordentlich rumgebastelt habe

 

feature calt {    
  sub @normalstart' by @start;
    sub @normalend' by @end;
    sub @zeichen2 @normalstart' by @start;
  sub @normalend' @zeichen2 by @end;
    ignore sub @normalend' @normalend by @end;
    ignore sub @normalstart @normalstart' by @start;
} calt;

 

Das ist die Fehlermeldung dazu

 

[FATAL] <BayrischCreme> aborting because of errors:
syntax error at "["
[/users/AMadl/Library/Application Support/FontLab/Studio 5/Features/fontlab.fea 10]

 

2) Die Variante die ich mit Herr Linke damals angelegt habe (kann aber sein das vor dem Generieren noch was daran gemacht wurde)

 

feature calt {
  sub @normalstart' by @start;
  sub @zeichen @normalstart' by @start;
  sub @normalend' @zeichen by @end;
  sub @normalend' by @end;
} calt;

 

Fehlermeldung

 

[WARNING] <BayrischCreme> Glyph class @BayrischCreme redefined [/users/AMadl/Library/Application Support/FontLab/Studio 5/Features/fontlab.fea 6]
[WARNING] <BayrischCreme> Glyph class @BayrischCreme redefined [/users/AMadl/Library/Application Support/FontLab/Studio 5/Features/fontlab.fea 7]
[WARNING] <BayrischCreme> Glyph class @BayrischCreme redefined [/users/AMadl/Library/Application Support/FontLab/Studio 5/Features/fontlab.fea 8]
[WARNING] <BayrischCreme> Glyph class @BayrischCreme redefined [/users/AMadl/Library/Application Support/FontLab/Studio 5/Features/fontlab.fea 9]
[WARNING] <BayrischCreme> Glyph class @BayrischCreme redefined [/users/AMadl/Library/Application Support/FontLab/Studio 5/Features/fontlab.fea 10]

 

Bei 1) sind im Vorschaufenster garkeine features angezeigt, bei 2) werden für alle Buchstaben die alternativzeichen eingesetzt.

 

Können Sie mir Helfen?

 

Viele Grüße

Regina

Such mal diesen Fehler:

syntax error at "["
[/users/AMadl/Library/Application Support/FontLab/Studio 5/Features/fontlab.fea 10]

 

 

In Zeile 10 des Feature-Codes kommt ein »[«, was falsch oder unerwartet ist. Der Fehler ist in dieser oder eventuell auch der vorigen Zeile. Mit dem CALT-Code hat es wahrscheinlich gar nichts zu tun. 

 

Außerdem: Das Apostroph gibt bei einem mehrgliedrigen Ausdruck an, welcher Teil ersetzt werden soll. Bei:

sub @normalend' by @end;

und ähnlichen Zeilen muss also kein Apostroph hin. Es ist eine einfache 1:1-Ersetzung. 

  • Ersteller

Danke für die Hilfe!

Ich hab die classen im class window angelegt und ich glaube das hat für Verwirrung gesorgt, habe jetzt die doppelten classen gelöscht und bekomme keine Fehlermeldung mehr. Kann es sein das die Reihenfolge nicht stimmt? Wenn ich in die Preview gehe habe ich nämlich immer noch keine features zum Testen.

 

feature calt {    
  ignore sub @normalend @normalend;
  ignore sub @normalstart @normalstart;
  sub @normalstart by @start;
  sub @normalend by @end;
  sub @zeichen2 @normalstart by @start;
  sub @normalend @zeichen2 by @end;
} calt;
 

Jetzt hast du zuviele Apostrophe gelöscht. Bei zwei Ausdrücken müssen sie schon drinbleiben:

sub @zeichen @normalstart' by @start;

 

Aber ist jetzt schwer zu sagen, wo eventuelle Fehler liegen, wenn man nur den Ausschnitt und nicht alle OpenType-Feature und Klassen vor sich hat …

  • Ersteller

Es gibt doch noch eine Fehlermeldung... ups die war hinter das opentype Fenster gerutscht... und ich hab mich schon gefreut!

 

Der Code sieht aktuell so aus:

feature calt {    
  ignore sub @normalend' @normalend;
  ignore sub @normalend @normalstart';   Diese Zeile wird grün hervorgehoben
  sub @zeichen2 @normalstart' by @start;
  sub @normalend' @zeichen2 by @end;
  sub @normalstart by @start;
  sub @normalend by @end;
} calt;

 

Die Meldung lautet:

[FATAL] <BayrischCreme> Duplicate target glyph for single substitution in 'calt' feature: j

  • Ersteller

Danke! Das mit den Apostrophen ist mir dann auch aufgefallen :hammer: Manchmal dauerts einen moment :)

  • Ersteller

Sonst hab ich nur Standartligaturen:

 

feature liga {
  sub f i.end by fi.end;
  sub f l.end by fl.end;
  sub t t by tt;
  sub f i by fi;
  sub f l by fl;
} liga;

 

und das sind die classen:

@end=[a.end b.end c.end d.end e.end f.end g.end h.end i.end j.end k.end l.end m.end n.end o.end p.end q.end r.end s.end t.end u.end v.end w.end x.end y.end z.end germandbls.end fi.end fl.end];
@normalend=[a b c d e f g h i j k l m n o p q r s t u v w x y z germandbls fi fl];
@normalstart=[j v];
@start=[j.start v.start];
@zeichen=[dagger bullet paragraph registered copyright trademark Oslash ordfeminine ordmasculine Omega oslash questiondown exclamdown guillemotleft guillemotright ellipsis endash emdash quotedblleft quotedblright quoteleft quoteright lozenge guilsinglleft guilsinglright daggerdbl periodcentered quotesinglbase quotedblbase perthousand];
@zeichen2=[brokenbar space exclam quotedbl numbersign ampersand quotesingle parenleft parenright asterisk slash colon semicolon question bracketleft backslash bracketright underscore braceleft bar braceright degree section dollar cent sterling yen Euro];
@zahlen=[onehalf onequarter onesuperior threequarters threesuperior twosuperior zero one two three four five six seven eight nine];
@mathe=[minus multiply percent plus hyphen period less equal greater infinity plusminus lessequal greaterequal mu summation product pi integral radical florin Delta divide fraction];
@buchstaben=[a b c d e f g h i j k l m n o p q r s t u v w x y z germandbls fi fl];
 

  • Ersteller

j und v mussten aus der endklasse entfernt werden. Jetzt komm ich wieder bis zum preview fenster aber leider wird die funktion immer noch auf alle Zeichen angewendet ;(

 

Ich habe die gesamte letzte Woche damit verbracht die Schrift auszubauen da heute letzter Abgabe Termin für open call for Type von der FH Mainz ist. Wenn ich heute nicht mehr hinbekomme wars das mit der Chance im Gutenbergmuseum ausgestellt zu werden ...

 

Leider habe ich geringe Programmkenntnisse und mit programmieren kenne ich mich noch weniger aus, ich bin jedem der mir Hilft sehr Dankbar!

 

Habs jetzt nochmal aufs wesentliche reduziert

 

feature calt {   
    ignore sub @normalend @normalstart';
  sub @normalstart by @start;
  ignore sub @normalend' @normalend;
  sub @normalend by @end;
} calt;


@end=[a.end b.end c.end d.end e.end f.end g.end h.end i.end  k.end l.end m.end n.end o.end p.end q.end r.end s.end t.end u.end w.end x.end y.end z.end germandbls.end fi.end fl.end];
@normalend=[a b c d e f g h i k l m n o p q r s t u w x y z germandbls fi fl];
@normalstart=[j v];
@start=[j.start v.start];




 

  • Ersteller

Ja, hab ihn Generiert und in InDesign CS3 und 5 getestet! Für die Einreichung habe ich jetzt getrickst, aber das ist ja auch keine Lösung!

Vielen Dank auf jeden Fall für die Mühe!

  • Ersteller

Also in InDesign funktionierts leider auch nicht ...

Könnte es an einer Einstellung beim Generieren liegen?

Erstelle ein Konto, um zu kommentieren

Wichtige Informationen

Wir setzen Cookies, um die Benutzung der Seite zu verbessern. Du kannst die zugehörigen Einstellungen jederzeit anpassen. Ansonsten akzeptiere bitte diese Nutzung.

Konto

Navigation

Browser-Push-Nachrichten konfigurieren

Chrome (Android)
  1. Klicke das Schloss-Symbol neben der Adressleiste.
  2. Klicke Berechtigungen → Benachrichtigungen.
  3. Passe die Einstellungen nach deinen Wünschen an.
Chrome (Desktop)
  1. Klicke das Schloss-Symbol in der Adresszeile.
  2. Klicke Seiteneinstellungen.
  3. Finde Benachrichtigungen und passe sie nach deinen Wünschen an.