add
This commit is contained in:
parent
49a1496cbb
commit
c42a1d3d61
31 changed files with 4745 additions and 2 deletions
107
src/cmd/htmlroff/t11.c
Normal file
107
src/cmd/htmlroff/t11.c
Normal file
|
|
@ -0,0 +1,107 @@
|
|||
#include "a.h"
|
||||
|
||||
/*
|
||||
* 11. Local Horizontal and Vertical Motions, and the Width Function.
|
||||
*/
|
||||
|
||||
int
|
||||
e_0(void)
|
||||
{
|
||||
/* digit-width space */
|
||||
return ' ';
|
||||
}
|
||||
|
||||
int
|
||||
dv(int d)
|
||||
{
|
||||
Rune sub[6];
|
||||
|
||||
d += getnr(L(".dv"));
|
||||
nr(L(".dv"), d);
|
||||
|
||||
runestrcpy(sub, L("<sub>"));
|
||||
sub[0] = Ult;
|
||||
sub[4] = Ugt;
|
||||
if(d < 0){
|
||||
sub[3] = 'p';
|
||||
ihtml(L(".dv"), sub);
|
||||
}else if(d > 0)
|
||||
ihtml(L(".dv"), sub);
|
||||
else
|
||||
ihtml(L(".dv"), nil);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
e_v(void)
|
||||
{
|
||||
dv(eval(getqarg()));
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
e_u(void)
|
||||
{
|
||||
dv(eval(L("-0.5m")));
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
e_d(void)
|
||||
{
|
||||
dv(eval(L("0.5m")));
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
e_r(void)
|
||||
{
|
||||
dv(eval(L("-1m")));
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
e_h(void)
|
||||
{
|
||||
getqarg();
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
e_w(void)
|
||||
{
|
||||
Rune *a;
|
||||
Rune buf[40];
|
||||
|
||||
a = getqarg();
|
||||
runesnprint(buf, sizeof buf, "%ld", runestrlen(a));
|
||||
pushinputstring(buf);
|
||||
nr(L("st"), 0);
|
||||
nr(L("sb"), 0);
|
||||
nr(L("ct"), 0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
e_k(void)
|
||||
{
|
||||
getname();
|
||||
warn("%Ck not available", backslash);
|
||||
return 0;
|
||||
}
|
||||
|
||||
void
|
||||
t11init(void)
|
||||
{
|
||||
addesc('|', e_nop, 0);
|
||||
addesc('^', e_nop, 0);
|
||||
addesc('v', e_v, 0);
|
||||
addesc('h', e_h, 0);
|
||||
addesc('w', e_w, 0);
|
||||
addesc('0', e_0, 0);
|
||||
addesc('u', e_u, 0);
|
||||
addesc('d', e_d, 0);
|
||||
addesc('r', e_r, 0);
|
||||
addesc('k', e_k, 0);
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue