Danke fürs Finden!
Das war zum Glück wirklich nur ein kleines Problem: https://github.com/bluewaysw/pcgeos/pull/1118.
Danke fürs Finden!
Das war zum Glück wirklich nur ein kleines Problem: https://github.com/bluewaysw/pcgeos/pull/1118.
Braucht man für CSS auch einen DOM? Vielleicht für Angaben wie „alle Kindelemente von …“. Aber es gibt auch ja Angaben wie wie „alle Links“ oder „p-Elemente“. Wenn man das vorher einliest … aber die Teufel werden schon in den Details hausen.
Ich würde sagen, es gibt für CSS in WebMagick drei Stufen:
Auch dieser Zustand würde vermutlich noch zu sehr vielen Layoutfehlern führen, weil sich wohl fast alle Seiten zusätzlich auf DOM+Javascript verlassen, um dynamisch einzelne Teile (z.B. Menüs) ein- und auszublenden. Außerdem dürften viele Seiten mit einer Menge Trial-and-Error geschrieben sein, wo eben so lange mit Attributen gespielt wurde, bis es in gängen Browsern (d.h. Chrome, Chrome und Chrome) halbwegs richtig aussieht.
Deshalb würde ich die ersten beiden Schritte für realistisch halten (Schritt 1 auf jeden Fall), während man sich für den dritten vermutlich ein Jahr Urlaub nehmen sollte - wahrscheinlich würde dazwischen sogar noch ein Prototyp stehen, der z.B. die Umwandlung von CSS-Grids in Tabellen erst mal in Python durchspielt, damit man das an realen Seiten testen kann (wenn man Schritt 2 und 3 auf einem Proxy machen würde, der Webseiten dynamisch umschreibt, wäre es sogar etwas, das noch anderen Legacy-Browsern helfen könnte).
Ich bin nicht sicher, ob das hier hilft, aber ich erinnere mich dunkel, dass ich vor langer Zeit mal ein DOS-Tool geschrieben hatte, das Geos daran hindert, die Systemzeit zu ändern ("Time Guardian").
Bei Interesse: siehe hier.
Oder man beseitigt die Abhängigkeit von dieser Library und ersetzt sie durch etwas aktuelles? Es geht ja scheinbar "nur" um das Interpretieren der Kommandozeile - da müsste sogar eine KI doch gut weiterhelfen können, wenn man sich nicht mit Perl rumärgern will...
Der Effekt geht sogar noch etwas weiter und betrifft alle Zeichen-Stile: wenn ich Firefox und WebMagick vergleiche, scheint das "korrekte" Verhalten zu sein, die Aufzählungszeichen im Stil des <ul>-Elements zu formatieren, während WebMagick den Stil des ersten Zeichens des Elements kopiert.
Zum Vergleich (links FF, rechts WM) - die Absatzabstände sind auch noch mal eine interessante Sache:
HTML:
<ul>
<li>Testzeile 1</li>
<li> <a href="#ZIEL">Testzeile 2</a></li>
<li><a href="#ZIEL">Testzeile 3</a></li>
<li><FONT color="red">Testzeile 4</FONT></li>
<li><U>Testzeile 5</U></li>
</ul>
<FONT color="green">
<ul>
<li><FONT color="red">Testzeile 4</FONT></li>
<li><U>Testzeile 5</U></li>
</ul>
</FONT>
Display More
Ich habe mal einen Patch dafür gemacht: https://github.com/bluewaysw/pcgeos/pull/1017
Vielleicht ist es eine falsche Vorrangbehandlung zwischen den Einträgen: wird bei der Zuordnung per Datei-Extension der letzte Eintrag genommen, gewinnt "jpg -> image/jpg", und dann ist der Mime-Typ falsch.
Im Prinzip ist ein Mapping "image/jpg -> imp library" nicht schlecht, falls der Mime-Typ auf einem Server falsch konfiguriert ist, aber dieser Typ sollte dann nicht für lokale Dateien benutzt werden.
Es könnte also sein, dass es geht, wenn man einfach nur die Reihenfolge der beiden JPG-Zeilen tauscht.
WAV weiter unten macht übrigens etwas ähnliches.
Ob es vielleicht vom Videomodus abhängt, wie hier: https://github.com/bluewaysw/pcgeos/issues/1004 ?
Muss dringend geändert werden: Im aktuellen Repository (grobj.goh) steht noch immer:
@message void MSG_GO_ROTATE( /* XXX */
GrObjHandleSpecification center = bp,
WWFixedAsDWord angle = dx.cx);Das Rotieren funktioniert aber nur mit angle = cx.dx.
Ich habe jetzt mal eine PR dafür gemacht: https://github.com/bluewaysw/pcgeos/pull/1003 - damit wird auch die alte Reihenfolge wiederhergestellt, weil es eigentlich keinen Grund gab, sie zu ändern, außer der Sache mit WWFixedAsDWord.
Dabei habe ich auch noch versucht, die Doku für WWFixedAsDWord etwas zu verbessern, weil dort offenbar mal der Typ geändert wurde, ohne dass das je angepasst worden ist.
Noch ein Gedanke: da das ganze in einem englischen Dokument eingebunden ist, wäre vielleicht ein Screenshot der englischen Version noch besser geeignet, um ein internationales Publikum anzusprechen.
Mir ist neulich aufgefallen, dass die Titelseite der SDK-Doku (https://bluewaysw.github.io/pcgeos/) und vermutlich auch das Readme in github (unten auf https://github.com/bluewaysw/pcgeos) davon profitieren würden, wenn wir gleich einen schönen Screenshot (640x480 oder 800x800) zeigen könnten, der dem uneingeweihten Besucher sofort klar macht, dass es hier um eine graphische Oberfläche geht.
Hat jemand einen Vorschlag, den wir dafür nehmen könnten?
Aber ich wüsste gar nicht, wie und wo ich Zugang zu den MD-Texten bekomme.
Zumindest das ist recht einfach zu erklären. ![]()
Ich glaube, man kann die Datei sogar gleich auf der Webseite von GitHub ändern und einen PR machen, aber das habe ich noch nie probiert. Ich würde das dann einfach mit dem PR machen, der auch die Include-Datei korrigiert.
Sobald der PR gemerged ist, wird die Webseite automatisch neu erzeugt.
Vielleicht wäre es am einfachsten, wenn Wilfried das mit der getesten Änderung der Signatur macht, dann passt gleich alles zusammen - es reicht ja, die Änderung nur in den Markdown-Techdocs zu machen, der Rest dürfte über kurz oder lang sowieso verschwinden (ASCII enthält eigentlich schon nichts mehr, was wir nicht auch in Markdown haben, während HTML noch einige Communicator-APIs wie etwa die foam-Library bewahrt, die allerdings im Sourcecode nicht vorhanden sind).
Das Problem war, dass einige Prototypen for Messages in GOC im alten SDK falsch waren, so dass ich mir im Laufe der Zeit ein Headerfile "fixes.goh" mit korrigierten Prototypen geschrieben habe. Meist betraf das Messages mit einem "XXX"-Kommentar von Geoworks (bin mir nicht sicher, ob das vielleicht "ungetestet" bedeutet, oder "noch ungelöste Probleme"?).
Irgendwann letztes Jahr habe ich diese Änderungen dann mal zurück übertragen und fixes.goh entfernt, damit die "offiziellen" Header korrekt sind. Vermutlich habe ich dabei in dieser Message versehentlich die Register-Definition falsch herum abgeschrieben, während eigentlich nur die richtige Reihenfolge der Parameter nötig gewesen wäre. Eigentlich dachte ich, dass V-Convert diese Funktion auch nutzt und mir das beim Portierern hätte auffallen müssen, aber evtl. habe ich keine Testdatei verwendet, die eine Drehung enthielt...
Wenn es so herum klappt, würde ich den Fix einfach einchecken. Danke für's Finden! ![]()
ps: Es kann sein, dass auch noch irgendein Problem mit der Übergabe von Strukturen als Parameter auf dem Stack aufgetreten ist, daher vermutlich der Wechsel zu WWFixedAsDWord, weil das besser zwischen Compilern portabel sein sollte.
Ich hätte den Verdacht, dass der Browser (warum auch immer) in eine 256-Farben Bitmap mit Systempalette schreibt und darum die RGB-Farben ohne Dithering immer auf die nächstliegende Systemfarbe mappt. Immerhin trifft er ja grob die Farbe...
Ich hab mal ein bisschen die beiden anderen Formate (ASCII, HTML) mit Markdown verglichen, um den aktuellen Status zu haben und zumindest einen theoretischen Plan zu formulieren:
Meine Einschätzung wäre daher: ASCII kann fast komplett weg, wenn man Zoomer-Teil und die Credits vorher noch irgendwo unter Markdown unterbringt, damit die Info nicht verlorengeht.
HTML aus dem Nokia 9000 benötigt etwas sorgfältigere "Textarbeit", wenn man es retten will: erst mal die combo-Files so sortieren, dass die Struktur der Markdown-Doku entspricht, dann HTML>Markdown-Konverter, und dann die Unterschiede in Markdown einpflegen: die komplett plattform-spezifischen Abschnitte ziemlich en-bloc, und dann irgendwie (mit KI-Hilfe?) einen intelligenten Abgleich der überlappenden Teile machen.
Der letzte Punkt dürfte dabei der aufwendigste sein, je nachdem, wie viele Korrekturen Geoworks bis zum Erscheinen des Nokia 9000-SDKs in die HTML-Version eingebaut hat und an wie vielen Stellen man einzelne Routinen, Structs usw. einsortieren müsste.
Auf https://bluewaysw.github.io/pcgeos/ gibt's übrigens wieder ein paar Aktualisierungen der TechDocs: