ftp.tic.com:pub/chart/chart.tar.Z This archive contains a lifelines report generator, desc-brack, that drives a chart generation program, called chart, for descendant charts. README This file desc-brack lifelines report generator chart chart program prechart.ps PostScript definitions used by chart sarge.tree example desc-brack output sarge.ps example chart PostScript output To use, run lifelines on a database, tell it to generate a report with desc-brack, and supply the person, and number of generations, and an output file name, such as sarge.tree. Then run chart on the output: chart sarge.tree > sarge.ps The program can also output pic input, like this: chart -p sarge.tree > sarge.pic groff -p sarge.pic > sarge.ps The pic chart format is older and not as nice as the PostScript format. The chart program is a SunOS 4.1 binary. Everything else is ASCII. The report generator is adapted from one written by Dick Knowles, and the example chart uses the same data as his example, in acknowledgement. A later version of chart will use carefully ordered GEDCOM as input. Other planned additions: intermarriages tiling color others Let me know what you think of the program and what you would like to see. Thanks, John John S. Quarterman Texas Internet Consulting (TIC) jsq@tic.com +1-512-451-6176 fax: +1-512-450-1436 1106 Clayton Lane, Suite 500W Austin, TX 78723 U.S.A. %!PS-Adobe-3.0 EPSF-3.0 %%BoundingBox 4 149 607 642 %%Title: Descendants of Thomas Leo SARJEANT %%Creator: chart version %s %%For: John Quarterman %%CreationDate: Mon Oct 4 17:21:04 1993 %%Orientation: Portrait %%DocumentNeededResources: font Times-Bold %%+ font Times-Roman %%EndComments %%BeginProlog %%IncludeResource: font Times-Bold %%IncludeResource: font Times-Roman /filename (sarge.dir/sarge.ps) def % parameters of chart coordinate spaces /points 72 def /pointsize 14 def /vertspace 15.4 def /titlesize 10 def /titlespace 12 def /titlemarge 1 def % paper page size in inches /pagexmax 8.5 def /pageymax 11 def % lines and characters to inches % x: 82.0985 - 0 = 7.98172, 1, 0.259142 y: 11.625 - -14.375 = 5.56111, 1, 5.2059 % PostScript figure size in points /psxmin 4 def /psymin 149 def /psxmax 607 def /psymax 642 def /titlefont { /Times-Bold findfont titlesize scalefont setfont } def /textfont { /Times-Roman findfont pointsize scalefont setfont } def % /italfont {/Times-Italic findfont pointsize scalefont setfont } def textfont % corner and box definitions /cornerc { 0 0 } def /cornerw { -1 0 } def /cornernw { -1 1 } def /cornern { 0 1 } def /cornerne { 1 1 } def /cornere { 1 0 } def /cornerse { 1 -1 } def /corners { 0 -1 } def /cornersw { -1 -1 } def % Move center of box so corner is at right place. % x y wid ht cx cy boxcent /boxcent { /CY exch def /CX exch def /Boxht exch def /Boxwid exch def /BoxY exch def /BoxX exch def /BoxX BoxX Boxwid CX 2 div mul sub def /BoxY BoxY Boxht CY 2 div mul sub def BoxX BoxY Boxwid Boxht } def % Return coordinates of corner of box; no need to keep width and height. % x y wid ht cx cy boxcor /boxcor { /CY exch def /CX exch def /Boxht exch def /Boxwid exch def /BoxY exch def /BoxX exch def /BoxX BoxX Boxwid CX 2 div mul add def /BoxY BoxY Boxht CY 2 div mul add def BoxX BoxY } def /box { % x y wid ht box /Boxht exch def /Boxwid exch def /BoxY exch def /BoxX exch def /BoxR vertspace 2 div def /BoxWR { Boxwid 2 div BoxR sub mul BoxX add } def /BoxHR { Boxht 2 div BoxR sub mul BoxY add } def % draw box from its upper left corner -1 BoxWR 1 BoxHR BoxR add moveto 1 BoxWR 1 BoxHR BoxR 90 0 arcn 1 BoxWR -1 BoxHR BoxR 0 270 arcn -1 BoxWR -1 BoxHR BoxR 270 180 arcn -1 BoxWR 1 BoxHR BoxR 180 90 arcn stroke } def /lsbox { % strings n x y wid ht box /Boxht exch def /Boxwid exch def /BoxY exch def /BoxX exch def BoxX BoxY Boxwid Boxht box % go to center of left side and print strings BoxX BoxY Boxwid Boxht cornerw boxcor lstrings } def % strings n X Y lstrings /lstrings { /StrY exch def /StrX exch def /StrN exch def % need to adjust height if more than one string /StrMax StrN 1 sub def % go up n - 1 strings over 2 /StrY StrY StrMax 2 div vertspace mul add def StrX StrY moveto % read the strings backwards off the stack StrN -1 roll 0 1 StrMax { pop StrX StrY moveto lstring /StrY StrY vertspace sub def /StrN StrN 1 sub def StrN -1 roll } for } def /vstring { 0 vertspace 4 div neg rmoveto } def % left adjusted string % string lstring /lstring { vstring show } def % right adjusted string % string rstring /rstring { vstring dup stringwidth pop neg 0 rmoveto show } def % centered string % string cstring /cstring { vstring dup stringwidth pop 2 div neg 0 rmoveto show } def % functions for visible display, especially on a laptop /magchart { (magchart.ps) run } def /chartfile currentfile def %%EndProlog titlefont 18.6582 596.2 vertspace add moveto ( Descendants of Thomas Leo SARJEANT) show textfont % 0 -6.875 1.4 setlinewidth /B1 { 18.6582 480.7 157.873 111.65 cornerw boxcent} def ( Thomas Leo SARJEANT) ( b. 27 MAR 1916) ( d. 1 OCT 1978) ( m1 1936) ( Rita LACROIX) ( b. 28 AUG 1918) ( d. 28 SEP 1974) 7 B1 lsbox % 28.1095 -12.375 1.4 setlinewidth /B2 { 215.423 565.4 157.873 65.45 cornerw boxcent} def ( Thomas Leo SARJEANT) ( b. 26 FEB 1936) ( m. 13 MAY 1961) ( Joan MERRIAM) 4 B2 lsbox 1.05 setlinewidth B1 cornere boxcor moveto B1 cornere boxcor exch 17.8912 add exch -0 add lineto B2 cornerw boxcor exch -20.9998 add exch 0 add lineto B2 cornerw boxcor lineto stroke % 56.105 -13.875 1.4 setlinewidth /B3 { 411.389 588.5 162.55 19.25 cornerw boxcent} def ( Thomas John SARJEANT) 1 B3 lsbox 1.05 setlinewidth B2 cornere boxcor moveto B2 cornere boxcor exch 17.0932 add exch -0 add lineto B3 cornerw boxcor exch -20.9998 add exch 0 add lineto B3 cornerw boxcor lineto stroke % 56.105 -12.375 1.4 setlinewidth /B4 { 411.389 565.4 136.482 19.25 cornerw boxcent} def ( Marjorie SARJEANT) 1 B4 lsbox 1.05 setlinewidth B2 cornere boxcor moveto B2 cornere boxcor exch 17.0932 add exch -0 add lineto B4 cornerw boxcor exch -20.9998 add exch 0 add lineto B4 cornerw boxcor lineto stroke % 56.105 -10.875 1.4 setlinewidth /B5 { 411.389 542.3 121.712 19.25 cornerw boxcent} def ( James SARJEANT) 1 B5 lsbox 1.05 setlinewidth B2 cornere boxcor moveto B2 cornere boxcor exch 17.0932 add exch -0 add lineto B5 cornerw boxcor exch -20.9998 add exch 0 add lineto B5 cornerw boxcor lineto stroke % 28.1095 -8.875 1.4 setlinewidth /B6 { 215.423 511.5 162.535 34.65 cornerw boxcent} def ( John Bernard SARJEANT) ( b. 8 NOV 1939) 2 B6 lsbox 1.05 setlinewidth B1 cornere boxcor moveto B1 cornere boxcor exch 17.8912 add exch -0 add lineto B6 cornerw boxcor exch -20.9998 add exch 0 add lineto B6 cornerw boxcor lineto stroke % 28.1095 -5.375 1.4 setlinewidth /B7 { 215.423 457.6 159.428 65.45 cornerw boxcent} def ( Beverly Ann SARJEANT) ( b. 28 JUL 1942) ( m1 10 NOV 1960) ( Steven JOHNSON) 4 B7 lsbox 1.05 setlinewidth B1 cornere boxcor moveto B1 cornere boxcor exch 17.8912 add exch -0 add lineto B7 cornerw boxcor exch -20.9998 add exch 0 add lineto B7 cornerw boxcor lineto stroke % 28.1095 -1.375 1.4 setlinewidth /B8 { 215.423 396 105.39 50.05 cornerw boxcent} def ( m2 8 OCT 1963) ( Joseph COSTA) ( b. 20 APR 1926) 3 B8 lsbox 0.7875 setlinewidth B7 cornerw boxcor moveto B7 cornerw boxcor exch -13.9999 add exch 0 add B8 cornerw boxcor exch -13.9999 add exch 0 add B8 cornerw boxcor curveto stroke % 56.105 -1.375 1.4 setlinewidth /B9 { 411.389 396 153.982 80.85 cornerw boxcent} def ( Michael Angelo COSTA) ( b. 30 JUN 1965) ( m. 26 MAY 1990) ( Elaine CARTER) ( b. 4 FEB 1966) 5 B9 lsbox 1.05 setlinewidth B8 cornere boxcor moveto B8 cornere boxcor exch 69.5764 add exch -0 add lineto B9 cornerw boxcor exch -20.9998 add exch 0 add lineto B9 cornerw boxcor lineto stroke % 0 6.875 1.4 setlinewidth /B10 { 18.6582 268.95 168.765 50.05 cornerw boxcent} def ( m2 12 OCT 1949) ( Charlotte Lois BENJAMIN) ( b. 29 NOV 1923) 3 B10 lsbox 0.7875 setlinewidth B1 cornerw boxcor moveto B1 cornerw boxcor exch -13.9999 add exch 0 add B10 cornerw boxcor exch -13.9999 add exch 0 add B10 cornerw boxcor curveto stroke % 28.1095 6.875 1.4 setlinewidth /B11 { 215.423 268.95 167.967 80.85 cornerw boxcent} def ( Kathleen SARJEANT) ( b. 23 JAN 1950) ( m. 14 AUG 1971) ( Richard James KNOWLES) ( b. 20 NOV 1949) 5 B11 lsbox 1.05 setlinewidth B10 cornere boxcor moveto B10 cornere boxcor exch 6.99993 add exch -0 add lineto B11 cornerw boxcor exch -20.9998 add exch 0 add lineto B11 cornerw boxcor lineto stroke % 56.105 3.125 1.4 setlinewidth /B12 { 411.389 326.7 181.953 34.65 cornerw boxcent} def ( Jennifer Danielle KNOWLES) ( b. 28 OCT 1974) 2 B12 lsbox 1.05 setlinewidth B11 cornere boxcor moveto B11 cornere boxcor exch 6.99993 add exch -0 add lineto B12 cornerw boxcor exch -20.9998 add exch 0 add lineto B12 cornerw boxcor lineto stroke % 56.105 5.625 1.4 setlinewidth /B13 { 411.389 288.2 152.429 34.65 cornerw boxcent} def ( Kevin Scott KNOWLES) ( b. 14 MAY 1976) 2 B13 lsbox 1.05 setlinewidth B11 cornere boxcor moveto B11 cornere boxcor exch 6.99993 add exch -0 add lineto B13 cornerw boxcor exch -20.9998 add exch 0 add lineto B13 cornerw boxcor lineto stroke % 56.105 8.125 1.4 setlinewidth /B14 { 411.389 249.7 169.521 34.65 cornerw boxcent} def ( James Michael KNOWLES) ( b. 13 OCT 1979) 2 B14 lsbox 1.05 setlinewidth B11 cornere boxcor moveto B11 cornere boxcor exch 6.99993 add exch -0 add lineto B14 cornerw boxcor exch -20.9998 add exch 0 add lineto B14 cornerw boxcor lineto stroke % 56.105 10.625 1.4 setlinewidth /B15 { 411.389 211.2 163.291 34.65 cornerw boxcent} def ( Brenda Marie KNOWLES) ( b. 7 OCT 1981) 2 B15 lsbox 1.05 setlinewidth B11 cornere boxcor moveto B11 cornere boxcor exch 6.99993 add exch -0 add lineto B15 cornerw boxcor exch -20.9998 add exch 0 add lineto B15 cornerw boxcor lineto stroke titlefont 18.6582 195.8 moveto 0 titlespace titlemarge mul neg rmoveto (Mon Oct 4 17:21:04 1993 ) show 18.6582 195.8 moveto 0 titlespace titlemarge 1 add mul neg rmoveto (sarge.dir/sarge.ps ps 14 vs 15.4; ) show textfont ( 0.0972212 = 0.194444 * 0.499995; x: 82.0985 - 0 = 7.98172, 1, 0.259142 y: 11.625 - -14.375 = 5.56111, 1, 5.2059) show showpage %%EOF