summaryrefslogtreecommitdiff
path: root/metapost/context/base/mp-txts.mp
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2006-07-13 22:26:00 +0200
committerHans Hagen <pragma@wxs.nl>2006-07-13 22:26:00 +0200
commitcb58eea8a8460f4288c8ba9279bcd1a4d9333f74 (patch)
treea935db5f4be07adc3ab7ff0a6838505030a72fc4 /metapost/context/base/mp-txts.mp
parentf9420a5dde4d6646f2e117813bd85e0bfc701d7d (diff)
downloadcontext-cb58eea8a8460f4288c8ba9279bcd1a4d9333f74.tar.gz
stable 2006.07.13 22:26
Diffstat (limited to 'metapost/context/base/mp-txts.mp')
-rw-r--r--metapost/context/base/mp-txts.mp67
1 files changed, 67 insertions, 0 deletions
diff --git a/metapost/context/base/mp-txts.mp b/metapost/context/base/mp-txts.mp
new file mode 100644
index 000000000..f208c7149
--- /dev/null
+++ b/metapost/context/base/mp-txts.mp
@@ -0,0 +1,67 @@
+%D \module
+%D [ file=mp-txts.mp,
+%D version=2006.06.08,
+%D title=\CONTEXT\ \METAPOST\ graphics,
+%D subtitle=more text support,
+%D author=Hans Hagen,
+%D date=\currentdate,
+%D copyright=PRAGMA]
+%C
+%C This module is part of the \CONTEXT\ macro||package and is
+%C therefore copyrighted by \PRAGMA. See licen-en.pdf for
+%C details.
+
+if unknown context_tool : input mp-tool ; fi ;
+if known context_txts : endinput ; fi ;
+
+boolean context_txts ; context_txts := true ;
+
+%D The real code:
+
+string txtfile ; txtfile := "" ;
+string txtfont ; txtfont := defaultfont ;
+string txtpref ; txtpref := "00001::::" ;
+numeric txtnext ; txtnext := 0 ;
+numeric txtdepth ; txtdepth := 0 ;
+
+vardef nexttxt =
+ txtnext := txtnext + 1 ;
+ txtnext
+enddef ;
+
+picture savedtxts[] ;
+numeric depthtxts[] ;
+
+vardef zerofilled(expr fd) =
+ if fd<10: "0000" else :
+ if fd<100: "000" else :
+ if fd<1000: "00" else :
+ if fd<10000: "0" else :
+ fi fi fi fi & decimal fd
+enddef;
+
+vardef savetxt(expr n,w,h,d) text t =
+ depthtxts[n] := d ;
+ savedtxts[n] := ((txtpref & zerofilled(n)) infont txtfont) xysized(w,h+d) t
+enddef ;
+
+vardef sometxt(expr n) =
+ if known savedtxts[n] :
+ txtdepth := depthtxts[n] ; savedtxts[n]
+ else :
+ txtdepth := 0 ; nullpicture
+ fi
+enddef ;
+
+def loadtxts =
+ if txtfile <> "" :
+ readfile(txtfile) ;
+ fi ;
+enddef ;
+
+def StartTexts =
+ loadtxts ;
+enddef ;
+
+def StopTexts =
+enddef ;