>> From pat.mdc.com!dunn Fri Sep 10 16:58:28 1993 >> From: john dunn >> Subject: Circular Chart (LONG-34k) This is the long file I was referring to. It consists of an explanation letter and two attachments. Can you post the whole thing to a GENEALOG file and send me a note as to the name of the file? (ie. GENEALOG.CIRC.PS). I'll then post a tiny note to Roots-L telling the interested parties where to get it. Thanks and have a good trip. >> >> John Dunn >> >>From the response I've gotten just today, at least 12+ Roots-L users have requested a copy of the Circular Chart PostScript routine. Glad to see such interest Now a few notes describing what it is: -------------------------------------- CIRC.PS is a B&W PostScript (PS) routine that prints a 5 generation husband & wife circular pedigree chart, with the husband & wife located in the center and their parents/parent's parents/etc. successively listed in the outer rings. Your printer must accept PS in order to print it. The real credit for this routine has to go to David Campbell (campbell@cse.uta.edu) who created a PS routine to print a 5 generation "Fan" pedigree chart. All I did was tinker with it a little to get the rest of the picture. It doesn't take GEDCOM input, but will take "HANDCOM" (manual typing). For those so inclined, it shouldn't be too difficult to use a GEDCOM parser routine to plug the data directly into the PS file. Being an engineer, I'm real big on conserving energy (ie. too lazy). For each position on the chart, there are 4 lines of name/data space available. Because the data wraps in a circular manner and the boxes are different sizes, the number of characters that fit in each line varies. In the sample file posted below I've filled the data entry lines with 1234... to show the limits of what I think look good. The first set of data is printed at the top of the chart, and the second set at the bottom. Because the routine fills each box from the outside-in, the data in the upper set should be entered in the following way: Name1 Name2 Vitals1 Vitals2 However, it would have taken significant modifications to the routine to get the lower set of data to be read in and written in the same way. So for the lower set, just enter the data in reverse: Vitals2 Vitals1 Name2 Name1 If I'd written this in a language that I really know, I would have accounted for this. As it is, it just sounds more confusing than it really is. When you type the data in and print it once, it'll be very clear what I mean. The body of the routine is in attachment #1 below. Attachment #2 provides a sample set of data. To see what it looks like, just paste it into the right spot in attachment #1. Since most of the time we G-folks fell like we're going in circles anyway, it seems only appropriate that we display our data in a manner that reflects this. Good luck, and happy charting. If anyone comes across a circular descendants chart routine, please let me know. May the G-Force be with you! John Dunn ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ John Christopher Dunn 11726 Orchard Mountain Dr., Houston, Tx, 77059-5514 Internet: dunn@pat.mdc.com ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - - - - - - START OF ATTACHMENT #1 - CUT HERE - - - - - - - %!PS-Adobe-3.0 EPSF-30. %%BoundingBox: 0 0 612 792 %%Title: (CIRC.PS - Genealogical Circular Pedigree Chart) %%Creator1: David Campbell, Grand Prairie, TX (campbell@cse.uta.edu) %%Creator2: John Dunn, Houston, Tx (dunn@pat.mdc.com) %%Creationdate: (8/30/93) %%Modificationdate: (9/9/93) %%EndComments %Coordinate conversion utilities /inch {72 mul} def /polar %(ang rad) -> (x y) {/rad exch def /ang exch def /x rad ang cos mul def /y rad ang sin mul def x y} def /midang {11.25 mul -90.0 add} def /midang2 {11.25 mul 90.0 add} def %Shortcut macros /m {moveto} def /l {lineto} def %Constants /pi 3.141593 def /ptsize 10 def /offset ptsize 1.25 mul neg def %Compute position from Ahnentafel number /position %(Ahnentafel#) {[ 0 8 12 4 14 10 6 2 15 13 11 9 7 5 3 1 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1] exch get } def /layer %(Ahnentafel#) {/ahnen exch def [0 radtab1 radtab2 radtab3 radtab4 radtab5 0 radtab1 radtab2 radtab3 radtab4 radtab5] [0 1 2 2 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 0 1 2 2 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5] ahnen get get } def %Values for fan radii /radtab1 1.0 inch def /radtab2 radtab1 2.5 3.0 div inch add def /radtab3 radtab2 2.5 3.0 div inch add def /radtab4 3.5 inch def /radtab5 5.5 inch def %Values for radii of spokes /spokes [radtab4 radtab3 radtab4 radtab2 radtab4 radtab3 radtab4 radtab1 radtab4 radtab3 radtab4 radtab2 radtab4 radtab3 radtab4] def /spokes2 [radtab4 radtab3 radtab4 radtab2 radtab4 radtab3 radtab4 radtab1 radtab4 radtab3 radtab4 radtab2 radtab4 radtab3 radtab4] def %Draw one spoke /spoke { /ndx exch def /ang -90.0 11.25 add ndx 11.25 mul add def /ang2 -90.0 -11.25 add ndx -11.25 mul add def /rad spokes ndx get def /rad2 spokes2 ndx get def newpath ang rad polar m ang radtab5 polar l ang2 rad2 polar m ang2 radtab5 polar l stroke } def %Fan Template /fan %print fan chart background { gsave 0.0 inch 5.5 inch translate newpath 0.0 0.0 radtab1 0 360 arc stroke newpath 0.0 0.0 radtab2 0 360 arc stroke newpath 0.0 0.0 radtab3 0 360 arc stroke newpath 0.0 0.0 radtab4 0 360 arc stroke newpath 0.0 0.0 radtab5 0 360 arc stroke newpath 0.0 radtab5 m 0.0 radtab5 neg l stroke 0 1 14 {spoke} for grestore } def %Angled Line Printing Procedure /angtext %(str ang offset flip) { /flip exch def /offst exch def /ang exch def /str exch def gsave 0.0 inch 5.5 inch translate ang rotate 4.5 inch 0.0 translate flip rotate str stringwidth pop 2 div neg offst moveto str show grestore } def /angtext2 %(str ang2 offset flip) { /flip exch def /offst exch def /ang2 exch def /str exch def gsave 0.0 inch 5.5 inch translate ang2 rotate -4.5 inch 0.0 translate flip rotate str stringwidth pop 2 div neg offst moveto str show grestore } def %Circular Line Printing Procedures /circtext %print outside circle (string center radius start-angle) { /angle exch def /radius exch def /yval exch def /xval exch def /str exch def /xradius radius ptsize 4 div add def gsave xval yval translate angle str calculateangle add rotate str {/charcode exch def ( ) dup 0 charcode put circchar} forall grestore } def /circtext2 %print outside circle (string center radius start-angle) { /angle2 exch def /radius2 exch def /yval2 exch def /xval2 exch def /str exch def /xradius2 radius2 ptsize 4 div add def gsave xval2 yval2 translate angle2 str calculateangle2 sub rotate str {/charcode exch def ( ) dup 0 charcode put circchar2} forall grestore } def /calculateangle %find half of angle {stringwidth pop 2 div 2 xradius mul pi mul div 360 mul} def /calculateangle2 %find half of angle {stringwidth pop 2 div 2 xradius2 mul pi mul div 360 mul} def /circchar %show character upright on circle clockwise {/char exch def /halfangle char calculateangle def gsave halfangle neg rotate radius 0 translate -90 rotate char stringwidth pop 2 div neg 0 moveto char show grestore halfangle 2 mul neg rotate } def /circchar2 %show character upright on circle counter-clockwise {/char exch def /halfangle char calculateangle2 def gsave halfangle neg rotate radius2 ptsize 2 div add 0 translate 90 rotate char stringwidth pop 2 div 0 moveto char show grestore halfangle 2 mul rotate } def %These simplify things some /info1 %(ahnen noffset) {/noffset exch def /ahnen exch def /place ahnen position def /radtab ahnen layer def ahnen 16 lt {radtab place noffset inner} if ahnen 16 ge {place noffset outer} if } def /info2 %(ahnen noffset) {/noffset exch def /ahnen exch def /place ahnen position def /radtab ahnen layer def ahnen 16 lt {radtab place noffset inner2} if ahnen 16 ge {place noffset outer2} if } def /inner %(str radtab place noffset) {/noffset exch def /place exch def /radtab exch def 0.0 inch 5.5 inch radtab noffset offset mul add place midang circtext } def /inner2 %(str radtab place noffset) {/noffset exch def /place exch def /radtab exch def 0.0 inch 5.5 inch radtab noffset offset mul add place midang2 circtext2 } def /outer %(str place noffset) { /noffset exch def /place exch def /flip place 8 le {0 def} if place 9 ge {180 def} if /ang place midang place 8 le {noffset -1.2 add -2.8125 mul add} if place 9 ge {-11.25 add noffset -1.2 add 2.8125 mul add} if def ang offset flip angtext } def /outer2 %(str place noffset) { /noffset exch def /place exch def /flip place 8 le {0 def} if place 9 ge {180 def} if /ang2 place midang place 8 le {noffset -5.2 add 2.8125 mul add} if place 9 ge {-11.25 add noffset -5.2 add -2.8125 mul add} if def ang2 offset flip angtext2 } def %Begin Program % ------------------ Background Template --------------------- %% 10.0 11.0 div 10.0 11.0 div scale %% 0.5 inch 0.5 inch translate 4.25 inch 1.5 inch translate 0.7 0.7 scale % The following is a kludge for my setup. % You may or may not need something similar to center the chart. % Uncomment if necessary. -- DJC % 0.0 inch -0.5 inch translate 0 setgray /Times-Bold findfont ptsize scalefont setfont %% This font looks pretty good too. -- JCD %% /Palatino-Bold findfont ptsize scalefont setfont % <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> % <<<<<<<<<<<<<< APPEND YOUR DATA HERE AS FOLLOWS: >>>>>>>>>>>>>> % <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> % % fan % prints the background template % (string) Ahnentafel# line# info1 % prints line of upper data on chart % . % . % . % (string) Ahnentafel# line# info2 % prints line of lower data on chart % showpage % displays the results % <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> fan %% <<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>> %% <<<<<<<< UPPER DATA SET >>>>>>>>> %% <<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>> %% ------- 1st Generation ------- (123456789012345678901234567890) 1 1 info1 (123456789012345678901234) 1 2 info1 (123456789012345678) 1 3 info1 (123456789) 1 4 info1 %% ------- 2nd Generation ------- (123456789012345678901234567890) 2 1 info1 (12345678901234567890123456) 2 2 info1 (12345678901234567890123) 2 3 info1 (12345678901234567890) 2 4 info1 (123456789012345678901234567890) 3 1 info1 (12345678901234567890123456) 3 2 info1 (12345678901234567890123) 3 3 info1 (12345678901234567890) 3 4 info1 %% ------- 3rd Generation ------- (1234567890123456789012) 4 1 info1 (12345678901234567890) 4 2 info1 (123456789012345678) 4 3 info1 (1234567890123456) 4 4 info1 (1234567890123456789012) 5 1 info1 (12345678901234567890) 5 2 info1 (123456789012345678) 5 3 info1 (1234567890123456) 5 4 info1 (1234567890123456789012) 6 1 info1 (12345678901234567890) 6 2 info1 (123456789012345678) 6 3 info1 (1234567890123456) 6 4 info1 (1234567890123456789012) 7 1 info1 (12345678901234567890) 7 2 info1 (123456789012345678) 7 3 info1 (1234567890123456) 7 4 info1 %% ------- 4th Generation ------- (12345678901234) 8 1 info1 (1234567890123) 8 2 info1 (123456789012) 8 3 info1 (12345678901) 8 4 info1 (12345678901234) 9 1 info1 (1234567890123) 9 2 info1 (123456789012) 9 3 info1 (12345678901) 9 4 info1 (12345678901234) 10 1 info1 (1234567890123) 10 2 info1 (123456789012) 10 3 info1 (12345678901) 10 4 info1 (12345678901234) 11 1 info1 (1234567890123) 11 2 info1 (123456789012) 11 3 info1 (12345678901) 11 4 info1 (12345678901234) 12 1 info1 (1234567890123) 12 2 info1 (123456789012) 12 3 info1 (12345678901) 12 4 info1 (12345678901234) 13 1 info1 (1234567890123) 13 2 info1 (123456789012) 13 3 info1 (12345678901) 13 4 info1 (12345678901234) 14 1 info1 (1234567890123) 14 2 info1 (123456789012) 14 3 info1 (12345678901) 14 4 info1 (12345678901234) 15 1 info1 (1234567890123) 15 2 info1 (123456789012) 15 3 info1 (12345678901) 15 4 info1 %% ------- 5th Generation ------- (1234567890123456789012) 16 1 info1 (1234567890123456789012) 16 2 info1 (1234567890123456789012) 16 3 info1 (1234567890123456789012) 16 4 info1 (1234567890123456789012) 17 1 info1 (1234567890123456789012) 17 2 info1 (1234567890123456789012) 17 3 info1 (1234567890123456789012) 17 4 info1 (1234567890123456789012) 18 1 info1 (1234567890123456789012) 18 2 info1 (1234567890123456789012) 18 3 info1 (1234567890123456789012) 18 4 info1 (1234567890123456789012) 19 1 info1 (1234567890123456789012) 19 2 info1 (1234567890123456789012) 19 3 info1 (1234567890123456789012) 19 4 info1 (1234567890123456789012) 20 1 info1 (1234567890123456789012) 20 2 info1 (1234567890123456789012) 20 3 info1 (1234567890123456789012) 20 4 info1 (1234567890123456789012) 21 1 info1 (1234567890123456789012) 21 2 info1 (1234567890123456789012) 21 3 info1 (1234567890123456789012) 21 4 info1 (1234567890123456789012) 22 1 info1 (1234567890123456789012) 22 2 info1 (1234567890123456789012) 22 3 info1 (1234567890123456789012) 22 4 info1 (1234567890123456789012) 23 1 info1 (1234567890123456789012) 23 2 info1 (1234567890123456789012) 23 3 info1 (1234567890123456789012) 23 4 info1 (1234567890123456789012) 24 1 info1 (1234567890123456789012) 24 2 info1 (1234567890123456789012) 24 3 info1 (1234567890123456789012) 24 4 info1 (1234567890123456789012) 25 1 info1 (1234567890123456789012) 25 2 info1 (1234567890123456789012) 25 3 info1 (1234567890123456789012) 25 4 info1 (1234567890123456789012) 26 1 info1 (1234567890123456789012) 26 2 info1 (1234567890123456789012) 26 3 info1 (1234567890123456789012) 26 4 info1 (1234567890123456789012) 27 1 info1 (1234567890123456789012) 27 2 info1 (1234567890123456789012) 27 3 info1 (1234567890123456789012) 27 4 info1 (1234567890123456789012) 28 1 info1 (1234567890123456789012) 28 2 info1 (1234567890123456789012) 28 3 info1 (1234567890123456789012) 28 4 info1 (1234567890123456789012) 29 1 info1 (1234567890123456789012) 29 2 info1 (1234567890123456789012) 29 3 info1 (1234567890123456789012) 29 4 info1 (1234567890123456789012) 30 1 info1 (1234567890123456789012) 30 2 info1 (1234567890123456789012) 30 3 info1 (1234567890123456789012) 30 4 info1 (1234567890123456789012) 31 1 info1 (1234567890123456789012) 31 2 info1 (1234567890123456789012) 31 3 info1 (1234567890123456789012) 31 4 info1 %% <<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>> %% <<<<<<<< LOWER DATA SET >>>>>>>>> %% <<<<<<<<<<< (SPOUSE) >>>>>>>>>>>> %% ------- 1st Generation ------- (123456789012345678901234567890) 1 1 info2 (123456789012345678901234) 1 2 info2 (123456789012345678) 1 3 info2 (123456789) 1 4 info2 %% ------- 2nd Generation ------- (123456789012345678901234567890) 2 1 info2 (12345678901234567890123456) 2 2 info2 (12345678901234567890123) 2 3 info2 (12345678901234567890) 2 4 info2 (123456789012345678901234567890) 3 1 info2 (12345678901234567890123456) 3 2 info2 (12345678901234567890123) 3 3 info2 (12345678901234567890) 3 4 info2 %% ------- 3rd Generation ------- (1234567890123456789012) 4 1 info2 (12345678901234567890) 4 2 info2 (123456789012345678) 4 3 info2 (1234567890123456) 4 4 info2 (1234567890123456789012) 5 1 info2 (12345678901234567890) 5 2 info2 (123456789012345678) 5 3 info2 (1234567890123456) 5 4 info2 (1234567890123456789012) 6 1 info2 (12345678901234567890) 6 2 info2 (123456789012345678) 6 3 info2 (1234567890123456) 6 4 info2 (1234567890123456789012) 7 1 info2 (12345678901234567890) 7 2 info2 (123456789012345678) 7 3 info2 (1234567890123456) 7 4 info2 %% ------- 4th Generation ------- (12345678901234) 8 1 info2 (1234567890123) 8 2 info2 (123456789012) 8 3 info2 (12345678901) 8 4 info2 (12345678901234) 9 1 info2 (1234567890123) 9 2 info2 (123456789012) 9 3 info2 (12345678901) 9 4 info2 (12345678901234) 10 1 info2 (1234567890123) 10 2 info2 (123456789012) 10 3 info2 (12345678901) 10 4 info2 (12345678901234) 11 1 info2 (1234567890123) 11 2 info2 (123456789012) 11 3 info2 (12345678901) 11 4 info2 (12345678901234) 12 1 info2 (1234567890123) 12 2 info2 (123456789012) 12 3 info2 (12345678901) 12 4 info2 (12345678901234) 13 1 info2 (1234567890123) 13 2 info2 (123456789012) 13 3 info2 (12345678901) 13 4 info2 (12345678901234) 14 1 info2 (1234567890123) 14 2 info2 (123456789012) 14 3 info2 (12345678901) 14 4 info2 (12345678901234) 15 1 info2 (1234567890123) 15 2 info2 (123456789012) 15 3 info2 (12345678901) 15 4 info2 %% ------- 5th Generation ------- (1234567890123456789012) 16 1 info2 (1234567890123456789012) 16 2 info2 (1234567890123456789012) 16 3 info2 (1234567890123456789012) 16 4 info2 (1234567890123456789012) 17 1 info2 (1234567890123456789012) 17 2 info2 (1234567890123456789012) 17 3 info2 (1234567890123456789012) 17 4 info2 (1234567890123456789012) 18 1 info2 (1234567890123456789012) 18 2 info2 (1234567890123456789012) 18 3 info2 (1234567890123456789012) 18 4 info2 (1234567890123456789012) 19 1 info2 (1234567890123456789012) 19 2 info2 (1234567890123456789012) 19 3 info2 (1234567890123456789012) 19 4 info2 (1234567890123456789012) 20 1 info2 (1234567890123456789012) 20 2 info2 (1234567890123456789012) 20 3 info2 (1234567890123456789012) 20 4 info2 (1234567890123456789012) 21 1 info2 (1234567890123456789012) 21 2 info2 (1234567890123456789012) 21 3 info2 (1234567890123456789012) 21 4 info2 (1234567890123456789012) 22 1 info2 (1234567890123456789012) 22 2 info2 (1234567890123456789012) 22 3 info2 (1234567890123456789012) 22 4 info2 (1234567890123456789012) 23 1 info2 (1234567890123456789012) 23 2 info2 (1234567890123456789012) 23 3 info2 (1234567890123456789012) 23 4 info2 (1234567890123456789012) 24 1 info2 (1234567890123456789012) 24 2 info2 (1234567890123456789012) 24 3 info2 (1234567890123456789012) 24 4 info2 (1234567890123456789012) 25 1 info2 (1234567890123456789012) 25 2 info2 (1234567890123456789012) 25 3 info2 (1234567890123456789012) 25 4 info2 (1234567890123456789012) 26 1 info2 (1234567890123456789012) 26 2 info2 (1234567890123456789012) 26 3 info2 (1234567890123456789012) 26 4 info2 (1234567890123456789012) 27 1 info2 (1234567890123456789012) 27 2 info2 (1234567890123456789012) 27 3 info2 (1234567890123456789012) 27 4 info2 (1234567890123456789012) 28 1 info2 (1234567890123456789012) 28 2 info2 (1234567890123456789012) 28 3 info2 (1234567890123456789012) 28 4 info2 (1234567890123456789012) 29 1 info2 (1234567890123456789012) 29 2 info2 (1234567890123456789012) 29 3 info2 (1234567890123456789012) 29 4 info2 (1234567890123456789012) 30 1 info2 (1234567890123456789012) 30 2 info2 (1234567890123456789012) 30 3 info2 (1234567890123456789012) 30 4 info2 (1234567890123456789012) 31 1 info2 (1234567890123456789012) 31 2 info2 (1234567890123456789012) 31 3 info2 (1234567890123456789012) 31 4 info2 showpage - - - - - - - END OF ATTACHMENT #1 - CUT HERE - - - - - - - - - - - - - - - START OF ATTACHMENT #2 - CUT HERE - - - - - - - %% <<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>> %% <<<<<<<< UPPER DATA SET >>>>>>>>> %% <<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>> %% ------- 1st Generation ------- (John Christopher Dunn) 1 1 info1 (1963- ) 1 2 info1 ( ) 1 3 info1 ( ) 1 4 info1 %% ------- 2nd Generation ------- (Richard Ernest Dunn) 2 1 info1 (1938- ) 2 2 info1 ( ) 2 3 info1 ( ) 2 4 info1 (Glenda Joan Laing) 3 1 info1 (1937- ) 3 2 info1 ( ) 3 3 info1 ( ) 3 4 info1 %% ------- 3rd Generation ------- (Sherman John Dunn) 4 1 info1 (1913- ) 4 2 info1 ( ) 4 3 info1 ( ) 4 4 info1 (Charlotte Ruth Meisner) 5 1 info1 (1919-1984) 5 2 info1 ( ) 5 3 info1 ( ) 5 4 info1 (John Matthew Laing) 6 1 info1 ( -1962) 6 2 info1 ( ) 6 3 info1 ( ) 6 4 info1 (Ruth Marie Knabeschuh) 7 1 info1 (1908-1987) 7 2 info1 ( ) 7 3 info1 ( ) 7 4 info1 %% ------- 4th Generation ------- (Theodore Dunn) 8 1 info1 (1884-1818) 8 2 info1 ( ) 8 3 info1 ( ) 8 4 info1 (Nancy Purcell) 9 1 info1 (1887-1963) 9 2 info1 ( ) 9 3 info1 ( ) 9 4 info1 (Charles Meisner) 10 1 info1 (1880-1950) 10 2 info1 ( ) 10 3 info1 ( ) 10 4 info1 (Mary Julia Wald) 11 1 info1 (1889-1920) 11 2 info1 ( ) 11 3 info1 ( ) 11 4 info1 (Otto Laing) 12 1 info1 ( - ) 12 2 info1 ( ) 12 3 info1 ( ) 12 4 info1 ( ) 13 1 info1 ( ) 13 2 info1 ( ) 13 3 info1 ( ) 13 4 info1 (John Charles) 14 1 info1 (Knabeschuh) 14 2 info1 (1879-1943) 14 3 info1 ( ) 14 4 info1 (Clara Margaret) 15 1 info1 (Kettler) 15 2 info1 (1883-1964) 15 3 info1 ( ) 15 4 info1 %% ------- 5th Generation ------- (Charles W. Dunn, Sr.) 16 1 info1 (1846-1904:10) 16 2 info1 ( ) 16 3 info1 ( ) 16 4 info1 (Mary Elizabeth) 17 1 info1 (Henderson) 17 2 info1 (1857:63-1936) 17 3 info1 ( ) 17 4 info1 (Brison Purcell) 18 1 info1 (1840-~1907) 18 2 info1 ( ) 18 3 info1 ( ) 18 4 info1 (Anna Eliza Horn) 19 1 info1 ( - ) 19 2 info1 ( ) 19 3 info1 ( ) 19 4 info1 (Frank Meisner) 20 1 info1 ( -1862) 20 2 info1 ( ) 20 3 info1 ( ) 20 4 info1 (Helene Sproul) 21 1 info1 (1845-1934) 21 2 info1 ( ) 21 3 info1 ( ) 21 4 info1 (Herman Joseph Wald) 22 1 info1 ( - ) 22 2 info1 ( ) 22 3 info1 ( ) 22 4 info1 (Martha Jane Savey) 23 1 info1 ( - ) 23 2 info1 ( ) 23 3 info1 ( ) 23 4 info1 ( ) 24 1 info1 ( ) 24 2 info1 ( ) 24 3 info1 ( ) 24 4 info1 ( ) 25 1 info1 ( ) 25 2 info1 ( ) 25 3 info1 ( ) 25 4 info1 ( ) 26 1 info1 ( ) 26 2 info1 ( ) 26 3 info1 ( ) 26 4 info1 ( ) 27 1 info1 ( ) 27 2 info1 ( ) 27 3 info1 ( ) 27 4 info1 (Henry Knabeschuh) 28 1 info1 (1829-1889) 28 2 info1 ( ) 28 3 info1 ( ) 28 4 info1 (Lizette Koch) 29 1 info1 (<1857-1892) 29 2 info1 ( ) 29 3 info1 ( ) 29 4 info1 (Bernard Kettler) 30 1 info1 (<1883->1886) 30 2 info1 ( ) 30 3 info1 ( ) 30 4 info1 (Anna Robbin) 31 1 info1 (<1883->1886) 31 2 info1 ( ) 31 3 info1 ( ) 31 4 info1 %% <<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>> %% <<<<<<<< LOWER DATA SET >>>>>>>>> %% <<<<<<<<<<< (SPOUSE) >>>>>>>>>>>> %% ------- 1st Generation ------- (1957- ) 1 1 info2 (Jeanne Helen Clark) 1 2 info2 ( ) 1 3 info2 ( ) 1 4 info2 %% ------- 2nd Generation ------- (1926- ) 2 1 info2 (Richard Clark) 2 2 info2 ( ) 2 3 info2 ( ) 2 4 info2 (1934- ) 3 1 info2 (Mildred Geraldine Rodgers) 3 2 info2 ( ) 3 3 info2 ( ) 3 4 info2 %% ------- 3rd Generation ------- (c.1878-1934?) 4 1 info2 (James Henry Clark) 4 2 info2 ( ) 4 3 info2 ( ) 4 4 info2 (1892-1934) 5 1 info2 (Letitia "Tish" Harvey) 5 2 info2 ( ) 5 3 info2 ( ) 5 4 info2 (1890-1954) 6 1 info2 (David Levey Rodgers) 6 2 info2 ( ) 6 3 info2 ( ) 6 4 info2 (1890-1969) 7 1 info2 (Lockie Mae McGlaun) 7 2 info2 ( ) 7 3 info2 ( ) 7 4 info2 %% ------- 4th Generation ------- ( - ) 8 1 info2 ( Clark) 8 2 info2 ( ) 8 3 info2 ( ) 8 4 info2 ( - ) 9 1 info2 (Mary ? ) 9 2 info2 ( ) 9 3 info2 ( ) 9 4 info2 (c.1862- ) 10 1 info2 (Harvey) 10 2 info2 (Francis Marion) 10 3 info2 ( ) 10 4 info2 (c.1872- ) 11 1 info2 (Christopher) 11 2 info2 (Mary Amanda) 11 3 info2 ( ) 11 4 info2 (1868-1956) 12 1 info2 (Dave Rodgers) 12 2 info2 ( ) 12 3 info2 ( ) 12 4 info2 (1876-1932) 13 1 info2 (Bennett) 13 2 info2 (Rebecca E.) 13 3 info2 ( ) 13 4 info2 (1852-1932) 14 1 info2 (McGlaun) 14 2 info2 (William Hardy) 14 3 info2 ( ) 14 4 info2 (<1875-1900) 15 1 info2 (Weaver) 15 2 info2 (Rena Rainey) 15 3 info2 ( ) 15 4 info2 %% ------- 5th Generation ------- ( ) 16 1 info2 ( ) 16 2 info2 ( ) 16 3 info2 ( ) 16 4 info2 ( ) 17 1 info2 ( ) 17 2 info2 ( ) 17 3 info2 ( ) 17 4 info2 ( ) 18 1 info2 ( ) 18 2 info2 ( ) 18 3 info2 ( ) 18 4 info2 ( ) 19 1 info2 ( ) 19 2 info2 ( ) 19 3 info2 ( ) 19 4 info2 ( ) 20 1 info2 ( ) 20 2 info2 ( ) 20 3 info2 ( ) 20 4 info2 ( - ) 21 1 info2 ( Taylor) 21 2 info2 ( ) 21 3 info2 ( ) 21 4 info2 ( - ) 22 1 info2 (John B. Christopher) 22 2 info2 ( ) 22 3 info2 ( ) 22 4 info2 ( - ) 23 1 info2 (Maggie A. ) 23 2 info2 ( ) 23 3 info2 ( ) 23 4 info2 ( ) 24 1 info2 ( ) 24 2 info2 ( ) 24 3 info2 ( ) 24 4 info2 ( ) 25 1 info2 ( ) 25 2 info2 ( ) 25 3 info2 ( ) 25 4 info2 ( - ) 26 1 info2 ( Bennett) 26 2 info2 ( ) 26 3 info2 ( ) 26 4 info2 ( ) 27 1 info2 ( ) 27 2 info2 ( ) 27 3 info2 ( ) 27 4 info2 (1822 - >1870) 28 1 info2 (William McGlaun) 28 2 info2 ( ) 28 3 info2 ( ) 28 4 info2 (1824-1889) 29 1 info2 (Bruce) 29 2 info2 (Elizabeth Caroline) 29 3 info2 ( ) 29 4 info2 ( ) 30 1 info2 ( ) 30 2 info2 ( ) 30 3 info2 ( ) 30 4 info2 ( ) 31 1 info2 ( ) 31 2 info2 ( ) 31 3 info2 ( ) 31 4 info2 showpage - - - - - - - END OF ATTACHMENT #2 - CUT HERE - - - - - - - -