> FTPrint H Print or create printable versions of family tree diagram manually 5 v1.01 EOL is CRLF to stop Windows pissing about ( v1.02 Initial RTF output 2: <eol$=13+10 F*chars0$="-|++++++g++jklmnopqrstuvwxyz" P*chars1$="ij´jklmnopqrstuvwxyz" Z"Enter FT source name," d" eg: Trees.#.Harston#" n"Name: "in1$ x"Output file: "out$ 8"Printout width: (108) "width%:width%=0:width%=108 /"ASCII/Linedraw/RTF? (A/L/R) "A$:A$=A$,1) 2chars$=chars1$:A$="A" A$="a":chars$=chars0$ ;type$="FFF":rtf%=: A$="R" A$="r":type$="C32":rtf%= $ :CloseAll:" at line ";: *A%=in1$,".#."): A%=0:A%=in1$,".1.") # A%=0: "No '#' placemarker": num%=0: in1$,1)="#":num%=1 "in1$=in1$,A%)+"1"+in1$,A%+2) "in2$=in1$,A%)+"2"+in1$,A%+2)  1.x - diagram information ' 2.x - diagram horizontal contents % 3.x - diagram vertical contents ! 4.x - character definitions : in%=0:out%=0:: converted " rtf%: out%:rtffooter ,3 out%:#out%:out%=0:"SetType "+out$+" "+type$ 6 @: Jݤconverted TInum%:in1$=in1$,in1$-1)+num%:in2$=in2$,in2$-1)+num%:num%=num%+1 ^in%=(in1$): in%=0:= h4#in%,sizeX%,sizeY%:sizeX%=sizeX%*80:#in%:in%=0 r*sizeY%=sizeY%*32: sizeY%>84:sizeY%=84 |in%=(in2$): in%=0:= S out%=0:out$<>"":out%=(out$): out%=0: "Can't open '";out$;"'":CloseAll:= & rtf%: out%:#out%=0:rtfheader pagemax%=sizeX% width% lastcol%=sizeX% width%  page%=0 pagemax%  line%=0 sizeY%-1 ' #in%=line%*sizeX%+page%*width% D 13;80*(page%*sizeY%+line%)((sizeX% width%)*sizeY%);"%"; ! col%=0 width%-1:A%=32 F page%=pagemax%: col%>=lastcol%:A%=32 #in%:A%=#in%  A%<32:A%=32 2 rtf% A%>127:A%= chars$,A%-127,1) 3 rtf% rtf(A%) out%:#out%,A% A%  col% 8 rtf%:rtf(13) out%:#out%,13:#out%,10  line% &, rtf%:rtf(12) out%:#out%,12 0 page% :#in%:in%=0 D =num%=0 N: X CloseAll b#in%=in%: in%:A%=in%:in%=0:#A% l(out%=out%: out%:A%=out%:out%=0:#A% v : !rtfheader:out%=0 rtf%: cout("{\rtf1\ansi \deff0\deflang1024{\fonttbl{\f0\froman Courier;}{\f1\froman Courier;}}"+eol$) Mout("\paperw11906\paperh16838\margl567\margr567\margt567\margb567"+eol$) Nout("\sectd \linex0\headery709\footery709\colsx708 \f0\fs16\pard\plain ")  : !rtffooter:out%=0 rtf%: out("}"+eol$)  : rtf(A%):out%=0 rtf%: A%>31 A%<127:#out%,A%: A%=12 :out("\page "):  #A%=13 :out(13+10+"\par "):  A%=128:out("\u9472\'2d"):  A%=129:out("\u9474\'a6"): * A%=130:out("\u9496\'2b"): 4 A%=131:out("\u9492\'2b"): > A%=132:out("\u9488\'2b"): H A%=133:out("\u9484\'2b"): R A%=134:out("\u9524\'2d"): \ A%=135:out("\u9516\'2d"): fA%=136:out("+"): p A%=137:out("\u9500\'2d"): z A%=138:out("\u9532\'2d"):  out("+")  , chars1$="ij´jklmnopqrstuvwxyz" : out(A$):A$="" out%=0: * A%: A%=1 A$:#out%,A$,A%,1):