flyx / DSA-4.1-Heldendokument

Konfigurierbares Heldendokument für DSA, basierend auf LuaLaTeX.
https://flyx.github.io/DSA-4.1-Heldendokument/
14 stars 4 forks source link

Vectorise armor silhouettes #25

Open davidfoerster opened 6 months ago

davidfoerster commented 6 months ago

The vectorised versions are much smaller (and scale better).

On the issue tracker, you mention that the silhouettes were created by an acquaintance of yours for this project. If the originals are already vector data then it would be ideal to use those rather than the current raster-to-vector approach.

flyx commented 6 months ago

Ich hab nachgefragt, die Originaldatei ist nicht vektorbasiert, eine bessere Variante kriegen wir also nicht.

Du hast SVG und EPS eingecheckt, basiert das eine auf dem anderen? Wie hast du sie umgewandelt?

Das Internet sagt, Inkscape kann die Umwandlung auf der Kommandozeile machen, allerdings nicht mit Gradienten bzw dann rasterisiert es. Ich fände es schön wenn wir nur die SVG im Repo hätten und die EPS in der Flake autogenerieren, single source of truth und so.

davidfoerster commented 6 months ago

Du hast SVG und EPS eingecheckt, basiert das eine auf dem anderen? Wie hast du sie umgewandelt?

Export mit Inkscape (GUI). Ich schaue nachher, ob ich das Ergebnis auf der Kommandozeile reproduzieren kann. Ein direkter Export als PDF wäre vermutlich noch besser.

davidfoerster commented 6 months ago

Mit Inkscape v1.0.2 und der Kommandozeilenoption --export-type=pdf bekomme ich kleine PDFs, die genau wie per GUI exportiertes EPS nachweislich keine Rasterdaten enthalten.

Man kann L(u)aTeX beibringen, wie es nicht unterstützte Bildformate bei Bedarf in unterstützte umwandeln. Das werde ich mal versuchen.

davidfoerster commented 6 months ago

Den TeX-Code habe ich nun angepasst. Dummerweise bekomme ich Nix immer noch nicht zum Laufen, sodass ich das Flake nicht sinnvoll anpassen kann: Dort hinein gehören nämlich Abhängigkeiten von

flyx commented 6 months ago

https://gitlab.gnome.org/GNOME/librsvg mit rsvg-convert scheint die bessere Alternative zu Inkscape zu sein, weil es deutlich weniger Abhängigkeiten hat – Inkscape mit Abhängigkeiten ist 800MB groß.

Ich habe basierend auf deiner Arbeit einen neuen PR gemacht: #29

Da wandle ich die SVGs bei Erstellen des Nix packages in PDFs um; damit wird es nur einmal gemacht und nicht jedes Mal wenn ein Charakterbogen erstellt wird.

Nach meinen Tests wird das resultierende PDF für den Heldenbogen damit ~9KB kleiner. Das erscheint weniger als ich erwartet hätte. Was war dein Resultat? Ich krieg deinen Code hier nicht zum Laufen, es fehlt wohl die eps-zu-pdf-Konversion.

Die PDFs die aus der Konversion rausfallen sind jedenfalls nochmal kleiner als die EPS Dateien. Ich werde nicht ganz schlau daraus, warum das Heldenbogen-PDF dann so wenig Differenz in der Größe hat. Zumindest funktioniert die Skalierung, also ist es auf jeden Fall vektorisiert eingebunden.