Ich bin auf der Suche nach Software, mit der FEN ein qualitativ hochwertiges Diagramm in PDF, Postscript, Windows-Metadatei oder etwas anderem mit einer Auflösung von 1200 x 1200 dpi oder besser erstellen kann. Ich dachte, die verschiedenen Schachengines würden es schaffen, aber ihre Diagramme sind alle Bitmaps (soweit ich das beurteilen kann) und sehen wie Müll aus, wenn die Größe willkürlich geändert wird. Außerdem kann der eigene Publishing-Export in AFAICT (Standard) nicht bearbeitet werden.
Bereit zu zahlen.
Antworten:
Wie bereits erwähnt, benötigen Sie Vektoren. Ich schlage vor, Sie verwenden ein Python-Schach, um SVG-Vektorbilder zu generieren.
Voraussetzungen:
pip install python-chess[uci,gaviota]
Ein Skript erstellen
Da Sie möglicherweise mehrere SVGs generieren müssen, erstellen wir ein Skript. Sie können das Skript also verwenden, um auf einfache Weise mehrere Schachbretter zu generieren. Das Folgende ist in Python 3.x geschrieben. Erstellen Sie ein Python-Skript, beispielsweise FENtoSVG.py. Fügen Sie den folgenden Code ein:
Wenn Sie unter Linux arbeiten, starten Sie das Skript mit
#!/usr/bin/env python3
.Verwendung
Nun, dies ist ein sehr einfaches Skript, wenn Sie Python kennen, aber ich möchte es für diejenigen, die nicht codieren, einfach halten. Um das Skript zu verwenden, öffnen Sie CMD / Terminal, in dem Sie das Skript gespeichert haben. Verwenden Sie dann wie folgt:
./FENtoSVG.py "examplefen" "morefen"
Angenommen, ich möchte zwei SVGs für die FEN
"8/8/8/8/4N3/8/8/8 w - - 0 1"
und"8/8/8/8/4Q3/8/8/8 w - - 0 1"
würde Folgendes eingeben:./FENtoSVG.py "8/8/8/8/4N3/8/8/8 w - - 0 1" "8/8/8/8/4Q3/8/8/8 w - - 0 1"
Dies würde zwei Dateien erzeugen:
88884N3888 w - - 0 1.SVG
und88884Q3888 w - - 0 1.SVG
Ich empfehle Python-Schach wegen der Anpassungen, die mit den eingebauten Funktionen leicht am Diagramm vorgenommen werden können. Es ist auch gut dokumentiert.
quelle
Ein Vektorformat würde passen.
Wie Sie vielleicht wissen, stellt ein Vektorformat eine Grafik nicht als Bitmap, sondern geometrisch dar, als mathematische Beschreibung, die in jedem Maßstab wiedergegeben werden kann.
Für die Webanzeige können Sie das SVG-Format verwenden. Hier sind einige Schachfiguren im SVG-Format. (Wenn Sie dem Link folgen, klicken Sie sich für jeden Schachspieler bis zur "Originaldatei (SVG-Datei)" durch. Bis Sie durchklicken, erhalten Sie nur eine Bitmap-PNG-Annäherung an die SVG. Sie möchten die echte SVG.)
Für die PDF-Anzeige stehen in TeX mehrere Pakete zur Verfügung. Hier ist eine Liste. (Dies ist nur dann praktisch, wenn Sie mit TeX oder LaTeX vertraut sind. Die sich ergebenden Diagramme sind jedoch gut. Siehe z. B. S. 4 dieses PDF-Beispiels im Skak-Stil. Ich bin außerdem der Meinung, dass S. 4 dieses PDF-Beispiels dies zeigt der Schwalbe-Schachstil, den Sie vielleicht bevorzugen, obwohl die Dokumentation allesamt in Deutsch zu sein scheint. All dies sind auf jeden Fall Open Source.)
quelle
Meine Lösung bestand darin, eine Schachschrift wie Chess Merida oder Chess Cases zu verwenden .
Mit einer solchen Schriftart wird beispielsweise die Startposition folgendermaßen geschrieben:
Und (unter der Annahme, dass die Zeilenhöhe auf die Höhe der Schriftart festgelegt ist) sieht es so aus (hier mit Chess Merida als Schriftart):
Also habe ich dieses Python-Skript geschrieben, das von fen in dieses Format konvertiert. Rufen Sie dieses Skript mit (vorausgesetzt, Sie haben es fen2diag.py genannt ) auf,
python fen2diag.py "<the fen>"
und es gibt den Diagramm-String aus.Diese Diagrammschriftarten unterstützen auch Quadrate, die mit Punkten oder Sternen markiert sind, eine andere Art von Rahmen, runde Rahmenecken und Zahlen / Buchstaben am linken / unteren Rand, die die Zeilen / Spalten kennzeichnen. Ich habe dies nicht in das Skript aufgenommen. Fühlen Sie sich frei, meinen Code zu aktualisieren.
Chessbase hat auch eine Schriftfamilie erstellt (beginnend mit 'DiagramTT ...'), die noch mehr Dinge unterstützt (wie um 180 ° gedrehte Teile), aber diese Schrift ordnet Dinge verschiedenen Codepunkten zu, auch für schwarze Quadrate werden zwei Buchstaben verwendet, einer für den Hintergrund und eine für das Stück.
quelle