Laptop Geschrieben Oktober 3, 2019 Geschrieben Oktober 3, 2019 Gott grüß die Kunst! Eine kurze Frage zu OpenType features. Ich kann ein feature aktivieren, z. B. in CSS so Zitat font-feature-settings:"liga" 1; allerdings werden damit leider die im Font definierten Ligaturen pauschal überall eingesetzt, z. B. wird dann jedes "s" vor "p" durch eine "sp"-Ligatur ersetzt. Was aber, wenn ich selektiv nur an wenigen Stellen eine sp-Ligatur setzen will, und nicht pauschal, wie macht man das mit OpenType?
Laptop Geschrieben Oktober 3, 2019 Themen-Ersteller Geschrieben Oktober 3, 2019 (bearbeitet) Verstehe. Wenn ich das richtig verstehe, heisst das, ich habe zwei Methoden zur Auswahl, entweder Ich verwende die Zeile font-feature-settings:"liga" 1; und da wo ich keine Ligatur haben möchte setze ich ‌ oder Ich lösche die Zeile font-feature-settings:"liga" 1; und da wo ich eine Ligatur haben möchte setze ich ‍ ... oder denke ich jetzt zu kompliziert? bearbeitet Oktober 3, 2019 von Laptop Rechtschreibung
catfonts Geschrieben Oktober 3, 2019 Geschrieben Oktober 3, 2019 Richtig, denn woran sollte sonst das System erkennen, wo eine Ligatur hin gehört, und wo nicht. Weche Möglichkeit dann gewählt witd, hängt5 dann davon ab, was öfter vorkommt, also on in der Regel die Ligatur kommen sollte, nur in ausnahmefällen nicht dann ZWNJ, oder eben nur in wenigen Ausnahmefällen eine Ligatur kommen soll. Und weil das eben je nach Ligatur unterschiedlich sein kann, gibt es ja auch unterschiedliche Ligatur-Features: Für generell übliche Ligaturen. wie fi, fl, ffi, ffl fj und einige mehr sind es die Ligaturen im liga-Feature, für eher decorative Ligaturen, wie in diesem Beispiel die sp-Ligatur gibt es discretional ligatures (dlig)
Laptop Geschrieben Oktober 3, 2019 Themen-Ersteller Geschrieben Oktober 3, 2019 Hi catfonts! Das ergibt Sinn, heute schaffe ich es nicht mehr das alles zu testen, aber morgen werden ich mehr dazu sagen. Danke erstmal!
Þorsten Geschrieben Oktober 3, 2019 Geschrieben Oktober 3, 2019 Wie oben beschrieben geht es. Besser ist es allerdings, das mit Markup zu lösen. So bleibt dein Inhalt konsistent und such-, indizier- und kopierbar. <style> .standard { /* Standardverhalten */ font-variant-ligatures: common-ligatures contextual; } .alles { /* Alle Ligaturen und kontextbasierte Ersetzungen */ font-variant-ligatures: common-ligatures discretionary-ligatures historical-ligatures contextual; } .nix { /* Nie Ligature oder kontextbasierte Ersetzungen */ font-variant-ligatures: no-common-ligatures no-discretionary-ligatures no-historical-ligatures no-contextual; } .spFancy { /* sp-Ligaturen sind i.a.R. in der "DLIG"-Tabelle aktiviert */ font-variant-ligatures: discretionary-ligatures; } </style> ... <main class="standard"> <p> Hier steht ganz normaler Text ohne speziellen Firlefanz. Nur jetzt soll mal eine <span class="spFancy">spaßige</span> Ligatur benutzt werden! </p> </main> Außerdem ist font-variant-ligatures besser als font-feature-settings, weil man sich so nicht so leicht andere Einstellungen zerschießt. 1
Laptop Geschrieben Oktober 4, 2019 Themen-Ersteller Geschrieben Oktober 4, 2019 Hallo catfonts und thorsten, ich habe das so übernommen. Allerdings hat der Zero Width Joiner leider keinen Effekt bei mir, d. h. ich verwende die Zeile "font-variant-ligatures:no-common-ligatures;" und dann vereinzelt "‍", allerdings ohne daß dabei die Ligatur erscheint. Was mache ich falsch? ( Verwende ich hingegen die Zeile "font-variant-ligatures:common-ligatures;" dann erscheint, wie erwartet, an allen Stellen die von mir vorbereitete Ligatur. )
Þorsten Geschrieben Oktober 4, 2019 Geschrieben Oktober 4, 2019 Der zero-width joiner wird selten bis nie etwas bewirken, zumindest nicht in Texten im lateinischen Alphabet. Die Fonts sind einfach nicht so programmiert, dass sie ohne zero-width joiner keine Ligatur ersetzen, mit aber schon. Umgekehrt wird ein Schuh draus: Fonts mit Ligaturen erzeugen sie dann, wenn (A) das entsprechende Ligatur-»Level« aktiviert ist (also common, discretionary, historical, contextual) und (B) der Text eine der vorgesehenen Zeichenfolgen enthält, also z.B. s gefolgt von p für die sp-Ligatur. Und dieser Mechanismus lässt sich punktuell unterdrücken, wenn die Zeichenfolge eben nicht s p ist sondern s unsichtbares Steuerzeichen p. Und genau für diesen Zweck gibt es den zero-width non-joiner. Steht in deinem Text also s zero-width non-joiner p, kann keine Ligatur erzeugt werden, egal welche Ligatur-Option du für den Text drumrum (oder das Dokument global) gewählt hast. Aber wie schon gesagt, das Arbeiten mit solch unsichtbaren Steuerzeichen ist fehleranfällig. Empfehlen würde ich es nicht.
catfonts Geschrieben Oktober 4, 2019 Geschrieben Oktober 4, 2019 Am 3.10.2019 um 16:22 schrieb Laptop: z. B. in CSS Und dieses z.B. interpretiere ich jetzt auch so, dass die Frage auch über CSS hinaus geht, Und hier ist es eben noch immer leider so, dass dies dann eine Frage der Anwendung ist, welche OpenType-Features und welche unsichtbaren Steuerzeichen die unterstützt.
Laptop Geschrieben Oktober 4, 2019 Themen-Ersteller Geschrieben Oktober 4, 2019 Verstehe, verstehe. Dann werde ich die besagten Stellen, wie Du schon gut beschrieben hast, in HTML-tags setzen, auch wenn das etwas Mehraufwand ist ... @catfonts ich arbeite hauptsächlich wirklich in einem Texteditor mit HTML und CSS, da ich es unmittelbar online zugänglich machen möchte. 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