backport kosakusha logo conversion to tikz
---
 doc/etc/Makefile.in                      |   11 +
 doc/etc/kosakusha-logo-tikz.tex          |   55 ++++++
 doc/etc/tikzlibraryshadows.blur.code.tex |  282 +++++++++++++++++++++++++++++++
 3 files changed, 348 insertions(+)

--- /dev/null
+++ cafeobj-1.5.5/doc/etc/kosakusha-logo-tikz.tex
@@ -0,0 +1,55 @@
+\documentclass{article}
+\usepackage{fontspec}
+\newfontface\hira{Hiragino Maru Gothic Pro}
+\usepackage{tikz}
+\usetikzlibrary{shadows}
+\usetikzlibrary{shadows.blur}
+\usetikzlibrary{shadings}
+\begin{document}
+\thispagestyle{empty}
+\begin{tikzpicture}
+  \def\yy{2.5cm}
+  \begin{scope}[shift={(0,9pt)}]
+    \fill[black!63,blur shadow={shadow scale=1, shadow yshift=-6pt,
+    shadow xshift=0,shadow opacity=30,shadow blur radius=4pt, shadow
+    blur steps=8}] (0,2*\yy) -- (-4,\yy) -- (0,0) -- (4,\yy) -- (0,2*\yy);
+  
+  \clip (0,2*\yy) -- (-4,\yy) -- (0,0) -- (4,\yy) -- (0,2*\yy);
+  \shade[left color=black!63,right color=black!60] (-4pt,0) rectangle (0,2*\yy) ;
+  \shade[right color=black!63,left color=black!60] (4pt,0) rectangle (0,2*\yy) ;
+  \end{scope}
+  \begin{scope}[shift={(6pt,-3pt)}] 
+    \fill[black!45] (0,0) -- (4,\yy) -- (4,-\yy) -- (0,0); 
+    \fill[black!39,blur shadow={shadow scale=1, shadow yshift=-6pt,
+      shadow xshift=0,shadow opacity=30,shadow blur radius=4pt, shadow
+      blur steps=8}] (0,0) -- (4,-\yy) -- (0,-2*\yy) -- (0,0) ;
+    % extra stripe of different color
+    \clip (0,0) -- (4,\yy) -- (4,-\yy) -- (0,-2*\yy) --  (0,0);
+    \fill[black!44] (0,0) -- (4,-\yy) -- (4,-\yy+5pt) -- (0,5pt) --
+    (0,0) ;
+    \fill[black!38] (0,0) -- (4,-\yy) -- (4,-\yy-5pt) -- (0,-5pt) --
+    (0,0) ;
+  \end{scope}
+  \begin{scope}[shift={(-6pt,-3pt)}]
+    \fill[black!27] (0,0) -- (-4,\yy) -- (-4,-\yy) -- (0,0) ;
+    \fill[black!22,blur shadow={shadow scale=1, shadow yshift=-6pt,
+      shadow xshift=0,shadow opacity=30,shadow blur radius=4pt, shadow
+      blur steps=8}] (0,0) -- (-4,-\yy) -- (0,-2*\yy) -- (0,0) ;
+    \clip (0,0) -- (-4,\yy) -- (-4,-\yy) -- (0,-2*\yy) -- (0,0) ;
+    \fill[black!26] (0,0) -- (-4,-\yy) -- (-4,-\yy+5pt) -- (0,5pt) --
+    (0,0) ;
+    \fill[black!21] (0,0) -- (-4,-\yy) -- (-4,-\yy-5pt) -- (0,-5pt) --
+    (0,0) ;
+  \end{scope}
+
+  \node [rotate=32] at (2.5,-4.4) {\hira\fontsize{30}{30}\selectfont
+    {\color{black!22}考}{\color{black!62}作舍}} ;
+  %
+  % shading of the upper block
+  
+\end{tikzpicture}
+\end{document}
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
--- /dev/null
+++ cafeobj-1.5.5/doc/etc/Makefile.in
@@ -0,0 +1,11 @@
+
+kosakusha-logo-gray.png: kosakusha-logo-gray.pdf
+	convert kosakusha-logo-gray.pdf kosakusha-logo-gray.png
+
+kosakusha-logo-gray.pdf: kosakusha-logo-tikz.pdf
+	pdfcrop kosakusha-logo-tikz.pdf kosakusha-logo-gray.pdf
+
+kosakusha-logo-tikz.pdf: kosakusha-logo-tikz.tex
+	xelatex kosakusha-logo-tikz.tex
+
+
--- /dev/null
+++ cafeobj-1.5.5/doc/etc/tikzlibraryshadows.blur.code.tex
@@ -0,0 +1,282 @@
+%%
+%% This is file `tikzlibraryshadows.blur.code.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% pgf-blur.dtx  (with options: `texfile')
+%% Copyright 2012 Martin Giese, martingi@ifi.uio.no
+%% 
+%% This file is under the LaTeX Project Public License
+%% See CTAN archives in directory macros/latex/base/lppl.txt.
+%% 
+%% DESCRIPTION:
+%%   `pgf-blur' adds blurred/faded/fuzzy shadows to TikZ/PGF
+%% 
+
+
+\def\fileversion{1.01}
+\def\filedate{2012/04/24}
+\message{ v\fileversion, \filedate}
+\usetikzlibrary{shadows}
+\usetikzlibrary{calc}
+\newif\ifpgfbs@invert@fading
+\newcount\pgfbs@fading@count
+\pgfbs@fading@count=0\relax
+\tikzset{
+  /tikz/shadow blur radius/.store in=\pgfbs@radius,
+  /tikz/shadow blur radius=.4ex,
+  /tikz/shadow blur extra rounding/.store in=\pgfbs@extra@rounding,
+  /tikz/shadow blur extra rounding=\pgfutil@empty,
+  /tikz/shadow blur extra rounding/.default=\pgfbs@radius,
+  /tikz/shadow blur steps/.store in=\pgfbs@steps,
+  /tikz/shadow blur steps=4,
+  /tikz/shadow blur invert/.is if=pgfbs@invert@fading,
+  /tikz/shadow opacity/.store in=\pgfbs@opacity,
+  /tikz/shadow opacity=40,
+  /tikz/blur shadow/.style={
+    shadow scale=1,
+    shadow xshift=.5ex,
+    shadow yshift=-.5ex,
+    preaction=render blur shadow,
+    every shadow,
+    #1,
+  },
+  /tikz/render blur shadow/.code={
+    \pgfbs@savebb
+    \global\advance\pgfbs@fading@count by 1\relax
+    \pgfsyssoftpath@getcurrentpath{\pgfbs@input@path}%
+    \pgfbs@compute@shadow@bbox
+    \pgfbs@process@rounding{\pgfbs@input@path}{\pgfbs@fadepath}%
+    \pgfbs@apply@canvas@transform
+    \colorlet{pstb@shadow@color}{white!\pgfbs@opacity!black}%
+    \ifpgfbs@invert@fading
+    \pgfdeclarefading{shadowfading-\the\pgfbs@fading@count}{\pgfbs@paint@invert@fading}%
+    \else
+    \pgfdeclarefading{shadowfading-\the\pgfbs@fading@count}{\pgfbs@paint@fading}%
+    \fi
+    \pgfsetfillcolor{black}%
+    \pgfsetfading{shadowfading-\the\pgfbs@fading@count}%
+       {\pgftransformshift{\pgfpoint{\pgfbs@midx}{\pgfbs@midy}}}%
+    \pgfbs@usebbox{fill}%
+    \pgfbs@restorebb
+  },
+}
+\def\pgfbs@savebb{%
+  \edef\pgfbs@restorebb{%
+    \global\pgf@picminx=\the\pgf@picminx\relax
+    \global\pgf@picmaxx=\the\pgf@picmaxx\relax
+    \global\pgf@picminy=\the\pgf@picminy\relax
+    \global\pgf@picmaxy=\the\pgf@picmaxy\relax
+  }%
+}
+\def\restorebb{}%
+\def\pgfbs@process@rounding#1#2{
+  \expandafter\ifx\pgfbs@extra@rounding\pgfutil@empty%
+    \pgfprocessround{#1}{#2}%
+  \else%
+    \pgfmathsetmacro\pgfbs@exrd@val{\pgfbs@extra@rounding}%
+    \pgfbs@roundpath{#1}{\pgfbs@exrd@val pt}%
+    \pgfsyssoftpath@getcurrentpath{\pgfbs@extraroundedpath}%
+    \pgfprocessround{\pgfbs@extraroundedpath}{#2}%
+  \fi%
+}
+\def\pgfbs@roundpath#1#2{%
+  {%
+    \def\pgfbs@rp@skipround{%
+      \let\pgfbs@rp@possibleround\pgfbs@rp@insertround}%
+    \def\pgfbs@rp@insertround{\pgfsyssoftpath@specialround{#2}{#2}}%
+    \let\pgfbs@rp@possibleround\pgfbs@rp@insertround%
+    %
+    \def\pgfsyssoftpath@movetotoken##1##2{%
+      \pgfsyssoftpath@moveto{##1}{##2}}%
+    \def\pgfsyssoftpath@linetotoken##1##2{%
+      \pgfbs@rp@possibleround\pgfsyssoftpath@lineto{##1}{##2}}%
+    \def\pgfsyssoftpath@rectcornertoken##1##2##3##4##5{%
+      \pgf@xa=##1\relax%
+      \advance\pgf@xa by##4%
+      \pgf@ya=##2\relax%
+      \advance\pgf@ya by##5%
+      \pgfsyssoftpath@moveto{##1}{##2}%
+      \pgfbs@rp@possibleround%
+      \pgfsyssoftpath@lineto{\the\pgf@xa}{##2}%
+      \pgfbs@rp@possibleround%
+      \pgfsyssoftpath@lineto{\the\pgf@xa}{\the\pgf@ya}%
+      \pgfbs@rp@possibleround%
+      \pgfsyssoftpath@lineto{##1}{\the\pgf@ya}%
+      \pgfbs@rp@possibleround%
+      \pgfsyssoftpath@closepath}%
+    \def\pgfsyssoftpath@curvetosupportatoken%
+       ##1##2##3##4##5##6##7##8{%
+      \pgfbs@rp@possibleround%
+      \pgfsyssoftpath@curveto{##1}{##2}{##4}{##5}{##7}{##8}}%
+    \def\pgfsyssoftpath@closepathtoken##1##2{%
+      \pgfbs@rp@possibleround\pgfsyssoftpath@closepath}%
+    \def\pgfsyssoftpath@specialroundtoken##1##2{%
+      \pgfmathsetmacro\pgfbs@rp@ra{max(##1,#2)}%
+      \pgfmathsetmacro\pgfbs@rp@rb{max(##2,#2)}%
+      \pgfsyssoftpath@specialround%
+          {\pgfbs@rp@ra pt}{\pgfbs@rp@rb pt}%
+      \let\pgfbs@rp@possibleround\pgfbs@rp@skipround%
+    }
+    #1%
+  }
+}
+\def\pgfbs@compute@shadow@bbox{%
+  \edef\pgfbs@minx{\the\pgf@pathminx}%
+  \edef\pgfbs@miny{\the\pgf@pathminy}%
+  \edef\pgfbs@maxx{\the\pgf@pathmaxx}%
+  \edef\pgfbs@maxy{\the\pgf@pathmaxy}%
+  \pgfmathsetmacro\pgfbs@midx{0.5*(\pgfbs@minx + \pgfbs@maxx)}%
+  \pgfmathsetmacro\pgfbs@midy{0.5*(\pgfbs@miny + \pgfbs@maxy)}%
+  \pgfmathsetmacro\pgfbs@minx{\pgfbs@minx - 2*\pgfbs@radius}%
+  \pgfmathsetmacro\pgfbs@miny{\pgfbs@miny - 2*\pgfbs@radius}%
+  \pgfmathsetmacro\pgfbs@maxx{\pgfbs@maxx + 2*\pgfbs@radius}%
+  \pgfmathsetmacro\pgfbs@maxy{\pgfbs@maxy + 2*\pgfbs@radius}%
+  \pgfmathsetmacro\pgfbs@wd{\pgfbs@maxx - \pgfbs@minx}%
+  \pgfmathsetmacro\pgfbs@ht{\pgfbs@maxy - \pgfbs@miny}%
+  \pgfsyssoftpath@setcurrentpath\pgfutil@empty%
+  \pgfsyssoftpath@rect{\pgfbs@minx pt}{\pgfbs@miny pt}%
+                      {\pgfbs@wd pt}{\pgfbs@ht pt}%
+  \pgfsyssoftpath@getcurrentpath{\pgfbs@shadow@bbox}%
+  \pgfsyssoftpath@setcurrentpath\pgfutil@empty%
+}
+
+\def\pgfbs@set@fading@pic@bbox{
+  \global\pgf@picminx=\pgfbs@minx pt\relax
+  \global\pgf@picminy=\pgfbs@miny pt\relax
+  \global\pgf@picmaxx=\pgfbs@maxx pt\relax
+  \global\pgf@picmaxy=\pgfbs@maxy pt\relax
+}
+\def\pgfbs@usefadepath#1{%
+  \pgfsyssoftpath@setcurrentpath{\pgfbs@fadepath}%
+  \pgfsyssoftpath@flushcurrentpath%
+  \pgfusepath{#1}%
+}
+\def\pgfbs@usebbox#1{%
+  \pgfsyssoftpath@setcurrentpath{\pgfbs@shadow@bbox}%
+  \pgfsyssoftpath@flushcurrentpath%
+  \pgfusepath{#1}%
+}
+\def\pgfbs@usefadeandbbox#1{%
+  \let\pgfbs@temppath\pgfbs@fadepath
+  \expandafter\expandafter\expandafter\def\expandafter\expandafter\expandafter\pgfbs@temppath\expandafter\expandafter\expandafter{\expandafter\pgfbs@temppath\pgfbs@shadow@bbox}%
+  \pgfsyssoftpath@setcurrentpath{\pgfbs@temppath}%
+  \pgfsyssoftpath@flushcurrentpath%
+  \pgfusepath{#1}%
+}
+\def\pgfbs@apply@canvas@transform{
+  \pgflowlevel{
+    \pgftransformshift{\pgfpoint{\pgfbs@midx}{\pgfbs@midy}}
+    \pgftransformscale{\pgfkeysvalueof{/tikz/shadow scale}}
+    \pgftransformshift{\pgfpoint%
+      {\pgfkeysvalueof{/tikz/shadow xshift}-\pgfbs@midx}
+      {\pgfkeysvalueof{/tikz/shadow yshift}-\pgfbs@midy}
+    }
+  }
+}
+\def\pgfbs@paint@fading{
+  \pgfpicture
+  \pgfsetbaseline{\pgf@picminy}%
+    % fix bounding box.
+    \pgfbs@set@fading@pic@bbox
+    % compute increments for line width and opacity
+    \pgfmathsetmacro\pgfbs@op@step{50/\pgfbs@steps}
+    \pgfmathsetmacro\pgfbs@wth@step{4*\pgfbs@radius/(2*\pgfbs@steps-1)}
+    % draw the outer part of the fading,
+    % starting with lightest, outermost line
+    \pgfsetroundjoin
+    \pgfmathsetmacro\pgfbs@max@i{\pgfbs@steps-2}
+    \pgfmathsetmacro\pgfbs@wth{2*\pgfbs@radius}
+    \pgfmathsetmacro\pgfbs@op{100-0.5*\pgfbs@op@step}
+    \foreach \pgfbs@i in {0,...,\pgfbs@max@i} {
+      \pgfsetlinewidth{\pgfbs@wth pt}
+      \pgfsetstrokecolor{black!\pgfbs@op!pstb@shadow@color}
+      \pgfbs@usefadepath{stroke}
+      \pgfmathsetmacro\pgfbs@wth{\pgfbs@wth-\pgfbs@wth@step}
+      \global\let\pgfbs@wth=\pgfbs@wth
+      \pgfmathsetmacro\pgfbs@op{\pgfbs@op-\pgfbs@op@step}
+      \global\let\pgfbs@op=\pgfbs@op
+    }
+    % clip to inside of path
+    \scope
+    \pgfbs@usefadepath{clip}
+    % fill inside with final darkest shadow color
+    \pgfsetfillcolor{pstb@shadow@color}
+    \pgfbs@usebbox{fill}
+    % draw the inner part of the fading,
+    % starting with the darkest, innermost line
+    \pgfmathsetmacro\pgfbs@wth{2*\pgfbs@radius}
+    \pgfmathsetmacro\pgfbs@op{0.5*\pgfbs@op@step}
+    \foreach \pgfbs@i in {0,...,\pgfbs@max@i} {
+      \pgfsetlinewidth{\pgfbs@wth pt}
+      \pgfsetstrokecolor{black!\pgfbs@op!pstb@shadow@color}
+      \pgfbs@usefadepath{stroke}
+      \pgfmathsetmacro\pgfbs@wth{\pgfbs@wth-\pgfbs@wth@step}
+      \global\let\pgfbs@wth=\pgfbs@wth
+      \pgfmathsetmacro\pgfbs@op{\pgfbs@op+\pgfbs@op@step}
+      \global\let\pgfbs@op=\pgfbs@op
+    }
+    \endscope
+    % a final stroke to hide clip/antialiasing artifcats
+    \pgfsetstrokecolor{black!50!pstb@shadow@color}
+    \pgfsetlinewidth{0.5*\pgfbs@wth@step}
+    \pgfbs@usefadepath{stroke}
+  \endpgfpicture
+}
+\def\pgfbs@paint@invert@fading{
+  \pgfpicture
+  \pgfsetbaseline{\pgf@picminy}%
+    % fix bounding box.
+    \pgfbs@set@fading@pic@bbox
+    % compute increments for line width and opacity
+    \pgfmathsetmacro\pgfbs@op@step{50/\pgfbs@steps}
+    \pgfmathsetmacro\pgfbs@wth@step{4*\pgfbs@radius/(2*\pgfbs@steps-1)}
+    % draw the outer part of the fading,
+    % starting with lightest, outermost line
+    \pgfsetroundjoin
+    \pgfmathsetmacro\pgfbs@max@i{\pgfbs@steps-2}
+    \pgfmathsetmacro\pgfbs@wth{2*\pgfbs@radius}
+    \pgfmathsetmacro\pgfbs@op{0.5*\pgfbs@op@step}
+    \foreach \pgfbs@i in {0,...,\pgfbs@max@i} {
+      \pgfsetlinewidth{\pgfbs@wth pt}
+      \pgfsetstrokecolor{black!\pgfbs@op!pstb@shadow@color}
+      \pgfbs@usefadepath{stroke}
+      \pgfmathsetmacro\pgfbs@wth{\pgfbs@wth-\pgfbs@wth@step}
+      \global\let\pgfbs@wth=\pgfbs@wth
+      \pgfmathsetmacro\pgfbs@op{\pgfbs@op+\pgfbs@op@step}
+      \global\let\pgfbs@op=\pgfbs@op
+    }
+    % clip to inside of path
+    \scope
+    \pgfseteorule
+    \pgfbs@usefadeandbbox{clip}
+    % fill inside with final darkest shadow color
+    \pgfsetfillcolor{pstb@shadow@color}
+    \pgfbs@usebbox{fill}
+    \endscope
+    \scope
+    \pgfbs@usefadepath{clip}
+    % draw the inner part of the fading,
+    % starting with the darkest, innermost line
+    \pgfmathsetmacro\pgfbs@wth{2*\pgfbs@radius}
+    \pgfmathsetmacro\pgfbs@op{100-0.5*\pgfbs@op@step}
+    \foreach \pgfbs@i in {0,...,\pgfbs@max@i} {
+      \pgfsetlinewidth{\pgfbs@wth pt}
+      \pgfsetstrokecolor{black!\pgfbs@op!pstb@shadow@color}
+      \pgfbs@usefadepath{stroke}
+      \pgfmathsetmacro\pgfbs@wth{\pgfbs@wth-\pgfbs@wth@step}
+      \global\let\pgfbs@wth=\pgfbs@wth
+      \pgfmathsetmacro\pgfbs@op{\pgfbs@op-\pgfbs@op@step}
+      \global\let\pgfbs@op=\pgfbs@op
+    }
+    \endscope
+    % a final stroke to hide clip/antialiasing artifcats
+    \pgfsetstrokecolor{black!50!pstb@shadow@color}
+    \pgfsetlinewidth{0.5*\pgfbs@wth@step}
+    \pgfbs@usefadepath{stroke}
+  \endpgfpicture
+}
+\endinput
+%%
+%% End of file `tikzlibraryshadows.blur.code.tex'.
