Szukam oprogramowania, które nie może wziąć FEN i wygenerować diagram wysokiej jakości , w formacie PDF, Postscript, metapliku Windows lub czegoś innego, co będzie wyglądać dobrze przy rozdzielczości 1200 x 1200 dpi lub lepszej. Myślałem, że różne silniki szachowe to zrobią, ale ich diagramy są bitmapami (o ile wiem) i wyglądają jak śmieci, gdy dowolnie zmieni się rozmiar. Ponadto ich eksportu publikacji nie można edytować w żadnym standardowym formacie AFAICT.
Gotowość do zapłaty.
Odpowiedzi:
Jak wskazano, potrzebujesz wektorów. Sugeruję użycie szachów szachowych do generowania obrazów wektorowych SVG.
Wymagania wstępne:
pip install python-chess[uci,gaviota]
Tworzenie skryptu
Ponieważ może być konieczne wygenerowanie wielu plików SVG, utwórzmy skrypt. Możesz więc użyć skryptu, aby łatwo wygenerować wiele szachownic. W Pythonie 3.x napisano poniżej. Utwórz na przykład skrypt w języku Python, FENtoSVG.py. Wstaw następujący kod:
Jeśli korzystasz z systemu Linux, uruchom skrypt za pomocą
#!/usr/bin/env python3
.Stosowanie
To jest bardzo prosty skrypt, jeśli znasz Pythona, ale chcę, aby był prosty dla tych, którzy nie kodują. Aby użyć skryptu, otwórz CMD / Terminal, w którym zapisałeś skrypt. Następnie użyj następującego polecenia:
./FENtoSVG.py "examplefen" "morefen"
Powiedzmy, że chcę dwóch plików SVG dla FEN
"8/8/8/8/4N3/8/8/8 w - - 0 1"
i"8/8/8/8/4Q3/8/8/8 w - - 0 1"
chciałbym wprowadzić:./FENtoSVG.py "8/8/8/8/4N3/8/8/8 w - - 0 1" "8/8/8/8/4Q3/8/8/8 w - - 0 1"
Spowoduje to utworzenie dwóch plików:
88884N3888 w - - 0 1.SVG
i88884Q3888 w - - 0 1.SVG
Sugeruję szachy python ze względu na dostosowania, które można łatwo wprowadzić do diagramu za pomocą wbudowanych funkcji. Jest również dobrze udokumentowany.
źródło
Vector format będzie pasował.
Jak zapewne wiesz, format wektorowy reprezentuje grafikę nie jako mapę bitową, ale geometrycznie, jako opis matematyczny, który można renderować w dowolnej skali.
Do wyświetlania w Internecie można użyć formatu SVG. Oto niektórzy szachy w formacie SVG. (Jeśli podążysz za linkiem, dla każdego szachisty klikniesz „oryginalny plik (plik SVG).” Do momentu kliknięcia wszystko, co otrzymasz, to mapowanie bitowe, zbliżenie PNG do SVG. Chcesz prawdziwego SVG.)
Do wyświetlania plików PDF TeX ma kilka pakietów, których możesz użyć. Oto lista. (Jest to wygodne tylko, jeśli znasz TeX lub LaTeX; ale powstałe diagramy są dobre. Na przykład zobacz str. 4 tego przykładu PDF w stylu Skak. Ponadto uważam, że str. 4 tego przykładu PDF pokazuje styl Schwalbe-szachy, który możesz preferować, choć jego dokumentacja wydaje się być w całości w języku niemieckim. W każdym razie są to programy typu open source.)
źródło
Moim rozwiązaniem było użycie czcionki szachowej, takiej jak Chess Merida lub Chess Cases .
Na przykład z taką czcionką pozycja początkowa jest zapisana w następujący sposób:
I (zakładając, że wysokość linii jest ustawiona na wysokość czcionki) wygląda to tak (Tutaj przy użyciu Chess Merida jako czcionki):
Więc napisałem ten skrypt Pythona, który konwertuje z fen do tego formatu. Wywołaj ten skrypt (zakładając, że nazwałeś go fen2diag.py ) za pomocą
python fen2diag.py "<the fen>"
i wyświetli on ciąg diagramu.Te czcionki diagramów obsługują również kwadraty oznaczone kropkami lub gwiazdkami, inny rodzaj obramowania, okrągłe rogi obramowania, cyfry / litery na lewym / dolnym obramowaniu oznaczające wiersze / kolumny. Nie zawarłem tego w skrypcie. Zaktualizuj mój kod.
Chessbase stworzył także rodzinę czcionek (zaczynającą się od „DiagramTT ...”), która obsługuje jeszcze więcej rzeczy (np. Elementy obrócone o 180 °), ale ta czcionka odwzorowuje różne punkty kodowe, również w przypadku czarnych kwadratów pobierane są dwie litery, jedna za tło i jeden za utwór.
źródło