From 5c0bae1a818300a32a98fa9345c812297ccd228a Mon Sep 17 00:00:00 2001 From: acn Date: Fri, 1 Jun 2018 14:57:10 +0200 Subject: [PATCH] erste Version des Seitengenerators incl. Tagliste --- tools/makePage.py | 7 +-- tools/tagliste.py | 120 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 122 insertions(+), 5 deletions(-) create mode 100644 tools/tagliste.py diff --git a/tools/makePage.py b/tools/makePage.py index a7716b5..fe5452e 100755 --- a/tools/makePage.py +++ b/tools/makePage.py @@ -16,10 +16,7 @@ import getopt import sys import os -ersetzungsListe = [ - (b"CR", b"\x0d"), - (b"AA", b"BBB"), -] +import tagliste # Kommandozeilenparameter verarbeiten: @@ -52,7 +49,7 @@ with open(infilename, 'rb') as infile: # Daten verarbeiten: outdata = indata -for el in ersetzungsListe: +for el in tagliste.liste: old = b'<' + el[0] + b'>' # 'new' ist el[1] outdata = outdata.replace(old, el[1]) diff --git a/tools/tagliste.py b/tools/tagliste.py new file mode 100644 index 0000000..a6e4d0c --- /dev/null +++ b/tools/tagliste.py @@ -0,0 +1,120 @@ +#!/usr/bin/python3 +# -*- coding: UTF-8 -*- +''' +rtx - RetroText +by Anna Christina Naß +released under GPL + +tagliste.py: Enthält Ersetzungstabelle für makePage.py +''' + +''' +Empfohlener Aufbau einer Seite: +[DRCS-Definition]... +''' + + +liste = [ + # Reset-Sequenzen + (b"ResetSer", b"\x1f\x2f\x41"), + (b"ResetPar", b"\x1f\x2f\x42"), + # Link-Definition: iaabbb.....: i = lfd.Nr. (1,2,3...); aa: "# ", "1 ", "21"; bbb: Zielseite (0a) + (b"A", b"\x1f\x3d"), + (b"/A", b"\x1f\x2f"), + # Cursor-Positionierung: <24><01> für zeile,spalte => 24,1 + (b"go", b"\x1f"), + (b"01", b"\x41"), (b"02", b"\x42"), (b"03", b"\x43"), (b"04", b"\x44"), + (b"05", b"\x45"), (b"06", b"\x46"), (b"07", b"\x47"), (b"08", b"\x48"), + (b"09", b"\x49"), (b"10", b"\x4a"), (b"11", b"\x4b"), (b"12", b"\x4c"), + (b"13", b"\x4d"), (b"14", b"\x4e"), (b"15", b"\x4f"), (b"16", b"\x50"), + (b"17", b"\x51"), (b"18", b"\x52"), (b"19", b"\x53"), (b"20", b"\x54"), + (b"21", b"\x55"), (b"22", b"\x56"), (b"23", b"\x57"), (b"24", b"\x58"), + (b"25", b"\x59"), (b"26", b"\x5a"), (b"27", b"\x5b"), (b"28", b"\x5c"), + (b"29", b"\x5d"), (b"30", b"\x5e"), (b"31", b"\x5f"), (b"32", b"\x60"), + (b"33", b"\x61"), (b"34", b"\x62"), (b"35", b"\x63"), (b"36", b"\x64"), + (b"37", b"\x65"), (b"38", b"\x66"), (b"39", b"\x67"), (b"40", b"\x68"), + + # Zeichensätze: + (b"G0l", b"\x0f"), # default links + (b"G1l", b"\x0e"), + (b"G1r", b"\x1b\x7e"), + (b"G2l", b"\x1b\x6e"), + (b"G2r", b"\x1b\x7d"), # default rechts + (b"G3l", b"\x1b\x6f"), + (b"G3r", b"\x1b\x7c"), + (b"G2", b"\x19"), # Folgendes Zeichen aus G2 holen + (b"G3", b"\x1d"), # Folgendes Zeichen aus G3 holen + ## Zeichensätze umlegen: + (b"G0inG0", b"\x1b\x28\x40"), (b"G0inG1", b"\x1b\x29\x40"), (b"G0inG2", b"\x1b\x2a\x40"), (b"G0inG3", b"\x1b\x2b\x40"), + (b"G1inG0", b"\x1b\x28\x63"), (b"G1inG1", b"\x1b\x29\x63"), (b"G1inG2", b"\x1b\x2a\x63"), (b"G1inG3", b"\x1b\x2b\x63"), + (b"G2inG0", b"\x1b\x28\x62"), (b"G2inG1", b"\x1b\x29\x62"), (b"G2inG2", b"\x1b\x2a\x62"), (b"G2inG3", b"\x1b\x2b\x62"), + (b"G3inG0", b"\x1b\x28\x64"), (b"G3inG1", b"\x1b\x29\x64"), (b"G3inG2", b"\x1b\x2a\x64"), (b"G3inG3", b"\x1b\x2b\x64"), + ## DRCs ablegen: + (b"DRCinG0", b"\x1b\x28\x20\x40"), (b"DRCinG1", b"\x1b\x29\x20\x40"), (b"DRCinG2", b"\x1b\x2a\x20\x40"), (b"DRCinG3", b"\x1b\x2b\x20\x40"), + + # Steuerzeichen: + (b"CurL", b"\x08"), (b"CurR", b"\x09"), (b"CurU", b"\x0a"), (b"CurD", b"\x0b"), # Cursor bewegen (left/right/up/down) + (b"cls", b"\x0c"), # Clear Screen + (b"CR", b"\x0d"), # Cursor zum Zeilenanfang (CR) + (b"Cursor", b"\x11"), # Cursor sichtbar + (b"/Cursor", b"\x14"), # Cursor unsichtbar + (b"blink", b"\x88"), # Blinken an + (b"/blink", b"\x89"), # Blinken aus + (b"transp", b"\x8b"), # Transparenter Bereich an + (b"/transp", b"\x8a"), # Transparenter Bereich aus + (b"norm", b"\x8c"), # normal breit+hoch + (b"2h", b"\x8d"), # doppelt hoch + (b"2w", b"\x8e"), # doppelt breit + (b"2hw", b"\x8f"), # doppelt hoch u. breit + (b"hidden", b"\x98"), # verdeckte Anzeige + (b"/hidden", b"\x9f"), # verdeckte Anzeige aus / Mosaikwiederholung aus (ser) + (b"u", b"\x9a"), # Unterstreichen ein + (b"/u", b"\x99"), # Unterstreichen aus + # Zeichenwiederholung: x<03> => wiederholt x 3x => xxxx + # TODO: evtl. noch mehr Zahlenwerte einfügen - aktuell nur bis 40 (s.o.) + (b"Rep", b"\x12"), + + # für ganze Zeile gültige Attribute: + (b"Lu", b"\x1b\x23\x21\x5a"), # unterstreichen + (b"/Lu", b"\x1b\x23\x21\x59"), + (b"Lblink", b"\x1b\x23\x21\x48"), # blinken + (b"/Lblink", b"\x1b\x23\x21\x49"), + (b"Lhidden", b"\x1b\x23\x21\x58"), # verdecken + (b"/Lhidden", b"\x1b\x23\x21\x5f"), + + # Farbtafel-Selektion: + (b"ColTab0", b"\x9b\x30\x40"), # Tafel 0 wählen (normale Farben) + (b"ColTab1", b"\x9b\x31\x40"), # Tafel 1 wählen (halbe Intensität; schwarz ist hier transparent) + (b"ColTab2", b"\x9b\x32\x40"), # Tafel 2 wählen (default: wie 0) + (b"ColTab3", b"\x9b\x33\x40"), # Tafel 3 wählen (default: wie 0) + # Hinweis: Die Definition eigener Farben und die Zuweisung zu Tafel 2 und 3 ist hier nicht enthalten + + # Farben Vordergrund (par) / G1-Satz (ser) + (b"black", b"\x80"), (b"red", b"\x81"), (b"green", b"\x82"), (b"yellow", b"\x83"), + (b"blue", b"\x84"), (b"magenta", b"\x85"), (b"cyan", b"\x86"), (b"white", b"\x87"), + # Farben Hintergrund (background; par) / L-Satz (ser) + (b"Bblack", b"\x90"), (b"Bred", b"\x91"), (b"Bgreen", b"\x92"), (b"Byellow", b"\x93"), + (b"Bblue", b"\x94"), (b"Bmagenta", b"\x95"), (b"Bcyan", b"\x96"), (b"Bwhite", b"\x97"), + # Hintergrundfarbe für ganzen Bildschirm: (Screen) + (b"Sblack", b"\x1b\x23\x20\x50"), (b"Sred", b"\x1b\x23\x20\x51"), (b"Sgreen", b"\x1b\x23\x20\x52"), (b"Syellow", b"\x1b\x23\x20\x53"), + (b"Sblue", b"\x1b\x23\x20\x54"), (b"Smagenta", b"\x1b\x23\x20\x55"), (b"Scyan", b"\x1b\x23\x20\x56"), (b"Swhite", b"\x1b\x23\x20\x57"), + # Hintergrundfarbe für ganze Zeile (mit Rand): + (b"Rblack", b"\x1b\x23\x21\x50"), (b"Rred", b"\x1b\x23\x21\x51"), (b"Rgreen", b"\x1b\x23\x21\x52"), (b"Ryellow", b"\x1b\x23\x21\x53"), + (b"Rblue", b"\x1b\x23\x21\x54"), (b"Rmagenta", b"\x1b\x23\x21\x55"), (b"Rcyan", b"\x1b\x23\x21\x56"), (b"Rwhite", b"\x1b\x23\x21\x57"), + # Vordergrundfarbe für ganze Zeile (Line): + (b"Lblack", b"\x1b\x23\x21\x40"), (b"Lred", b"\x1b\x23\x21\x41"), (b"Lgreen", b"\x1b\x23\x21\x42"), (b"Lyellow", b"\x1b\x23\x21\x43"), + (b"Lblue", b"\x1b\x23\x21\x44"), (b"Lmagenta", b"\x1b\x23\x21\x45"), (b"Lcyan", b"\x1b\x23\x21\x46"), (b"Lwhite", b"\x1b\x23\x21\x47"), + + # weiteres zu Farben: + (b"TranspLine", b"\x1b\x23\x21\x5e"), # ganze Zeile transparent + (b"PolNorm", b"\x9c"), # normale Farbpolarität (par) - schwarzer Hintergrund (ser) + (b"PolInv", b"\x9d"), # invers (par) - neuer Hintergrund ist letzte akt. Farbe (ser) + (b"BTransp", b"\x9e"), # Transparenter Hintergrund (par) - Mosaikwiederholung bei ser. Steuerz. (ser) + + # Servicesprung zu Zeile x (erste Spalte): + # setzt dort G0 links + G2 rechts, seriell, Farbtafel 0 + (b"Service", b"\x1f\x2f\x40"), # Sprung in Zeile 24: <24> + (b"/Service", b"\x1f\x2f\x4f"), # Zurück vom Servicesprung +] + +