* baseline alignment @ 2004-07-22 8:59 Vit Zyka 2004-08-09 22:39 ` Hans Hagen 0 siblings, 1 reply; 3+ messages in thread From: Vit Zyka @ 2004-07-22 8:59 UTC (permalink / raw) Hallo, for text positioning in a layer I needed alignment to baseline. I do not known if I missed something but I did not find it in the current ConTeXt. So I did that. Baseline is choosen by capital 'B' in the position parameter. ('B' is adopted from grahicx LaTeX/plain package.) Also I add \ctop, \ltop, and \rtop in sence of \cbox, \lbox, and rbox, respectively. I suggest to add the macros to core-box and supp-box. Vit Zyka %-------------------------------------------- baseline alignment \setvalue{\??ab\??ab B}{\baselinebox} \setvalue{\??ab\??ab Bl}{\baselineleftbox} \setvalue{\??ab\??ab Bc}{\baselinecenterbox} \setvalue{\??ab\??ab Br}{\baselinerightbox} \setvalue{\??ab\??ab lB}{\leftbaselinebox} \setvalue{\??ab\??ab cB}{\centerbaselinebox} \setvalue{\??ab\??ab rB}{\rightbaselinebox} \def\baselinecenterbox#1% {\normalhbox {\setbox0\placedbox{#1}% \global\boxhdisplacement-.5\wd0 \global\advance\boxhdisplacement-\boxoffset \global\boxvdisplacement-\boxoffset \boxcursor\hskip\boxhdisplacement\raise-\boxvdisplacement\box0}} \def\baselineleftbox#1% {\normalhbox {\setbox0\placedbox{#1}% \global\boxhdisplacement-\wd0 \global\advance\boxhdisplacement-\boxoffset \global\boxvdisplacement-\boxoffset \boxcursor\hskip\boxhdisplacement\raise-\boxvdisplacement\box0}} \def\baselinerightbox#1% {\normalhbox {\setbox0\placedbox{#1}% \global\boxhdisplacement\boxoffset \global\boxvdisplacement-\boxoffset \boxcursor\hskip\boxhdisplacement\raise-\boxvdisplacement\box0}} \let\baselinebox=\baselinecenterbox \let\leftbaselinebox=\baselineleftbox \let\rightbaselinebox=\baselinerightbox %------------------------------ \ltop, \rtop, \ctop \def\lrctop#1#2#% {\vtop#2\bgroup \let\\=\endgraf \forgetall#1\let\next=} \def\ltop{\lrctop\raggedleft} \def\rtop{\lrctop\raggedright} \def\ctop{\lrctop\raggedcenter} ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: baseline alignment 2004-07-22 8:59 baseline alignment Vit Zyka @ 2004-08-09 22:39 ` Hans Hagen 2004-09-09 14:36 ` Vit Zyka 0 siblings, 1 reply; 3+ messages in thread From: Hans Hagen @ 2004-08-09 22:39 UTC (permalink / raw) Vit Zyka wrote: > Hallo, > > for text positioning in a layer I needed alignment to baseline. I do > not known if I missed something but I did not find it in the current > ConTeXt. So I did that. Baseline is choosen by capital 'B' in the > position parameter. ('B' is adopted from grahicx LaTeX/plain package.) > > Also I add \ctop, \ltop, and \rtop in sence of \cbox, \lbox, and rbox, > respectively. > > I suggest to add the macros to core-box and supp-box. > > Vit Zyka > > %-------------------------------------------- baseline alignment > \setvalue{\??ab\??ab B}{\baselinebox} > \setvalue{\??ab\??ab Bl}{\baselineleftbox} > \setvalue{\??ab\??ab Bc}{\baselinecenterbox} > \setvalue{\??ab\??ab Br}{\baselinerightbox} > \setvalue{\??ab\??ab lB}{\leftbaselinebox} > \setvalue{\??ab\??ab cB}{\centerbaselinebox} > \setvalue{\??ab\??ab rB}{\rightbaselinebox} > \def\baselinecenterbox#1% > {\normalhbox > {\setbox0\placedbox{#1}% > \global\boxhdisplacement-.5\wd0 > \global\advance\boxhdisplacement-\boxoffset > \global\boxvdisplacement-\boxoffset > \boxcursor\hskip\boxhdisplacement\raise-\boxvdisplacement\box0}} > \def\baselineleftbox#1% > {\normalhbox > {\setbox0\placedbox{#1}% > \global\boxhdisplacement-\wd0 > \global\advance\boxhdisplacement-\boxoffset > \global\boxvdisplacement-\boxoffset > \boxcursor\hskip\boxhdisplacement\raise-\boxvdisplacement\box0}} > \def\baselinerightbox#1% > {\normalhbox > {\setbox0\placedbox{#1}% > \global\boxhdisplacement\boxoffset > \global\boxvdisplacement-\boxoffset > \boxcursor\hskip\boxhdisplacement\raise-\boxvdisplacement\box0}} > \let\baselinebox=\baselinecenterbox > \let\leftbaselinebox=\baselineleftbox > \let\rightbaselinebox=\baselinerightbox hm, in that case we probably need a few more -) See example below, there is already a grid option; also, keep an eye on topskip (we may need s sl sc sr but who can remember that) I dislike the capital B but the g is available (g from gridline) \unprotect % \v!grid is taken \setvalue{\??ab\??ab m}{\middlebox} \setvalue{\??ab\??ab g}{\baselinemiddlebox} \setvalue{\??ab\??ab gl}{\baselineleftbox} \setvalue{\??ab\??ab gc}{\baselinemiddlebox} \setvalue{\??ab\??ab gr}{\baselinerightbox} \setvalue{\??ab\??ab \v!regel }{\baselinemiddlebox} % \v!grid is taken \setvalue{\??ab\??ab \v!regel\v!links }{\baselineleftbox} \setvalue{\??ab\??ab \v!regel\v!midden}{\baselinemiddlebox} \setvalue{\??ab\??ab \v!regel\v!rechts}{\baselinerightbox} \def\baselinemiddlebox#1% {\normalhbox {\setbox0\placedbox{#1}% \global\boxhdisplacement-.5\wd0 \global\advance\boxhdisplacement-\boxoffset \global\boxvdisplacement-\boxoffset \boxcursor\hskip\boxhdisplacement\raise-\boxvdisplacement\box0}} \def\baselineleftbox#1% {\normalhbox {\setbox0\placedbox{#1}% \global\boxhdisplacement-\wd0 \global\advance\boxhdisplacement-\boxoffset \global\boxvdisplacement-\boxoffset \boxcursor\hskip\boxhdisplacement\raise-\boxvdisplacement\box0}} \def\baselinerightbox#1% {\normalhbox {\setbox0\placedbox{#1}% \global\boxhdisplacement\boxoffset \global\boxvdisplacement-\boxoffset \boxcursor\hskip\boxhdisplacement\raise-\boxvdisplacement\box0}} \protect \definelayer[text] \setupbackgrounds[text][background=text] \setuplayer[text][width=\textwidth,height=\textheight] \showgrid \starttext \setlayer [text] [location=grid,line=13] {\vtop{\strut \input ward \endstrut}} \setlayer [text] [corner={right,top}, voffset=\topskip, % \topskipgap, location=gl] {\vtop{\begstrut \input ward \endstrut}} x \stoptext i can add that to the kernel if tested > > %------------------------------ \ltop, \rtop, \ctop > \def\lrctop#1#2#% > {\vtop#2\bgroup > \let\\=\endgraf > \forgetall#1\let\next=} > \def\ltop{\lrctop\raggedleft} > \def\rtop{\lrctop\raggedright} > \def\ctop{\lrctop\raggedcenter} ok, i've patched/added: \def\lbox{\makelrcbox\normalvbox\raggedleft} \def\cbox{\makelrcbox\normalvbox\raggedcenter} \def\rbox{\makelrcbox\normalvbox\raggedright} \def\ltop{\makelrcbox\normalvtop\raggedleft} \def\ctop{\makelrcbox\normalvtop\raggedcenter} \def\rtop{\makelrcbox\normalvtop\raggedright} \def\makelrcbox#1#2#3#% {#1#3\bgroup \forgetall \let\\=\endgraf #2\let\next=} ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl ----------------------------------------------------------------- ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: baseline alignment 2004-08-09 22:39 ` Hans Hagen @ 2004-09-09 14:36 ` Vit Zyka 0 siblings, 0 replies; 3+ messages in thread From: Vit Zyka @ 2004-09-09 14:36 UTC (permalink / raw) Hi All, first of all I want to apologize not being responding to several your emails (e.g. this one). My email provider has filtered tens of them as spam... I sighted them just now when I became suspicious of the email delivery. Hans Hagen wrote: > Vit Zyka wrote: > >> Hallo, >> >> for text positioning in a layer I needed alignment to baseline. I do >> not known if I missed something but I did not find it in the current >> ConTeXt. So I did that. Baseline is choosen by capital 'B' in the >> position parameter. ('B' is adopted from grahicx LaTeX/plain package.) >> >> Also I add \ctop, \ltop, and \rtop in sence of \cbox, \lbox, and rbox, >> respectively. >> >> I suggest to add the macros to core-box and supp-box. >> >> Vit Zyka >> >> %-------------------------------------------- baseline alignment >> \setvalue{\??ab\??ab B}{\baselinebox} >> \setvalue{\??ab\??ab Bl}{\baselineleftbox} >> \setvalue{\??ab\??ab Bc}{\baselinecenterbox} >> \setvalue{\??ab\??ab Br}{\baselinerightbox} >> \setvalue{\??ab\??ab lB}{\leftbaselinebox} >> \setvalue{\??ab\??ab cB}{\centerbaselinebox} >> \setvalue{\??ab\??ab rB}{\rightbaselinebox} >> \def\baselinecenterbox#1% >> {\normalhbox >> {\setbox0\placedbox{#1}% >> \global\boxhdisplacement-.5\wd0 >> \global\advance\boxhdisplacement-\boxoffset >> \global\boxvdisplacement-\boxoffset >> \boxcursor\hskip\boxhdisplacement\raise-\boxvdisplacement\box0}} >> \def\baselineleftbox#1% >> {\normalhbox >> {\setbox0\placedbox{#1}% >> \global\boxhdisplacement-\wd0 >> \global\advance\boxhdisplacement-\boxoffset >> \global\boxvdisplacement-\boxoffset >> \boxcursor\hskip\boxhdisplacement\raise-\boxvdisplacement\box0}} >> \def\baselinerightbox#1% >> {\normalhbox >> {\setbox0\placedbox{#1}% >> \global\boxhdisplacement\boxoffset >> \global\boxvdisplacement-\boxoffset >> \boxcursor\hskip\boxhdisplacement\raise-\boxvdisplacement\box0}} >> \let\baselinebox=\baselinecenterbox >> \let\leftbaselinebox=\baselineleftbox >> \let\rightbaselinebox=\baselinerightbox > > > hm, in that case we probably need a few more -) > > See example below, there is already a grid option; also, keep an eye on > topskip (we may need s sl sc sr but who can remember that) Like this? If so, I can prepare the rest alternatives and to test them. \setvalue{\??ab\??ab s}{\topskipcenterbox} \def\topskipcenterbox#1% {\normalhbox {\setbox0\placedbox{#1}% \global\boxhdisplacement-.5\wd0 \global\advance\boxhdisplacement-\boxoffset \global\boxvdisplacement-\boxoffset \global\advance\boxvdisplacement by\topskip \boxcursor\hskip\boxhdisplacement\raise-\boxvdisplacement\box0}} > I dislike the capital B but the g is available (g from gridline) OK. But is not better to use also \gridrightbox instead of \baselinerightbox, etc. ? > i can add that to the kernel if tested I tested your code and it is all right. > \unprotect > > % \v!grid is taken > > \setvalue{\??ab\??ab m}{\middlebox} > > \setvalue{\??ab\??ab g}{\baselinemiddlebox} > \setvalue{\??ab\??ab gl}{\baselineleftbox} > \setvalue{\??ab\??ab gc}{\baselinemiddlebox} > \setvalue{\??ab\??ab gr}{\baselinerightbox} > > \setvalue{\??ab\??ab \v!regel }{\baselinemiddlebox} % \v!grid is > taken > \setvalue{\??ab\??ab \v!regel\v!links }{\baselineleftbox} > \setvalue{\??ab\??ab \v!regel\v!midden}{\baselinemiddlebox} > \setvalue{\??ab\??ab \v!regel\v!rechts}{\baselinerightbox} > > \def\baselinemiddlebox#1% > {\normalhbox > {\setbox0\placedbox{#1}% > \global\boxhdisplacement-.5\wd0 > \global\advance\boxhdisplacement-\boxoffset > \global\boxvdisplacement-\boxoffset > \boxcursor\hskip\boxhdisplacement\raise-\boxvdisplacement\box0}} > > \def\baselineleftbox#1% > {\normalhbox > {\setbox0\placedbox{#1}% > \global\boxhdisplacement-\wd0 > \global\advance\boxhdisplacement-\boxoffset > \global\boxvdisplacement-\boxoffset > \boxcursor\hskip\boxhdisplacement\raise-\boxvdisplacement\box0}} > > \def\baselinerightbox#1% > {\normalhbox > {\setbox0\placedbox{#1}% > \global\boxhdisplacement\boxoffset > \global\boxvdisplacement-\boxoffset > \boxcursor\hskip\boxhdisplacement\raise-\boxvdisplacement\box0}} > > \protect > > \definelayer[text] \setupbackgrounds[text][background=text] > \setuplayer[text][width=\textwidth,height=\textheight] > > \showgrid > > \starttext > > \setlayer > [text] > [location=grid,line=13] > {\vtop{\strut \input ward \endstrut}} > > \setlayer > [text] > [corner={right,top}, > voffset=\topskip, % \topskipgap, > location=gl] > {\vtop{\begstrut \input ward \endstrut}} > > x > > \stoptext > > i can add that to the kernel if tested >> %------------------------------ \ltop, \rtop, \ctop >> \def\lrctop#1#2#% >> {\vtop#2\bgroup >> \let\\=\endgraf >> \forgetall#1\let\next=} >> \def\ltop{\lrctop\raggedleft} >> \def\rtop{\lrctop\raggedright} >> \def\ctop{\lrctop\raggedcenter} > ok, i've patched/added: > > \def\lbox{\makelrcbox\normalvbox\raggedleft} > \def\cbox{\makelrcbox\normalvbox\raggedcenter} > \def\rbox{\makelrcbox\normalvbox\raggedright} > > \def\ltop{\makelrcbox\normalvtop\raggedleft} > \def\ctop{\makelrcbox\normalvtop\raggedcenter} > \def\rtop{\makelrcbox\normalvtop\raggedright} > > \def\makelrcbox#1#2#3#% > {#1#3\bgroup \forgetall \let\\=\endgraf #2\let\next=} Great, thank you, Hans. Vit Zyka ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2004-09-09 14:36 UTC | newest] Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2004-07-22 8:59 baseline alignment Vit Zyka 2004-08-09 22:39 ` Hans Hagen 2004-09-09 14:36 ` Vit Zyka
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).