Commit 356e71522856b73456bb82b3ddbd253f441fa209
1 parent
83d82a85
Hand-coded PostScript logo; semi-automated svg logo
Showing
2 changed files
with
131 additions
and
0 deletions
logo/qpdf.ps
0 → 100644
| 1 | +%!PS-Adobe-2.0 EPSF-2.0 | ||
| 2 | +%%Creator: E. Jay Berkenbilt | ||
| 3 | +%%Title: qpdf logo | ||
| 4 | +%%CreationDate: $Date: 2000/02/11 03:25:50 $ | ||
| 5 | +%%Orientation: Portrait | ||
| 6 | +%%BoundingBox: 0 0 512 420 | ||
| 7 | +%%Pages: 0 | ||
| 8 | +%%EndComments | ||
| 9 | +% | ||
| 10 | +% $Id: postscript,v 1.4 2000/02/11 03:25:50 ejb Exp $ | ||
| 11 | +% $Source: /home/ejb/templates/RCS/postscript,v $ | ||
| 12 | +% $Author: ejb $ | ||
| 13 | +% | ||
| 14 | + | ||
| 15 | +% | ||
| 16 | +% To generate svg: | ||
| 17 | +% * Use ps2pdf to convert to pdf | ||
| 18 | +% * Edit the mediabox of the page in the pdf to match the bounding box | ||
| 19 | +% * Use pdf2svg to generate the svg file | ||
| 20 | +% | ||
| 21 | + | ||
| 22 | +%%BeginProlog | ||
| 23 | + | ||
| 24 | +% Bounding box and page bounding box must match fullwidth and fullheight. | ||
| 25 | +/fullheight 420 def % must be { outerheight linewidth add } | ||
| 26 | +/fullwidth 512 def | ||
| 27 | + | ||
| 28 | +/linewidth 10 def | ||
| 29 | +/outerwidth fullwidth linewidth sub def | ||
| 30 | +/radius 30 def | ||
| 31 | +/letterwidth 80 def | ||
| 32 | +/fudge .08 def | ||
| 33 | +/letterheight letterwidth 2 mul def | ||
| 34 | +/outerheight letterheight 2 mul radius 3 mul add def | ||
| 35 | +/space outerwidth letterwidth 4 mul sub 5 div def | ||
| 36 | +/margin space def | ||
| 37 | + | ||
| 38 | +% radius drawOuter | ||
| 39 | +/drawOuter { | ||
| 40 | + gsave | ||
| 41 | + newpath | ||
| 42 | + linewidth setlinewidth | ||
| 43 | + radius 0 moveto | ||
| 44 | + outerwidth 0 outerwidth radius radius arcto | ||
| 45 | + outerwidth outerheight outerheight radius sub outerheight radius arcto | ||
| 46 | + 0 outerheight 0 outerheight radius sub radius arcto | ||
| 47 | + 0 0 radius 0 radius arcto | ||
| 48 | + closepath | ||
| 49 | + stroke | ||
| 50 | + grestore | ||
| 51 | +} def | ||
| 52 | + | ||
| 53 | +% r draw-circle -- draw circle centered at current point | ||
| 54 | +/draw-circle { | ||
| 55 | + 1 dict begin | ||
| 56 | + /r exch def | ||
| 57 | + currentpoint exch r sub exch r 0 360 arc | ||
| 58 | + end | ||
| 59 | +} def | ||
| 60 | + | ||
| 61 | +%%EndProlog | ||
| 62 | + | ||
| 63 | +%%Page: 1 1 | ||
| 64 | +%%PageBoundingBox: 0 0 512 420 | ||
| 65 | + | ||
| 66 | +linewidth 2 div fullheight outerheight sub 2 div translate | ||
| 67 | +drawOuter | ||
| 68 | +gsave | ||
| 69 | + linewidth setlinewidth | ||
| 70 | + 1 setlinecap | ||
| 71 | + newpath | ||
| 72 | + % position to left of q | ||
| 73 | + margin outerheight 2 div moveto | ||
| 74 | + % draw q | ||
| 75 | + letterwidth letterwidth 2 div rmoveto | ||
| 76 | + letterwidth 2 div draw-circle | ||
| 77 | + 0 letterheight letterwidth 2 div add radius sub neg rlineto | ||
| 78 | + currentpoint radius sub % x1 y1 | ||
| 79 | + 2 copy exch letterwidth add exch % x2 y2 | ||
| 80 | + radius arcto | ||
| 81 | + letterwidth 3 mul space 3 mul add radius 2 mul sub 0 rlineto | ||
| 82 | + currentpoint exch radius add exch | ||
| 83 | + 2 copy radius add | ||
| 84 | + radius arcto | ||
| 85 | + 0 letterheight rlineto | ||
| 86 | + | ||
| 87 | + % position to left of p | ||
| 88 | + margin letterwidth space add add outerheight 2 div moveto | ||
| 89 | + space fudge mul 0 rmoveto | ||
| 90 | + letterwidth letterwidth 2 div rmoveto | ||
| 91 | + letterwidth 2 div draw-circle | ||
| 92 | + letterwidth neg 0 rmoveto | ||
| 93 | + 0 letterheight letterwidth 2 div sub neg rlineto | ||
| 94 | + | ||
| 95 | + % position to left of d | ||
| 96 | + margin letterwidth space add 2 mul add outerheight 2 div moveto | ||
| 97 | + space fudge mul neg 0 rmoveto | ||
| 98 | + letterwidth letterwidth 2 div rmoveto | ||
| 99 | + letterwidth 2 div draw-circle | ||
| 100 | + 0 letterheight letterwidth 2 div sub rlineto | ||
| 101 | + | ||
| 102 | + % position to left of f | ||
| 103 | + margin letterwidth space add 3 mul add outerheight 2 div moveto | ||
| 104 | + % draw f | ||
| 105 | + currentpoint letterheight add | ||
| 106 | + 2 copy exch radius add exch | ||
| 107 | + radius arcto | ||
| 108 | + currentpoint exch radius sub letterwidth add exch | ||
| 109 | + 2 copy radius sub | ||
| 110 | + radius arcto | ||
| 111 | + letterwidth neg letterheight | ||
| 112 | + letterwidth sub radius sub | ||
| 113 | + linewidth 2 div add neg rmoveto | ||
| 114 | + letterwidth .8 mul 0 rlineto | ||
| 115 | + | ||
| 116 | + | ||
| 117 | + stroke | ||
| 118 | +grestore | ||
| 119 | + | ||
| 120 | +%%PageTrailer | ||
| 121 | + | ||
| 122 | +%%Trailer | ||
| 123 | + | ||
| 124 | +%%EOF |
logo/qpdf.svg
0 → 100644
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | ||
| 2 | +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="512pt" height="420pt" viewBox="0 0 512 420" version="1.1"> | ||
| 3 | +<g id="surface1"> | ||
| 4 | +<path style="fill:none;stroke-width:100;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 350 50 L 4770 50 C 4935.664062 50 5070 184.296875 5070 350 L 5070 3850 C 5070 4015.664062 4935.664062 4150 4770 4150 L 350 4150 C 184.296875 4150 50 4015.664062 50 3850 L 50 350 C 50 184.296875 184.296875 50 350 50 Z M 350 50 " transform="matrix(0.1,0,0,-0.1,0,420)"/> | ||
| 5 | +<path style="fill:none;stroke-width:100;stroke-linecap:round;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 1213.984375 2500 C 1213.984375 2720.898438 1034.921875 2900 813.984375 2900 C 593.085938 2900 413.984375 2720.898438 413.984375 2500 C 413.984375 2279.101562 593.085938 2100 813.984375 2100 C 1034.921875 2100 1213.984375 2279.101562 1213.984375 2500 L 1213.984375 800 C 1213.984375 634.296875 1348.320312 500 1513.984375 500 L 4406.015625 500 C 4571.679688 500 4706.015625 634.296875 4706.015625 800 L 4706.015625 2400 M 2407.109375 2500 C 2407.109375 2720.898438 2228.046875 2900 2007.109375 2900 C 1786.210938 2900 1607.109375 2720.898438 1607.109375 2500 C 1607.109375 2279.101562 1786.210938 2100 2007.109375 2100 C 2228.046875 2100 2407.109375 2279.101562 2407.109375 2500 M 1607.109375 2500 L 1607.109375 1300 M 3512.890625 2500 C 3512.890625 2720.898438 3333.789062 2900 3112.890625 2900 C 2891.953125 2900 2712.890625 2720.898438 2712.890625 2500 C 2712.890625 2279.101562 2891.953125 2100 3112.890625 2100 C 3333.789062 2100 3512.890625 2279.101562 3512.890625 2500 L 3512.890625 3700 M 3906.015625 2100 L 3906.015625 3400 C 3906.015625 3565.664062 4040.3125 3700 4206.015625 3700 L 4406.015625 3700 C 4571.679688 3700 4706.015625 3565.664062 4706.015625 3400 M 3906.015625 2850 L 4546.015625 2850 " transform="matrix(0.1,0,0,-0.1,0,420)"/> | ||
| 6 | +</g> | ||
| 7 | +</svg> |