Estou procurando um software que possa pegar o FEN e gerar um diagrama de alta qualidade , em PDF, Postscript, metarquivo do Windows ou qualquer outra coisa que pareça boa em 1200x1200 dpi ou melhor. Eu pensei que os vários mecanismos de xadrez fariam isso, mas seus diagramas são todos bitmaps (até onde eu sei) e parecem lixo quando redimensionados arbitrariamente. Além disso, sua própria exportação de publicação não pode ser editada em nada padrão, o AFAICT.
Dispostos a pagar.
Respostas:
Como thb apontou, você precisa de vetores. Sugiro que você use um python-xadrez para gerar imagens vetoriais SVG.
Pré-requisitos:
pip install python-chess[uci,gaviota]
Criando um script
Como você pode precisar gerar vários SVGs, vamos criar um script. Portanto, você pode usar o script para gerar vários tabuleiros de xadrez facilmente. O seguinte está escrito em Python 3.x. Crie um script Python, FENtoSVG.py, por exemplo. Insira o seguinte código:
Se você estiver no linux, inicie o script com
#!/usr/bin/env python3
.Uso
Agora, este é um script muito simples, se você conhece python, mas quero mantê-lo simples para quem não codifica. Para usar o script, abra o CMD / Terminal onde você salvou o script. Em seguida, use o seguinte:
./FENtoSVG.py "examplefen" "morefen"
Digamos que eu queira dois SVGs para a FEN
"8/8/8/8/4N3/8/8/8 w - - 0 1"
e"8/8/8/8/4Q3/8/8/8 w - - 0 1"
, digito :./FENtoSVG.py "8/8/8/8/4N3/8/8/8 w - - 0 1" "8/8/8/8/4Q3/8/8/8 w - - 0 1"
Isso criaria dois arquivos:
88884N3888 w - - 0 1.SVG
e88884Q3888 w - - 0 1.SVG
Eu sugiro python-xadrez por causa das personalizações que podem ser feitas facilmente no diagrama usando funções internas. Também está bem documentado.
fonte
Um formato vetorial seria adequado.
Como você deve saber, um formato vetorial representa o gráfico não como um bitmap, mas geometricamente, como uma descrição matemática que pode ser renderizada em qualquer escala.
Para exibição na web, você pode usar o formato SVG. Aqui estão algumas peças de xadrez no formato SVG. (Se você seguir o link, para cada jogo de xadrez, clique em "arquivo original (arquivo SVG)." Até clicar, tudo o que você obterá será uma aproximação PNG de bitmap ao SVG. Você deseja o SVG real.)
Para exibição em PDF, o TeX possui vários pacotes que você pode usar. Aqui está uma lista. (Isso é conveniente apenas se você estiver familiarizado com o TeX ou LaTeX; mas os diagramas resultantes são bons. Por exemplo, consulte a página 4 deste exemplo em PDF no estilo Skak. Além disso, acredito que a página 4 deste exemplo em PDF mostre o estilo Schwalbe-xadrez, que você pode preferir, embora sua documentação pareça toda em alemão. Todos eles são de código aberto, pelo menos.)
fonte
Minha solução foi usar uma fonte de xadrez como Chess Merida ou Chess Cases .
Com essa fonte, por exemplo, a posição inicial é escrita assim:
E (supondo que a altura da linha esteja definida como a altura da fonte), fica assim (Aqui usando o Chess Merida como fonte):
Então, eu escrevi este script Python que converte de fen para este formato. Chame esse script (assumindo que você o nomeou fen2diag.py )
python fen2diag.py "<the fen>"
e ele imprime a sequência do diagrama.Essas fontes do diagrama também suportam quadrados marcados com pontos ou estrelas, outro tipo de borda, cantos arredondados, números / letras nas bordas esquerda / inferior, indicando as linhas / colunas. Eu não incluí isso no script. Sinta-se livre para atualizar meu código.
O Chessbase também criou uma família de fontes (começando com 'DiagramTT ...') que suporta ainda mais coisas (como peças giradas em 180 °), mas essa fonte mapeia as coisas para diferentes pontos de código, também para quadrados pretos duas letras são usadas, uma para o fundo e um para a peça.
fonte