Jump to content
Registriere dich bei Typografie.info und schalte sofort alle Mitgliederfunktionen (einschließlich des Download-Portals) frei …

OpenType features nicht pauschal aktivieren, wie geht das?

Empfohlene Beiträge

Laptop

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?
 

Link zu diesem Kommentar
Laptop

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 von Laptop
Rechtschreibung
Link zu diesem Kommentar
catfonts

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)

Link zu diesem Kommentar
Þorsten

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.

  • Gefällt 1
Link zu diesem Kommentar
Laptop

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 "&zwj;", 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. )

 

Link zu diesem Kommentar
Þorsten

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 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.

Link zu diesem Kommentar
catfonts
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.

Link zu diesem Kommentar
Laptop

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.

 

 

  • Gefällt 1
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

Hier beginnt deine kreative Reise.
Mit über 130.000 Fonts der größte Schriften-Shop im Internet.
Entdecke hunderte Font-Sonderangebote.
FDI Type Foundry besuchen
Jetzt die »Hot New Fonts« bei MyFonts durchstöbern.
×
×
  • Neu erstellen...

🍪 Hinweis:

Wir benutzen funktionale Cookies.