Matrix Script: Schrift höher setzen bei bestimmten Buchstaben

Willkommen in der OMSI-WebDisk!
Als Gast kannst du nur Inhalte in deiner ausgewählten Sprache sehen. Registrierte Nutzer können die Sichtbarkeit anderer Sprachen in ihrem Kontrollzentrum aktivieren, weitere Infos hier.
Alle Themen sind in den Foren mit einer Sprachflagge gekennzeichnet: = Englisch [EN], = Deutsch [DE], = Französisch [FR]. Wenn du die angegebene Sprache nicht beherrschst, schreibe auf Englisch!
  • Hi,


    Ich habe einen neuen Font angelegt, wo allerdings Buchstaben gibt, die unter der Gürtellinie geht.

    Das wären nämlich die Buchstaben g j p q y ß


    Mich stört es das die Buchstaben untenrum abgeschnitten sind.

    Durch die churaMatrix weiß ich allerdings, dass man die Schrift höher versetzen kann, wenn diese genannten Buchstaben erscheint.

    Allerdings ist die Einbau recht kompliziert und unübersichtlich.


    Dazu habe ich folgende Einträge im Standard Krueger Script ergänzt.

    Nur leider ohne Erfolg.

    Fehler spuckt es jedoch nicht aus.


    Irgendwie eine Lösungsansatz?

    Wenn die Buchstaben nicht im Ziel vorhanden ist, dann ist 2 Zeilen Leer über dem Ziel.

    Dementsprechend muss die Schrift 2 Zeilen hoch, wenn die Buchstaben vorhanden sind dafür.

  • Moin,


    Ich will mal diesen Thema nun ein Ende setzen.

    Durch viele Probieren bin ich nun auf ein Script gestoßen, der diese Animation umsetzt.

    Dementsprechend setze ich nun auch ein Haken als "Erledigt".


    Die Lösung will ich aber nicht vorenthalten.

    Genommen habe ich ein Teilstück aus dem VDL Matrix Script.

    Lediglich ein kurzes Stück musste angepasst werden, was im Gegensatz z den churaKrueger relativ Easy ist.


    Genommen habe ich folgendes:

    Macro Abfrage Matrix_CheckDescender
    • Anpassung in der Font Zuweisung

    • Macro Matrix_CheckDescender

    • Matrix_CheckDescender0


    So war mein Verlauf:

    Code: Macro Abfrage Matrix_CheckDescender
            (L.$.Matrix_TerminusL2) "" $=
            {if}
                (M.L.Matrix_CheckDescender)
            {endif}

    Dies wird in den 1. {if} Abschnitt von 'Dritter Schritt: Speicherbitmap schreiben: eingefügt.

    Wenn die untere Zeile leer ist, soll der Macro Matrix_CheckDescender abgefragt werden.


    Das Macro {macro:Matrix_CheckDescender } wurde am Ende vom Datei eingefügt.

    Im Macro habe ich 2 von 3 Macros entfernt und den übrig gebliebene in Matrix_CheckDescender0 umbenannt.

    Den wiederum wurde nach {end} von dem Macro Matrix_CheckDescender eingefügt.


    Bei Matrix_CheckDescender und Matrix_CheckDescender0 habe ich die Variable Cursor_Pos durch Matrix_RefreshCursor ersetzt.


    Durch die neuen Macros kam eine neue Variable hinzu. Nämlich Matrix_TerminusL1HasDescender (Muss auch dementsprechend in der Varlist eingefügt werden).

    Der sorgt hinterher bei der Font Zuweisung in der Matrix_WriteTerminus, ob das Font höher/tiefer gestellt oder Getauscht werden soll.

    Dies würde dementsprechend so aussehen:

    Wenn also g, j, p, q, y im Ziel erkannt wird, so wird die Variable aktiv (also 1) und soll die Y-Position (s2) 0 nehmen. Also am Oberen Punkt vom Matrix.

    Wenn die aufgeführten Zeichen nicht enthalten sind, so wird das Font um eine Zeile tiefer 1 s2 gesetzt.


    Auch habe ich testweise eine gewisse Art von "Font Austausch" ausprobiert.

    Hierbei könnte man auch mittels s2 die Y-Position bestimmen können.

    Funktioniert auch ganz gut.


    Endergebnis sieht wie folgt aus:

    Front mit "Font Austausch" Normal/mit g:

    /


    Rechte Seite mit Höhenverschiebung Normal/mit g:

    /

    Gut zu erkennen, dass das Ziel "Test" an der Unterkannte (1 s2) Positioniert ist währen das Ziel "gTest" nach oben (0 s2) verschoben wurde.

    Auch wenn das Font nicht so passt, aber man sollte trotzdem die Leerzeile darunter sehen können ;)


    Das ganze habe ich auf Basis des Standard Krueger Script angepasst mit Erfolg.


    In erster Linie bin ich nun selbst froh, dass ich was passendes gefunden habe und hoffe das andere auch dadurch wenigstens etwas geholfen habe.


    Von meiner Seite aus hat sich dieses Thema nun mit Erfolg erledigt, beendet oder wie man das betrachten mag :) .