Jo Nas Geschrieben Mai 13, 2020 Geschrieben Mai 13, 2020 Hallo zusammen, ich experimentiere zur Zeit mit variable Fonts in InDesign. Stellt euch dabei folgende Situation vor: Der Absatz des Textes beginnt mit einem schmalen Schriftschnitt. Im Verlauf des Textes fängt die Schrift langsam an immer stärker zu werden, bis sie am Ende der Seite extra-fett wird. Ist es möglich diesen Effekt im InDesign mit variablen Fonts zu erzeugen? Gibt es evtl. ein PlugIn, mit dem man die verschiedenen Zustände des Schriftart fließend im Text ansteuern kann? Vielen Dank für Eure Hilfe! LG Jonas
Carlito Palm Geschrieben Mai 15, 2020 Geschrieben Mai 15, 2020 hier gibt’s jede menge begabtere grep-spezialisten als mich, aber ich vermute, in dem speziellen fall wird man um viel handarbeit nicht herumkommen.
Sebastian Nagel Geschrieben Mai 18, 2020 Geschrieben Mai 18, 2020 Ganz allgemein gesprochen: Das ist eher ein Fall für Scripting, nicht für GREP. GREP: Da praktisch jeder Buchstabe eine Nuance verändert werden soll, müssten erst mal entsprechend viele Zeichenformate angelegt werden, die dann Buchstabe für Buchstabe (automatisch) zugewiesen würden. Das ist immer noch Arbeit, und jede Änderung 1x die selbe Arbeit erneut. Script in der Theorie Buchstabenzahl in der Markierung / im Absatz ermitteln (z.B. 500 Zeichen) Minimal- und Maximalwert der variablen Achse des Fonts ermitteln (z.B. von 0 bis 100) Die Anzahl der Buchstaben auf von Minimal- bis Maximalwert verteilen, also die nötige "Schrittweite" ermitteln (z.B: +0,2) Buchstabe für Buchstabe durchgehen lassen, und dabei den Formatierungs-Achsenwert jeweils um eine Schrittweite erhöhen (0,2 0,4 0,6 0,8 1,0 ... 99,6 99,8 100) In der Praxis ist das keine leichte Nuss zu knacken ... zum einen müssen die passenden Befehle für Zeichenzählen und vor allem die Achsenwerte der Fonts gefunden werden, da die recht neu sind ist wahrscheinlich noch wenig vorhanden (im Zweifel: vertiefe dich in der Javascript-Variante der Indesign-Scripts, nicht Applescript oder VBscript – das ist allgemeingültig und soweit ich das sehe besser dokumentiert). zum anderen: das Ergebnis könnte gerade bei kurzen Texten ungleichmäßig ansehen, da die Abstufung natürlich nicht völlig fließend ist, sondern eben in Schritten. Wenn dann die Buchstaben verschieden breit sind (ein m ist dann ja doch 4-5x breiter als ein i) bringt das Unregelmäßigkeit rein. Eine Lösung dafür wäre, die Buchstabenbreite und die "Gesamttextbreite" zu ermitteln und bei der Schrittweite zu berücksichtigen, aber da wirds mathematisch recht komplex (einfach nur den erst ermittelten Standard-Schritt erhöhen wenn ein m kommt, geht rechnerisch nicht auf, da die Zahl der ms und is (und aller anderen) ja nicht gleichmäßig verteilt ist). Das verbesserte Script sähe theoretisch so aus: Gesamtextlänge des Absatzes ermitteln (z.B. 10000 pt) Minimal- und Maximalwert der variablen Achse des Fonts ermitteln (z.B. von 0 bis 100) die "Sub"-Schrittweite pro pt Textlänge ermitteln um von Anfang bis Ende von "0" bis "100" zu kommen (statt wie zuvor pro Buchstabe) Buchstabe für Buchstabe durchgehen lassen, und dabei die Breite dieses einen Buchstabens ermitteln, dem entsprechend viele Sub-Schrittweiten für die Anpassung des Buchstabens anwenden und den Formatierungs-Achsenwert jeweils darum erhöhen (m bekommt z.B: 50 Sub-Schritte, ein i bekommt nur 15, ...). Das sollte ein gleichmäßigeres Ergebnis erzeugen, mit zwei "Kleinigkeiten": "Innerhalb" der Buchstaben ist natürlich kein Werte-Verlauf möglich, das gibt die Technik nicht her. D.h. ein "m" ist am Anfang zu dick, und am Ende zu dünn. Auch ist die "Gesamttextlänge" nicht ganz einfach ... wenn das ein guter Font ist, kommt Kerning ins Spiel, das verringert in der Regel die Gesamttextlänge, ist dann aber bei der Messung jeder einzelnen Buchstabenbreite nicht mehr so einfach zu berücksichtigen (es geht mit "Vorschau" auf das nächste Zeichen und Ermittlung des Kernings dazwischen, aber da wirds dann endgültig ... schwierig). 4
R::bert Geschrieben Mai 18, 2020 Geschrieben Mai 18, 2020 vor 54 Minuten schrieb Sebastian Nagel: Da praktisch jeder Buchstabe eine Nuance verändert werden soll, Vielleicht würde es @Jo Nas ja fürs Erste auch schon genügen, in Zeilen »zu denken«? Würde das die Sache nicht erheblich vereinfachen und eventuell möglich machen? 1
Gast Schnitzel Geschrieben Mai 18, 2020 Geschrieben Mai 18, 2020 vor 9 Minuten schrieb R::bert: in Zeilen »zu denken«? Wäre jetzt auch mein Vorschlag gewesen Das könnte ich mir auch in der Erscheinung besser vorstellen, weil der »Verlauf« nur in eine Richtung ginge. Ansonsten hätte man am Zeilenanfang immer einen Bruch, weil dort der Sprung größer ist als in der Zeile – je nachdem wie groß die einzelnen Sprünge und wie lang die Zeilen sind
Thomas Kunz Geschrieben Mai 18, 2020 Geschrieben Mai 18, 2020 Gerade in einer Werbung von Sharp: Da alterniert jedes Zeichen. Aber muss halt nichts berechnet werden (siehe Beitrag von Sebastian), da einfach nacheinander alle fetten durchlaufen. 1
Jo Nas Geschrieben Mai 18, 2020 Themen-Ersteller Geschrieben Mai 18, 2020 Guten Abend, @Sebastian Nagel Vielen Dank für die ausführliche Antwort. An die Problemstellung des Kernings habe ich noch garnicht gedacht. In Anbetracht der doch sehr komplexen Umsetzung würde ich eher zur "1-Zeilen-Lösung" von @R::bert tendieren. @Thomas Kunz super Beispiel! Soähnlich habe ich es mir auch vorgestellt. Kennt ihr evtl. ein Code-Beispiel für ein ähnliches Projekt? Gern auch lösgelöst von InDesign, wenn das einfacher ist. Vielen Dank für die tolle Hilfe!
R::bert Geschrieben Mai 18, 2020 Geschrieben Mai 18, 2020 vor 1 Stunde schrieb Thomas Kunz: Gerade in einer Werbung von Sharp: Vielleicht können die einen auch mit dieser Fragestellung hier weiterhelfen. 🤓 1
TobiW Geschrieben Mai 18, 2020 Geschrieben Mai 18, 2020 Ich könnte mir vorstellen, dass es mit https://www.drawbot.com geht. Sehe aber immer nur spannende Beispiele auf Twitter und habe selbst keine Ahnung davon … 1
Jo Nas Geschrieben Mai 18, 2020 Themen-Ersteller Geschrieben Mai 18, 2020 @R::bert Gute Idee! Ich habe mich mit dem Designer in Verbindung gesetzt. Wenn er die Lösung für das Problem verrät, poste ich es hier in den Feed. @TobiW die Software war mir völlig neu. Ziemlich spannende Sache. Das könnte funktionieren. Auf youtube habe ich bereits Beispiele gefunden, die in die richtige Richtung gehen. Vielen Dank! 1
Sebastian Nagel Geschrieben Mai 19, 2020 Geschrieben Mai 19, 2020 ein paar Einwürfe (vom Smartphone aus – edit: nachformatiert ) Zeilenweise (also nur von links nach rechts) das Prinzip bleibt das gleiche (Stufen auf Zahl der Zeichen / Zeilenlänge verteilen). Der visuelle Effekte ist ein anderer. Aber: wenn das ein durchgängiger Text ist, also das Ende der Zeile nicht manuell umbricht (Prosa statt Vers), dann verändert sich durch die Formatierung die Zeilenlänge, der Text bricht früher um als in normaler Formatierung, und was ganz rechts fett sein sollte steht jetzt links und sollte dünn sein - spannend das geht mit Rekursionsschleifen bis eine Balance gefunden ist, aber da möchte ich nicht mal anfangen drüber nachzudenken ... Bei Durchwanderen des ganzen Absatzes wird zwar der Absatz länger, aber die Zeilen beeinflussen sich nicht gegenseitig. Vielleicht ist das also sogar die einfachere Übung. Sharp-Beispiel da haben wir die Vereinfachung, dass die Zahl der Zeichen fixiert ist, die Zahl der Fettgrade fix ist, und dann nur Zeichen für Zeichen das Gewicht erhöht und wieder vermindert wird. In zeitlicher Rotation ergibt das dann den Welleneffekt. Die Ermittlung der Zeichenzahl / Textlänge fällt weg, und wir müssen keine Variable-Font-Parameter verändern. Wenn das Variieren in feinen Abstufungen der Sinn der Übung war, geht das so natürlich etwas am Ziel vorbei. Drawbot, Browser oder InDesign? im Grunde bleibt die Logik dahinter die selbe. Was sich verändert ist die Programmiersprache (Javascript, Javascript, Python) und die Objekte die angesprochenen werden können/müssen (Indesigns spezifische Objektdefinition/Funktionen in JS, normales Browser-DOM/Javascript, oder - vermutlich - eine Objektauswahl/Funktionen die Drawbot spezifisch anbietet). Das kann dann im einen oder anderen Tool mehr oder weniger komfortabel oder intuitiv sein (Browser vermutlich am wenigsten, Drawbot möglicherweise am einfachsten), aber vermutlich wäre es in allen Umgebungen lösbar und von hier zu da übersetzbar, wenn erst mal die unabhängige Grundlogik funktioniert. Bleibt auch die Frage, für was man das ganze am Ende braucht - ein Ausdruck, eine Webseite (Animation?), ... 1
R::bert Geschrieben Mai 19, 2020 Geschrieben Mai 19, 2020 vor 30 Minuten schrieb Sebastian Nagel: Zeilenweise (als nur von links nach rechts): Gut, ich bin von oben nach unten ausgegangen …
Þorsten Geschrieben Mai 19, 2020 Geschrieben Mai 19, 2020 vor 2 Minuten schrieb R::bert: von oben nach unten Aber da hast du prinzipiell ein ähnliches Problem, oder? Wenn der Text einfach so (ohne manuelle Zeilen- oder Absatzumbrüche) durch den Textrahmen fließt, musst du irgendwie heraus bekommen, an welchem Zeichen der Text automatisch umgebrochen wird, weil sich dort dann ja die Formatierung ändert. Aber durch diese Änderung ändern sich dann auch wieder die Umbrüche. Sicher irgendwie machbar, aber nicht trivial. Da fände ich es sehr viel geradliniger, einfach den ganzen Text Zeichen für Zeichen durchzugehen und eben bei jedem Zeichen ein bisschen am Achsenwert zu drehen. (Weil ich ID jetzt nicht wirklich kenne, denke ich jetzt nur in Javascript im Browser.)
Sebastian Nagel Geschrieben Mai 19, 2020 Geschrieben Mai 19, 2020 vor einer Stunde schrieb R::bert: Gut, ich bin von oben nach unten ausgegangen … Bei "von oben nach unten" haben wir – denke ich – das selbe Problem ... die Zeilen werden durch die Formatierung immer länger, müssen (wenn fixe Satzbreite) umbrechen und sollten dann eigentlich schon wieder anders formatiert sein als sie in der ersten Iteration formatiert wurden – letztlich arbeiten wir in diesen beiden Fällen in zwei Dimensionen, während wir uns beim Durcharbeiten des gesamten Absatzes eigentlich linear bewegen. Es ist alles "eine Textwurst", die erst danach vom Satzprogramm automatisch ungebrochen wird, aber das kann dem Script egal sein. 1
Sebastian Nagel Geschrieben Mai 19, 2020 Geschrieben Mai 19, 2020 vor einer Stunde schrieb Þorsten: (Weil ich ID jetzt nicht wirklich kenne, denke ich jetzt nur in Javascript im Browser.) Im Grunde ist das exakt gleich. Man hat nur in Indesign zusätzliche Objekte und Funktionen zur Verfügung, die spezifisch für Indesign-Inhalte sind. D.h. alles was in Indesign ein Objekt ist (Font, Glyphe, Absatz, Zeile (hoffentlich!), Zeichen, ...) und alle Indesign-Eigenschaften von Objekten (Formatierung, Dimension (hoffentlich!), Position, ...), und alle Funktionen die Insign anbietet (Format verändern, ...) kann angesprochen und verwendet werden. Und natürlich stehen alle Standard-Funktionen von Javascript zur Verfügung (Variablen, Schleifen, Logik, Stringfunktionen, ... ...). Was möglicherweise nicht implementiert ist oder fehlt sind Sachen mit Server-Kommunikation, etc. die halt netzwerk- und nicht dokument-spezifisch sind. 1
Empfohlene Beiträge
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 erstellenEinloggen
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden