aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2018-02-18 03:46:21 +0100
committerJay Berkenbilt <ejb@ql.org>2018-02-18 05:35:42 +0100
commit356e71522856b73456bb82b3ddbd253f441fa209 (patch)
tree99770ca18b3caa67085c964359143ca711ff5394
parent83d82a85d01b2e1e727babbce851a121bf110a50 (diff)
downloadqpdf-356e71522856b73456bb82b3ddbd253f441fa209.tar.zst
Hand-coded PostScript logo; semi-automated svg logo
-rw-r--r--logo/qpdf.ps124
-rw-r--r--logo/qpdf.svg7
2 files changed, 131 insertions, 0 deletions
diff --git a/logo/qpdf.ps b/logo/qpdf.ps
new file mode 100644
index 00000000..745205f7
--- /dev/null
+++ b/logo/qpdf.ps
@@ -0,0 +1,124 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Creator: E. Jay Berkenbilt
+%%Title: qpdf logo
+%%CreationDate: $Date: 2000/02/11 03:25:50 $
+%%Orientation: Portrait
+%%BoundingBox: 0 0 512 420
+%%Pages: 0
+%%EndComments
+%
+% $Id: postscript,v 1.4 2000/02/11 03:25:50 ejb Exp $
+% $Source: /home/ejb/templates/RCS/postscript,v $
+% $Author: ejb $
+%
+
+%
+% To generate svg:
+% * Use ps2pdf to convert to pdf
+% * Edit the mediabox of the page in the pdf to match the bounding box
+% * Use pdf2svg to generate the svg file
+%
+
+%%BeginProlog
+
+% Bounding box and page bounding box must match fullwidth and fullheight.
+/fullheight 420 def % must be { outerheight linewidth add }
+/fullwidth 512 def
+
+/linewidth 10 def
+/outerwidth fullwidth linewidth sub def
+/radius 30 def
+/letterwidth 80 def
+/fudge .08 def
+/letterheight letterwidth 2 mul def
+/outerheight letterheight 2 mul radius 3 mul add def
+/space outerwidth letterwidth 4 mul sub 5 div def
+/margin space def
+
+% radius drawOuter
+/drawOuter {
+ gsave
+ newpath
+ linewidth setlinewidth
+ radius 0 moveto
+ outerwidth 0 outerwidth radius radius arcto
+ outerwidth outerheight outerheight radius sub outerheight radius arcto
+ 0 outerheight 0 outerheight radius sub radius arcto
+ 0 0 radius 0 radius arcto
+ closepath
+ stroke
+ grestore
+} def
+
+% r draw-circle -- draw circle centered at current point
+/draw-circle {
+ 1 dict begin
+ /r exch def
+ currentpoint exch r sub exch r 0 360 arc
+ end
+} def
+
+%%EndProlog
+
+%%Page: 1 1
+%%PageBoundingBox: 0 0 512 420
+
+linewidth 2 div fullheight outerheight sub 2 div translate
+drawOuter
+gsave
+ linewidth setlinewidth
+ 1 setlinecap
+ newpath
+ % position to left of q
+ margin outerheight 2 div moveto
+ % draw q
+ letterwidth letterwidth 2 div rmoveto
+ letterwidth 2 div draw-circle
+ 0 letterheight letterwidth 2 div add radius sub neg rlineto
+ currentpoint radius sub % x1 y1
+ 2 copy exch letterwidth add exch % x2 y2
+ radius arcto
+ letterwidth 3 mul space 3 mul add radius 2 mul sub 0 rlineto
+ currentpoint exch radius add exch
+ 2 copy radius add
+ radius arcto
+ 0 letterheight rlineto
+
+ % position to left of p
+ margin letterwidth space add add outerheight 2 div moveto
+ space fudge mul 0 rmoveto
+ letterwidth letterwidth 2 div rmoveto
+ letterwidth 2 div draw-circle
+ letterwidth neg 0 rmoveto
+ 0 letterheight letterwidth 2 div sub neg rlineto
+
+ % position to left of d
+ margin letterwidth space add 2 mul add outerheight 2 div moveto
+ space fudge mul neg 0 rmoveto
+ letterwidth letterwidth 2 div rmoveto
+ letterwidth 2 div draw-circle
+ 0 letterheight letterwidth 2 div sub rlineto
+
+ % position to left of f
+ margin letterwidth space add 3 mul add outerheight 2 div moveto
+ % draw f
+ currentpoint letterheight add
+ 2 copy exch radius add exch
+ radius arcto
+ currentpoint exch radius sub letterwidth add exch
+ 2 copy radius sub
+ radius arcto
+ letterwidth neg letterheight
+ letterwidth sub radius sub
+ linewidth 2 div add neg rmoveto
+ letterwidth .8 mul 0 rlineto
+
+
+ stroke
+grestore
+
+%%PageTrailer
+
+%%Trailer
+
+%%EOF
diff --git a/logo/qpdf.svg b/logo/qpdf.svg
new file mode 100644
index 00000000..6d5cbe4a
--- /dev/null
+++ b/logo/qpdf.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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">
+<g id="surface1">
+<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)"/>
+<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)"/>
+</g>
+</svg>