|
| 1 | +# The logos main font is Top one is Bernard Condensed; |
| 2 | +# the subtitle font is Gill Sans. |
| 3 | +# Discussion for the logo is done in issue #20: |
| 4 | +# https://github.com/JuliaDynamics/DrWatson.jl/issues/20 |
| 5 | + |
| 6 | +using Luxor |
| 7 | + |
| 8 | +function bowler() |
| 9 | + move(Point(-5., 135.9)) |
| 10 | + curve(Point(38.5, 135.9), Point(81.3, 135.7), Point(125., 132.9)) |
| 11 | + curve(Point(142.5, 132.3), Point(159.2, 130.1), Point(176.7, 129.2)) |
| 12 | + curve(Point(183.5, 128.5), Point(191.4, 127.7), Point(198.5, 126.2)) |
| 13 | + curve(Point(201.6, 125.5), Point(203.8, 123.2), Point(206.6, 122.8)) |
| 14 | + curve(Point(208.6, 120.2), Point(209.5, 118.5), Point(210.2, 116.6)) |
| 15 | + curve(Point(210.2, 119.7), Point(214.7, 112.6), Point(216.5, 110.7)) |
| 16 | + curve(Point(221.7, 103.5), Point(223.0, 97.7), Point(214.7, 94.7)) |
| 17 | + curve(Point(202.4, 90.3), Point(190.5, 89.5), Point(178.5, 87.9)) |
| 18 | + curve(Point(177.6, 87.7), Point(167.9, 85.5), Point(166.6, 82.6)) |
| 19 | + curve(Point(165.5, 74.2), Point(167.9, 65.2), Point(165.6, 56.2)) |
| 20 | + curve(Point(164.2, 46.6), Point(166.2, 36.7), Point(164.8, 26.5)) |
| 21 | + curve(Point(163.5, -4.2), Point(159.6, -31.9), Point(147.7, -59.7)) |
| 22 | + curve(Point(142.7, -69.5), Point(136.7, -81.4), Point(129., -89.6)) |
| 23 | + curve(Point(112.4, -106.2), Point(90.5, -117.6), Point(68.5, -125.4)) |
| 24 | + curve(Point(46.4, -133.3), Point(26.0, -139.4), Point(2.4, -139.4)) |
| 25 | + curve(Point(-21.6, -139.4), Point(-47.5, -133.3), Point(-69.5, -125.4)) |
| 26 | + curve(Point(-91.6, -117.6), Point(-113.2, -106.2), Point(-130.5, -89.6)) |
| 27 | + curve(Point(-137.5, -81.4), Point(-143.2, -69.5), Point(-148.9, -59.7)) |
| 28 | + curve(Point(-160.7, -31.9), Point(-165.5, -4.2), Point(-166.4, 26.5)) |
| 29 | + curve(Point(-167.8, 36.7), Point(-167.9, 46.6), Point(-167.3, 56.2)) |
| 30 | + curve(Point(-168.5, 65.2), Point(-165.2, 74.2), Point(-168.3, 82.6)) |
| 31 | + curve(Point(-169.6, 85.5), Point(-178.2, 87.7), Point(-179.5, 87.9)) |
| 32 | + curve(Point(-191.6, 89.5), Point(-203.4, 90.3), Point(-215., 94.7)) |
| 33 | + curve(Point(-224.7, 97.7), Point(-223.4, 103.5), Point(-217.5, 110.7)) |
| 34 | + curve(Point(-215.4, 112.6), Point(-211.9, 119.7), Point(-211.9, 116.6)) |
| 35 | + curve(Point(-210.6, 118.5), Point(-209.2, 120.2), Point(-207.2, 122.8)) |
| 36 | + curve(Point(-204.5, 123.2), Point(-202.7, 125.5), Point(-199.4, 126.2)) |
| 37 | + curve(Point(-192., 127.7), Point(-184.6, 128.5), Point(-177.4, 129.2)) |
| 38 | + curve(Point(-132.7, 133.5), Point(-117.7, 133.), Point(-72.7, 134.4)) |
| 39 | + curve(Point(-55.4, 134.9), Point(-37.4, 135.5), Point(-19.7, 135.9)) |
| 40 | + curve(Point(-14.9, 136.2), Point(-10.0, 135.7), Point(-5., 135.9)) |
| 41 | +end |
| 42 | + |
| 43 | +function moustache() |
| 44 | + move(Point(-2.5, -24.5)) |
| 45 | + curve(Point(-2.5, -24.5), Point(9.5, -37.), Point(27.5, -37.)) |
| 46 | + curve(Point(44.4, -37.), Point(78.4, 0.1), Point(85.6, 5.5)) |
| 47 | + curve(Point(91.3, 10.4), Point(120.4, 42.4), Point(140.7, 41.6)) |
| 48 | + curve(Point(161.2, 40.2), Point(168.5, 37.6), Point(179.2, 34.6)) |
| 49 | + curve(Point(191.6, 32.6), Point(158.7, 55.2), Point(143.7, 64.7)) |
| 50 | + curve(Point(128.6, 73.6), Point(102.6, 77.2), Point(81.2, 73.6)) |
| 51 | + curve(Point(60.4, 69.5), Point(33.7, 52.4), Point(21.8, 43.1)) |
| 52 | + curve(Point(10.6, 35.6), Point(-2.5, 23.6), Point(-2.5, 23.6)) |
| 53 | + curve(Point(-2.5, 23.6), Point(-15.7, 35.6), Point(-26.9, 43.1)) |
| 54 | + curve(Point(-38.7, 52.4), Point(-65.5, 69.5), Point(-86.4, 73.6)) |
| 55 | + curve(Point(-107.4, 77.2), Point(-133.7, 73.6), Point(-148.3, 64.7)) |
| 56 | + curve(Point(-163.7, 55.2), Point(-196.4, 32.6), Point(-184.3, 34.6)) |
| 57 | + curve(Point(-173.6, 37.6), Point(-166.1, 40.2), Point(-145.2, 41.6)) |
| 58 | + curve(Point(-125.5, 42.4), Point(-96.4, 10.4), Point(-90.7, 5.5)) |
| 59 | + curve(Point(-83.4, 0.1), Point(-49.5, -37.), Point(-32.6, -37.)) |
| 60 | + curve(Point(-14.6, -37.), Point(-2.5, -24.5), Point(-2.5, -24.5)) |
| 61 | +end |
| 62 | + |
| 63 | +function finalversion(fname) |
| 64 | + s = 500 |
| 65 | + Drawing(s, s, fname) |
| 66 | + background(0, 0, 0, 0) |
| 67 | + setopacity(1.0) |
| 68 | + origin() |
| 69 | + squircle(O, 250, 250, rt = 0.15, :clip) |
| 70 | + table = Table(1, 3, s//3, s) |
| 71 | + for (pos, n) in table |
| 72 | + sethue([Luxor.lighter_green, Luxor.lighter_red, Luxor.lighter_purple][n]) |
| 73 | + box(table, n, :fill) |
| 74 | + end |
| 75 | + sethue("black") |
| 76 | + fontsize(8) |
| 77 | + @layer begin |
| 78 | + translate(0, -100) |
| 79 | + bowler() |
| 80 | + fillpath() |
| 81 | + end |
| 82 | + @layer begin |
| 83 | + translate(0, 140) |
| 84 | + moustache() |
| 85 | + fillpath() |
| 86 | + end |
| 87 | + finish() |
| 88 | + preview() |
| 89 | +end |
| 90 | + |
| 91 | +cd(@__DIR__) |
| 92 | +finalversion("src/assets/logo.png") |
0 commit comments