Jump to content
Postkarten-ABC zum Sammeln oder Verschenken …

Spezielle Ligatur in Fontlab

Empfohlene Beiträge

Susan Födisch

Hallo an alle,

ich bin gerade dabei eine Versalschrift zu gestalten, bei der es einige Ligaturen gibt. Darunter ist auch eine AR-Ligatur, die aber nur am Anfang eines Wortes gut aussieht. Wie ich normale Ligaturen einfüge weiß ich, aber wie schaffe ich es, dass sie nur am Anfang eines Wortes erscheint, aber an anderer Stelle die Buchstaben getrennt bleiben.

Wäre großartig, wenn jemand darauf eine Antwort hätte.

Viele Grüße!

Link zu diesem Kommentar
Sebastian Nagel

Ich denke, du brauchst dafür den "ignore sub"-Befehl, um da alle Fälle abdecken zu können (denn zu prüfen, ob vor dem Wort ein Leerzeichen ist oder nicht, reicht nicht aus, und du kannst nicht auf "Textbeginn" oder "Zeilenanfang" prüfen).

Das ganze funktioniert prinzipiell so: Die RA-Ligatur wird grundsätzlich *immer* angewendet, außer(!) der Fall tritt ein, dass sich vor der RA-Kombination noch ein Buchstabe befindet, dann tritt der Ignore in Kraft. Ich habe das in der Praxis noch nie verwendet, kann also keine Details dazu liefern ...

Hier gibt's eine ähnliche Frage:

http://typophile.com/node/19839#comment-123576

Der Link fürt direkt zu der Antwort, die funkionieren müsste (müsste, weil ich es nicht getestet habe, und in deinem speziellen Fall vielleicht Anpassung erfordert, da sich die Frage auf Swash-Anfänge bezieht, nicht auf Ligaturen).

Alternativ kannst du dich auch in das init-feature einlesen und rausfinden, ob du es dafür "missbrauchen" könntest. Das Feature ist eigentlich für arabische Schrift gedacht, wo die Buchstaben 4 Formen (initial, medial, final und isoliert) gibt, es also auch darum geht, am Wortanfang eine andere Ersetzung zu machen als z.B. in der Mitte oder am Ende eines Wortes. Aber: Das funkioniert erst ab Indesign CS3!

Link zu diesem Kommentar
Susan Födisch

Vielen Dank für deine Antwort. Ich werd es erst mal versuchen und mich melden, wenn ich was erreicht habe :)

bearbeitet von Susan Födisch
Link zu diesem Kommentar
Ralf Herrmann

Das ganze funktioniert prinzipiell so: Die RA-Ligatur wird grundsätzlich *immer* angewendet, außer(!) der Fall tritt ein, dass sich vor der RA-Kombination noch ein Buchstabe befindet, dann tritt der Ignore in Kraft. Ich habe das in der Praxis noch nie verwendet, kann also keine Details dazu liefern ...

Ja, genau. Das sollte das beste sein und lässt sich eben direkt mit dem gewünschten Feature koppeln ohne andere Feature (wie INIT/MEDI/FINA) zu bemühen, von deren Unterstützung man ja nicht immer ausgehen kann.

Link zu diesem Kommentar
Susan Födisch

Ich hätte vielleicht erwähnen sollen, dass ich auf diesem Gebiet eine absolute Anfängerin bin. Könntet ihr mir eventuell sagen, wie in dem Fall der Code aussehen muss? Ich hab grade alles mögliche versucht, hab aber immer nur Fehlermeldungen und eigentlich hab grade gar keinen Plan was ich da mache :D

Wenn ich den Code aus dem Link auf mich übertrage, müsste er doch so aussehen, oder?

feature calt {

lookup caltstart{

ignore sub @letter @start' ;

sub @start' by @start_liga ;

}caltstart;

} calt;

In der Gruppe letter befinden sich alle Buchstaben, in der start_liga meine Ligatur. Aber wie muss die start-Gruppe aussehen? Denn wenn ich einfach nur [A R] reinschreibe, dann klappt's nicht. Schreibe ich nur A rein, ersetzt er mir alle As am Anfang eines Wortes mit der Ligatur.

Ist bestimmt sowieso quatsch, was ich da gemacht hab. Was kann ich bloß tun?

bearbeitet von Susan Födisch
Link zu diesem Kommentar
Ralf Herrmann

Das war nur ein verwandtes Beispiel …

In deinem Fall muss es so aussehen:

ignore sub @uppercase A' R';
sub A' R' by A_R;[/CODE]

Wichtig: Du brauchst eine Klasse mit Buchstaben, die die Ligatur ausschalten sollen, wenn sie vor der Ligatur stehen. Also alle Großbuchstaben, alle Buchstaben, alle Zeichen des Fonts etc. Diese Klasse musst du vorher im Klassen-Panel anlegen. Im obigen Beispiel habe ich sie beispielsweise uppercase genannt.

Link zu diesem Kommentar
Sebastian Nagel

In deinem Fall muss es so aussehen:

ignore sub @uppercase A' R';
sub A' R' by A_R;[/CODE]

Nur zum Verständnis für mich: braucht es hier die ganzen ' , damit der ingnore-befehl weiß, was da *nicht* ersetzt werden soll?

Eine normale, immer gültige Many-to-one-Ersetzung würde ja auch ohne diese funktionieren:

[CODE]sub A R by A_R;[/CODE]

Link zu diesem Kommentar
Susan Födisch

Ich weiß zwar auch nicht warum, aber ich hatte es ohne ' probiert und es ging nicht. Ich hatte beim Export immer Syntax-Fehler.

Link zu diesem Kommentar
Sebastian Nagel

okay, ich denke mit diesem Beitrag zusammen hab ich's verstanden:

http://typophile.com/node/60485#comment-359402

(der von Christopher Slye)

Ich hab mich eigentlich nur gefragt, wie das "ignore sub" und das darauffolgende "sub" logisch miteinander verbunden sind.

Sind sie aber gar nicht, das "ignore sub" ist nur ein Ausstiegspunkt der nichts macht, außer zu verhindern dass eine später folgende, für diesen spezielleren Fall nicht erwünschte sub-Regel überhaupt noch greift.

Demnach müsste aber vermutlich auch das hier funktionieren:

ignore sub @uppercase A' R';
    sub A R by A_R;

(das ganze wäre einfacher, wenn ich an meinem Rechner mit Fontlab sitzen würde :)

Link zu diesem Kommentar

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Einloggen

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden

Unsere Partner

Mit über 130.000 Fonts der größte Schriften-Shop im Internet.
FDI Type Foundry besuchen
Hier beginnt deine kreative Reise.
Entdecke hunderte Font-Sonderangebote.
Graublau Slab Pro: Die ausdrucksstarke Ergänzung zur beliebten Graublau Sans.
×
×
  • Neu erstellen...

🍪 Hinweis:

Wir benutzen funktionale Cookies.