diff options
Diffstat (limited to 'doc')
-rwxr-xr-x | doc/grosciteco.tes | 78 |
1 files changed, 52 insertions, 26 deletions
diff --git a/doc/grosciteco.tes b/doc/grosciteco.tes index 1e57b52..b220041 100755 --- a/doc/grosciteco.tes +++ b/doc/grosciteco.tes @@ -50,6 +50,38 @@ EBN[input] Q.n<.-Z"= 1; ' 0A-10"= 1; ' D> ].n } +!* draw a line to (h,v) *! +!* FIXME: Works only for straight lines *! +@[line]{ U.[to.v] U.[to.h] + Q.[to.h]-Q[pos.h]"= Q.[to.v]-Q[pos.v]"= ' ' + [* EB + Q.[to.h]-Q[pos.h]"= + !* vertical line *! + Q.[to.v]-Q[pos.v]"< Q[pos.v]U.v Q.[to.v]U[pos.v] | Q.[to.v]U.v ' + 1:M[move] %[pos.v] .-Z"= I R ' + -A-9472"= 0A-9472"= I┬ | I┐ ' + | 0A-9472"= I┌ | I╷ ' ' + Q.v-Q[pos.v]< + 1:M[move] %[pos.v] .-Z"= I R ' + -A-9472"= 0A-9472"= I┼ | I┤ ' + | 0A-9472"= I├ | I│ ' ' + > + 1:M[move] .-Z"= I R ' + -A-9472"= 0A-9472"= I┴ | I┘ ' + | 0A-9472"= I└ | I╵ ' ' + Q.[to.v]U[pos.v] + | + !* horizontal line + FIXME: works only if horizonal lines are drawn first. *! + Q.[to.h]-Q[pos.h]"< Q[pos.h]U.h Q.[to.h]U[pos.h] | Q.[to.h]U.h ' + Q.h-Q[pos.h]+1< + 1:M[move] I─ %[pos.h] + > + Q.[to.h]U[pos.h] + ' + ]* +} + !* style last N glyphs/characters *! 1U[default-style] @[style]{ [.l @@ -208,34 +240,28 @@ EBN[input] !cmd.DFd! :M#sc F< + !cmd.DFg! + :M#sw :M#gi :M#sc F< + !cmd.Dl! :M#sw :M#gi/Q[res.h]+Q[pos.h]U.[to.h] :M#gi/Q[res.v]+Q[pos.v]U.[to.v] :M#sc - [* EB - Q.[to.h]-Q[pos.h]"= - !* vertical line *! - Q.[to.v]-Q[pos.v]"< Q[pos.v]U.v Q.[to.v]U[pos.v] | Q.[to.v]U.v ' - 1:M[move] %[pos.v] .-Z"= I R ' - -A-9472"= 0A-9472"= I┬ | I┐ ' - | 0A-9472"= I┌ | I╷ ' ' - Q.v-Q[pos.v]< - 1:M[move] %[pos.v] .-Z"= I R ' - -A-9472"= 0A-9472"= I┼ | I┤ ' - | 0A-9472"= I├ | I│ ' ' - > - 1:M[move] .-Z"= I R ' - -A-9472"= 0A-9472"= I┴ | I┘ ' - | 0A-9472"= I└ | I╵ ' ' - Q.[to.v]U[pos.v] - | - !* horizontal line - FIXME: works only if horizonal lines are drawn first. *! - Q.[to.h]-Q[pos.h]"< Q[pos.h]U.h Q.[to.h]U[pos.h] | Q.[to.h]U.h ' - Q.h-Q[pos.h]+1< - 1:M[move] I─ %[pos.h] - > - Q.[to.h]U[pos.h] - ' - ]* F< + Q.[to.h],Q.[to.v]M[line] F< + + !cmd.Dp! + !cmd.DP! + :M#sw Q[pos.h]U.[start.h] Q[pos.v]U.[start.v] + < + :M#gi/Q[res.h]U.h Q.h+Q[pos.h]U.[to.h] :M#gi/Q[res.v]U.v Q.v+Q[pos.v]U.[to.v] + Q.h%.[inc.h] Q.v%.[inc.v] + Q.[to.h],Q.[to.v]M[line] + 0A-10"= 1; ' + > + Q.[start.h],Q.[start.v]M[line] + Q.[inc.h]%[pos.h] Q.[inc.v]%[pos.v] + :M#sc F< + + !cmd.Dt! + :M#sw :M#gi/Q[res.h]%[pos.h] :M#sw :M#gi :M#sc F< !cmd.t! :M#sw .(:M#sa).X.w |