• R/O
  • SSH
  • HTTPS

tsukurimashou: Commit


Commit MetaInfo

Revision464 (tree)
Time2013-09-09 01:03:20
Authormskala

Log Message

TUG presentation materials

Change Summary

Incremental Difference

--- trunk/doc/usermanual.tex (revision 463)
+++ trunk/doc/usermanual.tex (revision 464)
@@ -137,9 +137,9 @@
137137 \phantomsection\belowpdfbookmark{コピーライト Copyright}{bkm:copyright}
138138
139139 This project's English-language home page is at\\
140-\hspace*{1em}\url{http://tsukurimashou.sourceforge.jp/index.html.en}.\\
140+\hspace*{1em}\url{http://tsukurimashou.sourceforge.jp/index.php.en}.\\
141141 このプロジェクトは、日本語のページが\\
142-\hspace*{1em}\url{http://tsukurimashou.sourceforge.jp/index.html.ja}です。
142+\hspace*{1em}\url{http://tsukurimashou.sourceforge.jp/index.php.ja}です。
143143
144144 \vspace*{1in}
145145
@@ -399,9 +399,9 @@
399399
400400 The home pages for this project, where you can download the latest releases,
401401 browse the source-control repository, and so on, are:\\
402-\hspace*{1em}\url{http://tsukurimashou.sourceforge.jp/index.html.en}%
402+\hspace*{1em}\url{http://tsukurimashou.sourceforge.jp/index.php.en}%
403403 \quad (English)\\
404-\hspace*{1em}\url{http://tsukurimashou.sourceforge.jp/index.html.ja}%
404+\hspace*{1em}\url{http://tsukurimashou.sourceforge.jp/index.php.ja}%
405405 \quad(日本語)
406406
407407 よろしくおねがいします。
--- trunk/tug2013/reach.tex (nonexistent)
+++ trunk/tug2013/reach.tex (revision 464)
@@ -0,0 +1,35 @@
1+\documentclass[17pt]{extarticle}
2+
3+\usepackage{fontspec}
4+\usepackage[papersize={4.9in,2.6in},hmargin={0.1in},%
5+ vmargin={0.1in}]{geometry}
6+\usepackage{tikz}
7+
8+\usetikzlibrary{arrows,calc,decorations.markings,decorations.pathreplacing,%
9+ shapes.callouts,shapes.geometric}
10+
11+\usepgflibrary{arrows.new}
12+
13+\tikzset{bigah/.style={draw,ultra thick,->,>=latex' new,arrow head=6mm}}
14+
15+\defaultfontfeatures{Path={../otf/},Mapping=tex-text}
16+
17+\setmainfont[ItalicFont={TsuItaSokuPS},BoldFont={TsukurimashouKakuBoldPS}]%
18+ {TsukurimashouKakuPS}
19+
20+\newenvironment{bil}%
21+ {\renewcommand{\arraystretch}{0.6}\begin{tabular}{cc}}{\end{tabular}}
22+
23+\pagestyle{empty}
24+
25+\begin{document}
26+\noindent
27+\begin{tikzpicture}
28+ \node at (-3,0) {\scalebox{10}{\char"53CA}};
29+ \node at (-3,-3) {Kaku};
30+ \draw[red,very thick] (-2.8,0.6) circle[radius=1];
31+ \node at (3,0) {\scalebox{10}{\fontspec{TsukurimashouMinchoPS}\char"53CA}};
32+ \node at (3,-3) {\fontspec{TsukurimashouMinchoPS}Mincho};
33+ \draw[red,very thick] (3.2,0.6) circle[radius=1];
34+\end{tikzpicture}
35+\end{document}
--- trunk/tug2013/styles.tex (nonexistent)
+++ trunk/tug2013/styles.tex (revision 464)
@@ -0,0 +1,36 @@
1+\documentclass[17pt]{extarticle}
2+
3+\usepackage{fontspec}
4+\usepackage[papersize={3.9in,3.8in},hmargin={0.1in},%
5+ vmargin={0.1in}]{geometry}
6+
7+\defaultfontfeatures{Path={../otf/},Mapping=tex-text}
8+\pagestyle{empty}
9+
10+\begin{document}
11+\noindent
12+\begin{tabular}{ll}
13+ \multicolumn{2}{c}{\fontspec{TsukurimashouKakuPS}Tsukurimashou Font Meta-Family} \\
14+ \multicolumn{2}{c}{\fontspec{TsukurimashouBokukko}さてさて、何が出来るかな?} \\
15+ \fontspec{TsukurimashouKakuPS}Kaku 角 &
16+ \fontspec{TsukurimashouKakuExtraLightPS}Extra Light 白字 \\
17+ \fontspec{TsukurimashouMinchoPS}Mincho 明朝 &
18+ \fontspec{TsukurimashouKakuLightPS}Light 軽字\\
19+ \fontspec{TsukurimashouMaruPS}Maru 丸 &
20+ \fontspec{TsukurimashouKakuPS}Normal 本 \\
21+ \fontspec{TsukurimashouBokukkoPS}Bokukko 僕女 &
22+ \fontspec{TsukurimashouKakuDemiboldPS}Demibold 半太字\\
23+ \fontspec{TsukurimashouMincho}Monospace &
24+ \fontspec{TsukurimashouKakuBoldPS}Bold 太字 \\
25+ \fontspec{TsukurimashouMinchoPS}Proportional &
26+ \fontspec{TsukurimashouKakuExtraBoldPS}Extra Bold 黒字 \\
27+ \fontspec{TsuItaAtamaPS}TsuIta Atama PS &
28+ \fontspec{TsuItaAtamaPS}ツイタ頭 PS \\
29+ \fontspec{TsuItaSokuPS}TsuIta Soku PS &
30+ \fontspec{TsuItaSokuPS}ツイタ足 PS \\
31+ \fontspec[RawFeature={+ccmp,+ljmo,+vjmo,+liga}]{JieubsidaDodumPS}Jieubsida 지읍시다 &
32+ \fontspec[RawFeature={+ccmp,+ljmo,+vjmo,+liga}]{JieubsidaDodumPS}Dodum 돋움 \\
33+ \fontspec[RawFeature={+ccmp,+ljmo,+vjmo,+liga}]{JieubsidaBatangPS}Batang 바탕&
34+ \fontspec[RawFeature={+ccmp,+ljmo,+vjmo,+liga}]{JieubsidaSunMoonPS}Sun-Moon 선문
35+\end{tabular}
36+\end{document}
--- trunk/tug2013/slides.tex (nonexistent)
+++ trunk/tug2013/slides.tex (revision 464)
@@ -0,0 +1,956 @@
1+\documentclass[17pt]{extarticle}
2+
3+\usepackage{euler}
4+\usepackage{fontspec}
5+
6+\usepackage{amsmath}
7+\usepackage{array}
8+\usepackage{fancyhdr}
9+\usepackage[papersize={12in,9in},hmargin={0.7in},%
10+ vmargin={0.5in},headsep={0.1in}]{geometry}
11+\usepackage{mflogo}
12+\usepackage{metalogo}
13+\usepackage{wallpaper}
14+\usepackage{xltxtra}
15+
16+\usepackage{tikz}
17+
18+\usetikzlibrary{arrows,calc,decorations.markings,decorations.pathreplacing,%
19+ shapes.callouts,shapes.geometric}
20+
21+\usepgflibrary{arrows.new}
22+
23+\tikzset{bigah/.style={draw,ultra thick,->,>=latex' new,arrow head=6mm}}
24+
25+\defaultfontfeatures{Path={../otf/},Mapping=tex-text}
26+
27+\setmainfont[ItalicFont={TsuItaSokuPS},BoldFont={TsukurimashouKakuBoldPS}]%
28+ {TsukurimashouKakuPS}
29+\setsansfont[ItalicFont={TsuItaSokuPS},BoldFont={TsukurimashouKakuBoldPS}]%
30+ {TsukurimashouKakuPS}
31+\setmonofont[WordSpace={1,0,0},PunctuationSpace=3,Mapping={}]%
32+ {TsukurimashouBokukko}
33+\renewcommand{\labelitemi}{{\fontspec[RawFeature=+ornm]{TsukurimashouKakuPS}C}}
34+
35+\newfontface{\jieubsida}[RawFeature={+ccmp,+ljmo,+vjmo,+liga}]%
36+ {JieubsidaBatangPS}
37+\newfontface{\mincho}{TsukurimashouMincho}
38+
39+\setlogokern{eL}{-0.03em}
40+\setlogokern{La}{-0.20em}
41+
42+\renewcommand*{\thefootnote}{\fnsymbol{footnote}}
43+
44+\newenvironment{slide}{\clearpage\vspace*{\fill}\large}{\vspace*{\fill}}
45+
46+\newenvironment{bil}%
47+ {\renewcommand{\arraystretch}{0.6}\begin{tabular}{cc}}{\end{tabular}}
48+
49+\newcommand{\slidetitle}[1]%
50+ {{\centering\Large\sffamily\bfseries#1\par}\rmfamily}
51+
52+\setlength{\parskip}{\baselineskip}
53+\setlength{\parindent}{0pt}
54+
55+\begin{document}
56+
57+\pagestyle{fancy}
58+\rhead{\large http://tsukurimashou.sourceforge.jp/}
59+\cfoot{}
60+\renewcommand{\headrulewidth}{0pt}
61+
62+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
63+
64+\begin{slide}
65+ \sffamily
66+ \begin{center}\Huge\bfseries
67+ Tsukurimashou: a Japanese-language font meta-family \\[1cm]
68+ 『作りましょう』\\
69+ 日本語のフォントのメタファミリー
70+ \end{center}
71+
72+ \vspace{1.5in}
73+ \begin{center}
74+ \Large\bfseries Matthew Skala, University of Manitoba$^\textrm{*}$\\
75+ マッシュ\,・\,スカラ\quad マニトバ大学$^\textrm{*}$
76+ \end{center}
77+\end{slide}
78+
79+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
80+
81+\begin{slide}
82+
83+\hspace{0.5in}
84+\begin{minipage}{5in}
85+\slidetitle{Outline}
86+
87+\begin{itemize}
88+\item Japanese is easy!
89+\item Japanese is impossible!
90+\item Tsukurimashou
91+\item Character databases
92+\end{itemize}
93+\end{minipage}
94+\hspace{\fill}
95+{\renewcommand{\arraystretch}{0.45}\Large
96+\begin{tabular}{ccccc}
97+\char"2779&\char"2778&\char"2777&\char"2776&\\[4pt]
98+漢&作&日&日&\textbf{目}\\
99+字&り&本&本&\textbf{次}\\
100+の&ま&語&語&\\
101+デ&し&は&が&\\
102+\,\rotatebox{90}{ー}&\,\raisebox{0.3ex}{ょ}&で&や&\\
103+タ&う&き&さ&\\
104+ベ&&な&し&\\
105+\,\rotatebox{90}{ー}&&い&い&\\
106+ス&&&&
107+\end{tabular}}\hspace{1.5in}
108+
109+\end{slide}
110+
111+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
112+
113+\begin{slide}
114+\thispagestyle{empty}
115+\ThisCenterWallPaper{1.08}{piggy.jpg}
116+\end{slide}
117+
118+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
119+
120+\begin{slide}
121+{\hspace*{\fill}\begin{tikzpicture}[yscale=1.2]
122+ \node at (0,0) {\scalebox{3}{語}};
123+ \node[blue] at (0,-1.5) {\scalebox{2}{⿰}};
124+ \node at (2.5,0) {\begin{bil}U+8A9E\\\emph{go}\\``language''\end{bil}};
125+ \node at (-4,-4) {\scalebox{3}{言}};
126+ \node at (-1.5,-4) {\begin{bil}U+8A00\\\emph{i}\\``speak''\end{bil}};
127+ \node at (4,-4) {\scalebox{3}{吾}};
128+ \node[blue] at (4,-5.5) {\scalebox{2}{⿱}};
129+ \node at (6.5,-4) {\begin{bil}U+543E\\\emph{ware}\\``myself''\end{bil}};
130+ \node at (1,-8) {\scalebox{3}{五}};
131+ \node at (3.5,-8) {\begin{bil}U+4E94\\\emph{go}\\``five''\end{bil}};
132+ \node at (7,-8) {\scalebox{3}{口}};
133+ \node at (9.5,-8) {\begin{bil}U+53E3\\\emph{kuchi}\\``mouth''\end{bil}};
134+ \draw[bigah,ultra thick] (-1,-1) -- (-3.5,-3);
135+ \draw[bigah,ultra thick] (1,-1) -- (3.5,-3);
136+ \draw[bigah,ultra thick] (3,-5) -- (1.5,-7);
137+ \draw[bigah,ultra thick] (5,-5) -- (6.5,-7);
138+ \node at (1,-11) {\scalebox{3}{語→⿰言⿱五口}};
139+\end{tikzpicture}\hspace*{\fill}\par}
140+\end{slide}
141+
142+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
143+
144+\begin{slide}
145+{\hspace*{\fill}\begin{tikzpicture}
146+ \node at (0,0) {\scalebox{30.823}{\normalsize\mincho\char"6C38}};
147+ \node at (-6,8.5) {\bfseries\begin{tabular}{ll}{\Large 永字八法}\\
148+ The Eight Strokes of Eternity!\end{tabular}};
149+ \node[shape=ellipse callout,color=blue!80!black,text=white,fill,%
150+ callout absolute pointer={(0.5,5)}] at (6,8)
151+ {\textbf{\char"2460\ strange stone}};
152+ \node[shape=ellipse callout,color=blue!80!black,text=white,fill,%
153+ callout absolute pointer={(-2,3.1)}] at (-8,6)
154+ {\textbf{\char"2461\ jade table}};
155+ \node[shape=ellipse callout,color=blue!80!black,text=white,fill,%
156+ callout absolute pointer={(0,-2)}] at (6,-7)
157+ {\textbf{\char"2462\ iron pillar}};
158+ \node[shape=ellipse callout,color=blue!80!black,text=white,fill,%
159+ callout absolute pointer={(-1,-6.1)}] at (-6,-7)
160+ {\textbf{\char"2463\ crab's pincer}};
161+ \node[shape=ellipse callout,color=blue!80!black,text=white,fill,%
162+ callout absolute pointer={(-5,0.7)}] at (-8,2.3)
163+ {\textbf{\char"2464\ tiger's tooth}};
164+ \node[shape=ellipse callout,color=blue!80!black,text=white,fill,%
165+ callout absolute pointer={(-4.8,-3.9)}] at (-8,-1.5)
166+ {\textbf{\char"2465\ rhinoceros's horn}};
167+ \node[shape=ellipse callout,color=blue!80!black,text=white,fill,%
168+ callout absolute pointer={(5.5,1.5)}] at (10,5)
169+ {\textbf{\char"2466\ bird pecking}};
170+ \node[shape=ellipse callout,color=blue!80!black,text=white,fill,%
171+ callout absolute pointer={(5,-4)}] at (10,-1.5)
172+ {\textbf{\char"2467\ golden knife}};
173+\end{tikzpicture}\hspace*{\fill}\par}
174+\end{slide}
175+
176+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
177+
178+\begin{slide}
179+{\hspace*{\fill}\begin{tikzpicture}
180+ \node at (-10,2) {\scalebox{7}{\fontspec[Path=./]{azu1.ttf}l}};
181+ \node[shape=ellipse callout,draw,%
182+ callout absolute pointer={(-9.7,4.5)}] at (-8.5,8)
183+ {\begin{bil}\Large 作りましょう!\\%
184+ Let's make something!\end{bil}};
185+%
186+ \node at (-1,9) {\begin{bil}{\Large 永字八法}\\%
187+ 8 strokes\end{bil}};
188+ \node at (-1,4) {\begin{bil}{\Large 50字の部首かな?}\\%
189+ 50 components,\\I guess?\end{bil}};
190+ \node at (5,1) {\begin{bil}
191+ {\Large \char"2FF0水\char"2FF1\char"4EA0\char"2FF1\char"53E3\char"5C0F}\\%
192+ Unicode IDS\end{bil}};
193+ \node at (0,-1) {\MF};
194+ \node at (-9,-4) {\scalebox{5}{\fontspec{TsukurimashouKaku}\char"6DBC}};
195+ \node at (-3,-4) {\scalebox{5}{\fontspec{TsukurimashouMincho}\char"6DBC}};
196+ \node at (3,-4) {\scalebox{5}{\fontspec{TsukurimashouBokukko}\char"6DBC}};
197+ \node at (9,-4) {\scalebox{5}{\fontspec{TsukurimashouMaruBold}\char"6DBC}};
198+ \draw[bigah,ultra thick] (-1,8) -- (-1,5.5);
199+ \draw[bigah,ultra thick] (-1,2.5) -- (-0.5,-0.5);
200+ \draw[bigah,ultra thick] (3.5,0) -- (2,-0.5);
201+ \draw[bigah,ultra thick] (-2.1,-1.4) -- (-7.6,-2.7);
202+ \draw[bigah,ultra thick] (-0.7,-1.4) -- (-2.8,-2.5);
203+ \draw[bigah,ultra thick] (0.7,-1.4) -- (2.8,-2.5);
204+ \draw[bigah,ultra thick] (2.1,-1.4) -- (7.6,-2.7);
205+%
206+ \node at (10,1) {\scalebox{7}{\fontspec[Path=./]{azu1.ttf}a}};
207+ \node[shape=cloud callout,draw,aspect=3,cloud puffs=15,%
208+ callout absolute pointer={(8.5,3.5)}] at (7,7)
209+ {\begin{bil}{\Large 任せ}\\%
210+ \small somebody else's problem\end{bil}};
211+ \draw[bigah,ultra thick,dotted] (6.5,6) -- (5.5,2);
212+\end{tikzpicture}\hspace*{\fill}\par}
213+\end{slide}
214+
215+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
216+
217+\begin{slide}
218+
219+\slidetitle{三十路漢字 ・ Kanji of Thirty Years}
220+
221+1980年 LCCD (Mei)
222+
223+1982年, 1986年 Letter Spirit, etc. (Hofstadter, \textit{Metamagical Themas})
224+
225+1984年 Chinese Metafont (Hobby \& Guoan, \textit{TUGboat} 5.2)
226+
227+1989年 Quixote Oriental Fonts (Hosek, \textit{TUGboat} 10.4)
228+
229+1990年 Poor Man's Chinese/Japanese (Ridgeway)
230+
231+1991年 Jem\TeX\ (Jalbert)
232+
233+1993年 Wadalab (TouDai)
234+
235+1997年, 2003年 HanGlyph (Yiu \& Wong, \textit{TUGboat} 24.1)
236+
237+2005年 Hóng Zì (Laguna, \textit{TUGboat} 26.2)
238+
239+2011年 Character Description Language (Wenlin Institute, commercial)
240+
241+2012年 Adjustable Fonts (Type Project, commercial)
242+\end{slide}
243+
244+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
245+
246+\begin{slide}
247+\thispagestyle{empty}
248+\ThisCenterWallPaper{1.0}{Torin_Nurikabe.jpg}
249+\begin{tikzpicture}
250+ \useasboundingbox (0,10) rectangle (0,0);
251+ \node at (-0.4,3.2) {\scalebox{1.5}{\bfseries\Huge\begin{bil}
252+ ヌ\\ リ\\ カ\\ ベ\\ に\\ 注\\ 意\\ !
253+ \end{bil}}};
254+ \node at (14,15)
255+ {\scalebox{1.5}[2]{\fontspec{TsuItaAtamaBoldPS}\Huge
256+ BEWARE THE NURIKABE!}};
257+\end{tikzpicture}%
258+\end{slide}
259+
260+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
261+
262+\begin{slide}
263+{\hspace*{\fill}\begin{tikzpicture}
264+ \node at (0,0) {\scalebox{3}{林}};
265+ \node[blue] at (0,-1.5) {\scalebox{2}{⿰}};
266+ \node at (2.5,0) {\begin{bil}U+6797\\\emph{hayashi}\\``forest''\end{bil}};
267+ \node at (-3,-4) {\scalebox{3}{木}};
268+ \node at (-0.5,-4) {\begin{bil}U+6728\\\emph{ki}\\``tree''\end{bil}};
269+ \node at (3,-4) {\scalebox{3}{木}};
270+ \node at (5.5,-4) {\begin{bil}U+6728\\\emph{ki}\\``tree''\end{bil}};
271+ \draw[ultra thick,bigah] (-1,-1) -- (-2.5,-3);
272+ \draw[ultra thick,bigah] (1,-1) -- (2.5,-3);
273+%
274+ \draw[green!80!black,ultra thick] (10.7,-1) circle[radius=3.5];
275+ \fill[red!50!white,xshift={18cm},yshift={-1cm},rotate=45]
276+ (-4,-0.1) rectangle (4,0.1);
277+ \fill[red!50!white,xshift={18cm},yshift={-1cm},rotate=-45]
278+ (-4,-0.1) rectangle (4,0.1);
279+ \node at (11,-1) {\scalebox{10}{林}};
280+ \begin{scope}
281+ \clip (17.5,-4) rectangle (22,2);
282+ \node at (18,-1) {\scalebox{10}{林}};
283+ \end{scope}
284+ \begin{scope}
285+ \clip (14.8,-4) rectangle (22,2);
286+ \node at (15.3,-1) {\scalebox{10}{林}};
287+ \end{scope}
288+%
289+ \node[shape=ellipse callout,color=green!60!black,text=white,fill,%
290+ callout absolute pointer={(9.5,-3.5)}] at (11,-7)
291+ {\bfseries\begin{bil}{\large ちがう}\\different\end{bil}};
292+ \node[shape=ellipse callout,color=green!60!black,text=white,fill,%
293+ callout absolute pointer={(12.1,-3.5)}] at (11,-7)
294+ {\bfseries\begin{bil}{\large ちがう}\\different\end{bil}};
295+ \node[shape=ellipse callout,color=red!60!black,text=white,fill,%
296+ callout absolute pointer={(16.5,-3.5)}] at (18,-7)
297+ {\bfseries\begin{bil}{\large 同じ}\\same\end{bil}};
298+ \node[shape=ellipse callout,color=red!60!black,text=white,fill,%
299+ callout absolute pointer={(19.2,-3.5)}] at (18,-7)
300+ {\bfseries\begin{bil}{\large 同じ}\\same\end{bil}};
301+%
302+ \node at (0,-7) {\scalebox{2}{林→⿰木木}};
303+\end{tikzpicture}\hspace*{\fill}\par}
304+\end{slide}
305+
306+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
307+
308+\begin{slide}
309+{\hspace*{\fill}\begin{tikzpicture}[yscale=1.2]
310+ \node at (0,0) {\scalebox{3}{涼}};
311+ \node[blue] at (0,-1.5) {\scalebox{2}{⿰}};
312+ \node at (2.5,-0.1) {\begin{bil}U+6DBC\\\emph{ryou}\\~~``cool breeze''\end{bil}};
313+ \node at (-4,-4) {\scalebox{3}{水}};
314+ \node at (-1.5,-4) {\begin{bil}U+6C34\\\emph{omizu}\\``water''\end{bil}};
315+ \node at (4,-4) {\scalebox{3}{京}};
316+ \node[blue] at (4,-5.5) {\scalebox{2}{⿱}};
317+ \node at (6.5,-4) {\begin{bil}U+4EAC\\\emph{kyou}\\``capital''\end{bil}};
318+ \node at (1,-8) {\scalebox{3}{亠}};
319+ \node at (3.5,-8) {\begin{bil}U+4EA0\\\emph{keisankanmuri}\\{}[that shape]\end{bil}};
320+ \path[green!40!black,ultra thick,decoration={ticks,amplitude=4pt},%
321+ postaction={decorate,draw}]
322+ (7,-8) circle[radius=0.65,xscale=1.2];
323+ \node[blue] at (7,-9.5) {\scalebox{2}{⿱}};
324+ \node at (4,-12) {\scalebox{3}{口}};
325+ \node at (6.5,-12) {\begin{bil}U+53E3\\\emph{kuchi}\\``mouth''\end{bil}};
326+ \node at (10,-12) {\scalebox{3}{小}};
327+ \node at (12.5,-12) {\begin{bil}U+5C0F\\\emph{shou}\\``small''\end{bil}};
328+ \draw[bigah,ultra thick] (-1,-1) -- (-3.5,-3);
329+ \draw[bigah,ultra thick] (1,-1) -- (3.5,-3);
330+ \draw[bigah,ultra thick] (3,-5) -- (1.5,-7);
331+ \draw[bigah,ultra thick] (5,-5) -- (6.5,-7);
332+ \draw[bigah,ultra thick] (6,-9) -- (4.5,-11);
333+ \draw[bigah,ultra thick] (8,-9) -- (9.5,-11);
334+%
335+ \node[shape=ellipse callout,color=red!50!black,text=white,fill,%
336+ callout absolute pointer={(-4.5,-3.3)}] at (-6,-1)
337+ {\bfseries\begin{bil}{\large 何これ?}\\WTF?\end{bil}};
338+ \node[shape=ellipse callout,color=black!50!white,text=white,fill,%
339+ callout absolute pointer={(0.3,-8)}] at (-5,-7)
340+ {\bfseries\begin{bil}{\large 辞書ではない}\\
341+ not in dictionary\end{bil}};
342+ \node[shape=ellipse callout,color=blue!50!black,text=white,fill,%
343+ callout absolute pointer={(4.7,-5.5)}] at (13,-9)
344+ {\bfseries\begin{bil}{\large ちがう}\\different\end{bil}};
345+ \node[shape=ellipse callout,color=blue!50!black,text=white,fill,%
346+ callout absolute pointer={(7.7,-9.5)}] at (13,-9)
347+ {\bfseries\begin{bil}{\large ちがう}\\different\end{bil}};
348+ \node[shape=ellipse callout,color=green!50!black,text=white,fill,%
349+ callout absolute pointer={(7,-8)}] at (11,-2)
350+ {\bfseries\begin{bil}{\large Unicodeではない}\\
351+ not in Unicode\end{bil}};
352+%
353+ \node at (-4,-11) {\scalebox{2}{涼→⿰水⿱亠⿱口小}};
354+ \node at (-4,-12.5) {\scalebox{1.5}{ダメだよ! ・ \textit{no good!}}};
355+\end{tikzpicture}\hspace*{\fill}\par}
356+\end{slide}
357+
358+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
359+
360+\begin{slide}
361+{\hspace*{\fill}\begin{tikzpicture}
362+ \node at (0,0) {\scalebox{20}{\normalsize\mincho 観}};
363+ \node at (0,-6.25) {\scalebox{2.5}{outlook}};
364+ \node[red!60!black] at (10,3) {\scalebox{8}{\normalsize\mincho 見}};
365+ \node[red!60!black] at (10,0.5) {see};
366+ \node at (8,-3) {\scalebox{8}{\normalsize\mincho 目}};
367+ \node at (8,-5.5) {eye};
368+ \node at (12,-3) {\scalebox{8}{\normalsize\mincho 儿}};
369+ \node at (12,-5.5) {legs};
370+ \node[green!60!black] at (-10,4) {\scalebox{8}{\normalsize\mincho 矢}};
371+ \node[green!60!black] at (-10,1.5) {arrow};
372+ \node[blue!60!black] at (-10,-6) {\scalebox{8}{\normalsize\mincho 隹}};
373+ \node[blue!60!black] at (-10,-8.5) {old bird};
374+ \draw[ultra thick,dashed,green!60!black]
375+ (-2.5,2) ellipse[x radius=3,y radius=3.5];
376+ \draw[ultra thick,dashed,blue!60!black]
377+ (-2.5,-1.5) ellipse[x radius=3,y radius=3.7];
378+ \draw[ultra thick,dashed,red!60!black]
379+ (2,0) ellipse[x radius=3.3,y radius=5];
380+ \draw[bigah,ultra thick,green!60!black] (-5.6,3.6) -- (-7.7,4.1);
381+ \draw[bigah,ultra thick,blue!60!black] (-5.6,-4.1) -- (-7.7,-5.1);
382+ \draw[bigah,ultra thick,red!60!black] (5.5,2) -- (8.1,3.0);
383+ \draw[bigah,ultra thick] (9.1,0.9) -- (8.1,-1.1);
384+ \draw[bigah,ultra thick] (10.9,0.9) -- (11.9,-1.1);
385+ \node[shape=ellipse callout,draw,fill=white,%
386+ callout absolute pointer={(-3,0.05)}] at (-9,-1)
387+ {\begin{bil}\large 大変\\big trouble\end{bil}};
388+ \node at (1,-8.5) {\scalebox{2.2}{\mincho 観→⿰⿻矢隹⿱目儿}};
389+\end{tikzpicture}\hspace*{\fill}\par}
390+\end{slide}
391+
392+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
393+
394+\begin{slide}
395+\Large
396+{\hspace*{\fill}
397+\begin{tabular}[t]{m{3.5in}@{\quad}m{3.5in}}
398+\raggedright Appearance over etymology.
399+ & \huge 語源より観 \\ \\
400+\raggedright Sometimes, exceptions are necessary.
401+ & \huge ときどき特例が必要 \\ \\
402+\raggedright Every character requires human intervention.
403+ & \huge \raggedright 毎字は、~人間介入が 必要
404+\end{tabular}\hspace*{\fill}\par}
405+\end{slide}
406+
407+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
408+
409+\begin{slide}
410+\Large
411+\begin{tabular}[b]{r@{\quad}c@{\quad}l}
412+kanji & 5000 & 漢字 \\
413+LOC/kanji & 65 & 1漢字につきLOC \\
414+LOC & 325000 & LOC \\
415+LOC/day & 10 & 1日につきLOC\\
416+days & 32500 & 日 \\
417+working days/year & 250 & 1年につき仕事の日\\
418+years & 130 & 年
419+\end{tabular}
420+\quad
421+\begin{tikzpicture}
422+ \useasboundingbox (-2,-2.5) rectangle (2,8);
423+ \node at (0,0) {\scalebox{7}{\fontspec[Path=./]{azu1.ttf}y}};
424+ \node[shape=ellipse callout,draw,%
425+ callout absolute pointer={(-0.2,3.2)}] at (0,7)
426+ {\begin{bil}{\huge がんばって下さい}\\%
427+ Please work hard.\end{bil}};
428+\end{tikzpicture}
429+
430+\vspace{12pt}
431+\huge Starting is O(1). Finishing is O(\textit{n}).\\[5pt]
432+最初はO(1)。 最後がO(\textit{n})。
433+\end{slide}
434+
435+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
436+
437+\begin{slide}
438+{\hspace{\fill}\begin{tikzpicture}[scale=1.2]
439+ \node at (0,11) {\bfseries\huge 325000 LOC!};
440+ \node at (-3,0) {\scalebox{8.6}{\fontspec[Path=./]{azu1.ttf}j}};
441+ \node[shape=ellipse callout,draw,%
442+ callout absolute pointer={(-3.5,3)}] at (-5,7.5)
443+ {\begin{bil}{\huge ウィキを使おうっ}\\%
444+ We'll use a Wiki ---\end{bil}};
445+ \node at (3,0) {\scalebox{8.6}{\fontspec[Path=./]{azu1.ttf}f}};
446+ \node[shape=ellipse callout,draw,%
447+ callout absolute pointer={(3.2,3)}] at (5,6.5)
448+ {\begin{bil}{\huge なんでやねん}\\%
449+ Ya gotta be kidding.\end{bil}};
450+\end{tikzpicture}\hspace*{\fill}\par}
451+\end{slide}
452+
453+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
454+
455+\begin{slide}
456+{\hspace{\fill}\begin{tikzpicture}
457+ \node at (-4,0) {\Huge\begin{bil}フォント\\font\end{bil}};
458+ \draw[ultra thick,red!70!black] (-6,2) -- (-2,-2);
459+ \draw[ultra thick,red!70!black] (-6,-2) -- (-2,2);
460+ \node at (4,0) {\Huge\begin{bil}ソフトウェア\\software\end{bil}};
461+ \draw[ultra thick,green!70!black] (4,0.2)
462+ ellipse[x radius=3.5,y radius=2.5];
463+\end{tikzpicture}\hspace*{\fill}\par}
464+\end{slide}
465+
466+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
467+
468+\begin{slide}
469+{\hspace{\fill}\begin{tikzpicture}
470+ \node at (-4,0) {\Huge\begin{bil}フォント\\font\end{bil}};
471+ \draw[ultra thick,red!70!black] (-6,2) -- (-2,-2);
472+ \draw[ultra thick,red!70!black] (-6,-2) -- (-2,2);
473+ \node at (4,0) {\Huge\begin{bil}ソフトウェア\\software\end{bil}};
474+ \draw[ultra thick,green!70!black] (4,0.2)
475+ ellipse[x radius=3.5,y radius=2.5];
476+%
477+ \node[fill=yellow!50!white,ellipse] at (8,7)
478+ {\begin{bil}バージョン管理\\version control\end{bil}};
479+ \node[fill=yellow!50!white,ellipse] at (2,4.5)
480+ {\begin{bil}チケットのシステム\\ticket system\end{bil}};
481+ \node[fill=yellow!50!white,ellipse] at (-2,8)
482+ {\begin{bil}多態性\\polymorphism\end{bil}};
483+ \node[fill=yellow!50!white,ellipse] at (-8,4)
484+ {\begin{bil}ビルドのシステム\\build system\end{bil}};
485+ \node[fill=yellow!50!white,ellipse] at (-7,-4)
486+ {\begin{bil}単体テスト\\unit tests\end{bil}};
487+ \node[fill=yellow!50!white,ellipse] at (1,-6)
488+ {\huge GPL};
489+ \node[fill=yellow!50!white,ellipse] at (9,-4.5)
490+ {\begin{bil}エンカプセレーション\\encapsulation\end{bil}};
491+\end{tikzpicture}\hspace*{\fill}\par}
492+\end{slide}
493+
494+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
495+
496+\begin{slide}
497+\Large
498+{\hspace*{\fill}
499+\begin{tabular}[t]{b{4.5in}@{\quad}b{4.5in}}
500+\huge\bfseries Tsukurimashou &
501+ \huge\bfseries 作りましょう\\[20pt]
502+\raggedright Font family for English, Japanese, and Korean &
503+日本語と英語とハングルの フォントファミリ\\[20pt]
504+\raggedright GPLv3 open source & GPLv3のオープンソース \\[20pt]
505+\raggedright one developer working since late 2010 &
506+2010年から一人で書いて\\[20pt]
507+now 〜100000 LOC & 今、\,〜十万LOC \\[20pt]
508+now 〜1500 kanji & 今、\,〜1500字の漢字 \\[20pt]
509+paramaterization: stroke style, shape, boldness, serifs, spacing &
510+パラメタ方式は、\,画の形\,・\,字形\,・\,
511+太字度\,・\,うろこ\,・\,スペーシング
512+\end{tabular}\hspace*{\fill}\par}
513+\end{slide}
514+
515+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
516+
517+\begin{slide}
518+\ThisCenterWallPaper{0.985}{summshot.png}
519+\end{slide}
520+
521+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
522+
523+\begin{slide}
524+\ThisCenterWallPaper{0.985}{ticketshot.png}
525+\end{slide}
526+
527+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
528+
529+\begin{slide}
530+{\hspace*{\fill}\begin{tikzpicture}
531+ \node at (-9,0) {\scalebox{9}{\fontspec{TsukurimashouKakuPS}\char"6E90}};
532+ \node at (-9,-3) {\fontspec{TsukurimashouKakuPS}Kaku\quad 角};
533+ \node at (-3,0) {\scalebox{9}{\fontspec{TsukurimashouMaruPS}\char"6E90}};
534+ \node at (-3,-3) {\fontspec{TsukurimashouMaruPS}Maru\quad 丸};
535+ \node at (3,0) {\scalebox{9}{\fontspec{TsukurimashouMinchoPS}\char"6E90}};
536+ \node at (3,-3) {\fontspec{TsukurimashouMinchoPS}Mincho\quad 明朝};
537+ \node at (9,0) {\scalebox{9}{\fontspec{TsukurimashouBokukkoPS}\char"6E90}};
538+ \node at (9,-3) {\fontspec{TsukurimashouBokukkoPS}Bokukko\quad 僕女};
539+\end{tikzpicture}\hspace*{\fill}\par}
540+
541+\vspace{\fill}
542+
543+{\hspace*{\fill}%
544+\scalebox{6}{\fontspec{TsukurimashouKakuExtraLightPS}物}%
545+\scalebox{6}{\fontspec{TsukurimashouKakuLightPS}物}%
546+\scalebox{6}{\fontspec{TsukurimashouKakuPS}物}%
547+\scalebox{6}{\fontspec{TsukurimashouKakuDemiboldPS}物}%
548+\scalebox{6}{\fontspec{TsukurimashouKakuBoldPS}物}%
549+\scalebox{6}{\fontspec{TsukurimashouKakuExtraBoldPS}物}%
550+\hspace*{\fill}\par}
551+
552+\vspace{\fill}
553+
554+{\hspace*{\fill}\huge\begin{tabular}{c@{\quad}c}
555+\fontspec{TsukurimashouKaku}Tsukurimashou Kaku
556+ & \fontspec{TsukurimashouKakuPS}Tsukurimashou Kaku PS \\
557+\fontspec{TsukurimashouMincho}Tsukurimashou Mincho
558+ & \fontspec{TsukurimashouMinchoPS}Tsukurimashou Mincho PS \\
559+\fontspec{TsuItaAtama}TsuIta Atama
560+ & \fontspec{TsuItaAtamaPS}TsuIta Atama PS \\
561+\fontspec{TsuItaSoku}TsuIta Soku
562+ & \fontspec{TsuItaSokuPS}TsuIta Soku PS
563+\end{tabular}\hspace*{\fill}\par}
564+\end{slide}
565+
566+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
567+
568+\begin{slide}
569+{\hspace*{\fill}\begin{tikzpicture}
570+ \draw[fill=black!10!white] (0,0) rectangle (4,1.5);
571+ \node at (2,0.75) {Metapost};
572+ \draw[fill=red!10!white] (0,1.5) rectangle (4,3);
573+ \node at (2,2.25) {MetaType1};
574+ \draw[fill=blue!10!white] (0,3) rectangle (4,4.5);
575+ \node at (2,3.75) {obstack};
576+ \draw[fill=blue!10!white] (0,4.5) rectangle (4,6);
577+ \node at (2,5.25) {作りましょう};
578+%
579+ \draw[bigah,ultra thick] (4.2,0.75) -- (5.8,0.75);
580+ \node at (5,-0.5) {EPS and};
581+ \node at (5,-1.2) {proof files};
582+%
583+ \draw[fill=black!10!white] (6,0) rectangle (10,1.5);
584+ \node at (8,0.75) {Perl};
585+ \fill[red!10!white] (6,1.5) -- (6,3) -- (10,3) --cycle;
586+ \fill[blue!10!white] (6,1.5) -- (10,3) -- (10,1.5) --cycle;
587+ \draw (6,1.5) rectangle (10,3);
588+ \node at (8,2.25) {MT1 port};
589+%
590+ \draw[bigah,ultra thick] (10.2,0.75) -- (11.8,0.75);
591+ \node at (11,-0.7) {Type 1};
592+%
593+ \draw[fill=black!10!white] (12,0) rectangle (16,1.5);
594+ \node at (14,0.75) {FontForge};
595+ \draw[fill=blue!10!white] (12,1.5) rectangle (16,3);
596+ \node at (14,2.25) {scripts};
597+%
598+ \draw[bigah,ultra thick] (16.2,0.75) -- (17.8,0.75);
599+ \draw[bigah,ultra thick] (17.8,0.75) -- (16.2,0.75);
600+%
601+ \draw[fill=blue!10!white] (18,0) rectangle (22,1.5);
602+ \node at (20,0.75) {kerner};
603+%
604+ \draw[bigah,ultra thick] (14,-0.2) -- (14,-4);
605+ \node at (14,-4.5) {\Large OTF};
606+%
607+ \draw[bigah,ultra thick] (8,-0.2) -- (8,-2.05);
608+ \draw[fill=black!10!white] (6,-3.75) rectangle (10,-2.25);
609+ \node at (8,-3) {Ti\emph{k}Z};
610+ \draw[fill=black!10!white] (6,-5.25) rectangle (10,-3.75);
611+ \node at (8,-4.5) {\XeLaTeX};
612+ \draw[bigah,ultra thick] (13,-4.5) -- (10.2,-4.5);
613+%
614+ \draw[bigah,ultra thick] (8,-5.45) -- (8,-7.3);
615+ \node at (8,-7.8) {\Large PDF};
616+%
617+ \begin{scope}[yshift={1cm}]
618+ \path[green!70!black,ultra thick,decoration={ticks,amplitude=8pt},%
619+ postaction={decorate,draw}]
620+ (21,5.5) circle[x radius=2.5,y radius=3.5];
621+ \draw[fill=black!10!white] (19,2.5) rectangle (23,4);
622+ \node at (21,3.25) {GNU Make};
623+ \draw[fill=black!10!white] (19,4) rectangle (23,5.5);
624+ \node at (21,4.75) {Autotools};
625+ \draw[fill=blue!10!white] (19,5.5) rectangle (23,8.5);
626+ \node at (21,7.75) {build};
627+ \draw[fill=blue!10!white] (20,5.5) rectangle (23,7);
628+ \node at (21.5,6.25) {Hamlog};
629+ \end{scope}
630+\end{tikzpicture}\hspace*{\fill}\par}
631+\end{slide}
632+
633+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
634+
635+\begin{slide}
636+\begin{tikzpicture}
637+ \useasboundingbox (0,10) rectangle (0,10);
638+ \node at (22,6.5) {\scalebox{10}{\mincho 観}};
639+ \draw[ultra thick,red,opacity=0.4] (18.7,6.2) rectangle (22.0,9.5);
640+ \draw[ultra thick,green!60!black,opacity=0.4]
641+ (21.7,3.7) rectangle (24.6,9.4);
642+ \draw[ultra thick,blue,opacity=0.4]
643+ (18.9,3.5) rectangle (21.9,7.7);
644+ \draw[ultra thick,red,opacity=0.4] (1.8,2.9) rectangle (16.4,5.5);
645+ \draw[ultra thick,red,opacity=0.4] (15.4,5.5) -- (18.7,7.2);
646+ \draw[ultra thick,blue,opacity=0.4] (1.8,-0.7) rectangle (21.0,2.8);
647+ \draw[ultra thick,blue,opacity=0.4] (17.2,2.8) -- (18.9,4.5);
648+ \draw[ultra thick,green!60!black,opacity=0.4]
649+ (1.2,-1.6) rectangle (7.1,-0.8);
650+ \draw[ultra thick,green!60!black,opacity=0.4]
651+ (7.1,-1.2) -- (23.1,-1.2) -- (23.1,3.7);
652+\end{tikzpicture}%
653+\begin{verbatim}
654+vardef kanji.grfour.outlook =
655+ push_pbox_toexpand("kanji.grfour.outlook");
656+ build_kanji.level(build_kanji.lr(460,50)
657+ (build_kanji.tb(470,190)
658+ (kanji.grtwo.arrow;
659+ replace_strokep(-1)(oldp shifted (-60,0));
660+ obstacktype[find_whatever(otstroke,0)]:=otnull)
661+ (kanji.radical.old_bird;
662+ obstacktype[find_whatever(otstroke,-7)]:=otnull;
663+ replace_strokep(-6)(point 0 of oldp+(0,15)--point 1 of oldp);
664+ replace_strokep(-4)(point 0 of oldp+(30,0)--point 1 of oldp)))
665+ (kanji.grone.see));
666+ expand_pbox;
667+enddef;
668+% kan/mi "outlook"
669+begintsuglyph("uni89B3",179);
670+ kanji.grfour.outlook;
671+ tsu_render;
672+endtsuglyph;
673+\end{verbatim}
674+\end{slide}
675+
676+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
677+
678+\begin{slide}
679+{\hspace*{\fill}
680+\includegraphics[scale=1.4]{myproof.pdf}
681+\hspace*{\fill}\par}
682+\end{slide}
683+
684+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
685+
686+\begin{slide}
687+\centering
688+
689+{\Huge\bfseries Korean hangul\quad ハングル語}
690+
691+\vspace{\fill}
692+
693+\begin{tikzpicture}[scale=2]
694+\draw (-4,3) rectangle (-2,5);
695+\draw (-4,4.2) -- (-2.8,4.2) -- (-2.8,5);
696+\draw (-4,3.8) -- (-2,3.8);
697+\node at (-3.4,4.6) {L};
698+\node at (-2.4,4.4) {V};
699+\node at (-3,3.4) {T};
700+\draw (-1,3) rectangle (1,5);
701+\draw (0.2,3.8) -- (0.2,5);
702+\draw (-1,3.8) -- (1,3.8);
703+\node at (-0.4,4.4) {L};
704+\node at (0.6,4.4) {V};
705+\node at (0,3.4) {T};
706+\draw (2,3) rectangle (4,5);
707+\draw (2,4.2) -- (4,4.2);
708+\draw (2,3.8) -- (4,3.8);
709+\node at (3,4.6) {L};
710+\node at (3,4) {V};
711+\node at (3,3.4) {T};
712+\draw (-4,0) rectangle (-2,2);
713+\draw (-4,0.8) -- (-2.8,0.8) -- (-2.8,2);
714+\node at (-3.4,1.4) {L};
715+\node at (-2.4,1) {V};
716+\draw (-1,0) rectangle (1,2);
717+\draw (0.2,0) -- (0.2,2);
718+\node at (-0.4,1) {L};
719+\node at (0.6,1) {V};
720+\draw (2,0) rectangle (4,2);
721+\draw (2,0.8) -- (4,0.8);
722+\node at (3,1.4) {L};
723+\node at (3,0.4) {V};
724+\end{tikzpicture}
725+
726+\vspace{\fill}
727+
728+{\hspace*{\fill}\scalebox{3}{\jieubsida 지읍시다 바탕 한글}\hspace*{\fill}\par}
729+
730+\end{slide}
731+
732+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
733+
734+\begin{slide}
735+\centering\Huge
736+{\bfseries Parasite packages\quad 寄生パッケージ}
737+
738+\vspace{1cm}
739+
740+{\fontspec{TsukurimashouMincho}IDSgrep}
741+
742+{\fontspec[Path={../ocr/}]{OCRA.otf}OCR A}\quad
743+{\fontspec[Path={../ocr/}]{OCRB.otf}OCR B}
744+
745+{\fontspec[Path={../genjimon/}]{GenjimonMedium.ttf}Ge}%
746+{\fontspec[Path={../genjimon/}]{GenjimonRoundOutline.ttf}nJ}%
747+{\fontspec[Path={../genjimon/}]{GenjimonReverse.ttf}iM}%
748+{\fontspec[Path={../genjimon/}]{GenjimonRound.ttf}on}
749+
750+{\fontspec[Path={../beikaitoru/otf/}]{Beikaitoru406.otf}Beikaitoru}
751+
752+{\fontspec{TsukurimashouMinchoPS}kleknev}
753+
754+\end{slide}
755+
756+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
757+
758+\begin{slide}
759+\begin{tikzpicture}
760+ \node[fill=green!30!white] at (-14,11)
761+ {\begin{bil}何の漢字は『木』が左側にある?\\%
762+ Which kanji have 木 on the left?\\%
763+ 札朽材村松板林柱校根植楾様横橋相\end{bil}};
764+%
765+ \node[fill=green!30!white] at (-14,7)
766+ {\begin{bil}何漢字は『俺』の右側を持つか?\\%
767+ What contains the right side of 俺?\\%
768+ \huge 俺奄庵淹菴閹\end{bil}};
769+%
770+ \node[fill=green!30!white] at (-14,2.9)
771+ {\begin{bil}何漢字は『目』があるでも、『首』とか『貝』とかないか?\\%
772+ What contains 目, but nothing like 首 or 貝?\\%
773+ \huge 想目相県箱\end{bil}};
774+%
775+ \node[fill=green!30!white] at (-14,-1.3)
776+ {\begin{bil}『萌』の符号位置が何?\\%
777+ What's the code point for 萌?\\%
778+ \huge U+840C\end{bil}};
779+%
780+ \node at (0,0.5) {\scalebox{10}{\fontspec[Path=./]{azu1.ttf}z}};
781+ \node[shape=ellipse callout,draw,fill=white,%
782+ callout absolute pointer={(-0.2,4.2)}] at (-0.5,9)
783+ {\begin{bil}{\huge \texttt{grep}を使ってが}\\{\huge いいですか?}\\%
784+ Can't we just use \texttt{grep}?\end{bil}};
785+\end{tikzpicture}
786+\end{slide}
787+
788+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
789+
790+\begin{slide}
791+\begin{tikzpicture}
792+ \node[fill=green!30!white] at (-14,11)
793+ {\begin{bil}何の漢字は『木』が左側にある?\\%
794+ Which kanji have 木 on the left?\\%
795+ 札朽材村松板林柱校根植楾様横橋相\end{bil}};
796+ \node[fill=red!30!white] at (0,11) {\LARGE\texttt{idsgrep -d '[lr]木?'}};
797+%
798+ \node[fill=green!30!white] at (-14,7)
799+ {\begin{bil}何漢字は『俺』の右側を持つか?\\%
800+ What contains the right side of 俺?\\%
801+ \huge 俺奄庵淹菴閹\end{bil}};
802+ \node[fill=red!30!white] at (0,7) {\LARGE\begin{bil}
803+ \texttt{idsgrep -d '俺'~~~~}\\
804+ \texttt{idsgrep -d '...奄'}
805+ \end{bil}};
806+%
807+ \node[fill=green!30!white] at (-14,2.9)
808+ {\begin{bil}何漢字は『目』があるでも、『首』とか『貝』とかないか?\\%
809+ What contains 目, but nothing like 首 or 貝?\\%
810+ \huge 想目相県箱\end{bil}};
811+ \node[fill=red!30!white] at (0,2.9) {\LARGE\begin{bil}
812+ \texttt{idsgrep -d~~~~~~~~~~~~~~~}\\
813+ \texttt{~~~~~'\&...目!...*[tb]目?'}
814+ \end{bil}};
815+%
816+ \node[fill=green!30!white] at (-14,-1.3)
817+ {\begin{bil}『萌』の符号位置が何?\\%
818+ What's the code point for 萌?\\%
819+ \huge U+840C\end{bil}};
820+ \node[fill=red!30!white] at (0,-1.3) {\LARGE\texttt{idsgrep -Ux '萌'}};
821+\end{tikzpicture}
822+\end{slide}
823+
824+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
825+
826+\begin{slide}
827+\begin{tikzpicture}
828+ [level distance={3cm},
829+ level 1/.style={sibling distance=4.5cm},
830+ level 2/.style={sibling distance=6cm},
831+ level 3/.style={sibling distance=3.5cm},
832+ edge from parent/.style=bigah]
833+%
834+ \fill[red!10!white] (-4.75,-4) rectangle (-2.75,-2);
835+ \fill[red!50!blue!10!white] (-8,-10) rectangle (-2.75,-5);
836+%
837+ \node (haystack) at (-6,0) {\scalebox{2.5}{\mincho 態}}
838+ child {node {\scalebox{2.5}{\mincho 能}}
839+ child {node {\scalebox{2.5}{*}}
840+ child {node {\scalebox{2.5}{\mincho 厶}}}
841+ child {node {\scalebox{2.5}{\mincho ⺝}}}
842+ }
843+ child {node {\scalebox{2.5}{*}}
844+ child {node {\scalebox{2.5}{\mincho 匕}}}
845+ child {node {\scalebox{2.5}{\mincho 匕}}}
846+ }
847+ }
848+ child {node {\scalebox{2.5}{\mincho 心}}};
849+%
850+ \node[blue] (asub) at ($(haystack)+(0,-1.5)$)
851+ {\scalebox{1.75}{\mincho ⿱}};
852+ \node[blue] (bsub) at ($(haystack-1)+(0,-1.5)$)
853+ {\scalebox{1.75}{\mincho ⿰}};
854+ \node[blue] (dsub) at ($(haystack-1-1)+(0,-1.5)$)
855+ {\scalebox{1.75}{\mincho ⿱}};
856+ \node[blue] (esub) at ($(haystack-1-2)+(0,-1.5)$)
857+ {\scalebox{1.75}{\mincho ⿱}};
858+%
859+ \node (needle) at (6,0) {\scalebox{2.5}{\mincho [\&]}}
860+ child {node {\scalebox{2.5}{\mincho ...}}
861+ child {node {\scalebox{2.5}{\mincho(心)}}}
862+ }
863+ child {node {\scalebox{2.5}{\mincho ...}}
864+ child {node {\scalebox{2.5}{\mincho [tb]}}
865+ child {node {\scalebox{2.5}{\mincho (匕)}}}
866+ child {node {\scalebox{2.5}{\mincho(匕)}}}
867+ }
868+ };
869+%
870+ \draw[red!70!black,densely dotted,bigah]
871+ (needle-1) edge[bend right=60] (haystack-2);
872+ \draw[red!70!black,densely dotted,bigah]
873+ (needle-1-1) edge[bend left=10] (haystack-2);
874+ \draw[red!50!blue!70!black,densely dotted,bigah]
875+ (needle-2) edge[bend right=80,looseness=1.4] (haystack-1-2);
876+ \draw[red!50!blue!70!black,densely dotted,bigah]
877+ (needle-2-1) edge[bend left=20] (esub);
878+ \draw[red!50!blue!70!black,densely dotted,bigah]
879+ (needle-2-1-1) edge[bend left=20] (haystack-1-2-1);
880+ \draw[red!50!blue!70!black,densely dotted,bigah]
881+ (needle-2-1-2) edge[bend left=20] (haystack-1-2-2);
882+%
883+ \node at (-7,3.5) {\mincho\huge 【態】⿱<能>⿰⿱厶⺝⿱匕匕心};
884+ \node at (4,5.5) {\huge\texttt{idsgrep -d '\&...心...[tb]匕匕'}};
885+\end{tikzpicture}
886+\end{slide}
887+
888+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
889+
890+\begin{slide}
891+\centering
892+{\Huge\bfseries Character databases\quad 漢字のデータベース}
893+
894+\vspace{1cm}
895+
896+\Large
897+\begin{tikzpicture}
898+ \node[fill=yellow!50!white,ellipse] at (-8,6)
899+ {\begin{bil}{\LARGE CHISE}\\Morioka 2001年\end{bil}};
900+ \node[fill=yellow!50!white,ellipse] at (6,3)
901+ {\begin{bil}{\LARGE KanjiVG}\\Apel 2009年\end{bil}};
902+ \node[fill=yellow!50!white,ellipse] at (-6,-2)
903+ {\begin{bil}{\LARGE Tsukurimashou}\\Skala 2012年\end{bil}};
904+ \node[fill=yellow!20!white,ellipse,draw=black,dashed,ultra thick]
905+ at (8,-6) {\LARGE CJKGrid};
906+\end{tikzpicture}
907+\end{slide}
908+
909+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
910+
911+\begin{slide}
912+\Large
913+{\hspace*{\fill}
914+\begin{tabular}[t]{m{4in}@{\quad}m{4in}}
915+\raggedright What language(s)?
916+ & \huge 何語か? \\ \\
917+\raggedright Who are the users? → Etymology or appearance?
918+ & \huge ユーザは誰か?→語源と 観はどちらがいいか? \\ \\
919+\raggedright Data quality
920+ & \huge \raggedright データの品質
921+\end{tabular}\hspace*{\fill}\par}
922+\end{slide}
923+
924+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
925+
926+\begin{slide}
927+\thispagestyle{empty}
928+\begin{tikzpicture}
929+ \useasboundingbox (-5,-5) rectangle (16,8);
930+ \node at (-2,0) {\scalebox{7}{\fontspec[Path=./]{azu1.ttf}l}};
931+ \node[shape=ellipse callout,fill=black!70!blue,text=white,%
932+ callout absolute pointer={(-1.4,3)}] at (1.9,7.3)
933+ {\bfseries\begin{bil}\LARGE 聞くありがとう\\%
934+ Thank you for your attention.\end{bil}};
935+ \node[black!70!red] at (11,2.5) {\huge\begin{bil}
936+ The Tsukurimashou Project\\
937+ http://tsukurimashou.sourceforge.jp/\\
938+ 『作りましょう』のプロジェクト
939+ \end{bil}};
940+ \node[black!70!green] at (11,-1.6) {\Large\begin{bil}
941+ Matthew Skala\qquad\qquad マッシュ\,・\,スカラ\\
942+ mskala@ansuz.sooke.bc.ca
943+ \end{bil}};
944+\end{tikzpicture}
945+
946+\vspace{\fill}
947+
948+\small These slides were typeset using \XeLaTeX, Ti\textit{k}Z, a selection
949+of fonts from the Tsukurimashou Project, and Azudings 1 by Vic~Fieger.
950+Osakan pig photo by Matthew Skala, 2011. Nurikabe painting by Kanou
951+Tourin, 1802, public domain.
952+\end{slide}
953+
954+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
955+
956+\end{document}
--- trunk/tug2013/threestyle.tex (nonexistent)
+++ trunk/tug2013/threestyle.tex (revision 464)
@@ -0,0 +1,41 @@
1+\documentclass[17pt]{extarticle}
2+
3+\usepackage{fontspec}
4+\usepackage[papersize={4.9in,2.7in},hmargin={0.1in},%
5+ vmargin={0.1in}]{geometry}
6+\usepackage{tikz}
7+
8+\usetikzlibrary{arrows,calc,decorations.markings,decorations.pathreplacing,%
9+ shapes.callouts,shapes.geometric}
10+
11+\usepgflibrary{arrows.new}
12+
13+\tikzset{bigah/.style={draw,ultra thick,->,>=latex' new,arrow head=6mm}}
14+
15+\defaultfontfeatures{Path={../otf/},Mapping=tex-text}
16+
17+\setmainfont[ItalicFont={TsuItaSokuPS},BoldFont={TsukurimashouKakuBoldPS}]%
18+ {TsukurimashouKakuPS}
19+
20+\newenvironment{bil}%
21+ {\renewcommand{\arraystretch}{0.6}\begin{tabular}{cc}}{\end{tabular}}
22+
23+\pagestyle{empty}
24+
25+\begin{document}
26+\noindent
27+\begin{tikzpicture}
28+ \fontspec{TsukurimashouKakuExtraLightPS}
29+ \node at (0,2.8) {\scalebox{5}{語}};
30+ \node at (0,0) {\scalebox{5}{五}};
31+ \node at (0,-1.8) {Kaku Extra Light};
32+ \fontspec{TsukurimashouMinchoPS}
33+ \node at (4,2.8) {\scalebox{5}{語}};
34+ \node at (4,0) {\scalebox{5}{五}};
35+ \node at (4,-1.8) {Mincho};
36+ \fontspec{TsukurimashouBokukkoBoldPS}
37+ \node at (8,2.8) {\scalebox{5}{語}};
38+ \node at (8,0) {\scalebox{5}{五}};
39+ \node at (8,-1.8) {Bokukko Bold};
40+\end{tikzpicture}
41+\end{document}
--- trunk/tug2013/myproof.tex (nonexistent)
+++ trunk/tug2013/myproof.tex (revision 464)
@@ -0,0 +1,130 @@
1+\documentclass[14pt]{extarticle}
2+
3+\usepackage{fontspec}
4+\usepackage[papersize={5.5in,5.4in},hmargin={0.1in},%
5+ vmargin={0.1in}]{geometry}
6+\usepackage{tikz}
7+\usepackage{xcolor}
8+\usepackage{xltxtra}
9+
10+\usetikzlibrary{arrows,calc,shapes.callouts,shapes.geometric}
11+
12+\defaultfontfeatures{Path=../otf/}
13+
14+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15+
16+\newfontface\kaku[Mapping=tex-text]{TsukurimashouKakuPS}
17+\newfontface\mincho[Mapping=tex-text]{TsukurimashouMinchoPS}
18+
19+\newfontface\anbiruteki[WordSpace={1,0,0},PunctuationSpace=3]%
20+ {TsukurimashouAnbirutekiPS}
21+\newfontface\anbirutekimono[Mapping=tex-text,WordSpace={1,0,0},PunctuationSpace=3]{TsukurimashouAnbiruteki}
22+
23+\newfontface\KDF[WordSpace={1,0,0},PunctuationSpace=3]{TsukurimashouKaku}
24+\newfontface\MDF[WordSpace={1,0,0},PunctuationSpace=3]{TsukurimashouMincho}
25+
26+\setmainfont[Mapping=tex-text,ItalicFont=TsukurimashouMinchoPS]{TsukurimashouKakuPS}
27+\setmonofont[Mapping=tex-text,WordSpace={1,0,0},PunctuationSpace=3]{TsukurimashouMincho}
28+
29+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
30+
31+\newcommand{\LabelFont}{\anbirutekimono\tiny}
32+
33+% scaling factor 23.71 by measuring off PDF file
34+% x1.3 = 30.823
35+
36+\newcommand{\Picture}[9]{
37+\begin{tikzpicture}[scale=1.3,>=latex']
38+ \useasboundingbox (#6) rectangle (#7);
39+ \draw[color=black!50!white,xslant=#8] (#4,-1) grid (#5,9);
40+ \draw[color=black!50!white,ultra thick,->,xslant=#8] (#4,0) -- (#5,0);
41+ \draw[color=black!50!white,ultra thick,->,xslant=#8] (0,-1) -- (0,9);
42+ \fill[color=white] (0,0) circle(0.1);
43+ \draw[color=black!50!white] (0,0) circle(0.1);
44+ \draw[inner sep=0pt,anchor=base west,color=blue!30!white]
45+ (0,0) node{\scalebox{30.823}{\normalsize\KDF #3}};
46+ \draw[inner sep=0pt,anchor=base west,color=green!70!black,opacity=0.4]
47+ (0,0) node{\scalebox{30.823}{\normalsize\MDF #3}};
48+ #9
49+\end{tikzpicture}%
50+}
51+
52+\newcommand{\PBx}[9]%
53+ {\draw[color=red!80!black,very thick]
54+ (#2,#3) -- (#4,#5) -- (#6,#7) -- (#8,#9) -- cycle;
55+ \node[shape=rectangle,color=red!50!black,thick,draw,inner sep=0.05cm,
56+ anchor=north west] at (#8,#9) {#1};}
57+
58+\newcommand{\MPt}[2]%
59+ {\node[diamond,inner sep=0cm,fill,%
60+ color=green!50!black,text=white] at (#1) {\LabelFont #2};}
61+\newcommand{\KPt}[2]%
62+ {\node[diamond,inner sep=0cm,fill,%
63+ color=blue!50!black,text=white] at (#1) {\LabelFont #2};}
64+\newcommand{\BPt}[2]%
65+ {\node[diamond,inner sep=0cm,fill,text=white] at (#1) {\LabelFont #2};}
66+
67+\newcommand{\MSg}[2]{\draw[very thick,color=green!30!black,->] %
68+ (#1)--($(#1)!0.52!(#2)$); %
69+ \draw[very thick,color=green!30!black] ($(#1)!0.48!(#2)$)--(#2);}
70+\newcommand{\KSg}[2]{\draw[very thick,color=blue!30!black,->] %
71+ (#1)--($(#1)!0.52!(#2)$); %
72+ \draw[very thick,color=blue!30!black] ($(#1)!0.48!(#2)$)--(#2);}
73+\newcommand{\BSg}[2]{\draw[very thick,->] %
74+ (#1)--($(#1)!0.52!(#2)$); %
75+ \draw[very thick] ($(#1)!0.48!(#2)$)--(#2);}
76+
77+\newcommand{\MBl}[2]%
78+ {\node[star,star point height=0.2cm,inner sep=0cm,fill,%
79+ color=green!50!black,text=white] at (#1) {\LabelFont #2};}
80+\newcommand{\KBl}[2]%
81+ {\node[star,star point height=0.2cm,inner sep=0cm,fill,%
82+ color=blue!50!black,text=white] at (#1) {\LabelFont #2};}
83+\newcommand{\BBl}[2]%
84+ {\node[star,star point height=0.2cm,inner sep=0cm,fill,%
85+ text=white] at (#1) {\LabelFont #2};}
86+
87+\newcommand{\Lkr}[2]{}
88+% {\draw[densely dotted,very thick,color=red!80!black] (#1)--(#2);}
89+
90+\newcommand{\Srf}[2]{%
91+ \node[shape=ellipse callout,color=green!50!black,text=white,fill,%
92+ callout absolute pointer={(#1)},inner sep=0.05cm] %
93+ at ($(#1)!0.5cm!180:(3,4)$) {\LabelFont S#2};
94+}
95+
96+\newcommand{\MAn}[9]%
97+ {\draw[color=red!80!black,thick,->]
98+ (#2,#3) -- (#4,#5);
99+ \draw[color=red!80!black,thick,->]
100+ (#6,#7) -- (#8,#9);
101+ \node[shape=circle,color=red!50!black,draw,fill=white,
102+ thick,inner sep=0.01cm] at ($(#2,#3)!0.5!(#4,#5)$) {\LabelFont #1};}
103+
104+\newcommand{\BAn}[9]%
105+ {\draw[color=red!80!black,thick,->]
106+ (#2,#3) -- (#4,#5);
107+ \draw[color=red!80!black,thick,->]
108+ (#6,#7) -- (#8,#9);
109+ \node[shape=circle,color=red!50!black,draw,fill,text=white,
110+ thick,inner sep=0.01cm] at ($(#2,#3)!0.5!(#4,#5)$) {\LabelFont #1};}
111+
112+\newcommand{\BlankLine}[1]{\LineNumber{#1}\par}
113+\newcommand{\BlankLines}[2]{\LineNumber{#1--#2}\par}
114+\newcommand{\PercentLine}[1]{\LineNumber{#1}\rule[0.5ex]{\linewidth}{1.2pt}\par}
115+\newcommand{\Comment}[2]{\LineNumber{#1}\%#2\par}
116+\newcommand{\CodeLine}[2]{\LineNumber{#1}#2\par}
117+\newcommand{\IlR}[1]{\hfill[see page \pageref{#1}]}
118+
119+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
120+
121+\begin{document}
122+
123+\pagestyle{empty}
124+
125+\small\kaku
126+\noindent
127+\Picture{tsuku.uni9B31}{9B31}{\char"9B31}{0}{10}{-0.1,-1}{10,9}{0}%
128+ {\PBx{kanji.greight.gloom}{0.0300}{-0.5683}{9.9700}{-0.5683}{9.9700}{8.7777}{0.0300}{8.7777}\PBx{kanji.leftrad.wood}{0.5000}{5.0000}{3.2000}{5.0000}{3.2000}{8.5000}{0.5000}{8.5000}\PBx{kanji.greight.tin\_can}{3.1200}{4.9222}{6.8799}{4.9222}{6.8799}{8.5777}{3.1200}{8.5777}\PBx{kanji.grtwo.noon}{3.2000}{5.0000}{6.7999}{5.0000}{6.7999}{8.5000}{3.2000}{8.5000}\PBx{kanji.grone.wood}{6.8000}{5.0000}{9.5000}{5.0000}{9.5000}{8.5000}{6.8000}{8.5000}\PBx{kanji.radical.conservative\_hat}{0.2300}{3.1733}{9.7700}{3.1733}{9.7700}{5.2000}{0.2300}{5.2000}\PBx{kanji.rare.spiced\_liqueur}{1.3058}{-0.3683}{5.7342}{-0.3683}{5.7342}{3.8269}{1.3058}{3.8269}\PBx{kanji.radical.spoon}{1.4000}{-0.2771}{5.6400}{-0.2771}{5.6400}{1.6381}{1.4000}{1.6381}\PBx{kanji.rightrad.short\_hair}{5.6400}{-0.0947}{8.6001}{-0.0947}{8.6001}{4.0093}{5.6400}{4.0093}\BSg{1.8500,8.2278}{1.8500,5.1944}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\BSg{0.6500,7.4500}{2.8400,7.4500}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\BSg{1.8500,7.4500}{1.1000,5.9722}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\KSg{1.1000,5.9722}{0.7252,5.5796}\MSg{1.1000,5.9722}{0.5900,5.4667}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\BSg{1.8500,7.0222}{2.3900,6.4389}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\BSg{2.3900,6.4389}{2.7500,6.0111}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\BSg{4.2000,8.2666}{3.9600,7.5666}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\KSg{3.9600,7.5666}{3.5383,6.9553}\MSg{3.9600,7.5666}{3.4000,6.8278}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\KSg{4.0093,7.6833}{6.3999,7.6833}\MSg{4.0093,7.6833}{6.2799,7.6833}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\BSg{5.0000,7.6833}{5.0000,5.1944}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\KSg{3.4400,6.5555}{6.6399,6.5555}\MSg{3.4400,6.5555}{6.5199,6.5555}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\BSg{3.7600,6.0889}{3.7600,5.0156}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\BSg{6.2399,6.0889}{6.2399,5.0156}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\BSg{3.7600,5.1944}{6.2399,5.1944}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\BSg{8.1500,8.2278}{8.1500,5.1944}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\BSg{6.9500,7.4500}{9.3500,7.4500}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\BSg{8.1500,7.4500}{7.4000,5.9722}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\KSg{7.4000,5.9722}{7.0252,5.5796}\MSg{7.4000,5.9722}{6.8900,5.4667}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\BSg{8.1500,7.4500}{8.9000,5.9722}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\BSg{8.9000,5.9722}{9.2600,5.5833}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\KSg{0.7600,3.5111}{0.7600,3.9615}\MSg{0.7600,3.5111}{1.2900,3.9615}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\KSg{0.7600,3.9615}{0.7600,4.4119}\MSg{1.2900,3.9615}{1.5020,4.4119}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\KSg{0.7600,4.4119}{9.2400,4.4119}\MSg{1.5020,4.4119}{9.2400,4.4119}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\KSg{9.2400,4.4119}{9.2400,3.7363}\MSg{9.2400,4.4119}{8.8160,3.7363}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\KSg{9.2400,3.7363}{9.2400,3.5111}\MSg{8.8160,3.7363}{8.4980,3.5111}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\BSg{2.4835,3.5503}{3.6142,3.0396}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\BSg{3.6142,3.0396}{4.4622,2.4012}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\BSg{4.6035,3.6779}{3.6613,2.9544}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\BSg{3.6613,2.9544}{2.3893,2.3160}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\BSg{3.3786,3.6779}{3.5671,3.6141}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\BSg{3.5671,3.6141}{3.6613,3.5077}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\BSg{2.2480,3.0608}{2.4364,2.9970}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\BSg{2.4364,2.9970}{2.5306,2.8906}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\BSg{4.4622,3.0183}{4.6506,2.9544}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\BSg{4.6506,2.9544}{4.7448,2.8480}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\BSg{3.3786,2.4650}{3.5671,2.4012}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\BSg{3.5671,2.4012}{3.6613,2.2948}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\BSg{1.6826,3.7418}{1.6826,1.6734}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\BSg{5.3573,3.7418}{5.3573,1.6734}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\BSg{1.6826,2.0181}{5.3573,2.0181}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\KSg{1.8711,1.4891}{1.8711,-0.0004}\MSg{1.8711,1.4891}{1.8711,-0.0855}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\KSg{1.8711,-0.0004}{3.0960,-0.1707}\MSg{1.8711,-0.0855}{3.0960,-0.2132}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\KSg{3.0960,-0.1707}{4.6977,-0.1707}\MSg{3.0960,-0.2132}{5.1688,-0.1707}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\KSg{4.6977,-0.1707}{4.9804,-0.1068}\MSg{5.1688,-0.1707}{4.9804,-0.0430}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\KSg{4.9804,-0.1068}{5.1350,0.1557}\MSg{4.9804,-0.0430}{4.9784,0.1818}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\KSg{5.1688,1.1487}{3.7555,0.9359}\MSg{4.9804,1.1487}{3.7555,0.9359}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\BSg{3.7555,0.9359}{1.8711,0.7231}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\BSg{8.0409,3.5533}{7.3832,2.9605}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\BSg{7.3832,2.9605}{6.0676,2.4133}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\BSg{8.3698,1.1365}{7.4489,0.4069}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\BSg{7.4489,0.4069}{5.8045,-0.1859}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\BSg{8.1988,2.3933}{7.4147,1.7348}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\BSg{7.4147,1.7348}{5.9413,1.1657}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\Srf{1.683,3.742}{10}\Srf{1.850,8.228}{10}\Srf{1.871,1.489}{10}\Srf{2.840,7.450}{9}\Srf{3.760,6.089}{10}\Srf{4.200,8.267}{10}\Srf{4.604,3.678}{10}\Srf{4.980,1.149}{9}\Srf{5.357,3.742}{10}\Srf{6.240,6.089}{10}\Srf{6.280,7.683}{9}\Srf{6.520,6.556}{9}\Srf{8.150,8.228}{10}\Srf{9.240,4.412}{4}\Srf{9.350,7.450}{9}\KPt{0.7252,5.5796}{3}\MPt{0.5900,5.4667}{3}\KPt{3.5383,6.9553}{5}\MPt{3.4000,6.8278}{5}\KPt{7.0252,5.5796}{14}\MPt{6.8900,5.4667}{14}\KPt{4.8599,-0.1523}{26}\KPt{5.0611,-0.0004}{26}\MPt{4.9726,0.0643}{26}\KPt{5.1350,0.1557}{26}\MPt{4.9784,0.1818}{26}\KPt{4.1118,0.9851}{27}\KPt{2.8184,0.8202}{27}\BPt{1.8500,8.2278}{1}\BPt{1.8500,5.1944}{1}\BPt{0.6500,7.4500}{2}\BPt{2.8400,7.4500}{2}\BPt{1.8500,7.4500}{3}\BPt{1.1000,5.9722}{3}\BPt{1.8500,7.0222}{4}\BPt{2.0554,6.8080}{4}\BPt{2.2574,6.5884}{4}\BPt{2.3900,6.4389}{4}\BPt{2.7500,6.0111}{4}\BPt{4.2000,8.2666}{5}\BPt{4.0939,7.9121}{5}\BPt{3.9600,7.5666}{5}\BPt{4.0093,7.6833}{6}\KPt{6.3999,7.6833}{6}\MPt{6.2799,7.6833}{6}\BPt{5.0000,7.6833}{7}\BPt{5.0000,5.1944}{7}\BPt{3.4400,6.5555}{8}\KPt{6.6399,6.5555}{8}\MPt{6.5199,6.5555}{8}\BPt{3.7600,6.0889}{9}\BPt{3.7600,5.0156}{9}\BPt{6.2399,6.0889}{10}\BPt{6.2399,5.0156}{10}\BPt{3.7600,5.1944}{11}\BPt{6.2399,5.1944}{11}\BPt{8.1500,8.2278}{12}\BPt{8.1500,5.1944}{12}\BPt{6.9500,7.4500}{13}\BPt{9.3500,7.4500}{13}\BPt{8.1500,7.4500}{14}\BPt{7.4000,5.9722}{14}\BPt{8.1500,7.4500}{15}\BPt{8.9000,5.9722}{15}\BPt{9.2600,5.5833}{15}\BPt{0.7600,3.5111}{16}\KPt{0.7600,3.9615}{16}\MPt{1.2900,3.9615}{16}\KPt{0.7600,4.4119}{16}\MPt{1.5020,4.4119}{16}\BPt{9.2400,4.4119}{16}\KPt{9.2400,3.7363}{16}\MPt{8.8160,3.7363}{16}\KPt{9.2400,3.5111}{16}\MPt{8.4980,3.5111}{16}\BPt{2.4835,3.5503}{17}\BPt{3.6142,3.0396}{17}\BPt{4.4622,2.4012}{17}\BPt{4.6035,3.6779}{18}\BPt{3.6613,2.9544}{18}\BPt{2.3893,2.3160}{18}\BPt{3.3786,3.6779}{19}\BPt{3.5671,3.6141}{19}\BPt{3.6613,3.5077}{19}\BPt{2.2480,3.0608}{20}\BPt{2.4364,2.9970}{20}\BPt{2.5306,2.8906}{20}\BPt{4.4622,3.0183}{21}\BPt{4.6506,2.9544}{21}\BPt{4.7448,2.8480}{21}\BPt{3.3786,2.4650}{22}\BPt{3.5671,2.4012}{22}\BPt{3.6613,2.2948}{22}\BPt{1.6826,3.7418}{23}\BPt{1.6826,1.6734}{23}\BPt{5.3573,3.7418}{24}\BPt{5.3573,1.6734}{24}\BPt{1.6826,2.0181}{25}\BPt{5.3573,2.0181}{25}\BPt{1.8711,1.4891}{26}\KPt{1.8711,-0.0004}{26}\MPt{1.8711,-0.0855}{26}\KPt{1.9847,-0.0988}{26}\MPt{1.9868,-0.1593}{26}\KPt{2.2761,-0.1494}{26}\MPt{2.2818,-0.1972}{26}\KPt{3.0960,-0.1707}{26}\MPt{3.0960,-0.2132}{26}\KPt{4.6977,-0.1707}{26}\MPt{5.1688,-0.1707}{26}\KPt{4.9804,-0.1068}{26}\MPt{4.9804,-0.0430}{26}\KPt{5.1688,1.1487}{27}\MPt{4.9804,1.1487}{27}\BPt{3.7555,0.9359}{27}\BPt{1.8711,0.7231}{27}\BPt{8.0409,3.5533}{28}\BPt{7.7179,3.2445}{28}\BPt{7.3832,2.9605}{28}\BPt{6.0676,2.4133}{28}\BPt{8.3698,1.1365}{29}\BPt{7.9165,0.7545}{29}\BPt{7.4489,0.4069}{29}\BPt{5.8045,-0.1859}{29}\BPt{8.1988,2.3933}{30}\BPt{7.8132,2.0493}{30}\BPt{7.4147,1.7348}{30}\BPt{5.9413,1.1657}{30}}
129+
130+\end{document}
--- trunk/tug2013/outlook.tex (nonexistent)
+++ trunk/tug2013/outlook.tex (revision 464)
@@ -0,0 +1,53 @@
1+\documentclass[17pt]{extarticle}
2+
3+\usepackage{fontspec}
4+\usepackage[papersize={6.3in,4.8in},hmargin={0.1in},%
5+ vmargin={0.1in}]{geometry}
6+\usepackage{tikz}
7+
8+\usetikzlibrary{arrows,calc,decorations.markings,decorations.pathreplacing,%
9+ shapes.callouts,shapes.geometric}
10+
11+\usepgflibrary{arrows.new}
12+
13+\tikzset{bigah/.style={draw,ultra thick,->,>=latex' new,arrow head=6mm}}
14+
15+\defaultfontfeatures{Path={../otf/},Mapping=tex-text}
16+
17+\setmainfont[ItalicFont={TsuItaSokuPS},BoldFont={TsukurimashouKakuBoldPS}]%
18+ {TsukurimashouKakuPS}
19+
20+\newenvironment{bil}%
21+ {\renewcommand{\arraystretch}{0.6}\begin{tabular}{cc}}{\end{tabular}}
22+
23+\pagestyle{empty}
24+
25+\begin{document}
26+\noindent
27+\begin{tikzpicture}[yscale=1.2]
28+ \node at (0,0) {\scalebox{3}{観}};
29+ \node[blue] at (0,-1.5) {\scalebox{2}{⿰}};
30+ \node at (2.5,0) {\begin{bil}U+893B\\\emph{kan}\\``outlook''\end{bil}};
31+
32+ \begin{scope}
33+ \clip (-6,-6) rectangle (-3.67,-2);
34+ \node at (-3.6,-4) {\scalebox{3.3}{観}};
35+ \end{scope}
36+ \node[blue] at (-4,-5.5) {\scalebox{2}{⿻}};
37+ \node at (-1.5,-4) {[unknown]};
38+
39+ \node at (-7,-8) {\scalebox{3}{矢}};
40+ \node at (-4.5,-8) {\begin{bil}U+77E2\\\emph{ya}\\``arrow''\end{bil}};
41+
42+ \node at (-1,-8) {\scalebox{3}{隹}};
43+ \node at (1.5,-8) {\begin{bil}U+96B9\\\emph{furutori}\\``old bird''\end{bil}};
44+
45+ \node at (4,-4) {\scalebox{3}{見}};
46+ \node at (6.5,-4) {\begin{bil}U+898B\\\emph{mi}\\``see''\end{bil}};
47+
48+ \draw[bigah,ultra thick] (-1,-1) -- (-3.5,-3);
49+ \draw[bigah,ultra thick] (-5,-5) -- (-6.5,-7);
50+ \draw[bigah,ultra thick] (-3,-5) -- (-1.5,-7);
51+ \draw[bigah,ultra thick] (1,-1) -- (3.5,-3);
52+\end{tikzpicture}
53+\end{document}
--- trunk/tug2013/tree.tex (nonexistent)
+++ trunk/tug2013/tree.tex (revision 464)
@@ -0,0 +1,45 @@
1+\documentclass[17pt]{extarticle}
2+
3+\usepackage{fontspec}
4+\usepackage[papersize={6.3in,4.8in},hmargin={0.1in},%
5+ vmargin={0.1in}]{geometry}
6+\usepackage{tikz}
7+
8+\usetikzlibrary{arrows,calc,decorations.markings,decorations.pathreplacing,%
9+ shapes.callouts,shapes.geometric}
10+
11+\usepgflibrary{arrows.new}
12+
13+\tikzset{bigah/.style={draw,ultra thick,->,>=latex' new,arrow head=6mm}}
14+
15+\defaultfontfeatures{Path={../otf/},Mapping=tex-text}
16+
17+\setmainfont[ItalicFont={TsuItaSokuPS},BoldFont={TsukurimashouKakuBoldPS}]%
18+ {TsukurimashouKakuPS}
19+
20+\newenvironment{bil}%
21+ {\renewcommand{\arraystretch}{0.6}\begin{tabular}{cc}}{\end{tabular}}
22+
23+\pagestyle{empty}
24+
25+\begin{document}
26+\noindent
27+\begin{tikzpicture}[yscale=1.2]
28+ \node at (0,0) {\scalebox{3}{語}};
29+ \node[blue] at (0,-1.5) {\scalebox{2}{⿰}};
30+ \node at (2.5,0) {\begin{bil}U+8A9E\\\emph{go}\\``language''\end{bil}};
31+ \node at (-4,-4) {\scalebox{3}{言}};
32+ \node at (-1.5,-4) {\begin{bil}U+8A00\\\emph{i}\\``speak''\end{bil}};
33+ \node at (4,-4) {\scalebox{3}{吾}};
34+ \node[blue] at (4,-5.5) {\scalebox{2}{⿱}};
35+ \node at (6.5,-4) {\begin{bil}U+543E\\\emph{ware}\\``myself''\end{bil}};
36+ \node at (1,-8) {\scalebox{3}{五}};
37+ \node at (3.5,-8) {\begin{bil}U+4E94\\\emph{go}\\``five''\end{bil}};
38+ \node at (7,-8) {\scalebox{3}{口}};
39+ \node at (9.5,-8) {\begin{bil}U+53E3\\\emph{kuchi}\\``mouth''\end{bil}};
40+ \draw[bigah,ultra thick] (-1,-1) -- (-3.5,-3);
41+ \draw[bigah,ultra thick] (1,-1) -- (3.5,-3);
42+ \draw[bigah,ultra thick] (3,-5) -- (1.5,-7);
43+ \draw[bigah,ultra thick] (5,-5) -- (6.5,-7);
44+\end{tikzpicture}
45+\end{document}
--- trunk/tug2013/pgflibraryarrows.new.code.tex (nonexistent)
+++ trunk/tug2013/pgflibraryarrows.new.code.tex (revision 464)
@@ -0,0 +1,1717 @@
1+% alternative * arrow
2+\pgfarrowsdeclare{* new}{* new}
3+{
4+ \ifdim\pgfgetarrowoptions{* new}<0pt%
5+ \pgfutil@tempdima=0.4pt%
6+ \advance\pgfutil@tempdima by.2\pgflinewidth%
7+ \pgfutil@tempdimb=5.5\pgfutil@tempdima%
8+ \advance\pgfutil@tempdimb by\pgflinewidth%
9+ \pgfarrowsleftextend{+-\pgfutil@tempdimb}
10+ \pgfutil@tempdimb=1.5\pgfutil@tempdima%
11+ \advance\pgfutil@tempdimb by.5\pgflinewidth%
12+ \pgfarrowsrightextend{+\pgfutil@tempdimb}
13+ \else
14+ \pgfutil@tempdima=\pgfgetarrowoptions{* new}%
15+ \advance\pgfutil@tempdima by -0.5\pgflinewidth%
16+ \pgfarrowsleftextend{+-0.5\pgflinewidth}
17+ \pgfarrowsrightextend{+\pgfutil@tempdima}
18+ \fi
19+}
20+{
21+ \pgfsetdash{}{+0pt}
22+ \ifdim\pgfgetarrowoptions{* new}<0pt%
23+ \pgfutil@tempdima=0.4pt%
24+ \advance\pgfutil@tempdima by.2\pgflinewidth%
25+ \pgfpathcircle{\pgfqpoint{-3\pgfutil@tempdima}{0pt}}{+4.5\pgfutil@tempdima}
26+ \pgfusepathqfillstroke
27+ \else
28+ \pgfutil@tempdima=\pgfgetarrowoptions{* new}%
29+ \advance\pgfutil@tempdima by -\pgflinewidth%
30+ \divide\pgfutil@tempdima by 2%
31+ \pgfpathcircle{\pgfqpoint{\pgfutil@tempdima}{0pt}}{\pgfutil@tempdima}
32+ \pgfusepathqfillstroke
33+ \fi
34+}
35+
36+% alternative round bracket arrow
37+\pgfarrowsdeclare{( new}{) new}
38+{
39+ \ifdim\pgfgetarrowoptions{) new}<0pt%
40+ \pgfutil@tempdima=2pt%
41+ \advance\pgfutil@tempdima by1.5\pgflinewidth%
42+ \pgfutil@tempdimb=0.0625\pgfutil@tempdima%
43+ \advance\pgfutil@tempdimb by.5\pgflinewidth%
44+ \pgfarrowsrightextend{+\pgfutil@tempdimb}
45+ \pgfutil@tempdimb=0.5\pgfutil@tempdima%
46+ \advance\pgfutil@tempdimb by.5\pgflinewidth%
47+ \pgfarrowsleftextend{+-\pgfutil@tempdimb}
48+ \else
49+ \pgfutil@tempdima=\pgfgetarrowoptions{) new}%
50+ \pgfutil@tempdima=0.28125\pgfutil@tempdima%
51+ \advance\pgfutil@tempdima by 0.21875\pgflinewidth%
52+ \pgfarrowsleftextend{+-\pgfutil@tempdima}
53+ \pgfarrowsrightextend{+0.5\pgflinewidth}
54+ \fi
55+}
56+{
57+ \ifdim\pgfgetarrowoptions{) new}<0pt%
58+ \pgfutil@tempdima=2pt%
59+ \advance\pgfutil@tempdima by1.5\pgflinewidth%
60+ \else
61+ \pgfutil@tempdima=\pgfgetarrowoptions{) new}%
62+ \advance\pgfutil@tempdima by -\pgflinewidth%
63+ \divide\pgfutil@tempdima by 2%
64+ \pgftransformxshift{-0.0625\pgfutil@tempdima}
65+ \fi
66+ \pgfsetdash{}{+0pt}
67+ \pgfsetroundcap
68+ \pgfpathmoveto{\pgfqpoint{-.5\pgfutil@tempdima}{-1\pgfutil@tempdima}}
69+ \pgfpathcurveto
70+ {\pgfqpoint{.25\pgfutil@tempdima}{-.5\pgfutil@tempdima}}
71+ {\pgfqpoint{.25\pgfutil@tempdima}{.5\pgfutil@tempdima}}
72+ {\pgfqpoint{-.5\pgfutil@tempdima}{\pgfutil@tempdima}}
73+ \pgfusepathqstroke
74+}
75+
76+% alternative round bracket reversed arrow
77+\pgfarrowsdeclarereversed{) new}{( new}{( new}{) new}
78+
79+% alternative square bracket arrow. Use with {[ new}-{] new}
80+\pgfarrowsdeclare{[ new}{] new}
81+{
82+ \pgfutil@tempdima=1pt%
83+ \advance\pgfutil@tempdima by1.25\pgflinewidth%
84+ \pgfarrowsleftextend{+-\pgfutil@tempdima}
85+ \pgfarrowsrightextend{+.5\pgflinewidth}
86+}
87+{
88+ \pgfutil@tempdima=2pt%
89+ \advance\pgfutil@tempdima by1.5\pgflinewidth%
90+ \pgfutil@tempdimb=\pgfutil@tempdima%
91+ \advance\pgfutil@tempdimb by\pgflinewidth%
92+ \unless\ifdim\pgfgetarrowoptions{] new}<0pt%
93+ \pgfutil@tempdima=\pgfgetarrowoptions{] new}%
94+ \advance\pgfutil@tempdima by -\pgflinewidth%
95+ \divide\pgfutil@tempdima by 2%
96+ \fi
97+ \pgfsetdash{}{+0pt}
98+ \pgfsetmiterjoin
99+ \pgfsetbuttcap
100+ \pgfpathmoveto{\pgfqpoint{-.5\pgfutil@tempdimb}{-1\pgfutil@tempdima}}
101+ \pgfpathlineto{\pgfqpoint{0pt}{-1\pgfutil@tempdima}}
102+ \pgfpathlineto{\pgfqpoint{0pt}{\pgfutil@tempdima}}
103+ \pgfpathlineto{\pgfqpoint{-.5\pgfutil@tempdimb}{\pgfutil@tempdima}}
104+ \pgfusepathqstroke
105+}
106+
107+% alternative square bracket reversed arrow. Use with {] new}-{[ new}
108+\pgfarrowsdeclarereversed{] new}{[ new}{[ new}{] new}
109+
110+% alternative | arrow
111+\pgfarrowsdeclare{| new}{| new}
112+{
113+ \pgfarrowsleftextend{+-0.25\pgflinewidth}
114+ \pgfarrowsrightextend{+.75\pgflinewidth}
115+}
116+{
117+ \ifdim\pgfgetarrowoptions{| new}<0pt%
118+ \pgfutil@tempdima=2pt%
119+ \advance\pgfutil@tempdima by1.5\pgflinewidth%
120+ \else
121+ \pgfutil@tempdima=\pgfgetarrowoptions{| new}%
122+ \advance\pgfutil@tempdima by -\pgflinewidth% due to rect line cap
123+ \divide\pgfutil@tempdima by 2%
124+ \fi
125+ \pgfsetdash{}{+0pt}
126+ \pgfsetrectcap
127+ \pgfpathmoveto{\pgfqpoint{0.25\pgflinewidth}{-\pgfutil@tempdima}}
128+ \pgfpathlineto{\pgfqpoint{0.25\pgflinewidth}{\pgfutil@tempdima}}
129+ \pgfusepathqstroke
130+}
131+
132+% alternative angle 45 arrow
133+\pgfarrowsdeclare{angle 45 new}{angle 45 new}
134+{
135+ \ifdim\pgfgetarrowoptions{angle 45 new}<0pt%
136+ \pgfutil@tempdima=0.3pt%
137+ \advance\pgfutil@tempdima by.25\pgflinewidth%
138+ \pgfutil@tempdimb=8.705\pgfutil@tempdima%
139+ \advance\pgfutil@tempdimb by.5\pgflinewidth%
140+ \pgfarrowsleftextend{+-\pgfutil@tempdimb}
141+ \pgfutil@tempdimb=.5\pgfutil@tempdima%
142+ \advance\pgfutil@tempdimb by1.28\pgflinewidth%
143+ \pgfarrowsrightextend{+\pgfutil@tempdimb}
144+ \else
145+ \pgfutil@tempdima=\pgfgetarrowoptions{angle 45 new}%
146+ \advance\pgfutil@tempdima by -1.30656\pgflinewidth% 0.5*cosec(\alpha/2)
147+ \pgfarrowsleftextend{+-\pgfutil@tempdima}
148+ \pgfarrowsrightextend{+1.30656\pgflinewidth}
149+ \fi
150+}
151+{
152+ \pgfsetdash{}{+0pt}
153+ \pgfsetroundcap
154+ \pgfsetmiterjoin
155+ \ifdim\pgfgetarrowoptions{angle 45 new}<0pt%
156+ \pgfutil@tempdima=0.3pt%
157+ \advance\pgfutil@tempdima by.25\pgflinewidth%
158+ \pgfpathmoveto{\pgfpointadd{\pgfqpoint{0.5\pgfutil@tempdima}{0pt}}
159+ {\pgfqpointpolar{157}{10\pgfutil@tempdima}}}
160+ \pgfpathlineto{\pgfqpoint{0.5\pgfutil@tempdima}{0\pgfutil@tempdima}}
161+ \pgfpathlineto{\pgfpointadd{\pgfqpoint{0.5\pgfutil@tempdima}{0pt}}
162+ {\pgfqpointpolar{-157}{10\pgfutil@tempdima}}}
163+ \pgfusepathqstroke
164+ \else
165+ \pgfutil@tempdima=\pgfgetarrowoptions{angle 45 new}%
166+ \advance\pgfutil@tempdima by -1.80656\pgflinewidth% -(1.30656+0.5)
167+ \pgfmathsetlength{\pgfutil@tempdima}{\pgfutil@tempdima/cos(22.5)}
168+ \pgfpathmoveto{\pgfqpointpolar{157.5}{\pgfutil@tempdima}}
169+ \pgfpathlineto{\pgfpointorigin}
170+ \pgfpathlineto{\pgfqpointpolar{-157.5}{\pgfutil@tempdima}}
171+ \pgfusepathqstroke
172+ \fi
173+}
174+
175+% alternative angle 45 reversed arrow
176+\pgfarrowsdeclarereversed{angle 45 new reversed}{angle 45 new reversed}{angle 45 new}{angle 45 new}
177+
178+% alternative angle 60 arrow
179+\pgfarrowsdeclare{angle 60 new}{angle 60 new}
180+{
181+ \ifdim\pgfgetarrowoptions{angle 60 new}<0pt%
182+ \pgfutil@tempdima=0.3pt%
183+ \advance\pgfutil@tempdima by.25\pgflinewidth%
184+ \pgfutil@tempdimb=7.29\pgfutil@tempdima%
185+ \advance\pgfutil@tempdimb by.5\pgflinewidth%
186+ \pgfarrowsleftextend{+-\pgfutil@tempdimb}
187+ \pgfutil@tempdimb=.5\pgfutil@tempdima%
188+ \advance\pgfutil@tempdimb by\pgflinewidth%
189+ \pgfarrowsrightextend{+\pgfutil@tempdimb}
190+ \else
191+ \pgfutil@tempdima=\pgfgetarrowoptions{angle 60 new}%
192+ \advance\pgfutil@tempdima by -\pgflinewidth%
193+ \pgfarrowsleftextend{+-\pgfutil@tempdima}
194+ \pgfarrowsrightextend{+\pgflinewidth}
195+ \fi
196+}
197+{
198+ \pgfsetdash{}{+0pt}
199+ \pgfsetroundcap
200+ \pgfsetmiterjoin
201+ \ifdim\pgfgetarrowoptions{angle 60 new}<0pt%
202+ \pgfutil@tempdima=0.3pt%
203+ \advance\pgfutil@tempdima by.25\pgflinewidth%
204+ \pgfpathmoveto{\pgfpointadd{\pgfqpoint{0.5\pgfutil@tempdima}{0pt}}
205+ {\pgfqpointpolar{150}{9\pgfutil@tempdima}}}
206+ \pgfpathlineto{\pgfqpoint{0.5\pgfutil@tempdima}{0pt}}
207+ \pgfpathlineto{\pgfpointadd{\pgfqpoint{0.5\pgfutil@tempdima}{0pt}}
208+ {\pgfqpointpolar{-150}{9\pgfutil@tempdima}}}
209+ \pgfusepathqstroke
210+ \else
211+ \pgfutil@tempdima=\pgfgetarrowoptions{angle 60 new}%
212+ \advance\pgfutil@tempdima by -1.5\pgflinewidth% -(1+0.5)
213+ \pgfmathsetlength{\pgfutil@tempdima}{\pgfutil@tempdima/cos(30)}
214+ \pgfpathmoveto{\pgfqpointpolar{150}{\pgfutil@tempdima}}
215+ \pgfpathlineto{\pgfpointorigin}
216+ \pgfpathlineto{\pgfqpointpolar{-150}{\pgfutil@tempdima}}
217+ \pgfusepathqstroke
218+ \fi
219+}
220+
221+% alternative angle 60 reversed arrow
222+\pgfarrowsdeclarereversed{angle 60 new reversed}{angle 60 new reversed}{angle 60 new}{angle 60 new}
223+
224+% alternative angle 90 arrow
225+\pgfarrowsdeclare{angle 90 new}{angle 90 new}
226+{
227+ \ifdim\pgfgetarrowoptions{angle 90 new}<0pt%
228+ \pgfutil@tempdima=0.3pt%
229+ \advance\pgfutil@tempdima by.25\pgflinewidth%
230+ \pgfutil@tempdimb=5.5\pgfutil@tempdima%
231+ \advance\pgfutil@tempdimb by.5\pgflinewidth%
232+ \pgfarrowsleftextend{+-\pgfutil@tempdimb}
233+ \pgfutil@tempdimb=.5\pgfutil@tempdima%
234+ \advance\pgfutil@tempdimb by0.707\pgflinewidth%
235+ \pgfarrowsrightextend{+\pgfutil@tempdimb}
236+ \else
237+ \pgfutil@tempdima=\pgfgetarrowoptions{angle 90 new}%
238+ \advance\pgfutil@tempdima by -0.70711\pgflinewidth%
239+ \pgfarrowsleftextend{+-\pgfutil@tempdima}
240+ \pgfarrowsrightextend{+0.70711\pgflinewidth}
241+ \fi
242+}
243+{
244+ \pgfsetdash{}{+0pt}
245+ \pgfsetroundcap
246+ \pgfsetmiterjoin
247+ \ifdim\pgfgetarrowoptions{angle 90 new}<0pt%
248+ \pgfutil@tempdima=0.3pt%
249+ \advance\pgfutil@tempdima by.25\pgflinewidth%
250+ \pgfpathmoveto{\pgfqpoint{-5.5\pgfutil@tempdima}{-6\pgfutil@tempdima}}
251+ \pgfpathlineto{\pgfqpoint{0.5\pgfutil@tempdima}{0\pgfutil@tempdima}}
252+ \pgfpathlineto{\pgfqpoint{-5.5\pgfutil@tempdima}{6\pgfutil@tempdima}}
253+ \pgfusepathqstroke
254+ \else
255+ \pgfutil@tempdima=\pgfgetarrowoptions{angle 90 new}%
256+ \advance\pgfutil@tempdima by -1.20711\pgflinewidth% -(0.70711+0.5)
257+ \pgfpathmoveto{\pgfqpoint{-\pgfutil@tempdima}{\pgfutil@tempdima}}
258+ \pgfpathlineto{\pgfpointorigin}
259+ \pgfpathlineto{\pgfqpoint{-\pgfutil@tempdima}{-\pgfutil@tempdima}}
260+ \pgfusepathqstroke
261+ \fi
262+}
263+
264+% alternative angle 90 reversed arrow
265+\pgfarrowsdeclarereversed{angle 90 new reversed}{angle 90 new reversed}{angle 90 new}{angle 90 new}
266+
267+% original butt cap arrow (just for completeness)
268+\pgfarrowsdeclare{butt cap new}{butt cap new}
269+{
270+ \pgfarrowsleftextend{+-.1\pgflinewidth}
271+ \pgfarrowsrightextend{+.5\pgflinewidth}
272+}
273+{
274+ \pgfsetdash{}{+0pt}
275+ \pgfsetbuttcap
276+ \pgfpathmoveto{\pgfqpoint{-.1\pgflinewidth}{0pt}}
277+ \pgfpathlineto{\pgfqpoint{0.5\pgflinewidth}{0pt}}
278+ \pgfusepathqstroke
279+}
280+
281+% alternative diamond arrow
282+\pgfarrowsdeclare{diamond new}{diamond new}
283+{
284+ \ifdim\pgfgetarrowoptions{diamond new}<0pt%
285+ \pgfutil@tempdima=0.4pt%
286+ \advance\pgfutil@tempdima by.275\pgflinewidth%
287+ \pgfutil@tempdimb=13\pgfutil@tempdima%
288+ \advance\pgfutil@tempdimb by.5\pgflinewidth%
289+ \pgfarrowsleftextend{+-\pgfutil@tempdimb}
290+ \pgfutil@tempdimb=1\pgfutil@tempdima%
291+ \advance\pgfutil@tempdimb by.5\pgflinewidth%
292+ \pgfarrowsrightextend{+\pgfutil@tempdimb}
293+ \else
294+ \pgfutil@tempdima=\pgfgetarrowoptions{diamond new}%
295+ \advance\pgfutil@tempdima by -0.5\pgflinewidth%
296+ \pgfarrowsleftextend{+-0.5\pgflinewidth}% due to the round cap
297+ \pgfarrowsrightextend{+\pgfutil@tempdima}
298+ \fi
299+}
300+{
301+ \ifdim\pgfgetarrowoptions{diamond new}<0pt%
302+ \pgfutil@tempdima=0.4pt%
303+ \advance\pgfutil@tempdima by.275\pgflinewidth%
304+ \else
305+ \pgfutil@tempdima=\pgfgetarrowoptions{diamond new}%
306+ \advance\pgfutil@tempdima by -\pgflinewidth%
307+ \divide\pgfutil@tempdima by 14%
308+ \pgftransformxshift{13\pgfutil@tempdima}
309+ \fi
310+ \pgfsetdash{}{+0pt}
311+ \pgfsetroundjoin
312+ \pgfpathmoveto{\pgfqpoint{1\pgfutil@tempdima}{0\pgfutil@tempdima}}
313+ \pgfpathlineto{\pgfqpoint{-6\pgfutil@tempdima}{4\pgfutil@tempdima}}
314+ \pgfpathlineto{\pgfqpoint{-13\pgfutil@tempdima}{0\pgfutil@tempdima}}
315+ \pgfpathlineto{\pgfqpoint{-6\pgfutil@tempdima}{-4\pgfutil@tempdima}}
316+ \pgfpathclose
317+ \pgfusepathqfillstroke
318+}
319+
320+% original fast cap arrow (just for completeness)
321+\pgfarrowsdeclare{fast cap new}{fast cap new}
322+{
323+ \pgfarrowsleftextend{+-.1\pgflinewidth}
324+ \pgfarrowsrightextend{+2\pgflinewidth}
325+}
326+{
327+ \pgfpathmoveto{\pgfqpoint{-.1\pgflinewidth}{0.5\pgflinewidth}}
328+ \pgfpathlineto{\pgfqpoint{.5\pgflinewidth}{.5\pgflinewidth}}
329+ \pgfpathlineto{\pgfqpoint{1\pgflinewidth}{0\pgflinewidth}}
330+ \pgfpathlineto{\pgfqpoint{.5\pgflinewidth}{-.5\pgflinewidth}}
331+ \pgfpathlineto{\pgfqpoint{-.1\pgflinewidth}{-0.5\pgflinewidth}}
332+ \pgfpathclose
333+ \pgfpathmoveto{\pgfqpoint{1\pgflinewidth}{0.5\pgflinewidth}}
334+ \pgfpathlineto{\pgfqpoint{1.5\pgflinewidth}{0.5\pgflinewidth}}
335+ \pgfpathlineto{\pgfqpoint{2\pgflinewidth}{0\pgflinewidth}}
336+ \pgfpathlineto{\pgfqpoint{1.5\pgflinewidth}{-.5\pgflinewidth}}
337+ \pgfpathlineto{\pgfqpoint{1\pgflinewidth}{-0.5\pgflinewidth}}
338+ \pgfpathlineto{\pgfqpoint{1.5\pgflinewidth}{0\pgflinewidth}}
339+ \pgfpathclose
340+ \pgfusepathqfill
341+}
342+
343+% original fast cap reversed arrow (just for completeness)
344+\pgfarrowsdeclare{fast cap new reversed}{fast cap new reversed}
345+{
346+ \pgfarrowsleftextend{+-.1\pgflinewidth}
347+ \pgfarrowsrightextend{+2\pgflinewidth}
348+}
349+{
350+ \pgfpathmoveto{\pgfqpoint{-.1\pgflinewidth}{0.5\pgflinewidth}}
351+ \pgfpathlineto{\pgfqpoint{1\pgflinewidth}{.5\pgflinewidth}}
352+ \pgfpathlineto{\pgfqpoint{.5\pgflinewidth}{0\pgflinewidth}}
353+ \pgfpathlineto{\pgfqpoint{1\pgflinewidth}{-.5\pgflinewidth}}
354+ \pgfpathlineto{\pgfqpoint{-.1\pgflinewidth}{-0.5\pgflinewidth}}
355+ \pgfpathclose
356+ \pgfpathmoveto{\pgfqpoint{1.5\pgflinewidth}{0.5\pgflinewidth}}
357+ \pgfpathlineto{\pgfqpoint{2\pgflinewidth}{0.5\pgflinewidth}}
358+ \pgfpathlineto{\pgfqpoint{1.5\pgflinewidth}{0\pgflinewidth}}
359+ \pgfpathlineto{\pgfqpoint{2\pgflinewidth}{-.5\pgflinewidth}}
360+ \pgfpathlineto{\pgfqpoint{1.5\pgflinewidth}{-0.5\pgflinewidth}}
361+ \pgfpathlineto{\pgfqpoint{1\pgflinewidth}{0\pgflinewidth}}
362+ \pgfpathclose
363+ \pgfusepathqfill
364+}
365+
366+% alternative hooks arrow
367+\pgfarrowsdeclare{hooks new}{hooks new}
368+{
369+ \pgfarrowsleftextend{+-.5\pgflinewidth}
370+ \ifdim\pgfgetarrowoptions{hooks new}<0pt%
371+ \pgfutil@tempdima=0.4pt%
372+ \advance\pgfutil@tempdima by.2\pgflinewidth%
373+ \pgfutil@tempdimb=3.75\pgfutil@tempdima%
374+ \advance\pgfutil@tempdimb by0.5\pgflinewidth%
375+ \pgfarrowsrightextend{+\pgfutil@tempdimb}
376+ \else
377+ \pgfutil@tempdima=\pgfgetarrowoptions{hooks new}%
378+ \pgfutil@tempdima=0.3125\pgfutil@tempdima%
379+ \advance\pgfutil@tempdima by 0.1875\pgflinewidth%
380+ \pgfarrowsrightextend{+\pgfutil@tempdima}%
381+ \fi
382+}
383+{
384+ \ifdim\pgfgetarrowoptions{hooks new}<0pt%
385+ \pgfutil@tempdima=0.4pt%
386+ \advance\pgfutil@tempdima by.2\pgflinewidth%
387+ \else
388+ \pgfutil@tempdima=\pgfgetarrowoptions{hooks new}%
389+ \advance\pgfutil@tempdima by -\pgflinewidth%
390+ \divide\pgfutil@tempdima by 12%
391+ \fi
392+ \pgfsetdash{}{+0pt}
393+ \pgfsetroundcap
394+ \pgfpathmoveto{\pgfqpoint{0\pgfutil@tempdima}{0\pgfutil@tempdima}}
395+ \pgfpathlineto{\pgfqpoint{0.75\pgfutil@tempdima}{0\pgfutil@tempdima}}
396+ \pgfpathcurveto
397+ {\pgfqpoint{2.415\pgfutil@tempdima}{0\pgfutil@tempdima}}
398+ {\pgfqpoint{3.75\pgfutil@tempdima}{1.665\pgfutil@tempdima}}
399+ {\pgfqpoint{3.75\pgfutil@tempdima}{3\pgfutil@tempdima}}
400+ \pgfpathcurveto
401+ {\pgfqpoint{3.75\pgfutil@tempdima}{4.665\pgfutil@tempdima}}
402+ {\pgfqpoint{2.415\pgfutil@tempdima}{6\pgfutil@tempdima}}
403+ {\pgfqpoint{0.75\pgfutil@tempdima}{6\pgfutil@tempdima}}
404+ \pgfpathmoveto{\pgfqpoint{0.75\pgfutil@tempdima}{0\pgfutil@tempdima}}
405+ \pgfpathcurveto
406+ {\pgfqpoint{2.415\pgfutil@tempdima}{0\pgfutil@tempdima}}
407+ {\pgfqpoint{3.75\pgfutil@tempdima}{-1.665\pgfutil@tempdima}}
408+ {\pgfqpoint{3.75\pgfutil@tempdima}{-3\pgfutil@tempdima}}
409+ \pgfpathcurveto
410+ {\pgfqpoint{3.75\pgfutil@tempdima}{-4.665\pgfutil@tempdima}}
411+ {\pgfqpoint{2.415\pgfutil@tempdima}{-6\pgfutil@tempdima}}
412+ {\pgfqpoint{0.75\pgfutil@tempdima}{-6\pgfutil@tempdima}}
413+ \pgfusepathqstroke%
414+}
415+
416+% alternative hooks reversed arrow
417+\pgfarrowsdeclarereversed{hooks new reversed}{hooks new reversed}{hooks new}{hooks new}
418+
419+% original implies arrow (just for completeness)
420+\pgfarrowsdeclare{implies new}{implies new}
421+{
422+ \pgfmathsetlength{\pgfutil@tempdima}{.25\pgflinewidth+.25*\pgfinnerlinewidth}%
423+ \pgfmathsetlength{\pgfutil@tempdimb}{.5\pgflinewidth-.5*\pgfinnerlinewidth}%
424+ \pgfarrowsrightextend{2\pgfutil@tempdima+.5\pgfutil@tempdimb}
425+ \pgfarrowsleftextend{1.3\pgfutil@tempdima+.5\pgfutil@tempdimb}
426+}
427+{
428+ \pgfmathsetlength{\pgfutil@tempdima}{.25\pgflinewidth+.25*\pgfinnerlinewidth}%
429+ \pgfmathsetlength{\pgfutil@tempdimb}{.5\pgflinewidth-.5*\pgfinnerlinewidth}%
430+ \pgfsetlinewidth{\pgfutil@tempdimb}
431+ \pgfsetdash{}{+0pt}
432+ \pgfsetroundcap
433+ \pgfsetroundjoin
434+ \pgfpathmoveto{\pgfpoint{-1.4\pgfutil@tempdima}{2.65\pgfutil@tempdima}}
435+ \pgfpathcurveto
436+ {\pgfpoint{-0.75\pgfutil@tempdima}{1.25\pgfutil@tempdima}}
437+ {\pgfpoint{1\pgfutil@tempdima}{0.05\pgfutil@tempdima}}
438+ {\pgfpoint{2\pgfutil@tempdima}{0pt}}
439+ \pgfpathcurveto
440+ {\pgfpoint{1\pgfutil@tempdima}{-0.05\pgfutil@tempdima}}
441+ {\pgfpoint{-.75\pgfutil@tempdima}{-1.25\pgfutil@tempdima}}
442+ {\pgfpoint{-1.4\pgfutil@tempdima}{-2.65\pgfutil@tempdima}}
443+ \pgfusepathqstroke
444+}
445+
446+% alternative latex arrow
447+\pgfarrowsdeclare{latex new}{latex new}
448+{
449+ \ifdim\pgfgetarrowoptions{latex new}<0pt%
450+ \pgfutil@tempdima=0.28pt%
451+ \pgfutil@tempdimb=\pgflinewidth%
452+ \ifdim\pgfinnerlinewidth>0pt%
453+ \pgfmathsetlength\pgfutil@tempdimb{.6\pgflinewidth-.4*\pgfinnerlinewidth}%
454+ \fi
455+ \advance\pgfutil@tempdima by.3\pgfutil@tempdimb%
456+ \pgfarrowsleftextend{+-1\pgfutil@tempdima}
457+ \pgfarrowsrightextend{+9\pgfutil@tempdima}
458+ \else
459+ \pgfutil@tempdima=\pgfgetarrowoptions{latex new}%
460+ \advance\pgfutil@tempdima by -0.5pt% to minimize the arrow shaft
461+ \pgfarrowsleftextend{+-0.5pt}
462+ \pgfarrowsrightextend{\pgfutil@tempdima}
463+ \fi
464+}
465+{
466+ \ifdim\pgfgetarrowoptions{latex new}<0pt%
467+ \pgfutil@tempdima=0.28pt%
468+ \pgfutil@tempdimb=\pgflinewidth%
469+ \ifdim\pgfinnerlinewidth>0pt%
470+ \pgfmathsetlength\pgfutil@tempdimb{.6\pgflinewidth-.4*\pgfinnerlinewidth}%
471+ \fi
472+ \advance\pgfutil@tempdima by.3\pgfutil@tempdimb%
473+ \else
474+ \pgfutil@tempdima=\pgfgetarrowoptions{latex new}%
475+ \divide\pgfutil@tempdima by 10%
476+ \pgfutil@tempdimb=\pgfutil@tempdima%
477+ \advance\pgfutil@tempdimb by -0.5pt%
478+ \pgftransformxshift{\pgfutil@tempdimb}% to minimize the arrow shaft
479+ \fi
480+ \pgfpathmoveto{\pgfqpoint{9\pgfutil@tempdima}{0pt}}
481+ \pgfpathcurveto
482+ {\pgfqpoint{6.3333\pgfutil@tempdima}{.5\pgfutil@tempdima}}
483+ {\pgfqpoint{2\pgfutil@tempdima}{2\pgfutil@tempdima}}
484+ {\pgfqpoint{-1\pgfutil@tempdima}{3.75\pgfutil@tempdima}}
485+ \pgfpathlineto{\pgfqpoint{-1\pgfutil@tempdima}{-3.75\pgfutil@tempdima}}
486+ \pgfpathcurveto
487+ {\pgfqpoint{2\pgfutil@tempdima}{-2\pgfutil@tempdima}}
488+ {\pgfqpoint{6.3333\pgfutil@tempdima}{-.5\pgfutil@tempdima}}
489+ {\pgfqpoint{9\pgfutil@tempdima}{0pt}}
490+ \pgfusepathqfill
491+}
492+
493+% alternative latex reversed arrow
494+\pgfarrowsdeclarereversed{latex new reversed}{latex new reversed}{latex new}{latex new}
495+
496+% alternative latex' arrow
497+\pgfarrowsdeclare{latex' new}{latex' new}
498+{
499+ \ifdim\pgfgetarrowoptions{latex' new}<0pt%
500+ \pgfutil@tempdima=0.28pt%
501+ \advance\pgfutil@tempdima by.3\pgflinewidth%
502+ \pgfarrowsleftextend{+-4\pgfutil@tempdima}
503+ \pgfarrowsrightextend{+6\pgfutil@tempdima}
504+ \else
505+ \pgfutil@tempdima=\pgfgetarrowoptions{latex' new}%
506+ \pgfutil@tempdimb=0.8125\pgfutil@tempdima%
507+ \advance\pgfutil@tempdimb by -0.5pt%
508+ \advance\pgfutil@tempdima by -\pgfutil@tempdimb%
509+ \pgfarrowsleftextend{+-\pgfutil@tempdima}% to minimize the arrow shaft
510+ \pgfarrowsrightextend{+\pgfutil@tempdimb}%
511+ \fi
512+}
513+{
514+ \ifdim\pgfgetarrowoptions{latex' new}<0pt%
515+ \pgfutil@tempdima=0.28pt%
516+ \advance\pgfutil@tempdima by.3\pgflinewidth%
517+ \else
518+ \pgfutil@tempdima=\pgfgetarrowoptions{latex' new}%
519+ \divide\pgfutil@tempdima by 10%
520+ \pgfutil@tempdimb=2.125\pgfutil@tempdima%
521+ \advance\pgfutil@tempdimb by -0.5pt%
522+ \pgftransformxshift{\pgfutil@tempdimb}% to minimize the arrow shaft
523+ \fi
524+ \pgfpathmoveto{\pgfqpoint{6\pgfutil@tempdima}{0\pgfutil@tempdima}}
525+ \pgfpathcurveto
526+ {\pgfqpoint{3.5\pgfutil@tempdima}{.5\pgfutil@tempdima}}
527+ {\pgfqpoint{-1\pgfutil@tempdima}{1.5\pgfutil@tempdima}}
528+ {\pgfqpoint{-4\pgfutil@tempdima}{3.75\pgfutil@tempdima}}
529+ \pgfpathcurveto
530+ {\pgfqpoint{-1.5\pgfutil@tempdima}{1\pgfutil@tempdima}}
531+ {\pgfqpoint{-1.5\pgfutil@tempdima}{-1\pgfutil@tempdima}}
532+ {\pgfqpoint{-4\pgfutil@tempdima}{-3.75\pgfutil@tempdima}}
533+ \pgfpathcurveto
534+ {\pgfqpoint{-1\pgfutil@tempdima}{-1.5\pgfutil@tempdima}}
535+ {\pgfqpoint{3.5\pgfutil@tempdima}{-.5\pgfutil@tempdima}}
536+ {\pgfqpoint{6\pgfutil@tempdima}{0\pgfutil@tempdima}}
537+ \pgfusepathqfill
538+}
539+
540+% alternative latex' reversed arrow
541+\pgfarrowsdeclarereversed{latex' new reversed}{latex' new reversed}{latex' new}{latex' new}
542+
543+% alternative left hook arrow
544+\pgfarrowsdeclare{left hook new}{left hook new}
545+{
546+ \pgfarrowsleftextend{+-.5\pgflinewidth}
547+ \ifdim\pgfgetarrowoptions{left hook new}<0pt%
548+ \pgfutil@tempdima=0.4pt%
549+ \advance\pgfutil@tempdima by.2\pgflinewidth%
550+ \pgfutil@tempdimb=3.75\pgfutil@tempdima%
551+ \advance\pgfutil@tempdimb by0.5\pgflinewidth%
552+ \pgfarrowsrightextend{+\pgfutil@tempdimb}
553+ \else
554+ \pgfutil@tempdima=\pgfgetarrowoptions{left hook new}%
555+ \pgfutil@tempdima=0.3125\pgfutil@tempdima%
556+ \advance\pgfutil@tempdima by 0.1875\pgflinewidth%
557+ \pgfarrowsrightextend{+\pgfutil@tempdima}
558+ \fi
559+}
560+{
561+ \ifdim\pgfgetarrowoptions{left hook new}<0pt%
562+ \pgfutil@tempdima=0.4pt%
563+ \advance\pgfutil@tempdima by.2\pgflinewidth%
564+ \else
565+ \pgfutil@tempdima=\pgfgetarrowoptions{left hook new}%
566+ \advance\pgfutil@tempdima by -\pgflinewidth%
567+ \divide\pgfutil@tempdima by 12%
568+ \fi
569+ \pgfsetdash{}{+0pt}
570+ \pgfsetroundcap
571+ \pgfpathmoveto{\pgfqpoint{0\pgfutil@tempdima}{0\pgfutil@tempdima}}
572+ \pgfpathlineto{\pgfqpoint{0.75\pgfutil@tempdima}{0\pgfutil@tempdima}}
573+ \pgfpathcurveto
574+ {\pgfqpoint{2.415\pgfutil@tempdima}{0\pgfutil@tempdima}}
575+ {\pgfqpoint{3.75\pgfutil@tempdima}{1.665\pgfutil@tempdima}}
576+ {\pgfqpoint{3.75\pgfutil@tempdima}{3\pgfutil@tempdima}}
577+ \pgfpathcurveto
578+ {\pgfqpoint{3.75\pgfutil@tempdima}{4.665\pgfutil@tempdima}}
579+ {\pgfqpoint{2.415\pgfutil@tempdima}{6\pgfutil@tempdima}}
580+ {\pgfqpoint{0.75\pgfutil@tempdima}{6\pgfutil@tempdima}}
581+ \pgfusepathqstroke%
582+}
583+
584+% alternative left hook reversed arrow
585+\pgfarrowsdeclarereversed{left hook new reversed}{left hook new reversed}{left hook new}{left hook new}
586+
587+% alternative left to arrow
588+\pgfarrowsdeclare{left to new}{left to new}
589+{
590+ \ifdim\pgfgetarrowoptions{left to new}<0pt%
591+ \pgfutil@tempdima=-0.84pt%
592+ \advance\pgfutil@tempdima by-1.3\pgflinewidth%
593+ \pgfutil@tempdimb=0.21pt%
594+ \advance\pgfutil@tempdimb by.625\pgflinewidth%
595+ \pgfarrowsleftextend{+\pgfutil@tempdima}
596+ \pgfarrowsrightextend{+\pgfutil@tempdimb}
597+ \else
598+ \pgfutil@tempdima=\pgfgetarrowoptions{left to new}%
599+ \advance\pgfutil@tempdima by -0.8\pgflinewidth% arbitrary value (2*0.5*0.8\pgflinewidth)
600+ \pgfarrowsleftextend{+-\pgfutil@tempdima}
601+ \pgfarrowsrightextend{+0.8\pgflinewidth}%
602+ \fi
603+}
604+{
605+ \ifdim\pgfgetarrowoptions{left to new}<0pt%
606+ \pgfutil@tempdima=0.28pt%
607+ \advance\pgfutil@tempdima by.3\pgflinewidth%
608+ \pgfutil@tempdimb=0pt%
609+ \else
610+ \pgfutil@tempdima=\pgfgetarrowoptions{left to new}%
611+ \advance\pgfutil@tempdima by -0.8\pgflinewidth% because thickness is set to 0.8\pgflinewidth
612+ \divide\pgfutil@tempdima by 15%
613+ \multiply\pgfutil@tempdima by 4%
614+ \pgfutil@tempdimb=0.75\pgfutil@tempdima%
615+ \advance\pgfutil@tempdimb by -0.4\pgflinewidth% arbitrary value (0.5*0.8\pgflinewidth)
616+ \pgftransformxshift{-\pgfutil@tempdimb}
617+ \fi
618+ \pgfsetlinewidth{0.8\pgflinewidth}
619+ \pgfsetdash{}{+0pt}
620+ \pgfsetroundcap
621+ \pgfsetroundjoin
622+ \pgfpathmoveto{\pgfqpoint{-3\pgfutil@tempdima}{4\pgfutil@tempdima}}
623+ \pgfpathcurveto
624+ {\pgfqpoint{-2.75\pgfutil@tempdima}{2.5\pgfutil@tempdima}}
625+ {\pgfqpoint{0pt}{0.25\pgfutil@tempdima}}
626+ {\pgfqpoint{0.75\pgfutil@tempdima}{0pt}}
627+ \pgfpathcurveto
628+ {\pgfqpoint{0.55\pgfutil@tempdima}{-0.125\pgflinewidth}}
629+ {\pgfqpoint{0.5\pgfutil@tempdima}{-0.125\pgflinewidth}}
630+ {\pgfqpoint{0.5\pgfutil@tempdima}{-0.125\pgflinewidth}}
631+ \pgfpathlineto{\pgfqpoint{\pgfutil@tempdimb}{-0.125\pgflinewidth}}
632+ \pgfusepathqstroke
633+}
634+
635+% alternative left to reversed arrow
636+\pgfarrowsdeclare{left to new reversed}{left to new reversed}
637+{
638+ \pgfarrowsleftextend{+-.1\pgflinewidth}
639+ \ifdim\pgfgetarrowoptions{left to new reversed}<0pt%
640+ \pgfutil@tempdima=0.28pt%
641+ \advance\pgfutil@tempdima by.3\pgflinewidth%
642+ \pgfutil@tempdimb=3.75\pgfutil@tempdima%
643+ \advance\pgfutil@tempdimb by0.9\pgflinewidth%
644+ \pgfarrowsrightextend{+\pgfutil@tempdimb}
645+ \else
646+ \pgfutil@tempdima=\pgfgetarrowoptions{left to new reversed}%
647+ \advance\pgfutil@tempdima by 0.1\pgflinewidth%
648+ \pgfarrowsrightextend{+\pgfutil@tempdima}
649+ \fi
650+}
651+{
652+ \ifdim\pgfgetarrowoptions{left to new reversed}<0pt%
653+ \pgfutil@tempdima=0.28pt%
654+ \advance\pgfutil@tempdima by.3\pgflinewidth%
655+ \else
656+ \pgfutil@tempdima=\pgfgetarrowoptions{left to new reversed}%
657+ \advance\pgfutil@tempdima by -0.8\pgflinewidth% because thickness is set to 0.8\pgflinewidth
658+ \divide\pgfutil@tempdima by 15%
659+ \multiply\pgfutil@tempdima by 4%
660+ \fi
661+ \pgfsetdash{}{+0pt}
662+ \pgfsetroundjoin
663+ \pgfsetbuttcap
664+ \pgfpathmoveto{\pgfqpoint{0.5\pgflinewidth}{0pt}}
665+ \pgfpathlineto{\pgfqpoint{-0.1\pgflinewidth}{0pt}}
666+ \pgfusepathqstroke
667+ \pgfsetroundcap
668+ \pgfsetlinewidth{.8\pgflinewidth}
669+ {\pgftransformxshift{0.625\pgflinewidth}
670+ \pgfpathmoveto{\pgfqpoint{3.75\pgfutil@tempdima}{4\pgfutil@tempdima}}
671+ \pgfpathcurveto
672+ {\pgfqpoint{3.5\pgfutil@tempdima}{2.5\pgfutil@tempdima}}
673+ {\pgfqpoint{0.75\pgfutil@tempdima}{0.25\pgfutil@tempdima}}
674+ {\pgfqpoint{0pt}{0.125\pgflinewidth}}
675+ \pgfpathmoveto{\pgfqpoint{3.75\pgfutil@tempdima}{4\pgfutil@tempdima}}
676+ \pgfpathcurveto
677+ {\pgfqpoint{3.5\pgfutil@tempdima}{2.5\pgfutil@tempdima}}
678+ {\pgfqpoint{0.75\pgfutil@tempdima}{0.25\pgfutil@tempdima}}
679+ {\pgfqpoint{0pt}{-0.125\pgflinewidth}}
680+ }
681+ \pgfusepathqstroke
682+}
683+
684+% alternative o arrow
685+\pgfarrowsdeclare{o new}{o new}
686+{
687+ \pgfarrowsleftextend{+-.5\pgflinewidth}
688+ \ifdim\pgfgetarrowoptions{o new}<0pt%
689+ \pgfutil@tempdima=0.4pt%
690+ \advance\pgfutil@tempdima by.2\pgflinewidth%
691+ \pgfutil@tempdimb=9\pgfutil@tempdima%
692+ \advance\pgfutil@tempdimb by.5\pgflinewidth%
693+ \pgfarrowsrightextend{+\pgfutil@tempdimb}
694+ \else
695+ \pgfutil@tempdima=\pgfgetarrowoptions{o new}%
696+ \advance\pgfutil@tempdima by -0.5\pgflinewidth%
697+ \pgfarrowsrightextend{+\pgfutil@tempdima}
698+ \fi
699+}
700+{
701+ \ifdim\pgfgetarrowoptions{o new}<0pt%
702+ \pgfutil@tempdima=0.4pt%
703+ \advance\pgfutil@tempdima by.2\pgflinewidth%
704+ \else
705+ \pgfutil@tempdima=\pgfgetarrowoptions{o new}%
706+ \advance\pgfutil@tempdima by -\pgflinewidth%
707+ \divide\pgfutil@tempdima by 9%
708+ \fi
709+ \pgfsetdash{}{+0pt}
710+ \pgfpathcircle{\pgfqpoint{4.5\pgfutil@tempdima}{0pt}}{4.5\pgfutil@tempdima}%
711+ \pgfusepathqstroke
712+}
713+
714+% alternative open diamond arrow
715+\pgfarrowsdeclare{open diamond new}{open diamond new}
716+{
717+ \pgfarrowsleftextend{+-.5\pgflinewidth}% due to the round cap
718+ \ifdim\pgfgetarrowoptions{open diamond new}<0pt%
719+ \pgfutil@tempdima=0.4pt%
720+ \advance\pgfutil@tempdima by.275\pgflinewidth%
721+ \pgfutil@tempdimb=14\pgfutil@tempdima%
722+ \advance\pgfutil@tempdimb by.5\pgflinewidth%
723+ \pgfarrowsrightextend{+\pgfutil@tempdimb}
724+ \else
725+ \pgfutil@tempdima=\pgfgetarrowoptions{open diamond new}%
726+ \advance\pgfutil@tempdima by -0.5\pgflinewidth%
727+ \pgfarrowsrightextend{+\pgfutil@tempdima}
728+ \fi
729+}
730+{
731+ \ifdim\pgfgetarrowoptions{open diamond new}<0pt%
732+ \pgfutil@tempdima=0.4pt%
733+ \advance\pgfutil@tempdima by.275\pgflinewidth%
734+ \else
735+ \pgfutil@tempdima=\pgfgetarrowoptions{open diamond new}%
736+ \advance\pgfutil@tempdima by -\pgflinewidth%
737+ \divide\pgfutil@tempdima by 14%
738+ \fi
739+ \pgfsetdash{}{+0pt}
740+ \pgfsetroundjoin
741+ \pgfpathmoveto{\pgfqpoint{14\pgfutil@tempdima}{0\pgfutil@tempdima}}
742+ \pgfpathlineto{\pgfqpoint{7\pgfutil@tempdima}{4\pgfutil@tempdima}}
743+ \pgfpathlineto{\pgfqpoint{0\pgfutil@tempdima}{0\pgfutil@tempdima}}
744+ \pgfpathlineto{\pgfqpoint{7\pgfutil@tempdima}{-4\pgfutil@tempdima}}
745+ \pgfpathclose
746+ \pgfusepathqstroke
747+}
748+
749+% alternative open square arrow
750+\pgfarrowsdeclare{open square new}{open square new}
751+{
752+ \ifdim\pgfgetarrowoptions{open square new}<0pt%
753+ \pgfutil@tempdima=0.4pt%
754+ \advance\pgfutil@tempdima by.275\pgflinewidth%
755+ \advance\pgfutil@tempdima by7\pgfutil@tempdima%
756+ \advance\pgfutil@tempdima by.5\pgflinewidth%
757+ \else
758+ \pgfutil@tempdima=\pgfgetarrowoptions{open square new}%
759+ \advance\pgfutil@tempdima by -0.5\pgflinewidth%
760+ \fi
761+ \pgfarrowsleftextend{+-.5\pgflinewidth}
762+ \pgfarrowsrightextend{+\pgfutil@tempdima}
763+}
764+{
765+ \ifdim\pgfgetarrowoptions{open square new}<0pt%
766+ \pgfutil@tempdima=0.4pt%
767+ \advance\pgfutil@tempdima by.275\pgflinewidth%
768+ \else
769+ \pgfutil@tempdima=\pgfgetarrowoptions{open square new}%
770+ \advance\pgfutil@tempdima by -\pgflinewidth%
771+ \divide\pgfutil@tempdima by 8%
772+ \fi
773+ \pgfsetdash{}{+0pt}
774+ \pgfsetroundjoin
775+ \pgfpathmoveto{\pgfqpoint{8\pgfutil@tempdima}{4\pgfutil@tempdima}}
776+ \pgfpathlineto{\pgfqpoint{0\pgfutil@tempdima}{4\pgfutil@tempdima}}
777+ \pgfpathlineto{\pgfqpoint{0\pgfutil@tempdima}{-4\pgfutil@tempdima}}
778+ \pgfpathlineto{\pgfqpoint{8\pgfutil@tempdima}{-4\pgfutil@tempdima}}
779+ \pgfpathclose
780+ \pgfusepathqstroke
781+}
782+
783+% alternative open triangle 45 arrow
784+\pgfarrowsdeclare{open triangle 45 new}{open triangle 45 new}
785+{
786+ \ifdim\pgfgetarrowoptions{open triangle 45 new}<0pt%
787+ \pgfutil@tempdima=0.5pt%
788+ \advance\pgfutil@tempdima by.25\pgflinewidth%
789+ \pgfutil@tempdimb=9.205\pgfutil@tempdima%
790+ \advance\pgfutil@tempdimb by1.28\pgflinewidth%
791+ \else
792+ \pgfutil@tempdimb=\pgfgetarrowoptions{open triangle 45 new}%
793+ \advance\pgfutil@tempdimb by -0.5\pgflinewidth%
794+ \fi
795+ \pgfarrowsleftextend{+-.5\pgflinewidth}
796+ \pgfarrowsrightextend{+\pgfutil@tempdimb}
797+}
798+{
799+ \pgfsetdash{}{+0pt}
800+ \pgfsetmiterjoin
801+ \ifdim\pgfgetarrowoptions{open triangle 45 new}<0pt%
802+ \pgfutil@tempdima=0.5pt%
803+ \advance\pgfutil@tempdima by.25\pgflinewidth%
804+ \pgfpathmoveto{\pgfpointadd{\pgfqpoint{9.205\pgfutil@tempdima}{0pt}}
805+ {\pgfqpointpolar{157}{10\pgfutil@tempdima}}}
806+ \pgfpathlineto{\pgfqpoint{9.205\pgfutil@tempdima}{0pt}}
807+ \pgfpathlineto{\pgfpointadd{\pgfqpoint{9.205\pgfutil@tempdima}{0pt}}
808+ {\pgfqpointpolar{-157}{10\pgfutil@tempdima}}}
809+ \pgfpathclose
810+ \pgfusepathqstroke
811+ \else
812+ \pgfutil@tempdima=\pgfgetarrowoptions{open triangle 45 new}%
813+ \advance\pgfutil@tempdima by -1.80656\pgflinewidth% -(1.30656+0.5)
814+ \pgftransformxshift{\pgfutil@tempdima}
815+ \pgfmathsetlength{\pgfutil@tempdima}{\pgfutil@tempdima/cos(22.5)}
816+ \pgfpathmoveto{\pgfqpointpolar{157.5}{\pgfutil@tempdima}}
817+ \pgfpathlineto{\pgfpointorigin}
818+ \pgfpathlineto{\pgfqpointpolar{-157.5}{\pgfutil@tempdima}}
819+ \pgfpathclose
820+ \pgfusepathqstroke
821+ \fi
822+}
823+
824+% alternative open triangle 45 reversed arrow
825+\pgfarrowsdeclare{open triangle 45 new reversed}{open triangle 45 new reversed}
826+{
827+ \ifdim\pgfgetarrowoptions{open triangle 45 new reversed}<0pt%
828+ \pgfutil@tempdima=0.5pt%
829+ \advance\pgfutil@tempdima by.25\pgflinewidth%
830+ \pgfarrowsleftextend{+-1.28\pgflinewidth}
831+ \pgfutil@tempdimb=9.205\pgfutil@tempdima%
832+ \advance\pgfutil@tempdimb by0.5\pgflinewidth%
833+ \else
834+ \pgfarrowsleftextend{+-1.30656\pgflinewidth}%
835+ \pgfutil@tempdimb=\pgfgetarrowoptions{open triangle 45 new reversed}%
836+ \advance\pgfutil@tempdimb by -1.30656\pgflinewidth%
837+ \fi
838+ \pgfarrowsrightextend{+\pgfutil@tempdimb}
839+}
840+{
841+ \pgfsetdash{}{+0pt}
842+ \pgfsetmiterjoin
843+ \ifdim\pgfgetarrowoptions{open triangle 45 new reversed}<0pt%
844+ \pgfutil@tempdima=0.5pt%
845+ \advance\pgfutil@tempdima by.25\pgflinewidth%
846+ \pgfpathmoveto{\pgfqpointpolar{23}{10\pgfutil@tempdima}}
847+ \pgfpathlineto{\pgfpointorigin}
848+ \pgfpathlineto{\pgfqpointpolar{-23}{10\pgfutil@tempdima}}
849+ \pgfpathclose
850+ \pgfusepathqstroke
851+ \else
852+ \pgfutil@tempdima=\pgfgetarrowoptions{open triangle 45 new reversed}%
853+ \advance\pgfutil@tempdima by -1.80656\pgflinewidth% -(1.30656+0.5)
854+ \pgfmathsetlength{\pgfutil@tempdima}{\pgfutil@tempdima/cos(22.5)}
855+ \pgfpathmoveto{\pgfqpointpolar{22.5}{\pgfutil@tempdima}}
856+ \pgfpathlineto{\pgfpointorigin}
857+ \pgfpathlineto{\pgfqpointpolar{-22.5}{\pgfutil@tempdima}}
858+ \pgfpathclose
859+ \pgfusepathqstroke
860+ \fi
861+}
862+
863+% alternative open triangle 60 arrow
864+\pgfarrowsdeclare{open triangle 60 new}{open triangle 60 new}
865+{
866+ \ifdim\pgfgetarrowoptions{open triangle 60 new}<0pt%
867+ \pgfutil@tempdima=0.5pt%
868+ \advance\pgfutil@tempdima by.25\pgflinewidth%
869+ \pgfutil@tempdimb=7.794\pgfutil@tempdima%
870+ \advance\pgfutil@tempdimb by\pgflinewidth%
871+ \else
872+ \pgfutil@tempdimb=\pgfgetarrowoptions{open triangle 60 new}%
873+ \advance\pgfutil@tempdimb by -0.5\pgflinewidth%
874+ \fi
875+ \pgfarrowsleftextend{+-.5\pgflinewidth}
876+ \pgfarrowsrightextend{+\pgfutil@tempdimb}
877+}
878+{
879+ \pgfsetdash{}{+0pt}
880+ \pgfsetmiterjoin
881+ \ifdim\pgfgetarrowoptions{open triangle 60 new}<0pt%
882+ \pgfutil@tempdima=0.5pt%
883+ \advance\pgfutil@tempdima by.25\pgflinewidth%
884+ \pgfpathmoveto{\pgfpointadd{\pgfqpoint{7.794\pgfutil@tempdima}{0pt}}
885+ {\pgfqpointpolar{150}{9\pgfutil@tempdima}}}
886+ \pgfpathlineto{\pgfqpoint{7.794\pgfutil@tempdima}{0pt}}
887+ \pgfpathlineto{\pgfpointadd{\pgfqpoint{7.794\pgfutil@tempdima}{0pt}}
888+ {\pgfqpointpolar{-150}{9\pgfutil@tempdima}}}
889+ \pgfpathclose
890+ \pgfusepathqstroke
891+ \else
892+ \pgfutil@tempdima=\pgfgetarrowoptions{open triangle 60 new}%
893+ \advance\pgfutil@tempdima by -1.5\pgflinewidth% -(1+0.5)
894+ \pgftransformxshift{\pgfutil@tempdima}
895+ \pgfmathsetlength{\pgfutil@tempdima}{\pgfutil@tempdima/cos(30)}
896+ \pgfpathmoveto{\pgfqpointpolar{150}{\pgfutil@tempdima}}
897+ \pgfpathlineto{\pgfpointorigin}
898+ \pgfpathlineto{\pgfqpointpolar{-150}{\pgfutil@tempdima}}
899+ \pgfpathclose
900+ \pgfusepathqstroke
901+ \fi
902+}
903+
904+% alternative open triangle 60 reversed
905+\pgfarrowsdeclare{open triangle 60 new reversed}{open triangle 60 new reversed}
906+{
907+ \ifdim\pgfgetarrowoptions{open triangle 60 new reversed}<0pt%
908+ \pgfutil@tempdima=0.5pt%
909+ \advance\pgfutil@tempdima by.25\pgflinewidth%
910+ \pgfutil@tempdimb=7.794\pgfutil@tempdima%
911+ \advance\pgfutil@tempdimb by0.5\pgflinewidth%
912+ \else
913+ \pgfutil@tempdimb=\pgfgetarrowoptions{open triangle 60 new reversed}%
914+ \advance\pgfutil@tempdimb by -\pgflinewidth%
915+ \fi
916+ \pgfarrowsleftextend{+-\pgflinewidth}
917+ \pgfarrowsrightextend{+\pgfutil@tempdimb}
918+}
919+{
920+ \pgfsetdash{}{+0pt}
921+ \pgfsetmiterjoin
922+ \ifdim\pgfgetarrowoptions{open triangle 60 new reversed}<0pt%
923+ \pgfutil@tempdima=0.5pt%
924+ \advance\pgfutil@tempdima by.25\pgflinewidth%
925+ \pgfpathmoveto{\pgfqpointpolar{30}{9\pgfutil@tempdima}}
926+ \pgfpathlineto{\pgfpointorigin}
927+ \pgfpathlineto{\pgfqpointpolar{-30}{9\pgfutil@tempdima}}
928+ \pgfpathclose
929+ \pgfusepathqstroke
930+ \else
931+ \pgfutil@tempdima=\pgfgetarrowoptions{open triangle 60 new reversed}%
932+ \advance\pgfutil@tempdima by -1.5\pgflinewidth% -(1+0.5)
933+ \pgfmathsetlength{\pgfutil@tempdima}{\pgfutil@tempdima/cos(30)}
934+ \pgfpathmoveto{\pgfqpointpolar{30}{\pgfutil@tempdima}}
935+ \pgfpathlineto{\pgfpointorigin}
936+ \pgfpathlineto{\pgfqpointpolar{-30}{\pgfutil@tempdima}}
937+ \pgfpathclose
938+ \pgfusepathqstroke
939+ \fi
940+}
941+
942+% alternative open triangle 90 arrow
943+\pgfarrowsdeclare{open triangle 90 new}{open triangle 90 new}
944+{
945+ \ifdim\pgfgetarrowoptions{open triangle 90 new}<0pt%
946+ \pgfutil@tempdima=0.5pt%
947+ \advance\pgfutil@tempdima by.25\pgflinewidth%
948+ \pgfutil@tempdimb=6\pgfutil@tempdima%
949+ \advance\pgfutil@tempdimb by0.707\pgflinewidth%
950+ \else
951+ \pgfutil@tempdimb=\pgfgetarrowoptions{open triangle 90 new}%
952+ \advance\pgfutil@tempdimb by -0.5\pgflinewidth%
953+ \fi
954+ \pgfarrowsleftextend{+-.5\pgflinewidth}
955+ \pgfarrowsrightextend{+\pgfutil@tempdimb}
956+}
957+{
958+ \pgfsetdash{}{+0pt}
959+ \pgfsetmiterjoin
960+ \ifdim\pgfgetarrowoptions{open triangle 90 new}<0pt%
961+ \pgfutil@tempdima=0.5pt%
962+ \advance\pgfutil@tempdima by.25\pgflinewidth%
963+ \pgfpathmoveto{\pgfqpoint{0\pgfutil@tempdima}{-6\pgfutil@tempdima}}
964+ \pgfpathlineto{\pgfqpoint{6\pgfutil@tempdima}{0\pgfutil@tempdima}}
965+ \pgfpathlineto{\pgfqpoint{0\pgfutil@tempdima}{6\pgfutil@tempdima}}
966+ \pgfpathclose
967+ \pgfusepathqstroke
968+ \else
969+ \pgfutil@tempdima=\pgfgetarrowoptions{open triangle 90 new}%
970+ \advance\pgfutil@tempdima by -1.20711\pgflinewidth% -(0.70711+0.5)
971+ \pgfpathmoveto{\pgfqpoint{0pt}{\pgfutil@tempdima}}
972+ \pgfpathlineto{\pgfqpoint{\pgfutil@tempdima}{0pt}}
973+ \pgfpathlineto{\pgfqpoint{0pt}{-\pgfutil@tempdima}}
974+ \pgfpathclose
975+ \pgfusepathqstroke
976+ \fi
977+}
978+
979+% alternative open triangle 90 reversed arrow
980+\pgfarrowsdeclare{open triangle 90 new reversed}{open triangle 90 new reversed}
981+{
982+ \ifdim\pgfgetarrowoptions{open triangle 90 new reversed}<0pt%
983+ \pgfutil@tempdima=0.5pt%
984+ \advance\pgfutil@tempdima by.25\pgflinewidth%
985+ \pgfarrowsleftextend{+-.707\pgflinewidth}
986+ \pgfutil@tempdimb=6\pgfutil@tempdima%
987+ \advance\pgfutil@tempdimb by0.5\pgflinewidth%
988+ \pgfarrowsrightextend{+\pgfutil@tempdimb}
989+ \else
990+ \pgfutil@tempdimb=\pgfgetarrowoptions{open triangle 90 new reversed}%
991+ \advance\pgfutil@tempdimb by -0.70711\pgflinewidth%
992+ \pgfarrowsleftextend{+-0.70711\pgflinewidth}
993+ \pgfarrowsrightextend{+\pgfutil@tempdimb}
994+ \fi
995+}
996+{
997+ \pgfsetdash{}{+0pt}
998+ \pgfsetmiterjoin
999+ \ifdim\pgfgetarrowoptions{open triangle 90 new reversed}<0pt%
1000+ \pgfutil@tempdima=0.5pt%
1001+ \advance\pgfutil@tempdima by.25\pgflinewidth%
1002+ \pgfpathmoveto{\pgfqpoint{6\pgfutil@tempdima}{-6\pgfutil@tempdima}}
1003+ \pgfpathlineto{\pgfqpoint{0\pgfutil@tempdima}{0\pgfutil@tempdima}}
1004+ \pgfpathlineto{\pgfqpoint{6\pgfutil@tempdima}{6\pgfutil@tempdima}}
1005+ \pgfpathclose
1006+ \pgfusepathqstroke
1007+ \else
1008+ \pgfutil@tempdima=\pgfgetarrowoptions{open triangle 90 new reversed}%
1009+ \advance\pgfutil@tempdima by -1.20711\pgflinewidth% -(0.70711+0.5)
1010+ \pgfpathmoveto{\pgfqpoint{\pgfutil@tempdima}{\pgfutil@tempdima}}
1011+ \pgfpathlineto{\pgfpointorigin}
1012+ \pgfpathlineto{\pgfqpoint{\pgfutil@tempdima}{-\pgfutil@tempdima}}
1013+ \pgfpathclose
1014+ \pgfusepathqstroke
1015+ \fi
1016+}
1017+
1018+% alternative right hook arrow
1019+\pgfarrowsdeclare{right hook new}{right hook new}
1020+{
1021+ \pgfarrowsleftextend{+-.5\pgflinewidth}
1022+ \ifdim\pgfgetarrowoptions{right hook new}<0pt%
1023+ \pgfutil@tempdima=0.4pt%
1024+ \advance\pgfutil@tempdima by.2\pgflinewidth%
1025+ \pgfutil@tempdimb=3.75\pgfutil@tempdima%
1026+ \advance\pgfutil@tempdimb by0.5\pgflinewidth%
1027+ \pgfarrowsrightextend{+\pgfutil@tempdimb}
1028+ \else
1029+ \pgfutil@tempdima=\pgfgetarrowoptions{right hook new}%
1030+ \pgfutil@tempdima=0.3125\pgfutil@tempdima%
1031+ \advance\pgfutil@tempdima by 0.1875\pgflinewidth%
1032+ \pgfarrowsrightextend{+\pgfutil@tempdima}
1033+ \fi
1034+}
1035+{
1036+ \ifdim\pgfgetarrowoptions{right hook new}<0pt%
1037+ \pgfutil@tempdima=0.4pt%
1038+ \advance\pgfutil@tempdima by.2\pgflinewidth%
1039+ \else
1040+ \pgfutil@tempdima=\pgfgetarrowoptions{right hook new}%
1041+ \advance\pgfutil@tempdima by -\pgflinewidth%
1042+ \divide\pgfutil@tempdima by 12%
1043+ \fi
1044+ \pgfsetdash{}{+0pt}
1045+ \pgfsetroundcap
1046+ \pgfpathmoveto{\pgfqpoint{0\pgfutil@tempdima}{0\pgfutil@tempdima}}
1047+ \pgfpathlineto{\pgfqpoint{0.75\pgfutil@tempdima}{0\pgfutil@tempdima}}
1048+ \pgfpathcurveto
1049+ {\pgfqpoint{2.415\pgfutil@tempdima}{0\pgfutil@tempdima}}
1050+ {\pgfqpoint{3.75\pgfutil@tempdima}{-1.665\pgfutil@tempdima}}
1051+ {\pgfqpoint{3.75\pgfutil@tempdima}{-3\pgfutil@tempdima}}
1052+ \pgfpathcurveto
1053+ {\pgfqpoint{3.75\pgfutil@tempdima}{-4.665\pgfutil@tempdima}}
1054+ {\pgfqpoint{2.415\pgfutil@tempdima}{-6\pgfutil@tempdima}}
1055+ {\pgfqpoint{0.75\pgfutil@tempdima}{-6\pgfutil@tempdima}}
1056+ \pgfusepathqstroke
1057+}
1058+
1059+% alternative right hook reversed arrow
1060+\pgfarrowsdeclarereversed{right hook new reversed}{right hook new reversed}{right hook new}{right hook new}
1061+
1062+% alternative right to arrow
1063+\pgfarrowsdeclare{right to new}{right to new}
1064+{
1065+ \ifdim\pgfgetarrowoptions{right to new}<0pt%
1066+ \pgfutil@tempdima=-0.84pt%
1067+ \advance\pgfutil@tempdima by-1.3\pgflinewidth%
1068+ \pgfutil@tempdimb=0.21pt%
1069+ \advance\pgfutil@tempdimb by.625\pgflinewidth%
1070+ \pgfarrowsleftextend{+\pgfutil@tempdima}
1071+ \pgfarrowsrightextend{+\pgfutil@tempdimb}
1072+ \else
1073+ \pgfutil@tempdima=\pgfgetarrowoptions{right to new}%
1074+ \advance\pgfutil@tempdima by -0.8\pgflinewidth% arbitrary value (2*0.5*0.8\pgflinewidth)
1075+ \pgfarrowsleftextend{+-\pgfutil@tempdima}
1076+ \pgfarrowsrightextend{+0.8\pgflinewidth}
1077+ \fi
1078+}
1079+{
1080+ \ifdim\pgfgetarrowoptions{right to new}<0pt%
1081+ \pgfutil@tempdima=0.28pt%
1082+ \advance\pgfutil@tempdima by.3\pgflinewidth%
1083+ \pgfutil@tempdimb=0pt%
1084+ \else
1085+ \pgfutil@tempdima=\pgfgetarrowoptions{left to new}%
1086+ \advance\pgfutil@tempdima by -0.8\pgflinewidth% because thickness is set to 0.8\pgflinewidth
1087+ \divide\pgfutil@tempdima by 15%
1088+ \multiply\pgfutil@tempdima by 4%
1089+ \pgfutil@tempdimb=0.75\pgfutil@tempdima%
1090+ \advance\pgfutil@tempdimb by -0.4\pgflinewidth% arbitrary value (0.5*0.8\pgflinewidth)
1091+ \pgftransformxshift{-\pgfutil@tempdimb}
1092+ \fi
1093+ \pgfsetlinewidth{0.8\pgflinewidth}
1094+ \pgfsetdash{}{+0pt}
1095+ \pgfsetroundcap
1096+ \pgfsetroundjoin
1097+ \pgfpathmoveto{\pgfqpoint{-3\pgfutil@tempdima}{-4\pgfutil@tempdima}}
1098+ \pgfpathcurveto
1099+ {\pgfqpoint{-2.75\pgfutil@tempdima}{-2.5\pgfutil@tempdima}}
1100+ {\pgfqpoint{0pt}{-0.25\pgfutil@tempdima}}
1101+ {\pgfqpoint{0.75\pgfutil@tempdima}{0pt}}
1102+ \pgfpathcurveto
1103+ {\pgfqpoint{0.55\pgfutil@tempdima}{0.125\pgflinewidth}}
1104+ {\pgfqpoint{0.5\pgfutil@tempdima}{0.125\pgflinewidth}}
1105+ {\pgfqpoint{0.5\pgfutil@tempdima}{0.125\pgflinewidth}}
1106+ \pgfpathlineto{\pgfqpoint{\pgfutil@tempdimb}{0.125\pgflinewidth}}
1107+ \pgfusepathqstroke
1108+}
1109+
1110+% alternative right to reversed arrow
1111+\pgfarrowsdeclare{right to new reversed}{right to new reversed}
1112+{
1113+ \pgfarrowsleftextend{+-.1\pgflinewidth}
1114+ \ifdim\pgfgetarrowoptions{right to new reversed}<0pt%
1115+ \pgfutil@tempdima=0.28pt%
1116+ \advance\pgfutil@tempdima by.3\pgflinewidth%
1117+ \pgfutil@tempdimb=3.75\pgfutil@tempdima%
1118+ \advance\pgfutil@tempdimb by0.9\pgflinewidth%
1119+ \pgfarrowsrightextend{+\pgfutil@tempdimb}
1120+ \else
1121+ \pgfutil@tempdima=\pgfgetarrowoptions{right to new reversed}%
1122+ \advance\pgfutil@tempdima by 0.1\pgflinewidth%
1123+ \pgfarrowsrightextend{+\pgfutil@tempdima}
1124+ \fi
1125+}
1126+{
1127+ \ifdim\pgfgetarrowoptions{right to new reversed}<0pt%
1128+ \pgfutil@tempdima=0.28pt%
1129+ \advance\pgfutil@tempdima by.3\pgflinewidth%
1130+ \else
1131+ \pgfutil@tempdima=\pgfgetarrowoptions{right to new reversed}%
1132+ \advance\pgfutil@tempdima by -0.8\pgflinewidth% because thickness is set to 0.8\pgflinewidth
1133+ \divide\pgfutil@tempdima by 15%
1134+ \multiply\pgfutil@tempdima by 4%
1135+ \fi
1136+ \pgfsetdash{}{+0pt}
1137+ \pgfsetroundjoin
1138+ \pgfsetbuttcap
1139+ \pgfpathmoveto{\pgfqpoint{0.5\pgflinewidth}{0pt}}
1140+ \pgfpathlineto{\pgfqpoint{-0.1\pgflinewidth}{0pt}}
1141+ \pgfusepathqstroke
1142+ \pgfsetroundcap
1143+ \pgfsetlinewidth{.8\pgflinewidth}
1144+ {\pgftransformxshift{0.625\pgflinewidth}
1145+ \pgfpathmoveto{\pgfqpoint{3.75\pgfutil@tempdima}{-4\pgfutil@tempdima}}
1146+ \pgfpathcurveto
1147+ {\pgfqpoint{3.5\pgfutil@tempdima}{-2.5\pgfutil@tempdima}}
1148+ {\pgfqpoint{0.75\pgfutil@tempdima}{-0.25\pgfutil@tempdima}}
1149+ {\pgfqpoint{0pt}{-0.125\pgflinewidth}}
1150+ \pgfpathmoveto{\pgfqpoint{3.75\pgfutil@tempdima}{-4\pgfutil@tempdima}}
1151+ \pgfpathcurveto
1152+ {\pgfqpoint{3.5\pgfutil@tempdima}{-2.5\pgfutil@tempdima}}
1153+ {\pgfqpoint{0.75\pgfutil@tempdima}{-0.25\pgfutil@tempdima}}
1154+ {\pgfqpoint{0pt}{0.125\pgflinewidth}}
1155+ }
1156+ \pgfusepathqstroke
1157+}
1158+
1159+% original round cap arrow (just for completeness)
1160+\pgfarrowsdeclare{round cap new}{round cap new}
1161+{
1162+ \pgfarrowsleftextend{+0pt}
1163+ \pgfarrowsrightextend{+\pgflinewidth}
1164+}
1165+{
1166+ \pgfsetdash{}{+0pt}
1167+ \pgfsetroundcap
1168+ \pgfpathmoveto{\pgfpointorigin}
1169+ \pgfpathlineto{\pgfqpoint{0.5\pgflinewidth}{0pt}}
1170+ \pgfusepathqstroke
1171+}
1172+
1173+% original serif cm arrow (just for completeness)
1174+\pgfarrowsdeclare{serif cm new}{serif cm new}
1175+{
1176+ \pgfutil@tempdima=0.4pt%
1177+ \advance\pgfutil@tempdima by.45\pgflinewidth%
1178+ \pgfarrowsleftextend{+-.75\pgfutil@tempdima}
1179+ \pgfarrowsrightextend{+.04\pgflinewidth}
1180+}
1181+{
1182+ \pgfutil@tempdima=0.4pt%
1183+ \advance\pgfutil@tempdima by.45\pgflinewidth%
1184+ \pgftransformxshift{.04\pgflinewidth}
1185+ \pgfpathmoveto{\pgfqpoint{-.75\pgfutil@tempdima}{.5\pgflinewidth}}
1186+ \pgfpathcurveto
1187+ {\pgfqpoint{-.375\pgfutil@tempdima}{.5\pgflinewidth}}
1188+ {\pgfqpoint{-.375\pgfutil@tempdima}{.7\pgflinewidth}}
1189+ {\pgfqpoint{-.375\pgfutil@tempdima}{1.95\pgfutil@tempdima}}
1190+ \pgfpathlineto{\pgfqpoint{0pt}{1.95\pgfutil@tempdima}}
1191+ \pgfpathcurveto
1192+ {\pgfqpoint{-.04\pgflinewidth}{.5\pgfutil@tempdima}}
1193+ {\pgfqpoint{-.04\pgflinewidth}{-.5\pgfutil@tempdima}}
1194+ {\pgfqpoint{0pt}{-1.95\pgfutil@tempdima}}
1195+ \pgfpathlineto{\pgfqpoint{-.375\pgfutil@tempdima}{-1.95\pgfutil@tempdima}}
1196+ \pgfpathcurveto
1197+ {\pgfqpoint{-.375\pgfutil@tempdima}{-.7\pgflinewidth}}
1198+ {\pgfqpoint{-.375\pgfutil@tempdima}{-.5\pgflinewidth}}
1199+ {\pgfqpoint{-.75\pgfutil@tempdima}{-.5\pgflinewidth}}
1200+ \pgfpathclose
1201+ \pgfusepathqfill
1202+}
1203+
1204+% original space arrow (just for completeness)
1205+\pgfarrowsdeclare{space new}{space new}
1206+{
1207+ \pgfutil@tempdima=0.88pt%
1208+ \advance\pgfutil@tempdima by.3\pgflinewidth%
1209+ \pgfarrowsleftextend{0pt}
1210+ \pgfarrowsrightextend{\pgfutil@tempdima}
1211+}
1212+{}
1213+
1214+% alternative square arrow
1215+\pgfarrowsdeclare{square new}{square new}
1216+{
1217+ \ifdim\pgfgetarrowoptions{square new}<0pt%
1218+ \pgfutil@tempdima=0.4pt%
1219+ \advance\pgfutil@tempdima by.275\pgflinewidth%
1220+ \pgfarrowsleftextend{+-\pgfutil@tempdima}
1221+ \advance\pgfutil@tempdima by.5\pgflinewidth%
1222+ \pgfarrowsrightextend{+\pgfutil@tempdima}
1223+ \else
1224+ \pgfutil@tempdima=\pgfgetarrowoptions{square new}%
1225+ \advance\pgfutil@tempdima by -0.5\pgflinewidth%
1226+ \pgfarrowsleftextend{+-.5\pgflinewidth}
1227+ \pgfarrowsrightextend{+\pgfutil@tempdima}
1228+ \fi
1229+}
1230+{
1231+ \ifdim\pgfgetarrowoptions{square new}<0pt%
1232+ \pgfutil@tempdima=0.4pt%
1233+ \advance\pgfutil@tempdima by.275\pgflinewidth%
1234+ \else
1235+ \pgfutil@tempdima=\pgfgetarrowoptions{square new}%
1236+ \advance\pgfutil@tempdima by -\pgflinewidth%
1237+ \divide\pgfutil@tempdima by 8%
1238+ \pgftransformxshift{7\pgfutil@tempdima}
1239+ \fi
1240+ \pgfsetdash{}{+0pt}
1241+ \pgfsetroundjoin
1242+ \pgfpathmoveto{\pgfqpoint{1\pgfutil@tempdima}{4\pgfutil@tempdima}}
1243+ \pgfpathlineto{\pgfqpoint{-7\pgfutil@tempdima}{4\pgfutil@tempdima}}
1244+ \pgfpathlineto{\pgfqpoint{-7\pgfutil@tempdima}{-4\pgfutil@tempdima}}
1245+ \pgfpathlineto{\pgfqpoint{1\pgfutil@tempdima}{-4\pgfutil@tempdima}}
1246+ \pgfpathclose
1247+ \pgfusepathqfillstroke
1248+}
1249+
1250+% alternative stealth arrow
1251+\pgfarrowsdeclare{stealth new}{stealth new}
1252+{
1253+ \ifdim\pgfgetarrowoptions{stealth new}<0pt%
1254+ \pgfutil@tempdima=0.28pt%
1255+ \pgfutil@tempdimb=\pgflinewidth%
1256+ \ifdim\pgfinnerlinewidth>0pt%
1257+ \pgfmathsetlength\pgfutil@tempdimb{.6\pgflinewidth-.4*\pgfinnerlinewidth}%
1258+ \fi
1259+ \advance\pgfutil@tempdima by.3\pgfutil@tempdimb%
1260+ \else
1261+ \pgfutil@tempdima=\pgfgetarrowoptions{stealth new}%
1262+ \divide\pgfutil@tempdima by 8%
1263+ \fi
1264+ \pgfarrowsleftextend{+-3\pgfutil@tempdima}
1265+ \pgfarrowsrightextend{+5\pgfutil@tempdima}
1266+}
1267+{
1268+ \ifdim\pgfgetarrowoptions{stealth new}<0pt%
1269+ \pgfutil@tempdima=0.28pt%
1270+ \pgfutil@tempdimb=\pgflinewidth%
1271+ \ifdim\pgfinnerlinewidth>0pt%
1272+ \pgfmathsetlength\pgfutil@tempdimb{.6\pgflinewidth-.4*\pgfinnerlinewidth}%
1273+ \fi
1274+ \advance\pgfutil@tempdima by.3\pgfutil@tempdimb%
1275+ \else
1276+ \pgfutil@tempdima=\pgfgetarrowoptions{stealth new}%
1277+ \divide\pgfutil@tempdima by 8%
1278+ \fi
1279+ \pgfpathmoveto{\pgfqpoint{5\pgfutil@tempdima}{0pt}}
1280+ \pgfpathlineto{\pgfqpoint{-3\pgfutil@tempdima}{4\pgfutil@tempdima}}
1281+ \pgfpathlineto{\pgfpointorigin}
1282+ \pgfpathlineto{\pgfqpoint{-3\pgfutil@tempdima}{-4\pgfutil@tempdima}}
1283+ \pgfusepathqfill
1284+}
1285+
1286+% alternative stealth reversed arrow
1287+\pgfarrowsdeclarereversed{stealth new reversed}{stealth new reversed}{stealth new}{stealth new}
1288+
1289+% alternative stealth' arrow
1290+\pgfarrowsdeclare{stealth' new}{stealth' new}
1291+{
1292+ \ifdim\pgfgetarrowoptions{stealth' new}<0pt%
1293+ \pgfutil@tempdima=0.28pt%
1294+ \advance\pgfutil@tempdima by.3\pgflinewidth%
1295+ \pgfutil@tempdimb=6\pgfutil@tempdima%
1296+ \advance\pgfutil@tempdimb by.5\pgflinewidth%
1297+ \pgfarrowsleftextend{+-\pgfutil@tempdimb}
1298+ \pgfutil@tempdimb=2\pgfutil@tempdima%
1299+ \advance\pgfutil@tempdimb by0.5\pgflinewidth%
1300+ \pgfarrowsrightextend{+\pgfutil@tempdimb}
1301+ \else
1302+ \pgfutil@tempdima=\pgfgetarrowoptions{stealth' new}%
1303+ \pgfutil@tempdimb=0.71875\pgfutil@tempdima%
1304+ \advance\pgfutil@tempdimb by -0.21875\pgflinewidth%
1305+ \advance\pgfutil@tempdima by -\pgfutil@tempdimb%
1306+ \pgfarrowsleftextend{+-\pgfutil@tempdima}
1307+ \pgfarrowsrightextend{+\pgfutil@tempdimb}
1308+ \fi
1309+}
1310+{
1311+ \ifdim\pgfgetarrowoptions{stealth' new}<0pt%
1312+ \pgfutil@tempdima=0.28pt%
1313+ \advance\pgfutil@tempdima by.3\pgflinewidth%
1314+ \else
1315+ \pgfutil@tempdima=\pgfgetarrowoptions{stealth' new}%
1316+ \advance\pgfutil@tempdima by -\pgflinewidth%
1317+ \divide\pgfutil@tempdima by 8%
1318+ \pgftransformxshift{3.75\pgfutil@tempdima}
1319+ \fi
1320+ \pgfsetdash{}{+0pt}
1321+ \pgfsetroundjoin
1322+ \pgfpathmoveto{\pgfqpoint{2\pgfutil@tempdima}{0\pgfutil@tempdima}}
1323+ \pgfpathcurveto
1324+ {\pgfqpoint{-.5\pgfutil@tempdima}{.5\pgfutil@tempdima}}
1325+ {\pgfqpoint{-3\pgfutil@tempdima}{1.5\pgfutil@tempdima}}
1326+ {\pgfqpoint{-6\pgfutil@tempdima}{3.25\pgfutil@tempdima}}
1327+ \pgfpathcurveto
1328+ {\pgfqpoint{-3\pgfutil@tempdima}{1\pgfutil@tempdima}}
1329+ {\pgfqpoint{-3\pgfutil@tempdima}{-1\pgfutil@tempdima}}
1330+ {\pgfqpoint{-6\pgfutil@tempdima}{-3.25\pgfutil@tempdima}}
1331+ \pgfpathcurveto
1332+ {\pgfqpoint{-3\pgfutil@tempdima}{-1.5\pgfutil@tempdima}}
1333+ {\pgfqpoint{-.5\pgfutil@tempdima}{-.5\pgfutil@tempdima}}
1334+ {\pgfqpoint{2\pgfutil@tempdima}{0\pgfutil@tempdima}}
1335+ \pgfpathclose
1336+ \pgfusepathqfillstroke
1337+}
1338+
1339+% alternative stealth' reversed arrow
1340+\pgfarrowsdeclarereversed{stealth' new reversed}{stealth' new reversed}{stealth' new}{stealth' new}
1341+
1342+% alternative to arrow
1343+\pgfarrowsdeclare{to new}{to new}
1344+{
1345+ \ifdim\pgfgetarrowoptions{to new}<0pt%
1346+ \pgfutil@tempdima=-0.84pt%
1347+ \advance\pgfutil@tempdima by-1.3\pgflinewidth%
1348+ \pgfutil@tempdimb=0.21pt%
1349+ \advance\pgfutil@tempdimb by.625\pgflinewidth%
1350+ \pgfarrowsleftextend{+\pgfutil@tempdima}
1351+ \pgfarrowsrightextend{+\pgfutil@tempdimb}
1352+ \else
1353+ \pgfutil@tempdima=\pgfgetarrowoptions{to new}%
1354+ \advance\pgfutil@tempdima by -0.8\pgflinewidth% arbitrary value (2*0.5*0.8\pgflinewidth)
1355+ \pgfarrowsleftextend{+-\pgfutil@tempdima}
1356+ \pgfarrowsrightextend{+0.8\pgflinewidth}
1357+ \fi
1358+}
1359+{
1360+ \ifdim\pgfgetarrowoptions{to new}<0pt%
1361+ \pgfutil@tempdima=0.28pt%
1362+ \advance\pgfutil@tempdima by.3\pgflinewidth%
1363+ \else
1364+ \pgfutil@tempdima=\pgfgetarrowoptions{to new}%
1365+ \advance\pgfutil@tempdima by -0.8\pgflinewidth% because thickness is set to 0.8\pgflinewidth
1366+ \divide\pgfutil@tempdima by 15%
1367+ \multiply\pgfutil@tempdima by 4%
1368+ \pgfutil@tempdimb=0.75\pgfutil@tempdima%
1369+ \advance\pgfutil@tempdimb by -0.4\pgflinewidth% arbitrary value (0.5*0.8\pgflinewidth)
1370+ \pgftransformxshift{-\pgfutil@tempdimb}
1371+ \fi
1372+ \pgfsetlinewidth{0.8\pgflinewidth}
1373+ \pgfsetdash{}{+0pt}
1374+ \pgfsetroundcap
1375+ \pgfsetroundjoin
1376+ \pgfpathmoveto{\pgfqpoint{-3\pgfutil@tempdima}{4\pgfutil@tempdima}}
1377+ \pgfpathcurveto
1378+ {\pgfqpoint{-2.75\pgfutil@tempdima}{2.5\pgfutil@tempdima}}
1379+ {\pgfqpoint{0pt}{0.25\pgfutil@tempdima}}
1380+ {\pgfqpoint{0.75\pgfutil@tempdima}{0pt}}
1381+ \pgfpathcurveto
1382+ {\pgfqpoint{0pt}{-0.25\pgfutil@tempdima}}
1383+ {\pgfqpoint{-2.75\pgfutil@tempdima}{-2.5\pgfutil@tempdima}}
1384+ {\pgfqpoint{-3\pgfutil@tempdima}{-4\pgfutil@tempdima}}
1385+ \pgfusepathqstroke
1386+}
1387+
1388+% alternative to reversed arrow
1389+\pgfarrowsdeclare{to new reversed}{to new reversed}
1390+{
1391+ \ifdim\pgfgetarrowoptions{to new reversed}<0pt%
1392+ \pgfutil@tempdima=-0.21pt%
1393+ \advance\pgfutil@tempdima by-0.475\pgflinewidth%
1394+ \pgfutil@tempdimb=0.98pt%
1395+ \advance\pgfutil@tempdimb by1.45\pgflinewidth%
1396+ \pgfarrowsleftextend{+\pgfutil@tempdima}
1397+ \pgfarrowsrightextend{+\pgfutil@tempdimb}
1398+ \else
1399+ \pgfutil@tempdima=\pgfgetarrowoptions{to new reversed}%
1400+ \advance\pgfutil@tempdima by -0.8\pgflinewidth% arbitrary value (2*0.5*0.8\pgflinewidth)
1401+ \pgfarrowsleftextend{+-0.8\pgflinewidth}
1402+ \pgfarrowsrightextend{+\pgfutil@tempdima}
1403+ \fi
1404+}
1405+{
1406+ \ifdim\pgfgetarrowoptions{to new reversed}<0pt%
1407+ \pgfutil@tempdima=0.28pt%
1408+ \advance\pgfutil@tempdima by.3\pgflinewidth%
1409+ \else
1410+ \pgfutil@tempdima=\pgfgetarrowoptions{to new reversed}%
1411+ \advance\pgfutil@tempdima by -0.8\pgflinewidth% because thickness is set to 0.8\pgflinewidth
1412+ \divide\pgfutil@tempdima by 15%
1413+ \multiply\pgfutil@tempdima by 4%
1414+ \pgfutil@tempdimb=0.25\pgfutil@tempdima%
1415+ \advance\pgfutil@tempdimb by -0.4\pgflinewidth% arbitrary value (0.5*0.8\pgflinewidth)
1416+ \pgftransformxshift{\pgfutil@tempdimb}
1417+ \fi
1418+ \pgfsetdash{}{+0pt}
1419+ \pgfsetroundcap
1420+ \pgfsetroundjoin
1421+ \pgfsetlinewidth{+0.8\pgflinewidth}
1422+ \pgfpathmoveto{\pgfqpoint{3.5\pgfutil@tempdima}{4\pgfutil@tempdima}}
1423+ \pgfpathcurveto
1424+ {\pgfqpoint{3.25\pgfutil@tempdima}{2.5\pgfutil@tempdima}}
1425+ {\pgfqpoint{0.5\pgfutil@tempdima}{0.25\pgfutil@tempdima}}
1426+ {\pgfqpoint{-0.25\pgfutil@tempdima}{0\pgfutil@tempdima}}
1427+ \pgfpathcurveto
1428+ {\pgfqpoint{0.5\pgfutil@tempdima}{-0.25\pgfutil@tempdima}}
1429+ {\pgfqpoint{3.25\pgfutil@tempdima}{-2.5\pgfutil@tempdima}}
1430+ {\pgfqpoint{3.5\pgfutil@tempdima}{-4\pgfutil@tempdima}}
1431+ \pgfusepathqstroke
1432+}
1433+
1434+% alternative triangle 45 arrow
1435+\pgfarrowsdeclare{triangle 45 new}{triangle 45 new}
1436+{
1437+ \ifdim\pgfgetarrowoptions{triangle 45 new}<0pt%
1438+ \pgfutil@tempdima=0.5pt%
1439+ \advance\pgfutil@tempdima by.25\pgflinewidth%
1440+ \pgfutil@tempdimb=8.705\pgfutil@tempdima%
1441+ \advance\pgfutil@tempdimb by.5\pgflinewidth%
1442+ \pgfarrowsleftextend{+-\pgfutil@tempdimb}
1443+ \pgfutil@tempdimb=.5\pgfutil@tempdima%
1444+ \advance\pgfutil@tempdimb by1.28\pgflinewidth%
1445+ \pgfarrowsrightextend{+\pgfutil@tempdimb}
1446+ \else
1447+ \pgfarrowsleftextend{+-0.5\pgflinewidth}
1448+ \pgfutil@tempdima=\pgfgetarrowoptions{triangle 45 new}%
1449+ \advance\pgfutil@tempdima by -0.5\pgflinewidth%
1450+ \pgfarrowsrightextend{+\pgfutil@tempdima}
1451+ \fi
1452+}
1453+{
1454+ \pgfsetdash{}{+0pt}
1455+ \pgfsetmiterjoin
1456+ \ifdim\pgfgetarrowoptions{triangle 45 new}<0pt%
1457+ \pgfutil@tempdima=0.5pt%
1458+ \advance\pgfutil@tempdima by.25\pgflinewidth%
1459+ \pgfpathmoveto{\pgfpointadd{\pgfqpoint{0.5\pgfutil@tempdima}{0pt}}
1460+ {\pgfqpointpolar{157}{10\pgfutil@tempdima}}}
1461+ \pgfpathlineto{\pgfqpoint{0.5\pgfutil@tempdima}{0\pgfutil@tempdima}}
1462+ \pgfpathlineto{\pgfpointadd{\pgfqpoint{0.5\pgfutil@tempdima}{0pt}}
1463+ {\pgfqpointpolar{-157}{10\pgfutil@tempdima}}}
1464+ \pgfpathclose
1465+ \pgfusepathqfillstroke
1466+ \else
1467+ \pgfutil@tempdima=\pgfgetarrowoptions{triangle 45 new}%
1468+ \advance\pgfutil@tempdima by -1.80656\pgflinewidth% -(1.30656+0.5)
1469+ \pgftransformxshift{\pgfutil@tempdima}
1470+ \pgfmathsetlength{\pgfutil@tempdima}{\pgfutil@tempdima/cos(22.5)}
1471+ \pgfpathmoveto{\pgfqpointpolar{157.5}{\pgfutil@tempdima}}
1472+ \pgfpathlineto{\pgfpointorigin}
1473+ \pgfpathlineto{\pgfqpointpolar{-157.5}{\pgfutil@tempdima}}
1474+ \pgfpathclose
1475+ \pgfusepathqfillstroke
1476+ \fi
1477+}
1478+
1479+% alternative triangle 45 reversed arrow
1480+\pgfarrowsdeclarereversed{triangle 45 new reversed}{triangle 45 new reversed}{triangle 45 new}{triangle 45 new}
1481+
1482+% alternative triangle 60 arrow
1483+\pgfarrowsdeclare{triangle 60 new}{triangle 60 new}
1484+{
1485+ \ifdim\pgfgetarrowoptions{triangle 60 new}<0pt%
1486+ \pgfutil@tempdima=0.5pt%
1487+ \advance\pgfutil@tempdima by.25\pgflinewidth%
1488+ \pgfutil@tempdimb=7.29\pgfutil@tempdima%
1489+ \advance\pgfutil@tempdimb by.5\pgflinewidth%
1490+ \pgfarrowsleftextend{+-\pgfutil@tempdimb}
1491+ \pgfutil@tempdimb=.5\pgfutil@tempdima%
1492+ \advance\pgfutil@tempdimb by\pgflinewidth%
1493+ \pgfarrowsrightextend{+\pgfutil@tempdimb}
1494+ \else
1495+ \pgfarrowsleftextend{+-0.5\pgflinewidth}
1496+ \pgfutil@tempdima=\pgfgetarrowoptions{triangle 60 new}%
1497+ \advance\pgfutil@tempdima by -0.5\pgflinewidth%
1498+ \pgfarrowsrightextend{+\pgfutil@tempdima}
1499+ \fi
1500+}
1501+{
1502+ \pgfsetdash{}{+0pt}
1503+ \pgfsetmiterjoin
1504+ \ifdim\pgfgetarrowoptions{triangle 60 new}<0pt%
1505+ \pgfutil@tempdima=0.5pt%
1506+ \advance\pgfutil@tempdima by.25\pgflinewidth%
1507+ \pgfpathmoveto{\pgfpointadd{\pgfqpoint{0.5\pgfutil@tempdima}{0pt}}
1508+ {\pgfqpointpolar{150}{9\pgfutil@tempdima}}}
1509+ \pgfpathlineto{\pgfqpoint{0.5\pgfutil@tempdima}{0\pgfutil@tempdima}}
1510+ \pgfpathlineto{\pgfpointadd{\pgfqpoint{0.5\pgfutil@tempdima}{0pt}}
1511+ {\pgfqpointpolar{-150}{9\pgfutil@tempdima}}}
1512+ \pgfpathclose
1513+ \pgfusepathqfillstroke
1514+ \else
1515+ \pgfutil@tempdima=\pgfgetarrowoptions{triangle 60 new}%
1516+ \advance\pgfutil@tempdima by -1.5\pgflinewidth% -(1+0.5)
1517+ \pgftransformxshift{\pgfutil@tempdima}
1518+ \pgfmathsetlength{\pgfutil@tempdima}{\pgfutil@tempdima/cos(30)}
1519+ \pgfpathmoveto{\pgfqpointpolar{150}{\pgfutil@tempdima}}
1520+ \pgfpathlineto{\pgfpointorigin}
1521+ \pgfpathlineto{\pgfqpointpolar{-150}{\pgfutil@tempdima}}
1522+ \pgfpathclose
1523+ \pgfusepathqfillstroke
1524+ \fi
1525+}
1526+
1527+% alternative triangle 60 reversed arrow
1528+\pgfarrowsdeclarereversed{triangle 60 new reversed}{triangle 60 new reversed}{triangle 60 new}{triangle 60 new}
1529+
1530+% alternative triangle 90 arrow
1531+\pgfarrowsdeclare{triangle 90 new}{triangle 90 new}
1532+{
1533+ \ifdim\pgfgetarrowoptions{triangle 90 new}<0pt%
1534+ \pgfutil@tempdima=0.5pt%
1535+ \advance\pgfutil@tempdima by.25\pgflinewidth%
1536+ \pgfutil@tempdimb=5.5\pgfutil@tempdima%
1537+ \advance\pgfutil@tempdimb by.5\pgflinewidth%
1538+ \pgfarrowsleftextend{+-\pgfutil@tempdimb}
1539+ \pgfutil@tempdimb=.5\pgfutil@tempdima%
1540+ \advance\pgfutil@tempdimb by0.707\pgflinewidth%
1541+ \pgfarrowsrightextend{+\pgfutil@tempdimb}
1542+ \else
1543+ \pgfarrowsleftextend{+-0.5\pgflinewidth}
1544+ \pgfutil@tempdima=\pgfgetarrowoptions{triangle 90 new}%
1545+ \advance\pgfutil@tempdima by -0.5\pgflinewidth%
1546+ \pgfarrowsrightextend{+\pgfutil@tempdima}
1547+ \fi
1548+}
1549+{
1550+ \pgfsetdash{}{+0pt}
1551+ \pgfsetmiterjoin
1552+ \ifdim\pgfgetarrowoptions{triangle 90 new}<0pt%
1553+ \pgfutil@tempdima=0.5pt%
1554+ \advance\pgfutil@tempdima by.25\pgflinewidth%
1555+ \pgfpathmoveto{\pgfqpoint{-5.5\pgfutil@tempdima}{-6\pgfutil@tempdima}}
1556+ \pgfpathlineto{\pgfqpoint{0.5\pgfutil@tempdima}{0\pgfutil@tempdima}}
1557+ \pgfpathlineto{\pgfqpoint{-5.5\pgfutil@tempdima}{6\pgfutil@tempdima}}
1558+ \pgfpathclose
1559+ \pgfusepathqfillstroke
1560+ \else
1561+ \pgfutil@tempdima=\pgfgetarrowoptions{triangle 90 new}%
1562+ \advance\pgfutil@tempdima by -1.20711\pgflinewidth% -(0.70711+0.5)
1563+ \pgfpathmoveto{\pgfqpoint{0pt}{\pgfutil@tempdima}}
1564+ \pgfpathlineto{\pgfqpoint{\pgfutil@tempdima}{0pt}}
1565+ \pgfpathlineto{\pgfqpoint{0pt}{-\pgfutil@tempdima}}
1566+ \pgfpathclose
1567+ \pgfusepathqfillstroke
1568+ \fi
1569+}
1570+
1571+% alternative triangle 90 reversed arrow
1572+\pgfarrowsdeclarereversed{triangle 90 new reversed}{triangle 90 new reversed}{triangle 90 new}{triangle 90 new}
1573+
1574+% original triangle 90 cap arrow (just for completeness)
1575+\pgfarrowsdeclare{triangle 90 cap new}{triangle 90 cap new}
1576+{
1577+ \pgfarrowsleftextend{+-.1\pgflinewidth}
1578+ \pgfarrowsrightextend{+\pgflinewidth}
1579+}
1580+{
1581+ \pgfpathmoveto{\pgfqpoint{-.1\pgflinewidth}{0.5\pgflinewidth}}
1582+ \pgfpathlineto{\pgfqpoint{.5\pgflinewidth}{.5\pgflinewidth}}
1583+ \pgfpathlineto{\pgfqpoint{\pgflinewidth}{0pt}}
1584+ \pgfpathlineto{\pgfqpoint{.5\pgflinewidth}{-.5\pgflinewidth}}
1585+ \pgfpathlineto{\pgfqpoint{-.1\pgflinewidth}{-0.5\pgflinewidth}}
1586+ \pgfusepathqfill
1587+}
1588+
1589+% original triangle 90 cap reversed arrow (just for completeness)
1590+\pgfarrowsdeclare{triangle 90 cap new reversed}{triangle 90 cap new reversed}
1591+{
1592+ \pgfarrowsleftextend{+-.1\pgflinewidth}
1593+ \pgfarrowsrightextend{+\pgflinewidth}
1594+}
1595+{
1596+ \pgfpathmoveto{\pgfqpoint{1\pgflinewidth}{0.5\pgflinewidth}}
1597+ \pgfpathlineto{\pgfqpoint{-.1\pgflinewidth}{.5\pgflinewidth}}
1598+ \pgfpathlineto{\pgfqpoint{-.1\pgflinewidth}{-.5\pgflinewidth}}
1599+ \pgfpathlineto{\pgfqpoint{1\pgflinewidth}{-.5\pgflinewidth}}
1600+ \pgfpathlineto{\pgfqpoint{0.5\pgflinewidth}{0\pgflinewidth}}
1601+ \pgfusepathqfill
1602+}
1603+
1604+% alias alternative to arrow
1605+\pgfarrowsdeclarealias{< new}{> new}{to new}{to new}
1606+
1607+% alias alternative to reversed arrow
1608+\pgfarrowsdeclarealias{> new}{< new}{to new reversed}{to new reversed}
1609+
1610+% arrow head length code
1611+\pgfsetarrowoptions{* new}{-1pt}
1612+\pgfsetarrowoptions{< new}{-1pt}
1613+\pgfsetarrowoptions{> new}{-1pt}
1614+\pgfsetarrowoptions{) new}{-1pt}
1615+\pgfsetarrowoptions{( new}{-1pt}
1616+\pgfsetarrowoptions{[ new}{-1pt}
1617+\pgfsetarrowoptions{] new}{-1pt}
1618+\pgfsetarrowoptions{| new}{-1pt}
1619+\pgfsetarrowoptions{angle 45 new}{-1pt}
1620+\pgfsetarrowoptions{angle 45 new reversed}{-1pt}
1621+\pgfsetarrowoptions{angle 60 new}{-1pt}
1622+\pgfsetarrowoptions{angle 60 new reversed}{-1pt}
1623+\pgfsetarrowoptions{angle 90 new}{-1pt}
1624+\pgfsetarrowoptions{angle 90 new reversed}{-1pt}
1625+\pgfsetarrowoptions{diamond new}{-1pt}
1626+\pgfsetarrowoptions{hooks new}{-1pt}
1627+\pgfsetarrowoptions{hooks new reversed}{-1pt}
1628+\pgfsetarrowoptions{latex new}{-1pt}
1629+\pgfsetarrowoptions{latex new reversed}{-1pt}
1630+\pgfsetarrowoptions{latex' new}{-1pt}
1631+\pgfsetarrowoptions{latex' new reversed}{-1pt}
1632+\pgfsetarrowoptions{left hook new}{-1pt}
1633+\pgfsetarrowoptions{left hook new reversed}{-1pt}
1634+\pgfsetarrowoptions{left to new}{-1pt}
1635+\pgfsetarrowoptions{left to new reversed}{-1pt}
1636+\pgfsetarrowoptions{o new}{-1pt}
1637+\pgfsetarrowoptions{open diamond new}{-1pt}
1638+\pgfsetarrowoptions{open square new}{-1pt}
1639+\pgfsetarrowoptions{open triangle 45 new}{-1pt}
1640+\pgfsetarrowoptions{open triangle 45 new reversed}{-1pt}
1641+\pgfsetarrowoptions{open triangle 60 new}{-1pt}
1642+\pgfsetarrowoptions{open triangle 60 new reversed}{-1pt}
1643+\pgfsetarrowoptions{open triangle 90 new}{-1pt}
1644+\pgfsetarrowoptions{open triangle 90 new reversed}{-1pt}
1645+\pgfsetarrowoptions{right hook new}{-1pt}
1646+\pgfsetarrowoptions{right hook new reversed}{-1pt}
1647+\pgfsetarrowoptions{right to new}{-1pt}
1648+\pgfsetarrowoptions{right to new reversed}{-1pt}
1649+\pgfsetarrowoptions{square new}{-1pt}
1650+\pgfsetarrowoptions{stealth new}{-1pt}
1651+\pgfsetarrowoptions{stealth new reversed}{-1pt}
1652+\pgfsetarrowoptions{stealth' new}{-1pt}
1653+\pgfsetarrowoptions{stealth' new reversed}{-1pt}
1654+\pgfsetarrowoptions{to new}{-1pt}
1655+\pgfsetarrowoptions{to new reversed}{-1pt}
1656+\pgfsetarrowoptions{triangle 45 new}{-1pt}
1657+\pgfsetarrowoptions{triangle 45 new reversed}{-1pt}
1658+\pgfsetarrowoptions{triangle 60 new}{-1pt}
1659+\pgfsetarrowoptions{triangle 60 new reversed}{-1pt}
1660+\pgfsetarrowoptions{triangle 90 new}{-1pt}
1661+\pgfsetarrowoptions{triangle 90 new reversed}{-1pt}
1662+
1663+\pgfkeys{/tikz/.cd, arrow head/.default=-1pt, arrow head/.code={%
1664+ \pgfsetarrowoptions{* new}{#1}%
1665+ \pgfsetarrowoptions{< new}{#1}%
1666+ \pgfsetarrowoptions{> new}{#1}%
1667+ \pgfsetarrowoptions{) new}{#1}%
1668+ \pgfsetarrowoptions{( new}{#1}%
1669+ \pgfsetarrowoptions{[ new}{#1}%
1670+ \pgfsetarrowoptions{] new}{#1}%
1671+ \pgfsetarrowoptions{| new}{#1}%
1672+ \pgfsetarrowoptions{angle 45 new}{#1}%
1673+ \pgfsetarrowoptions{angle 45 new reversed}{#1}%
1674+ \pgfsetarrowoptions{angle 60 new}{#1}%
1675+ \pgfsetarrowoptions{angle 60 new reversed}{#1}%
1676+ \pgfsetarrowoptions{angle 90 new}{#1}%
1677+ \pgfsetarrowoptions{angle 90 new reversed}{#1}%
1678+ \pgfsetarrowoptions{diamond new}{#1}%
1679+ \pgfsetarrowoptions{hooks new}{#1}%
1680+ \pgfsetarrowoptions{hooks new reversed}{#1}%
1681+ \pgfsetarrowoptions{latex new}{#1}%
1682+ \pgfsetarrowoptions{latex new reversed}{#1}%
1683+ \pgfsetarrowoptions{latex' new}{#1}%
1684+ \pgfsetarrowoptions{latex' new reversed}{#1}%
1685+ \pgfsetarrowoptions{left hook new}{#1}%
1686+ \pgfsetarrowoptions{left hook new reversed}{#1}%
1687+ \pgfsetarrowoptions{left to new}{#1}%
1688+ \pgfsetarrowoptions{left to new reversed}{#1}%
1689+ \pgfsetarrowoptions{o new}{#1}%
1690+ \pgfsetarrowoptions{open diamond new}{#1}%
1691+ \pgfsetarrowoptions{open square new}{#1}%
1692+ \pgfsetarrowoptions{open triangle 45 new}{#1}%
1693+ \pgfsetarrowoptions{open triangle 45 new reversed}{#1}%
1694+ \pgfsetarrowoptions{open triangle 60 new}{#1}%
1695+ \pgfsetarrowoptions{open triangle 60 new reversed}{#1}%
1696+ \pgfsetarrowoptions{open triangle 90 new}{#1}%
1697+ \pgfsetarrowoptions{open triangle 90 new reversed}{#1}%
1698+ \pgfsetarrowoptions{right hook new}{#1}%
1699+ \pgfsetarrowoptions{right hook new reversed}{#1}%
1700+ \pgfsetarrowoptions{right to new}{#1}%
1701+ \pgfsetarrowoptions{right to new reversed}{#1}%
1702+ \pgfsetarrowoptions{square new}{#1}%
1703+ \pgfsetarrowoptions{stealth new}{#1}%
1704+ \pgfsetarrowoptions{stealth new reversed}{#1}%
1705+ \pgfsetarrowoptions{stealth' new}{#1}%
1706+ \pgfsetarrowoptions{stealth' new reversed}{#1}%
1707+ \pgfsetarrowoptions{to new}{#1}%
1708+ \pgfsetarrowoptions{to new reversed}{#1}%
1709+ \pgfsetarrowoptions{triangle 45 new}{#1}%
1710+ \pgfsetarrowoptions{triangle 45 new reversed}{#1}%
1711+ \pgfsetarrowoptions{triangle 60 new}{#1}%
1712+ \pgfsetarrowoptions{triangle 60 new reversed}{#1}%
1713+ \pgfsetarrowoptions{triangle 90 new}{#1}%
1714+ \pgfsetarrowoptions{triangle 90 new reversed}{#1}%
1715+}}
1716+
1717+\endinput
--- trunk/tug2013/forest.tex (nonexistent)
+++ trunk/tug2013/forest.tex (revision 464)
@@ -0,0 +1,53 @@
1+\documentclass[17pt]{extarticle}
2+
3+\usepackage{fontspec}
4+\usepackage[papersize={4.4in,4.75in},hmargin={0.1in},%
5+ vmargin={0.1in}]{geometry}
6+\usepackage{tikz}
7+
8+\usetikzlibrary{arrows,calc,decorations.markings,decorations.pathreplacing,%
9+ shapes.callouts,shapes.geometric}
10+
11+\usepgflibrary{arrows.new}
12+
13+\tikzset{bigah/.style={draw,ultra thick,->,>=latex' new,arrow head=6mm}}
14+
15+\defaultfontfeatures{Path={../otf/},Mapping=tex-text}
16+
17+\setmainfont[ItalicFont={TsuItaSokuPS},BoldFont={TsukurimashouKakuBoldPS}]%
18+ {TsukurimashouKakuPS}
19+
20+\newenvironment{bil}%
21+ {\renewcommand{\arraystretch}{0.6}\begin{tabular}{cc}}{\end{tabular}}
22+
23+\pagestyle{empty}
24+
25+\begin{document}
26+\noindent
27+\begin{tikzpicture}
28+ \node at (0,0) {\scalebox{3}{林}};
29+ \node[blue] at (0,-1.5) {\scalebox{2}{⿰}};
30+ \node at (2.5,0) {\begin{bil}U+6797\\\emph{hayashi}\\``forest''\end{bil}};
31+ \node at (-3,-4) {\scalebox{3}{木}};
32+ \node at (-0.5,-4) {\begin{bil}U+6728\\\emph{ki}\\``tree''\end{bil}};
33+ \node at (3,-4) {\scalebox{3}{木}};
34+ \node at (5.5,-4) {\begin{bil}U+6728\\\emph{ki}\\``tree''\end{bil}};
35+ \draw[ultra thick,bigah] (-1,-1) -- (-2.5,-3);
36+ \draw[ultra thick,bigah] (1,-1) -- (2.5,-3);
37+%
38+ \draw[green!80!black,ultra thick] (-2.2,-7.5) circle[radius=2.2];
39+ \fill[red!50!white,xshift={3.0cm},yshift={-7.5cm},rotate=45]
40+ (-2.5,-0.1) rectangle (2.5,0.1);
41+ \fill[red!50!white,xshift={3.0cm},yshift={-7.5cm},rotate=-45]
42+ (-2.5,-0.1) rectangle (2.5,0.1);
43+ \node at (-2.1,-7.5) {\scalebox{7}{林}};
44+ \begin{scope}
45+ \clip (3.0,-10.5) rectangle (5.2,-5.5);
46+ \node at (3.2,-7.5) {\scalebox{7}{林}};
47+ \end{scope}
48+ \begin{scope}
49+ \clip (1.2,-10.5) rectangle (6.1,-5.5);
50+ \node at (1.4,-7.5) {\scalebox{7}{林}};
51+ \end{scope}
52+\end{tikzpicture}
53+\end{document}
--- trunk/tug2013/preprint.tex (nonexistent)
+++ trunk/tug2013/preprint.tex (revision 464)
@@ -0,0 +1,782 @@
1+\documentclass{ltugboat}
2+
3+\usepackage{graphicx}
4+\usepackage{ifpdf}
5+\ifpdf
6+\usepackage[breaklinks,colorlinks,linkcolor=black,citecolor=black,
7+ urlcolor=black]{hyperref}
8+\else
9+\usepackage{url}
10+\fi
11+
12+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13+
14+\title{Tsukurimashou: a Japanese-language font meta-family}
15+
16+\author{Matthew Skala}
17+\address{Department of Computer Science\\
18+E2--445 EITC\\
19+University of Manitoba\\
20+Winnipeg MB\ \ R3T 2N2\\
21+Canada}
22+\netaddress{mskala@ansuz.sooke.bc.ca}
23+\personalURL{http://ansuz.sooke.bc.ca/}
24+
25+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
26+
27+\begin{document}
28+
29+\maketitle
30+
31+\begin{abstract}
32+\MF-based font projects for the Chinese, Japanese, and Korean (\CJK)
33+languages have been announced every few years since the early 1980s,
34+even predating the current form of the \MF\ language. Except for a few
35+non-parameterized conversions of fonts that originated in other formats,
36+in 30 years every \MF\ \CJK\ font has been abandoned at or before the
37+8-bit barrier of 256 \emph{kanji}, nowhere near the thousands required for
38+practical typesetting. In this presentation I describe the first
39+project to break that barrier: Tsukurimashou
40+(\url{http://tsukurimashou.sourceforge.jp/}), currently at over 1500
41+\emph{kanji} (as well as kana, Latin, and Korean hangul) and steadily growing.
42+I discuss technical and human challenges facing this kind of project,
43+how to solve them, and spin-off technologies such as the IDSgrep
44+\emph{kanji} structural query system.
45+\end{abstract}
46+
47+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
48+
49+\section{Introduction}
50+
51+The Han script, used by the Chinese, Japanese, and Korean (\CJK) languages
52+among others, includes very many characters. Just counting them is tricky,
53+but a human being might typically need to know a few thousand for basic
54+literacy in a Han-script language. The list of 2136 characters taught in
55+the Japanese school system (the \emph{jouyou kanji}) is one benchmark, near
56+the low end. Chinese requires more, and a typesetting system may require
57+more still, because of rare characters found in names, historical contexts,
58+and so on. A human being can get away with failing to read the occasional
59+character; typesetting systems need to be able to print nearly all of them.
60+Computer fonts considered usable for Japanese typically cover between six
61+and twelve thousand characters. Databases of rare characters used in
62+linguistic research cover tens or hundreds of thousands.
63+
64+The sheer number of characters that go into a \CJK\ font, and the quantity
65+of work implied by that number, is daunting. Considering the difficulty of
66+building even a simple Latin font with \MF, it may be no surprise that there
67+are no complete \MF-native \CJK\ typefaces. But on the other hand,
68+examination of Han-script text (even, or especially, by someone who cannot
69+read it) quickly reveals that characters can be decomposed into smaller
70+parts, as shown in Figure~\ref{fig:tree}. Computer scientists who examine
71+Figure~\ref{fig:tree} are likely to believe they understand it. ``Of
72+course,'' one supposes, ``the tens of thousands of Han characters are just a
73+small vocabulary of primitive shapes, perhaps only a few dozen of those,
74+which combine in straightforward ways according to a spatial grammar to form
75+tree structures!''
76+
77+\begin{figure}
78+\includegraphics[scale=0.47]{tree.pdf}
79+\caption{Breaking a character into its parts.}
80+\label{fig:tree}
81+\end{figure}
82+
83+Computer scientists know how to deal with such things. It should be only
84+the work of a week or two for a good programmer to lash together a prototype
85+\CJK\ font generator. Each primitive shape can be a subroutine; there can
86+be other subroutines expressing the combining operations such as ``place
87+this one above that one''; a few parameters applied to the low-level shapes
88+can allow for creating a wide range of styles; and the only real challenge
89+is looking in the dictionary that lists the tree decompositions of all the
90+characters. That book must exist in China, so we'll get it by interlibrary
91+loan. This project might even be easier than building a Latin font
92+meta-family.
93+
94+The earliest \MF\ \CJK\ project I know of was \acro{LCCD}, the Language for
95+Chinese Character Design, described in a 1980 Stanford technical report by
96+Tung Yun Mei~\cite{Mei:LCCD}. The \MF\ language in its current form did not
97+exist at the time, but Mei collaborated with Knuth and based \acro{LCCD} on
98+the early \MF\ work. Even in 1980, many of the ideas were already in place
99+that a present-day computer scientist would naturally think of on viewing
100+Figure~\ref{fig:tree}. Mei's report includes images of 346 ``basic strokes
101+and radicals,'' and 112 completed characters.
102+
103+Subsequent work on \MF-native \CJK\ fonts includes that of Hobby and Guoan
104+in 1984, who created 128 characters~\cite{Hobby:Chinese}; Hosek in 1989,
105+character count unknown but two are displayed in the \TUB\
106+article~\cite{Hosek:Design}; Yiu and Wong in 2003, in a project that
107+targeted on-demand creation of rare characters rather than a font as
108+such~\cite{Yiu:Chinese}; and Laguna circa 2005, with 130 characters in the
109+last available version~\cite{Laguna:Hong}. All these used a relatively
110+small number of basic components, combining according to a spatial grammar
111+to form more complicated characters.
112+
113+I listed published \MF-related projects. Similar ideas have also been used
114+behind closed doors in commercial font foundries (\acro{CDL} from Wenlin
115+Institute seems to be an example~\cite{Wenlin:CDL}), and non-\MF\ research
116+projects like the \acro{LISP}-based Wadalab toolkit~\cite{Tanaka:Wadalab}.
117+The Wadalab font project ran during the 1990s; much of the work was lost or
118+withdrawn after hard drive failures and copyright infringement concerns that
119+came to light in 2003, but some of its fonts survived to become widely used
120+in the free software world. These kinds of projects use grammars of
121+character parts, but they lack the full parameterization that \MF\ users
122+expect. There has also been work on using \CJK\ fonts from other sources in
123+\TeX\ documents, sometimes including \MF\ incidentally in the workflow, but
124+again without parameterization. For instance, the Poor Man's Chinese and
125+Japanese package~\cite{Ridgeway:Poor} converts bitmap fonts into \MF\ code
126+that renders scaled versions (without smoothing!) at arbitrary resolution.
127+
128+It may be difficult to create fonts in \MF\ in general, regardless of the
129+script; but human beings have done it. Several if not many \MF-native Latin
130+fonts exist, and we can typeset a wide range of
131+documents in Latin-script languages with
132+parameterized \MF-native fonts. So after more than three decades of work,
133+why are there no usable, parameterized, \MF-native \CJK\ fonts at all?
134+
135+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
136+
137+\section{Scaling issues}
138+
139+It is no coincidence that past attempts to build \CJK\ fonts in \MF\ have
140+been abandoned at the same stage in development, around 120 characters.
141+\emph{That is the roughly the size of a Latin font.} \MF\ was designed to
142+build fonts with sizes on that order, and \MF\ users have built expertise
143+and developed tools for building fonts the size of Latin fonts. When fonts
144+get larger, unforeseen difficulties show up like \emph{nurikabe}\Dash the
145+plaster wall monsters of Japanese folklore blamed for
146+delaying travellers by night.
147+
148+\subsection{Technical limitations}
149+
150+Many font file formats are limited to 256 glyphs by their use of 8-bit
151+character codes. People who attempt to typeset \CJK\ documents in classical
152+\TeX\ use elaborate workarounds involving slicing their fonts into 256-glyph
153+sub-fonts. Handling the input encoding for documents written in large
154+character sets with these slicing schemes is a tough problem too, but
155+fortunately not one we must solve as font designers. There are extended
156+versions of the \TeX\ interpreter designed to use longer character codes
157+directly (\XeTeX\ is one), and those may also be able to work with font
158+formats that store tens of thousands of glyphs per file and don't need to be
159+sliced; but there is no similarly extended \MF\ to produce fonts in such
160+formats.
161+
162+Thousands of glyphs in a font does not just mean a bigger file. It also
163+means more time spent compiling, and more memory consumption. One run of
164+\MF\ may run out of memory or other resources trying to process an entire
165+multi-thousand-glyph \CJK\ font, and the user may run out of patience
166+recompiling the whole thing after changing one glyph. To succeed at the
167+thousand-glyph level, a project must have build tools allowing separate
168+compilation of parts of the project. There should be tracking of
169+dependencies among the different parts. Just being able to \emph{find}
170+pieces of code in a project this size\Dash answering questions like ``what
171+was the name of the subroutine for such and such a shape?''\Dash is an
172+issue. These are elementary problems in software engineering, but there is
173+little or no previous work on them in the \MF\ context because nobody has
174+built systems this size in \MF\ before.
175+
176+Classical \MF\ is designed to produce bitmap fonts, but bitmap fonts are no
177+longer such a desired commodity. A present-day \CJK\ font project will
178+presumably target a vector format, but making \MF\ or some variation of it
179+produce vector fonts requires additional layers of software, all of which
180+are to some extent experimental. Bugs in the beyond-\MF\ software,
181+previously undetected because previous fonts were smaller, will show up and
182+need to be fixed. Keeping a handle on the bugs requires a test suite. The
183+need for multiple steps in font compilation underscores the need for a
184+capable build system. Human designers cannot be expected to issue five or
185+six different commands in the right order to recompile every font, every time.
186+
187+Earlier work on \MF\ \CJK\ fonts has concentrated on writing code in \MF\ to
188+draw the shapes of Han characters, as if that were the only problem to solve.
189+Infrastructure that can scale to the size of the finished product is at
190+least as significant.
191+
192+\subsection{Human factors}
193+
194+It is easy to underestimate how much work is involved in building a \CJK\
195+font. We know how much work it is to design a Latin font. We know a \CJK\
196+font has about 30 times as many glyphs. But it is easy to think, looking at
197+Figure~\ref{fig:tree}, that the \CJK\ font should actually only be something
198+like two or three times as much work as the Latin font (or even less),
199+because so much code can be reused. In fact, less work is saved by code
200+reuse than one might hope: every glyph requires some human attention. In
201+computer science terms, font design is not much less than $\Omega(n)$.
202+
203+Once it becomes clear that a human being must spend time on every single
204+glyph\Dash it gets easier as more code exists to reuse, but there is no
205+break point after which hundreds of characters will suddenly come for
206+free\Dash it is natural to hope for that human being not to be oneself. If
207+we can just build a sufficiently good, easy to use set of tools, we can put
208+them on the Web, maybe use a Wiki, and have many people in the community
209+build a few glyphs each. Many hands make light work, once the
210+infrastructure exists.
211+
212+But to hope for someone else to build the actual glyphs after the tools are
213+designed is to ignore why people participate in free software projects in
214+the first place. Designing tools for glyph construction is \emph{fun}.
215+Going through a list of 6000 glyphs one by one, doing simple repetitive
216+tasks on each of them, is \emph{work}. It is not easy to get volunteers for
217+that sort of thing at the best of times, let alone when the volunteers must
218+also have proficiency in an obscure programming language. The most
219+successful large-scale collaboration is probably
220+GlyphWiki~\cite{Kamichi:GlyphWiki}, which sacrifices parameterization for a
221+more purely graphical approach that demands less from the participants.
222+
223+Finally, many of the potential rewards of a \MF\ \CJK\ project, such as
224+academic publications, can be had at the start, before the boring part; and
225+then there are no more rewards until the end, and few then. You can publish
226+one paper about your innovative techniques for building fonts; and you can
227+publish one paper saying you have finished, years later. There is little in
228+between. Knowing that this is the reward structure makes it tempting to
229+write only the first paper and then start work on something else.
230+
231+\subsection{The script itself}
232+
233+The Han script itself may be the most ferocious \emph{nurikabe}.
234+Figure~\ref{fig:tree} with its clean decomposition of ``language'' into
235+``speak,'' ``five,'' and ``mouth,'' is deceptive. Many characters can be
236+described as simply as that, but many others cannot. Consider
237+Figures~\ref{fig:forest}, \ref{fig:outlook}, \ref{fig:reach}, and I could
238+draw many more.
239+
240+In Figure~\ref{fig:forest}, ``forest'' is two copies of ``tree'' placed side
241+by side. But the ``tree'' on the left is different from the ``tree'' on the
242+right. If you make the two sides of ``forest'' look identical, readers will
243+still know that you meant to write ``forest,'' but it will not look right.
244+For a high-quality font, it has got to look right. This entails either
245+creating two different primitives for the two trees, or having a smarter
246+tree that knows how to change itself when it is on the left. Many character
247+components change when they appear on the left. The modifications made when
248+a component appears on the left are partially systematic, so we might hope
249+to write code that can derive the left side shape automatically from the
250+other shape, but it will not be simple, it will require manual supervision,
251+and some projects have not gotten as far as noticing that it was an
252+issue in the first place.
253+
254+\begin{figure}
255+\includegraphics[scale=0.70]{forest.pdf}
256+\caption{A forest is not two identical trees.}
257+\label{fig:forest}
258+\end{figure}
259+
260+In Figure~\ref{fig:outlook}, the left side of ``outlook,'' in addition to
261+not being a character in its own right, is some kind of hard to describe
262+combination of ``arrow'' and ``old bird.'' It is not good enough to just
263+print a scaled copy of ``arrow'' on top of ``old bird'' and hope for the
264+best; getting it right requires modifying and deleting strokes in both
265+parts. A generic overlap operation is unlikely to be flexible enough to do
266+the right thing here. Every character that contains this sort of thing will
267+require specific human attention to adjust it beyond just saying
268+``overlap.'' If the components change parametrically, then making sure they
269+look right for all parameter values becomes even more complicated.
270+
271+\begin{figure}
272+\includegraphics[scale=0.47]{outlook.pdf}
273+\caption{Combining operations are not always simple.}
274+\label{fig:outlook}
275+\end{figure}
276+
277+In Figure~\ref{fig:reach}, two different styles of the same character are
278+topologically different: one contains a single zigzag stroke that in the
279+other is made up of two separate pieces. It is not easy to parameterize
280+that in a way that will look good at every step in between, and if we
281+make it a binary choice, giving up on the idea of interpolation, this
282+difference will require some sort of ``if'' statement in the character
283+description. A straightforward implementation of the grammar of shapes and
284+combining operations suggested by Figure~\ref{fig:tree} would not provide
285+for ``if'' statements.
286+
287+\begin{figure}
288+\includegraphics[scale=0.63]{reach.pdf}
289+\caption{Two styles of U+53CA (\emph{oyo}, ``reach'').}
290+\label{fig:reach}
291+\end{figure}
292+
293+These issues in the Han writing system point to an important conclusion: a
294+simple grammar of parts and combining operations is not enough for building
295+parametric fonts, even though it may be a useful starting point. Many
296+characters can be decomposed into parts in the clean way implied by
297+Figure~\ref{fig:tree}, and such decompositions may be enough to support
298+dictionary searches. It is easy to find enough well-behaved characters to
299+put together a slide show or grant application, and to fool others or even
300+oneself into thinking the whole character set will be easy.
301+
302+But in order to produce high-quality fonts with full parameterization, with
303+all the characters needed to typeset real documents, we must be able to
304+override the simple descriptions and combinations of parts in arbitrarily
305+complicated ways\Dash per character and depending non-linearly on the
306+parameters. To work at full scale, the font description language must have
307+the power of a general-purpose programming language.
308+
309+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
310+
311+\section{Tsukurimashou}
312+
313+My own attempt at building a \MF\ \CJK\ font family is called the
314+Tsukurimashou Project. The name means ``Let's
315+make something!''; it is an \emph{anime} reference. As of version 0.8,
316+released 26 August 2013, Tsukurimashou covers 1502 Japanese \emph{kanji}
317+(Han script) characters including all those taught in Japanese schools
318+through Grade Four, as well as essentially complete coverage of \emph{kana}
319+(Japanese phonetic script), Latin, \emph{hangul} (Korean alphabetic script),
320+punctuation, and some miscellaneous ornaments and graphical characters.
321+This is the work of one person, on a hobby basis while doing other things
322+full-time for pay, since late 2010. It remains far from being a complete
323+font family usable for typesetting general documents in Japanese, but it is
324+already far past the point reached by any previous parameterized \MF-native
325+\CJK\ font project, and I believe my project is the first with a credible
326+prospect of eventually reaching complete coverage.
327+
328+Here are some terms of reference distinguishing Tsukurimashou from other
329+projects already discussed:
330+\begin{itemize}
331+\item Tsukurimashou is a parameterized meta-family, not a single font or
332+a collection of independent fonts.
333+\item Tsukurimashou is a font project, not primarily a dictionary of
334+characters.
335+\item Tsukurimashou is code, not data.
336+\item Tsukurimashou is intended to achieve full coverage, at least of the
337+characters needed for basic literacy in Japanese; it is not a
338+proof of concept.
339+\item Tsukurimashou is one person's non-commercial project; not a for-profit
340+corporate or large-scale collaborative effort.
341+\end{itemize}
342+
343+Tsukurimashou is hosted as a free software project on SourceForge Japan,
344+with the bilingual project home page at
345+\url{http://tsukurimashou.sourceforge.jp/} featuring downloadable packages,
346+a Subversion repository for the source code, a bug tracker, mailing list,
347+and so on. The package as a whole is distributed under the \GNU\ General
348+Public License, version 3, with a clarifying paragraph added to explicitly
349+permit embedding the fonts in documents.
350+
351+\subsection{Motivation}
352+
353+The issues of human labour described in the previous section make it
354+difficult for a \CJK\ \MF\ project to reach complete coverage.
355+Tsukurimashou's solution to the amount of work involved in font design is to
356+redefine that large amount of work as \emph{the main goal} of the project
357+instead of \emph{an unfortunate cost} of the project. This point alone
358+seems to be largely responsible for Tsukurimashou's success to date.
359+
360+I want to learn to read Japanese. Learning to read entails spending some
361+time practicing and studying every character. But just studying a book and
362+tracing copies on paper, as well as being boring, is not a particularly
363+effective way to learn. I would also like to become skilled at using \MF\
364+and related font technologies. I believe I acquire skills best by
365+completing tasks that require the skills. Designing a font family for
366+Japanese, as a project that requires knowledge of the \emph{kanji} and of \MF,
367+including concentration on every character in turn, is a good way to acquire
368+that knowledge. And from that point of view, the actual finished fonts are
369+not even important. The fonts are my excuse for spending time thinking
370+about every character, which is the real goal. With that goal in mind,
371+\emph{avoiding} human attention to every character stops being necessary or
372+even desirable.
373+
374+Of course, the project may have desirable side effects. Work on
375+Tsukurimashou has required me to invent new technology that may be useful in
376+other projects. Some of it is publishable research in computer science,
377+certainly welcome for someone hoping to establish an academic career. And
378+because it places heavy (in some cases unprecedented) demands on other free
379+software systems, Tsukurimashou has proven useful in the development of
380+those systems. Given that I am already committing to spend some time per
381+character on learning the language, the hope is to make that time pay off in
382+as many ways as possible.
383+
384+\subsection{A brief tour of the fonts}
385+
386+Tsukurimashou as a software package generates OpenType font files as its
387+main output. Those are intended for use in general typesetting and word
388+processing, not only within the \TeX\ world. I most often use them with
389+\XeTeX. The OpenType fonts are divided up into families, of which the main
390+supported ones are named Tsukurimashou, TsuIta, and Jieubsida; then there is
391+parameterization within each family for overall style, boldness, and
392+monospace or proportional spacing. The main supported styles for the
393+Tsukurimashou family are ``Kaku'' (a traditional sans-serif style),
394+``Maru'' (sans-serif with rounded stroke ends),
395+``Mincho'' (a less traditional version of the common Mincho serif style),
396+and ``Bokukko'' (which somewhat resembles handwriting with a felt-tipped
397+pen). Finer-grained parameters are used internally and could be made
398+visible by modifying the code, much in the way that Computer Modern has
399+internal parameters like ``\verb|stem_corr|'' as well as preset styles like
400+``Roman.'' Figure~\ref{fig:styles} shows a sample of the font styles;
401+Figure~\ref{fig:mincho} shows more of the Japanese characters in the Mincho
402+style. Version 0.8
403+with all options enabled will build a total of 120 OpenType files, including
404+some that are experimental and not intended for actual use.
405+
406+\begin{figure}
407+\includegraphics[scale=0.80]{styles.pdf}
408+\caption{A sample of the Tsukurimashou meta-family of fonts.}
409+\label{fig:styles}
410+\end{figure}
411+
412+\begin{figure}
413+\includegraphics[scale=0.69]{mincho.pdf}
414+\caption{\emph{Kana} and Grade One \emph{kanji} in Tsukurimashou Mincho.}
415+\label{fig:mincho}
416+\end{figure}
417+
418+These are outline fonts intended for high-resolution printing. They contain
419+hinting for bitmap conversion, but it is done automatically and not expected
420+to be extremely high quality. Japanese-language typesetting has
421+traditionally used monospace metrics, simple scaling (i.e., no corrections
422+for optical weight), and no slanting or italicization; Tsukurimashou
423+currently offers a choice between monospace or proportional, no optical
424+weight features, and italics for the Latin script only.
425+
426+Although the largest use of Tsukurimashou fonts to date has been for
427+typesetting the project's own documentation in English, the design of the
428+Tsukurimashou Latin glyphs, especially in the Mincho style, is intended
429+primarily for setting the short fragments of English that sometimes occur in
430+Japanese text. Tsukurimashou Mincho used for pure English text ends up
431+looking like a display face and might not be appropriate for entire
432+sentences and paragraphs. Tsukurimashou Kaku is more suitable for extended
433+settings in English.
434+
435+The Jieubsida family (the name is a translation to Korean of
436+``Tsukurimashou'') is intended to support Korean \emph{hangul} (alphabetic)
437+script. \emph{Hanja} (the Korean equivalent of \emph{kanji}) are not
438+included. This character set is relatively orthogonal: the main sequence of
439+11172 glyphs is algorithmically generated from a few tens of basic parts,
440+though many less common letters had to be defined with more human
441+intervention. Work on these fonts has proven useful in debugging the
442+infrastructure at full scale, given that the Tsukurimashou series of fonts
443+will eventually grow to a significant fraction of the size already reached
444+by the Jieubsida series.
445+
446+Beyond the main Tsukurimashou package, there are several smaller software
447+packages called ``parasites,'' which appear in subdirectories of the
448+distribution or may be detached. Some of these are font packages that share
449+some of the Tsukurimashou infrastructure without really being part of the
450+same meta-family; others are related software of other kinds. The only one
451+discussed here will be the IDSgrep structural query system.
452+
453+\subsection{The infrastructure}
454+
455+Tsukurimashou's infrastructure is designed like a typical free software
456+project. It has source code that compiles into binary files, it has build
457+scripts to accomplish that, and a would-be user can download a tarball,
458+unpack it, and type \texttt{./configure} and \texttt{make}.
459+
460+The build system is based on \GNU\ Autotools. Choosing which source code
461+files are needed for which font styles involves doing some logical inference
462+that would not be convenient to do in a Makefile, so the Makefiles invoke
463+additional code written in a subset of Prolog to evaluate the style
464+selections, then run Perl scripts that scan the \MF\ sources to look for
465+dependencies. The results of that computation are written into additional
466+Makefiles, which guide the actual compilation process.
467+
468+Knuth's \MF\ was designed with bitmap fonts in mind, whereas Tsukurimashou's
469+target is OpenType outline fonts. There are several \MF\ variants that can
470+produce outline output from \MF\ source. I chose
471+MetaType1~\cite{Jackowski:Programming} for
472+Tsukurimashou. This package originates with the Polish \TeX\ users group
473+\acro{GUST}\ and may be most famous for its use in the Latin Modern
474+project~\cite{Jackowski:Latin}. It consists
475+primarily of a macro package for Metapost and a postprocessing script for
476+\GNU\ \texttt{awk}. One run of Metapost generates the glyphs of a font as
477+\EPS\ files; another generates metrics; then the \texttt{gawk} script merges
478+those and does some rewriting of the Postscript code to turn them into a
479+single Postscript Type 1 font.
480+
481+In recent versions, Tsukurimashou's version of MetaType1 has diverged
482+somewhat from the one distributed by \acro{GUST}. I started with the (very
483+old) \texttt{mtype13} distribution, tried to upgrade it to use the latest
484+MetaType1 scripts, and ended up rewriting large sections of code. Many
485+features of MetaType1 are not used in Tsukurimashou (for instance, hinting;
486+the ``metrics'' pass; and the entire processing chain in the reverse
487+direction from Postscript back to \MF), and it proved useful to remove them,
488+streamlining the code considerably. The core flow of information through
489+Tsukurimashou's version of MetaType1 remains similar to that of the
490+original, however: the Metapost interpreter executes code in the \MF\
491+language, writing one \EPS\ file for each glyph, and then those are
492+postprocessed into Postscript Type 1 fonts.
493+
494+Each Postscript font contains up to 256 glyphs (but usually far fewer than
495+that), corresponding to a 256-character block of the Unicode character
496+space. Many of these Postscript fonts are needed for each full-coverage
497+OpenType font. The build system runs them individually through a FontForge
498+script that removes overlapping sections of splines, this being an easier
499+operation in FontForge than on the \MF\ side, and then once all Postscript
500+fonts for an OpenType font have had their overlaps removed, it runs another
501+FontForge script to combine them into the final OpenType font. Doing the
502+overlap removal as a separate step is an optimization for the common case
503+during development where only some of the Postscript fonts have changed: it
504+reduces the amount of work needed to reassemble the updated OpenType font.
505+
506+There are additional stages of processing in FontForge after the Postscript
507+fonts are merged. The raw outlines generated by \MF\ may contain excessive
508+or poorly-located spline control points; scripts in FontForge attempt to
509+remove those. Similarly, some technical rules of the font formats (such as
510+having points at the $x$ and $y$ extrema of each curve) need to be enforced.
511+There is another processing chain for automated horizontal spacing and
512+kerning of the proportionally-spaced styles. In that chain, the build
513+system generates bitmap fonts in \acro{BDF} format and a C program
514+calculates spacing corrections, which are then applied back to the merged
515+OpenType fonts. Other scripts run on the side do things like constructing
516+OpenType glyph-substitution tables for Korean \emph{hangul} support, and
517+collecting data for proof generation. According to recent statistics from
518+Ohloh~\cite{Ohloh:Languages}, 63\% of the project's code is written in
519+Metapost (the font descriptions proper), 8\% is in \LaTeX\ (documentation),
520+and the remaining 29\% is spread among 11 other programming languages: the
521+infrastructure and some small spin-off packages.
522+
523+\subsection{The \MF\ code}
524+
525+Here is Tsukurimashou's code defining the ``language''
526+glyph of Figure~\ref{fig:tree}; three styles of it are shown at the top of
527+Figure~\ref{fig:threestyle}. This glyph is of about
528+average complexity; some are even simpler, and a few involve much more
529+complicated operations, such as calculating positions of strokes based on
530+the intersections of other strokes, or doing interpolation and conditional
531+processing on style parameters.
532+
533+\begin{verbatim}
534+vardef kanji.grtwo.language =
535+ push_pbox_toexpand(
536+ "kanji.grtwo.language");
537+ build_kanji.level(build_kanji.lr(450,0)
538+ (kanji.grtwo.word)
539+ (tsu_xform(identity yscaled 0.95)
540+ (kanji.grnine.my)));
541+ expand_pbox;
542+enddef;
543+\end{verbatim}
544+
545+\begin{figure}
546+\includegraphics[scale=0.63]{threestyle.pdf}
547+\caption{Three styles of ``language'' and ``five.''}
548+\label{fig:threestyle}
549+\end{figure}
550+
551+This code exists in a file named \verb|tsuku-8a.mp|, which covers the
552+Unicode code points U+8A00 to U+8AFF. A character like this one, which
553+happens not to be used as part of any other character, is defined right
554+there in the Unicode-range Metapost file. Parts that are shared among more
555+than one such file are moved to other files that can be included in multiple
556+places; for instance, \verb|kanji.grtwo.word| is in \verb|gradetwo.mp|.
557+Splitting macro definitions across many files like this makes it easier to
558+avoid recompiling the whole system when something changes, but it also
559+requires the build system to keep track of all the inter-file dependencies.
560+
561+Tsukurimashou frequently uses a sort of functional programming via \MF's
562+concept of text arguments to macros. There is a global stack data structure
563+of objects (several kinds) that will eventually be rendered into the glyph.
564+A macro will receive one or more arguments that are themselves fragments of
565+code; it runs them, then examines the objects they added to the stack and
566+possibly makes modifications. Macros that create \emph{kanji} or parts of \emph{kanji}
567+normally put them into a square of arbitrary two-dimensional space
568+defined by the coordinates from $(50,-50)$ to $(950,850)$; the outer-level
569+macros can then shift and scale that square into its final location in the
570+finished glyph.
571+
572+The macro
573+\verb|build_kanji.lr|, for combining things left-to-right, allows its two
574+arguments to run, then scales and shifts their results to cover two smaller
575+rectangles. The numeric arguments $(450,0)$ specify that in this case, the
576+dividing line is at $x$ coordinate $450$, and the two rectangles overlap by
577+an amount of $0$. So the left side runs from $(50,-50)$ to $(450,850)$ and
578+the right side is from $(450,-50)$ to $(950,850)$.
579+
580+Many of the visual adjustments needed when parts are combined, can be had
581+just by choosing the right values for the dividing line and overlap amount.
582+But other macros seen in this sample include \verb|build_kanji.level|, which
583+adjusts the stroke widths in its argument to all be the same (which often,
584+but not always, looks better) and \verb|tsu_xform|, which applies an additional
585+\MF\ transformation matrix to make \verb|kanji.grnine.my| a little smaller. Even
586+in this very simple glyph, some tweaking was necessary beyond just
587+putting together existing pieces in a standardized way.
588+
589+Here is code for the \emph{kanji} numeral ``five,'' which is invoked indirectly by
590+\verb|kanji.grtwo.language| when it calls \verb|kanji.grnine.my|. This
591+glyph is shown at the bottom of Figure~\ref{fig:threestyle}. This is
592+typical of the basic shapes that are not made up of smaller components.
593+\begin{verbatim}
594+vardef kanji.grone.five =
595+ push_pbox_toexpand("kanji.grone.five");
596+ push_stroke((170,740)--(830,740),
597+ (1.6,1.6)--(1.6,1.6));
598+ set_boserif(0,1,9);
599+ push_stroke((500,740)--(350,20),
600+ (1.6,1.6)--(1.6,1.6));
601+ push_stroke(
602+ (220,410)--(730,410)--(720,20),
603+ (1.5,1.5)--(1.5,1.5)--(1.4,1.4));
604+ set_boserif(0,1,4);
605+ set_botip(0,1,1);
606+ push_stroke((120,20)--(880,20),
607+ (1.6,1.6)--(1.6,1.6));
608+ set_boserif(0,1,9);
609+ expand_pbox;
610+enddef;
611+\end{verbatim}
612+
613+The \verb|push_stroke| macros save paths on the stack, with each stroke
614+defined by one path for the spine of the stroke, and a second path
615+describing how the stroke weight (eventually translated to ``width'' through
616+a style-dependent matrix) changes along the length of the stroke. Other
617+macros, such as \verb|set_boserif|, push other objects on the stack to indicate
618+where serifs (\emph{uroko}) should be added in styles that use them. The
619+whole thing, like \verb|kanji.grtwo.language| before it, is bracketed by
620+\verb|push_pbox_toexpand| and \verb|expand_pbox|, which respectively save, and adjust
621+the size of, an object called a ``proof box.''
622+
623+After all the macros for a glyph have run, rendering code unwinds the stack
624+and generates outlines for all the objects, writing them to the Postscript
625+output. This code is where most aspects of the font style are applied.
626+Styles define the pens used for stroking, transformations for calculating
627+pen size, the shape of serifs and whether to use them, and can potentially
628+override parts of the rendering code by defining hook macros to apply
629+further effects.
630+
631+I have never fully understood \MF's traditional proof system based on
632+greyscale fonts and ``literate'' programming, and in any case its reliance
633+on the standard coordinate array \verb|z[]| would not mix well with
634+Tsukurimashou's object stack concept. Tsukruimashou generates proofs in a
635+completely different way. When unwinding the stack the rendering code
636+writes a ``proof file,'' essentially a machine-readable log of all the
637+things it is rendering. The build system collects the proof files and runs
638+them through Perl scripts which generate \TikZ/\LaTeX\ files for an
639+illustrated and cross-referenced edition of the source code. The proof
640+boxes from \verb|push_pbox_toexpand| result in annotations on the pictures,
641+showing which part of each glyph came from which macro. Some information
642+from the proof files also feeds into the kerning program, and is used for
643+purposes like advising FontForge of white-on-black reversed glyphs, which
644+represent exceptions to the overlap-removal rules otherwise
645+applied.
646+
647+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
648+
649+\section{Character datbases and IDSgrep}
650+
651+Adding characters to Tsukurimashou requires knowing what is already in the
652+system and what is in the language: when looking at something like the left
653+side of ``outlook,'' I need to know whether such a thing already exists as a
654+macro somewhere in the code base; whether many other characters in the
655+language also include it, which would support the decision to create a new
656+macro for future use; and which of its parts may be related to common shapes
657+that could be used as guides for the new code. There are also simple coding
658+questions like ``What was the name of that macro?'' and ``Which source code
659+file is it in?''
660+
661+More generally, anyone working with Han characters who does not read them
662+fluently may wish to search a dictionary on partial descriptions: ``What
663+is this character I don't recognize that has `speak' on the left and `five'
664+at the upper right?'' Existing dictionaries sometimes offer what is called
665+``multi-radical'' search, whereby the user can specify one or more
666+components and then see a list of all \emph{kanji} that contain all those
667+components. But multi-radical search features seldom if ever capture
668+structural information like ``on the left''; such a system would just show
669+all the characters that contain ``speak'' in one pile for the user to dig
670+through. In the initial stages of laying out Tsukurimashou's \emph{kanji}
671+support, I frequently found myself wishing I could use the power of Unix
672+regular expressions, or something like them, to make more precise queries:
673+why not run \verb|grep| on the writing system itself?
674+
675+The IDSgrep package attempts to serve that need. With some irony intended,
676+IDSgrep's stated goal is to bring the user-friendliness of \verb|grep| to
677+Han character dictionaries. IDSgrep is one of the Tsukurimashou parasites:
678+it comes included with the full distribution in a separate directory, or can
679+be distributed on its own.
680+
681+Recall the tree decomposition of Figure~\ref{fig:tree}. That tree might be
682+rendered into a simple \acro{ASCII}-based prefix notation as
683+``\verb|[lr](speak)[tb](five)(mouth)|'': it is a left-right combination of
684+two things, the first of which is ``speak'' and the second is a top-bottom
685+combination of ``five'' and ``mouth.'' As argued earlier in this paper,
686+such descriptions are not enough to render high-quality glyphs; but maybe if
687+we include a few general catch-all categories like ``overlap,'' and accept
688+that not all descriptions will be detailed enough for rendering graphics, we
689+can come up with a description for every character sufficient to offer
690+useful dictionary searches.
691+
692+The Unicode standard specifies syntax for Ideographic Description Sequences
693+(\acro{IDS}es), intended to support exactly this kind of
694+pursuit~\cite{Unicode:IDS}. There are special characters defined in the
695+range U+2FF0 to U+2FFB to represent the prefix operators.
696+Figure~\ref{fig:ids} shows some examples of the notation. Note the way the
697+\acro{IDS} notation conceals some details: for instance, the two sides of
698+``forest'' are both denoted by the same character, even though they look
699+different when rendered. This looks promising: maybe we could get away
700+with ``just running \verb|grep|'' on a database of such decompositions.
701+
702+\begin{figure}
703+\centering
704+\includegraphics[scale=1]{ids.pdf}
705+\caption{Unicode Ideographic Description Sequences.}
706+\label{fig:ids}
707+\end{figure}
708+
709+In practice there are some additional challenges. For theoretical reasons,
710+namely the difference between regular and context-free languages, a true
711+regular expression search on these descriptions may be less than
712+satisfactory. IDSgrep implements a tree-matching query language in which
713+the user can specify character components to search for explicitly, or use
714+matching operators like wildcard, match-anywhere, Boolean operations, and so
715+on. The \acro{IDS} syntax is not quite sufficiently flexible and
716+well-defined to encompass all the tasks IDSgrep demands of it, and the
717+special Unicode combining operation characters are difficult to type (and to
718+typeset in Computer Modern!); so IDSgrep defines extensions to the syntax
719+and \acro{ASCII} synonyms for the special characters,
720+forming a language of Extended Ideographic Description Sequences
721+(\acro{EIDS}es) that subsumes the Unicode \acro{IDS} syntax.
722+
723+IDSgrep's user interface consists of a Unix command-line utility similar to
724+\verb|grep|. It reads a database of trees in \acro{EIDS} syntax, from files
725+or standard input, and writes out any that match the matching pattern
726+specified on the command line: just like \verb|grep|. The syntax for
727+matching patterns is complicated because it is powerful, but no worse for
728+skilled users than standard regular expressions. After learning the syntax,
729+a user can easily and quickly compose queries like ``What characters have
730+this component in that location, but not that other component anywhere?''
731+
732+The latest version, IDSgrep 0.4, uses Bloom filters and binary decision
733+diagrams to speed up searches. Although the full tree-matching algorithm is
734+not slow, a complete search of hundreds of thousands of \emph{kanji}
735+dictionary entries may take a few seconds. So during installation, IDSgrep
736+precomputes bit vector indices for the databases being installed;
737+when searching those databases, it can do quick tests on the bit
738+vectors to reject the large majority of possible matches, running the more
739+expensive tree match on the candidates that make it past the bit vector
740+check. The amount of speed-up is variable, but typically around a factor of
741+15.
742+
743+But a critical question remains: where does the data come from? Databases
744+of \emph{kanji} marked up with structural data are not easy to find, let
745+alone in IDSgrep's native format. The Tsukurimashou fonts generate (using
746+information extracted from the proof files) a dictionary of character
747+decompositions \emph{as the characters appear in the fonts}. Querying how
748+Tsukurimashou decomposes a character is often useful, but Tsukurimashou by
749+definition does not cover the characters I have yet to add, and its
750+decompositions may not reflect traditional etymology and other concerns.
751+IDSgrep also ships with code to extract \acro{EIDS} character decompositions
752+from the KanjiVG Project's \XML\ files~\cite{KanjiVG} and from the \acro{CHISE}
753+\acro{IDS} database~\cite{CHISE}. It can do a ``join'' of any of the
754+\emph{kanji} databases with \acro{EDICT2}~\cite{EDICT2} to create an
755+experimental dictionary of words and meanings with character decompositions.
756+None of these databases is perfect; but especially by searching several at
757+once, users can usually succeed in finding what they are looking for.
758+
759+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
760+
761+\section{Conclusions and future work}
762+
763+There has been much past \CJK\ \MF\ work, with few results and no finished
764+fonts. I have described my own project, the Tsukurimashou parametric font
765+meta-family, which is unfinished too. However, Tsukurimashou has made more
766+progress than any similar system to date. I have described issues facing
767+this kind of project, Tsukurimashou's solutions for some of them, and
768+associated technology including the IDSgrep \emph{kanji} structural query
769+system.
770+
771+The obvious direction for future work is to complete Tsukurimashou's
772+\emph{kanji} coverage. My hope, however, is that some of the code and ideas
773+from this project will also be applicable in other languages and other
774+projects.
775+
776+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
777+
778+\bibliographystyle{plain}
779+\bibliography{tsuku}
780+
781+\makesignature
782+\end{document}
--- trunk/tug2013/mincho.tex (nonexistent)
+++ trunk/tug2013/mincho.tex (revision 464)
@@ -0,0 +1,21 @@
1+\documentclass[17pt]{extarticle}
2+
3+\usepackage{fontspec}
4+\usepackage[papersize={4.5in,2.9in},hmargin={0.1in},%
5+ vmargin={0.1in}]{geometry}
6+
7+\defaultfontfeatures{Path={../otf/},Mapping=tex-text}
8+\pagestyle{empty}
9+
10+\begin{document}
11+\noindent\fontspec{TsukurimashouMincho}%
12+わらやまはなたさかあ~~ワラヤマハナタサカア\\
13+ゐり~~みひにちしきい~~ヰリ~~ミヒニチシキイ\\%
14+ るゆむふぬつすくうん~~~ルユムフヌツスクウン\\
15+ゑれ~~めへねてせけえ~~ヱレ~~メヘネテセケエ\\
16+をろよもほのとそこお~~ヲロヨモホノトソコオ\\
17+ 一七三上下中九二五人休先入八六円出力十千\\
18+ 口右名四土夕大天女子字学小山川左年手文日\\
19+ 早月木本村林校森正気水火犬玉王生田男町白\\
20+ 百目石空立竹糸耳花草虫見貝赤足車金雨青音
21+\end{document}
--- trunk/tug2013/Makefile (nonexistent)
+++ trunk/tug2013/Makefile (revision 464)
@@ -0,0 +1,11 @@
1+define lu-define-flavor-XELATEX
2+ $$(eval $$(call lu-create-flavor,XELATEX,tex,XELATEX,.pdf,pdf,\
3+ .pdftex_t .$$(_LU_XELATEX_EXT)))
4+endef
5+
6+LU_FLAVORS=XELATEX
7+XELATEX=xelatex
8+
9+LU_preprint_FLAVORS=PDF
10+
11+include LaTeX.mk
--- trunk/tug2013/ids.tex (nonexistent)
+++ trunk/tug2013/ids.tex (revision 464)
@@ -0,0 +1,17 @@
1+\documentclass[17pt]{extarticle}
2+
3+\usepackage{fontspec}
4+\usepackage[papersize={2.2in,1.7in},hmargin={0.1in},%
5+ vmargin={0.1in}]{geometry}
6+
7+\defaultfontfeatures{Path={../otf/},Mapping=tex-text}
8+\pagestyle{empty}
9+
10+\begin{document}
11+\noindent\fontspec{TsukurimashouMincho}%
12+【林】⿰木木\\
13+【語】⿰言⿱五口\\
14+【観】⿰⿻矢隹⿱目儿\\
15+【涼】⿰水⿱亠⿱口小\\
16+【葉】⿱艹⿱世木
17+\end{document}
Show on old repository browser