<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    Am 01.10.20 um 02:45 schrieb Stephan Hennig:
    <blockquote type="cite"
      cite="mid:e92d1765-de33-d220-77d7-371abd95c836@posteo.net">
      <pre class="moz-quote-pre" wrap="">Keno, welche Art der Koordination/Kuration der verschiedensten Muster
schwebt dir denn mittel- oder langfristig vor?  Alles innerhalb von
Polyglossia?</pre>
    </blockquote>
    <br>
    In Polyglossia werden keine Muster verwaltet; du meinst sicherlich
    hyph-utf8 (gleicher Betreuer, aber anderes Paket).<br>
    <br>
    Ich meine, in hyph-utf8 sollten alle Mustersätze aufgenommen werden,
    die sinnvollerweise mit dem gewöhnlichen Trennalgorithmus verwendet
    werden können, ohne dass padrinoma beteiligt sein muss. Dazu gehören
    Fugentrennmuster verschiedener Stufen und evtl. auch
    Gesangstexttrennmuster.<br>
    <br>
    Andere Musterarten wie Ligaturaufbruchmuster gehören nicht in den
    engeren Kompetenzbereich von hyph-utf8. Wenn ich es richtig sehe,
    hat es für diese Muster auch keinen Sinn, in die
    Konfigurationsdateien „language.dat“ etc. aufgenommen zu werden, da
    padrinoma sie direkt liest.<br>
    Wenn die hyph-utf8-Betreuer gerne alles Trennmusterartige aufnehmen
    wollen, hätte ich nichts dagegen, ihnen auch diese Muster zu
    übergeben, aber ich würde sie ihnen nicht aufdrängen.<br>
    <br>
    Die spezielleren Muster könnten entweder Teil der oder des
    padrinoma-Pakets werden, oder aber über dehyph-exptl auf dem CTAN
    lanciert werden. Noch ein neues Paket für deutsche
    (Pseudo-)Trennmuster würde den bestehenden Wirrwarr vergrößern und
    wäre daher nicht meine Wahl.<br>
    <br>
    Vielleicht können wir hier auch mal über die Administration der
    herkömmlichen deutschen Trennmuster nachdenken.<br>
    <br>
    In der Datei „language.dat“ von TeXLive finden sich aktuell die
    Einträge:<br>
    <blockquote>% from dehyph-exptl:<br>
      german-x-2019-04-04 dehypht-x-2019-04-04.tex<br>
      =german-x-latest<br>
      ngerman-x-2019-04-04 dehyphn-x-2019-04-04.tex<br>
      =ngerman-x-latest<br>
      % from hyphen-german:<br>
      german loadhyph-de-1901.tex<br>
      ngerman loadhyph-de-1996.tex<br>
      swissgerman loadhyph-de-ch-1901.tex<br>
    </blockquote>
    Die Beziehung zwischen diesen Einträgen der Konfigurationsdatei und
    den real geladenen Trennmustern ist alles andere als offenkundig.
    Bei den in den einzelnen Einträgen angegebenen Dateien handelt es
    sich nicht um die Trennmusterdateien selbst, sondern um
    Manteldateien, die noch Fallunterscheidungen treffen.<br>
    <br>
    Es gibt zur Zeit 14 verschiedene deutsche Trennmustersätze in der
    TeX-Live-Installation:<br>
    <blockquote>(1) tex/generic/dehyph/dehyphn.tex<br>
      (2) tex/generic/dehyph/dehypht.tex<br>
      (3) tex/generic/dehyph-exptl/dehyphn-x-2019-04-04.pat<br>
      (4) tex/generic/dehyph-exptl/dehypht-x-2019-04-04.pat<br>
      (5) tex/generic/dehyph-exptl/dehyphts-x-2019-04-04.pat<br>
      (6) tex/generic/hyph-utf8/patterns/tex/hyph-de-1901.tex<br>
      (7) tex/generic/hyph-utf8/patterns/tex/hyph-de-1996.tex<br>
      (8) tex/generic/hyph-utf8/patterns/tex/hyph-de-ch-1901.tex<br>
      (9) tex/generic/hyph-utf8/patterns/ptex/hyph-de-1901.ec.tex<br>
      (10) tex/generic/hyph-utf8/patterns/ptex/hyph-de-1996.ec.tex<br>
      (11) tex/generic/hyph-utf8/patterns/ptex/hyph-de-ch-1901.ec.tex<br>
      (12) tex/generic/hyph-utf8/patterns/txt/hyph-de-1901.pat.txt<br>
      (13) tex/generic/hyph-utf8/patterns/txt/hyph-de-1996.pat.txt<br>
      (14) tex/generic/hyph-utf8/patterns/txt/hyph-de-ch-1901.pat.txt</blockquote>
    Zusätzlich existiert eine zu (2) gehörige Trennausnahmendatei:<br>
    <blockquote>tex/generic/dehyph/dehyphtex.tex<br>
    </blockquote>
    Bei (1) und (2) handelt es sich um veraltete Muster, die aus Gründen
    der Abwärtskompatibilität erhalten wurden und nur mit PDFTeX
    verwendet werden.<br>
    <br>
    (3) bis (5) sind die Muster aus dem dehyph-exptl-Paket, die nur
    außerordentlicherweise verwendet werden, wenn der Nutzer
    beispielsweise das Paket hyphsubst einsetzt, um „german-x-latest“
    oder „ngerman-x-latest“ anzufordern.<br>
    (5) ist offenbar nur theoretisch verwendbar, da keine der in
    „language.dat“ aufgeführten Manteldateien diese Muster lädt.<br>
    <br>
    Die Muster (6) bis (8) sind die Standardmuster des hyph-utf8-Pakets
    für XeTeX, (8) auch für PDFTeX. Sie sind inhaltlich identisch mit
    (3) bis (5).<br>
    <br>
    Die Muster (9) bis (11) sind von den hyph-utf8-Betreuern für die
    Zwecke von pTeX auf ASCII umcodierte Varianten von (6) bis (8). (9)
    und (10) werden außerdem geladen, falls die Sprachen
    „german-x-latest“ und „ngerman-x-latest“ vom Benutzer mit PDFTeX
    angefordert werden.<br>
    <br>
    Die Muster (12) bis (14) sind die Standardmuster des
    hyph-utf8-Pakets für LuaTeX und inhaltlich identisch mit (6) bis
    (8). Der Unterschied ist, dass es in diesen Dateien keine
    TeX-Befehle gibt.<br>
    <br>
    Es wird wohl niemanden überraschen, wenn ich sage, dass ich Jahre
    gebraucht habe, um diesen Musterdschungel zu durchschauen.<br>
    <br>
    Neben der verwirrenden Vielfalt der Musterdateien sehe ich noch ein
    Problem mit dem Paketbezeichnungen. In den oben zitierten Auszügen
    aus „language.dat“ heißt es: „from dehyph-exptl“, „from
    hyphen-german“.<br>
    <br>
    „dehyph-exptl“ findet man tatsächlich als Paket auf dem CTAN,
    „hyphen-german“ hingegen nicht, da es sich um eine hyph-utf8-interne
    Paketbezeichnung handelt (?). Das Herkunftspaket wäre also
    eigentlich „hyph-utf8“.<br>
    Daneben kennt der CTAN noch ein Paket „dehyph“, das eine
    Readme-Datei, die oben genannten Mustersätze (1) und (2) sowie die
    ebenfalls genannte Trennausnahmendatei umfasst. Ein Hinweis darauf,
    dass diese Paket als veraltet gelten kann, fehlt.<br>
    <br>
    Auch hier sind die Beziehungen zwischen den Paketen ohne langwierige
    Einarbeitung für den Nutzer kaum zu verstehen.<br>
    <br>
    Um die Situation etwas übersichtlicher zu gestalten, schlage ich
    Folgendes vor:<br>
    <ol>
      <li>
        <p>Die CTAN-Pakete „dehyph-exptl“ und „dehyph“ werden zu
          „dehyph“ zusammengelegt. Über den experimentellen Status sind
          die neuen Muster längst hinaus, fortlaufende Verbesserungen
          nehmen auch andere Sprachgruppen an ihren Muster vor, ohne
          deshalb einen Zusatz wie „exptl“ zu führen. Der Status der
          Muster „dehyphn.tex“ und „dehypht.tex“ wird dabei klar
          beschrieben.</p>
      </li>
      <li>
        <p>Die oben genannten Mustersätze (3) bis (5) werden nicht mehr
          mit „dehyph-exptl“ bzw. „dehyph“ hochgeladen, sondern über
          Pull-Requests in hyph-utf8 platziert. Auf diese Weise könnten
          3 der 14 Mustersätze entfallen.</p>
      </li>
      <li>
        <p>Für PDFTeX-Benutzer werden die in „language.dat“ aufgeführten
          Manteldateien aus „dehyph-exptl“ weiterhin hochgeladen, welche
          aber lediglich die passenden hyph-utf8-Muster referenzieren.</p>
      </li>
      <li>
        <p>Die dehyph-(exptl-)Anleitung wird mit Anweisungen für den
          Benutzer versehen, wie er aktuelle Muster aus dem
          Trennmusterprojekt lokal installieren und verwenden kann.
          Solche Anweisungen gibt es zwar bereits, doch funktionieren
          sie nach meinen jüngsten Versuchen nicht mehr mit LuaLaTeX.</p>
      </li>
      <li>
        <p>Das Paket dehyph nimmt neue (Pseudo-)Trennmuster auf, die
          entweder von den hyph-utf8-Betreuern zurückgewiesen werden,
          oder aber dort nicht hineingehören. Dabei ist zwischen
          Mustern, die in „language.dat“ aufgeführt werden sollen, und
          solchen für speziellere Zwecke zu unterscheiden. Für
          angemessene Dokumentation ist zu sorgen.</p>
      </li>
    </ol>
    Gruß<br>
    Keno<br>
    <blockquote>
    </blockquote>
  </body>
</html>