aboutsummaryrefslogtreecommitdiffhomepage
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rwxr-xr-xdoc/grosciteco.tes78
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