summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/ghab
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/ghab
Initial commit
Diffstat (limited to 'macros/latex/contrib/ghab')
-rwxr-xr-xmacros/latex/contrib/ghab/README22
-rw-r--r--macros/latex/contrib/ghab/ghab-doc.pdfbin0 -> 26571 bytes
-rwxr-xr-xmacros/latex/contrib/ghab/ghab-doc.tex24
-rwxr-xr-xmacros/latex/contrib/ghab/ghab.mf184
-rwxr-xr-xmacros/latex/contrib/ghab/ghab.sty86
5 files changed, 316 insertions, 0 deletions
diff --git a/macros/latex/contrib/ghab/README b/macros/latex/contrib/ghab/README
new file mode 100755
index 0000000000..5a488d4158
--- /dev/null
+++ b/macros/latex/contrib/ghab/README
@@ -0,0 +1,22 @@
+__________________
+The ghab package
+
+This package implements \darghab command that can be used
+for producing ghab boxes in LaTeX.
+
+If you want to report any bugs or typos and corrections in the documentation,
+or ask for any new features, or suggest any improvements, or ask any questions
+about the package, then please do not send any direct emails to us; we will not
+answer any direct emails. Instead please use the issue tracker:
+ <https://github.com/persian-tex/ghab/issues>
+In doing so, please always explain your issue well enough, always include
+a minimal working examples showing the issue, and always choose the appropriate
+label for your query (i.e. if you are reporting any bugs, choose `bug' label).
+
+Current version release date: 2013/04/04
+______________
+Persian TeX Group
+persian-tex@tug.org
+
+Copyright 2011–2013
+Distributed under the LaTeX Project Public License
diff --git a/macros/latex/contrib/ghab/ghab-doc.pdf b/macros/latex/contrib/ghab/ghab-doc.pdf
new file mode 100644
index 0000000000..73349ceb6e
--- /dev/null
+++ b/macros/latex/contrib/ghab/ghab-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/ghab/ghab-doc.tex b/macros/latex/contrib/ghab/ghab-doc.tex
new file mode 100755
index 0000000000..4e8390ba9d
--- /dev/null
+++ b/macros/latex/contrib/ghab/ghab-doc.tex
@@ -0,0 +1,24 @@
+\documentclass{article}
+\usepackage{ghab,bidicode}
+\title{The \textsf{ghab} package}
+\author{Persian TeX Group\\ \texttt{persian-tex@tug.org}}
+\begin{document}
+\maketitle
+Provides \Lcs{darghab} command for typesetting ghab boxes which has the following syntax:
+\begin{BDef}
+\Lcs{darghab}\OptArg{\Larga{width}}\Largb{\Larga{text}}
+\end{BDef}
+The optional \Larga{width} determines the width of the box and if you do not give this optional argument, then the width of the box will be equal to \Lcs{linewidth}
+
+\bigskip
+\begin{lstlisting}[morekeywords={darghab}]
+%\darghab[10cm]{%
+%Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
+%}
+\end{lstlisting}
+
+\bigskip
+\darghab[10cm]{%
+Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
+}
+\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/ghab/ghab.mf b/macros/latex/contrib/ghab/ghab.mf
new file mode 100755
index 0000000000..37a83f100e
--- /dev/null
+++ b/macros/latex/contrib/ghab/ghab.mf
@@ -0,0 +1,184 @@
+%%
+%% This is file `ghab.mf',
+
+%%
+%% __________________________________
+%% Copyright © 2011–2013 Persian TeX Group
+%%
+%% License information appended.
+%%
+%%
+
+
+font_identifier:="ghab";
+em#=10pt#;
+u# := 1/20em#;
+zekh#=1.2u#;
+wd#:=2zekh#;
+mode_setup;
+define_pixels(em,u,zekh,wd);
+pickup pencircle scaled zekh;
+
+def loaf(expr bp,lp)=begingroup
+save x,y,p;
+path p[];
+numeric teta;
+ pickup pencircle scaled zekh;
+ z1=bp;
+ z2=lp;
+ teta=angle(z2-z1);
+ z2b=z2 rotatedaround(z1,-teta);
+ x4=.4[x1,x2b];
+ x5=.1[x4,x2b];
+ y3=y4;x3=x2b;
+ y4-y2b=.25(x2b-x1);
+ y5=1.2[y2b,y4];
+ p1=z1{dir-45}..tension 1.2 ..{up}z3..{down}z4..tension1.3..z5..tension1.4..z4;
+
+ p2=p1 rotatedaround(z1,teta);
+ p3=p2 reflectedabout(z1,z2);
+ draw p2;
+ draw p3;
+endgroup;
+enddef;
+
+beginchar(1,em#,0.5em#,0.5em#);
+z1=(0,0);
+z2=(x1+wd,0);
+z3=(.5w,-d+wd);
+z4=(.5w,-d);
+z6=(w,0);
+z7=(.5w,h);
+loaf(z2,z6);
+loaf(z3,z7);
+draw z1--z2;
+draw z3--z4;
+endchar;
+
+beginchar(2,em#,0.5em#,0.5em#);
+z1=(0,0);
+z2=(x1+wd,0);
+z3=(.5w,-d+wd);
+z4=(.5w,-d);
+z6=(w,0);
+z7=(.5w,h);
+currenttransform:=identity reflectedabout((.5w,0),(.5w,10));
+loaf(z2,z6);
+loaf(z3,z7);
+draw z1--z2;
+draw z3--z4;
+endchar;
+
+beginchar(3,em#,0.5em#,0.5em#);
+z1=(0,0);
+z2=(x1+wd,0);
+z3=(.5w,-d+wd);
+z4=(.5w,-d);
+z6=(w,0);
+z7=(.5w,h);
+currenttransform:=identity reflectedabout((0,0),(5,0));
+loaf(z2,z6);
+loaf(z3,z7);
+draw z1--z2;
+draw z3--z4;
+endchar;
+
+beginchar(4,em#,0.5em#,0.5em#);
+z1=(0,0);
+z2=(x1+wd,0);
+z3=(.5w,-d+wd);
+z4=(.5w,-d);
+z6=(w,0);
+z7=(.5w,h);
+currenttransform:=identity reflectedabout((0,0),(5,0));
+currenttransform:=currenttransform reflectedabout((.5w,0),(.5w,10));
+loaf(z2,z6);
+loaf(z3,z7);
+draw z1--z2;
+draw z3--z4;
+endchar;
+
+wh#=em#;
+define_pixels(wh);
+currenttransform:=identity;
+beginchar(8,wh#,wh#,0);
+z1=(0,h);
+z2=(w,0);
+pickup pencircle scaled .4pt;
+draw z1{dir 0}..{dir -90}z2;
+endchar;
+
+beginchar(9,wh#,wh#,0);
+z1=(0,0);
+z2=(w,h);
+pickup pencircle scaled .4pt;
+draw z1{dir 90}..{dir 0}z2;
+endchar;
+
+beginchar(10,wh#,0,wh#);
+z1=(0,0);
+z2=(w,-d);
+pickup pencircle scaled .4pt;
+draw z1{dir -90}..{dir 0}z2;
+endchar;
+
+beginchar(11,wh#,0,wh#);
+z1=(0,-d);
+z2=(w,0);
+pickup pencircle scaled .4pt;
+draw z1{dir 0}..{dir 90}z2;
+endchar;
+
+beginchar(16,wh#,wh#,0);
+z1=(0,h);
+z2=(w,0);
+pickup pencircle scaled .8pt;
+draw z1{dir 0}..{dir -90}z2;
+endchar;
+
+beginchar(17,wh#,wh#,0);
+z1=(0,0);
+z2=(w,h);
+pickup pencircle scaled .8pt;
+draw z1{dir 90}..{dir 0}z2;
+endchar;
+
+beginchar(18,wh#,0,wh#);
+z1=(0,0);
+z2=(w,-d);
+pickup pencircle scaled .8pt;
+draw z1{dir -90}..{dir 0}z2;
+endchar;
+
+beginchar(19,wh#,0,wh#);
+z1=(0,-d);
+z2=(w,0);
+pickup pencircle scaled .8pt;
+draw z1{dir 0}..{dir 90}z2;
+endchar;
+
+
+font_size em#; % the "design size" of this font
+font_slant 0;
+font_normal_space 1/4em#;
+font_normal_stretch 1/6em#;
+font_normal_shrink 1/6em#;
+font_x_height zekh#;
+font_quad em#;
+font_extra_space 1/3em#;
+end.
+%%
+%% Copyright © 2011–2013 by Persian TeX Group <persian-tex@tug.org>
+%%
+%% Distributable under the LaTeX Project Public License,
+%% version 1.3c or higher (your choice). The latest version of
+%% this license is at: http://www.latex-project.org/lppl.txt
+%%
+%% This work is "maintained" (as per LPPL maintenance status)
+%% by Persian TeX Group.
+%%
+%%
+%%
+%%
+%%
+%% End of file `ghab.mf'.
diff --git a/macros/latex/contrib/ghab/ghab.sty b/macros/latex/contrib/ghab/ghab.sty
new file mode 100755
index 0000000000..095fd48fe3
--- /dev/null
+++ b/macros/latex/contrib/ghab/ghab.sty
@@ -0,0 +1,86 @@
+%%
+%% This is file `ghab.sty',
+
+%%
+%% __________________________________
+%% Copyright © 2011–2013 Persian TeX Group
+%%
+%% License information appended.
+%%
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{ghab}[2013/04/04 v0.5 ghab boxes in LaTeX]
+\RequirePackage{biditools}
+\font\ghalameghab=ghab
+
+\def\darghab{\@ifnextchar[{\@darghab}{\@darghab[\linewidth]}}
+
+\def\@darghab[#1]{\@ifnextchar>{\@@darghab[#1]}{\@@darghab[#1]><}}
+\bidi@AtEndPreamble{%
+\@ifpackageloaded{bidi}{%
+\def\@@darghab[#1]>#2<#3{{\def\@vasateghab{#1}\ifx\@vasateghab\@void
+\else
+\def\@vasateghab{\ifhmode \par\fi\centerline}%
+\fi
+{\ghalameghab#2\relax\global\expandafter\let\expandafter\@ghalameghab\the\font}
+\def\@kagh##1##2{\hbox to \@tempdima{\ghalameghab#2\relax\char##2
+\leaders\hrule height \fontdimen5\@ghalameghab width \fontdimen5\@ghalameghab\hfill
+\char##1}}%
+\setbox\@tempboxa\vbox{\ifx\@vasateghab\@void \hbox{#3}\else
+\@tempdima=-\fontdimen6\@ghalameghab
+\advance\@tempdima-\fontdimen5\@ghalameghab
+\advance\@tempdima-2\fboxsep
+\advance\@tempdima#1\relax
+\hsize=\@tempdima \linewidth\hsize #3\fi}%
+\setbox\@tempboxa\hbox{\kern\fboxsep\box\@tempboxa
+\kern\fboxsep}%
+\setbox\@tempboxa\vbox{\@tempdima=\fontdimen6\@ghalameghab \@tempdimb\@tempdima
+\advance\@tempdima\wd\@tempboxa \let\@hss\hss
+\advance\@tempdimb-\fontdimen5\@ghalameghab \divide\@tempdimb by \tw@
+\def\@koo{\vrule width \fontdimen5\@ghalameghab\relax}\offinterlineskip
+\@kagh{1}{2}\hbox to \@tempdima{\kern\@tempdimb\@koo\@hss
+\box\@tempboxa \@hss\@koo\kern\@tempdimb}\@kagh{3}{4}}%
+\ifx\@vasateghab\@void $\vcenter{\box\@tempboxa}$\else
+\@vasateghab{\beginL\box\@tempboxa\endL}\fi}}%
+}{%
+\def\@@darghab[#1]>#2<#3{{\def\@vasateghab{#1}\ifx\@vasateghab\@void
+\else
+\def\@vasateghab{\ifhmode \par\fi\centerline}%
+\fi
+{\ghalameghab#2\relax\global\expandafter\let\expandafter\@ghalameghab\the\font}
+\def\@kagh##1##2{\hbox to \@tempdima{\ghalameghab#2\relax\char##2
+\leaders\hrule height \fontdimen5\@ghalameghab width \fontdimen5\@ghalameghab\hfill
+\char##1}}%
+\setbox\@tempboxa\vbox{\ifx\@vasateghab\@void \hbox{#3}\else
+\@tempdima=-\fontdimen6\@ghalameghab
+\advance\@tempdima-\fontdimen5\@ghalameghab
+\advance\@tempdima-2\fboxsep
+\advance\@tempdima#1\relax
+\hsize=\@tempdima \linewidth\hsize #3\fi}%
+\setbox\@tempboxa\hbox{\kern\fboxsep\box\@tempboxa
+\kern\fboxsep}%
+\setbox\@tempboxa\vbox{\@tempdima=\fontdimen6\@ghalameghab \@tempdimb\@tempdima
+\advance\@tempdima\wd\@tempboxa \let\@hss\hss
+\advance\@tempdimb-\fontdimen5\@ghalameghab \divide\@tempdimb by \tw@
+\def\@koo{\vrule width \fontdimen5\@ghalameghab\relax}\offinterlineskip
+\@kagh{1}{2}\hbox to \@tempdima{\kern\@tempdimb\@koo\@hss
+\box\@tempboxa \@hss\@koo\kern\@tempdimb}\@kagh{3}{4}}%
+\ifx\@vasateghab\@void $\vcenter{\box\@tempboxa}$\else
+\@vasateghab{\box\@tempboxa}\fi}}%
+}}
+\endinput
+%%
+%% Copyright © 2011–2013 by Persian TeX Group <persian-tex@tug.org>
+%%
+%% Distributable under the LaTeX Project Public License,
+%% version 1.3c or higher (your choice). The latest version of
+%% this license is at: http://www.latex-project.org/lppl.txt
+%%
+%% This work is "maintained" (as per LPPL maintenance status)
+%% by Persian TeX Group.
+%%
+%%
+%%
+%%
+%%
+%% End of file `ghab.sty'.