; Created in LibreOffice 4 with this LibreLogo program (+object to path conversion ; of FreeSerif chess figures of the final SVG by Inkscape for Wikipedia SVG rendering) ; Usage: Put this code into an English language document in LibO Writer, ; and click on the Start icon of the View»Toolbars»Logo toolbar. ; requested chess font: http://mip.noekeon.org/HTMLTTChess/chess_merida_unicode.html ; for other setup, positions, modify the arguments of the chess call in the end of the file GLOBAL COLORS, FIX_SVG_EXPORT COLORS = [0xe8ab6f, 0xffce9e, 0xd18b47] FIX_SVG_EXPORT = 3pt ; 3pt for SVG export, or set zero for other usage TO setcolor p1 p2 IF p2 > 5 [ p2 = p1 + -p2 ] [ p2 = p1 + p2 ] FILLCOLOR COLORS[p2%3] END TO hexagon s p = POSITION H = HEADING PENUP LEFT 30 FORWARD s LEFT 120 PENDOWN PENCOLOR “INVISIBLE” REPEAT 6 [ FORWARD s LEFT 60 ] FILL PENUP POSITION p HEADING H END HOME CLEARSCREEN PENUP POSITION [75, PAGESIZE[1]/2] PENJOINT “MITER” HIDETURTLE TO label2 s FONTFAMILY “Nimbus Sans L” FONTSIZE 25 h = HEADING HEADING 0 LABEL s HEADING h END TO chess white black PENCOLOR “BLACK” PENDOWN RIGHT 60 FILLCOLOR “INVISIBLE” PENSIZE 4 REPEAT 2 [ ; outer border REPEAT 6 [ FORWARD 25 RIGHT 60 REPEAT 5 [ FORWARD 25 LEFT 60 FORWARD 25 RIGHT 60 ] ] FILL FILLCOLOR COLORS[1] PENSIZE 0 ; only outer border ] PENUP FORWARD 25 LEFT 120 FORWARD 25 HEADING 0 data = {“K”: “♔♚”, “Q”: “♕♛”, “R”: “♖♜”, “B”: “♗♝”, “N”: “♘♞”, “ ”: “♙♟”, “o”: “•••”, “x”: “✕✕✕”, “*”: “⭑⭑⭑”} HEADING 0 RIGHT 120 n = 0 figures = white + “ ” + black + “ ” FOR i IN RANGE 0 12 [ FOR j IN RANGE n 13-n [ setcolor i j IF j = 6 [ LEFT 60 ] IF i > 0 AND j > n AND j < 12 - n [ hexagon 25 ] [ FILLCOLOR “INVISIBLE” CIRCLE 50 ; for correct SVG clipping IF i > 0 [ label2 STR i ] ] p = “%s%d ” % (“abcdefghiklx”[j-1], i) what = figures.find(p) IF what > -1 [ FONTFAMILY “Chess Merida Unicode” FONTSIZE 35 H = HEADING HEADING 0 FORWARD FIX_SVG_EXPORT k = data[(“ ” + figures)[what]] FONTCOLOR “WHITE” LABEL k[2] FONTCOLOR “BLACK” LABEL k[what > COUNT WHITE] BACK FIX_SVG_EXPORT HEADING H ] IF i = 0 AND j > 0 AND j < 13 [ l = “ abcdefghikl ”[j] label2 l ] PENUP LEFT 30 FORWARD 25 RIGHT 60 FORWARD 25 LEFT 30 ] PENUP RIGHT 30 IF i < 6 [ BACK 19 * 25 RIGHT 60 BACK 25 LEFT 30 ] [ BACK (18 – 3 * n) * 25 RIGHT 30 n = n + 1 ] ] END ; PICTURE “Glinski_chess_bishop.svg” [ ; from LibO 4.1.1 PICTURE [ chess “Bf6 ob4 od2 od5 od8 oe4 oe7 og4 og7 oh2 oh5 oh8 ok4” “” ]