Wikipedia:Lua/Modul/Hiero/Cartouche/de/spec
Vorlagenprogrammierung | Diskussionen | Lua | Unterseiten | |
Modul
|
Modul: | Dokumentation |
Spezifikation
Bearbeiten- Das Modul soll die Tabelle p = {} und die Anweisung return p enthalten. (Aufrufbar aus Vorlagen mit {{#invoke:Hiero/Cartouche... sein)
- Es soll die Tabelle Cartouche = {} enthalten. (Aufrufbar aus anderen Moduln sein)
- Es soll über die Funktionen
- p.name(frame) und
- Cartouche.name(frame, type, code, symbol, border) verfügen. (p.name gibt das Ergebnis von Cartouche.name zurück)
- Neben dem Parameter "frame", der den Aufruf von frame:preprocess(...) ermöglicht, haben die Parameter folgende Bedeutung:
- type (Namenstyp): Einer der Typen "Eigen", "Gold", "Horus", "HorusSeth", "Nebti", "Seth", oder "Thron"
- code (Hieroglyphencode)
- symbol (vor der Kartusche zu zeichnen, optionaler Parameter): Einer der Werte "default", "none", oder ein Hieroglyphencode
- border (optionaler Parameter): Einer der Werte
- "default",
- "ltr" (links nach rechts, erste Ausbaustufe),
- "ltd" ("left top down" - vertikal, zweite Ausbaustufe, asymmetrische Hieroglyphen "blicken" weiterhin nach links),
- "rtl" (rechts nach links, spätere Ausbaustufe, technisch noch nicht realisierbar)
- "rtd" ("right top down", spätere Ausbaustufe, technisch noch nicht realisierbar, asymmetrische Hieroglyphen "blicken" nach rechts)
- "none" (Die eigentliche Kartusche soll nicht gezeichnet werden.)
- Der type-Parameter entscheidet über Defaultwerte für das der Kartusche, bzw. einem Serech voranzustellende Hieroglyphensymbol und die Form der Umrandung (Kartusche, Serech, oder "none")
- Bevor Ausbaustufen anderes ermöglichen, werden die border-Typen "ltr", "ltd", "rtl" und "rtd" (später "ltr" und "rtl", bzw. "ltd" und "rtd") gleich behandelt.
- Wenn die technischen Möglichkeiten und die Ausbaustufen das zulassen, sollen nach gründlicher Überprüfung die von rechts zu lesenden Darstellungsformen zum Standard erhoben werden.
- In einer späteren Ausbaustufe mag noch die Möglichkeit hinzukommen, den "Hieroglyphencode" daraufhin zu überprüfen, ob er mit dem Schlüsselwort "Datei" beginnt, womit er statt dessen zur Einbindung eines Bildes genutzt werden sollte.
Frohe und gesegnete Weihnacht! --Vollbracht (Diskussion) 00:41, 26. Dez. 2021 (CET)
Entwurf / Implementierung
BearbeitenÄnderung des Funktionsnamens von "draw" nach "name": In einer weiteren Ausbaustufe soll die Möglichkeit hinzukommen, anstelle eines einzelnen Hieroglyphencodes einen Wikitext in eine Kartusche einzubetten. Der Aufruf soll analog mit p.complex(frame), bzw. Cartouche.complex(frame, type, code, symbol, border) erfolgen. Die Möglichkeit (6), die Funktion p.name(frame) dahingehend zu erweitern, dass ein Bild übergeben werden kann, erübrigt sich damit. --Vollbracht (Diskussion) 12:14, 29. Dez. 2021 (CET)
Das Modul wird so implementiert, dass es die Vorlage:Ägyptologie/styles.css verwendet um eine stets saubere Darstellung zu gewährleisten. Entsprechende Einträge wurden dort bereits vorgenommen. --Vollbracht (Diskussion) 12:45, 29. Dez. 2021 (CET)
Das Modul wird um Namenstypen für Königslisten erweitert.
- Turin: Ohne Symbol und Rand, V10a und V11a müssen bei Bedarf eingetragen werden. Als Transliteration eines rtl-Textes wird die Standardschreibrichtung (ltr) beibehalten.
- Sethos1: Kartusche, ltd, defaultsymbol entsprechend der oberen Reihen
- Ramses2: Kartusche, rtd, defaultsymbol entsprechend der zweiten Reihe, für automatische Spiegelung vorgesehen - Darstellung zunächst ltd
- SakkaraW: Kartusche, rtd, für automatische Spiegelung vorgesehen - Darstellung zunächst ltd (Symbol mit der weißen Krone)
- SakkaraR: Kartusche, rtd, für automatische Spiegelung vorgesehen - Darstellung zunächst ltd (Symbol mit der roten Krone)
- Karnak: spätere Ausbaustufe als eigene
Funktion(<frame>, <codePre>, <core>, <codePost>, <[ltd|rtd]>);
--Vollbracht (Diskussion) 16:00, 2. Jan. 2022 (CET) Auf die Darstellung eventueller Postfixe wird zunächst weiterhin verzichtet.
Die Bestimmung der Defaultwerte ist noch nicht abgeschlossen und wird noch diskutiert. --Vollbracht (Diskussion) 18:45, 2. Jan. 2022 (CET)
Implementierung
BearbeitenDie Erweiterung um Turin, Sethos1, Ramses2, SakkaraW und SakkaraR ist implementiert. --Vollbracht (Diskussion) 18:45, 2. Jan. 2022 (CET)