(Vollständige) SVG Lib für Java (oder C++)

Hallo allerseits,

mal auf der dunklen Seite der Macht bin ich - da Standard Graphics2D ja irgendwie ein Problem mit dem präzisen Skalieren zu haben scheint (zumindestens sind meine 10er Strokes nach Verkleinerung um den Faktor 8 nicht mehr sichtbar!) - auf der Suche nach einer SVG Library, die folgendes kann:

  • Einlesen, Bearbeiten und Schreiben eines SVG Dokuments (=Datei)
  • Genaues und ggf. skaliertes Einfügen des Inhaltes einer SVG Datei an Position x,y in das aktuelle SVG Dokument
  • Einfügen von korrekt (skalierenden) Fonts
  • Verarbeitung vorzugsweise analog zu Graphics2D
  • (Skaliertes) Darstellen des SVG Files auf dem Bildschirm

Zunächst bin ich da auf jfreesvg gestossen, aber irgendwie sehe ich dort keine Optionen, Dateien einzulesen oder diese optimal darzustellen (also ohne dass man über ein BufferedImage gehen muss und alle Skalierungsmüh dahin ist :wink: ).

Wer kann hier Nachhilfe geben (was diese konkrete Lib und die beiden nicht gesehenden Punkte angeht) oder etwas anderes empfehlen (gerne auch für C++ :wink:

Gruß
BW

Als Beispiel, was ich mir so vorstelle:

  1. Erzeuge SVG Dokument der Größe 1000x1000
  2. Lese kreis.svg und vergrössere es um den Faktor 4 (z.B. auf 100x100)
  3. Füge das Result an Position 100,100 ein
  4. Schreibe „Kreis“ in „Serif“ der Grösse N an Position 500,500
  5. Lese leuchtturm.svd und verkleinere es um den Faktor 10 (z.B. auf 500x500)
  6. Füge das Resultat an Position 300,700 ein
  7. Schreibe das resultierende SVG Dokument als „result.svg“
  8. und stelles es skaliert um den Faktor 4 (=>250x250) auf dem Bildschirm dar
    [Hierbei wären sowohl der Kreis als auch die Schrift und der Leuchtturm korrekt skaliert]