Restructuring of test setup.
[gedcom-parse.git] / t / input / ansel.ged
diff --git a/t/input/ansel.ged b/t/input/ansel.ged
new file mode 100644 (file)
index 0000000..e01c470
--- /dev/null
@@ -0,0 +1,315 @@
+0 HEAD\r
+1 CHAR ANSEL\r
+1 SOUR REGISTERED_SOURCE_NAME\r
+1 GEDC\r
+2 VERS 5.5\r
+2 FORM Lineage-Linked\r
+1 NOTE This GEDCOM transmission contains a charcter set test. It consists\r
+2 CONT of a single family (two parents, many children). The parents are empty\r
+2 CONT in the ANSEL version of the transmission. The children contain the\r
+2 CONT combined letters and the special charcters (value > 128).\r
+2 CONT The NAME tag of each 'person' is the name of the characters tested\r
+2 CONT within the person. The BIRT.PLAC and DEAT.PLAC tags contain the\r
+2 CONT test-strings.\r
+2 CONT The first children contain special characters. Here the test string\r
+2 CONT is 'character name (test character), ...' where 'character name'\r
+2 CONT is the name of the character (like 'british pound') and \r
+2 CONT 'test character' is a single byte representing this character\r
+2 CONT in ANSEL.\r
+2 CONT The last children contain combined characters. The name tag gives\r
+2 CONT the name of the non-spacing character tested within the 'person'.\r
+2 CONT Within the name the hex-values of the non-spacing character is given\r
+2 CONT in ANSEL and UNICODE. The test strings contain the whole latin\r
+2 CONT alphabet combined with this non-spacing character: captial letters\r
+2 CONT in the BIRT.PLAC tag and small letters in the DEAT.PLAC tag.\r
+2 CONT Example: One 'person' is named 'circle above'. The BIRT.PLAC\r
+2 CONT tag contains all 26 capital letters with a small ring on top.\r
+2 CONT Note: Not all charcters can be displayed on all computers. \r
+2 CONT This strongly depends on the installed fonts and codepages.\r
+2 CONT Many of the combined characters generated here do not even have\r
+2 CONT a UNICDOE code point!\r
+2 CONT This file based mainly on the GEDCOM 5.5 specification\r
+2 CONT (see: ftp.gedcom.org/pub/genealogy/gedcom/gedcom55.zip)\r
+2 CONT and on an updated ANSEL description in:\r
+2 CONT http://www.gendex.com/gedcom55/55gcappd.htm\r
+1 SUBM @SUBMITTER@\r
+1 DATE 20 JAN 1998\r
+0 @SUBMITTER@ SUBM\r
+1 NAME /H. Eichmann/\r
+1 ADDR email: h.eichmann@@gmx.de\r
+0 @FATHER@ INDI\r
+1 NAME /cyrillic (not possible in ANSEL)/\r
+1 SEX M\r
+1 FAMS @FAMILY@\r
+0 @MOTHER@ INDI\r
+1 NAME /greek (not possible in ANSEL)/\r
+1 SEX F\r
+1 FAMS @FAMILY@\r
+0 @CHILD0@ INDI\r
+1 FAMC @FAMILY@\r
+1 NAME /Special Characters 0/\r
+1 BIRT\r
+2 PLAC slash l - uppercase (¡), slash o - uppercase (¢), slash d - uppercase (£), thorn - uppercase (¤)\r
+1 DEAT\r
+2 PLAC ligature ae - uppercase (¥), ligature oe - uppercase (¦), miagkii znak (§), middle dot (¨), musical flat (©)\r
+0 @CHILD1@ INDI\r
+1 FAMC @FAMILY@\r
+1 NAME /Special Characters 1/\r
+1 BIRT\r
+2 PLAC patent mark (ª), plus-or-minus («), hook o - uppercase (¬), hook u - uppercase (­)\r
+1 DEAT\r
+2 PLAC alif (®), ayn (°), slash l - lowercase (±), slash o - lowercase (²), slash d - lowercase (³)\r
+0 @CHILD2@ INDI\r
+1 FAMC @FAMILY@\r
+1 NAME /Special Characters 2/\r
+1 BIRT\r
+2 PLAC thorn - lowercase (´), ligature ae - lowercase (µ), ligature oe - lowercase (¶), tverdyi znak (·)\r
+1 DEAT\r
+2 PLAC dotless i - lowercase (¸), british pound (¹), eth (º), hook o - lowercase (¼), hook u - lowercase (½)\r
+0 @CHILD3@ INDI\r
+1 FAMC @FAMILY@\r
+1 NAME /Special Characters 3/\r
+1 BIRT\r
+2 PLAC degree sign (À), script l (Á), phonograph copyright mark (Â), copyright symbol (Ã)\r
+1 DEAT\r
+2 PLAC musical sharp (Ä), inverted question mark (Å), inverted exclamation mark (Æ), es zet (Ï)\r
+0 @CHILD4@ INDI\r
+1 FAMC @FAMILY@\r
+1 NAME code: E0 (Unicode: hook above, 0309)/low rising tone mark/\r
+1 BIRT\r
+2 PLAC àAàBàCàDàEàFàGàHàIàJàKàLàMàNàOàPàQàRàSàTàUàVàWàXàYàZ\r
+1 DEAT\r
+2 PLAC àaàbàcàdàeàfàgàhàiàjàkàlàmànàoàpàqàràsàtàuàvàwàxàyàz\r
+0 @CHILD5@ INDI\r
+1 FAMC @FAMILY@\r
+1 NAME code: E1 (Unicode: grave, 0300)/grave accent/\r
+1 BIRT\r
+2 PLAC áAáBáCáDáEáFáGáHáIáJáKáLáMáNáOáPáQáRáSáTáUáVáWáXáYáZ\r
+1 DEAT\r
+2 PLAC áaábácádáeáfágáháiájákálámánáoápáqárásátáuáváwáxáyáz\r
+0 @CHILD6@ INDI\r
+1 FAMC @FAMILY@\r
+1 NAME code: E2 (Unicode: acute, 0301)/acute accent/\r
+1 BIRT\r
+2 PLAC âAâBâCâDâEâFâGâHâIâJâKâLâMâNâOâPâQâRâSâTâUâVâWâXâYâZ\r
+1 DEAT\r
+2 PLAC âaâbâcâdâeâfâgâhâiâjâkâlâmânâoâpâqârâsâtâuâvâwâxâyâz\r
+0 @CHILD7@ INDI\r
+1 FAMC @FAMILY@\r
+1 NAME code: E3 (Unicode: circumflex, 0302)/circumflex accent/\r
+1 BIRT\r
+2 PLAC ãAãBãCãDãEãFãGãHãIãJãKãLãMãNãOãPãQãRãSãTãUãVãWãXãYãZ\r
+1 DEAT\r
+2 PLAC ãaãbãcãdãeãfãgãhãiãjãkãlãmãnãoãpãqãrãsãtãuãvãwãxãyãz\r
+0 @CHILD8@ INDI\r
+1 FAMC @FAMILY@\r
+1 NAME code: E4 (Unicode: tilde, 0303)/tilde/\r
+1 BIRT\r
+2 PLAC äAäBäCäDäEäFäGäHäIäJäKäLäMäNäOäPäQäRäSäTäUäVäWäXäYäZ\r
+1 DEAT\r
+2 PLAC äaäbäcädäeäfägähäiäjäkälämänäoäpäqäräsätäuäväwäxäyäz\r
+0 @CHILD9@ INDI\r
+1 FAMC @FAMILY@\r
+1 NAME code: E5 (Unicode: macron, 0304)/macron/\r
+1 BIRT\r
+2 PLAC åAåBåCåDåEåFåGåHåIåJåKåLåMåNåOåPåQåRåSåTåUåVåWåXåYåZ\r
+1 DEAT\r
+2 PLAC åaåbåcådåeåfågåhåiåjåkålåmånåoåpåqåråsåtåuåvåwåxåyåz\r
+0 @CHILD10@ INDI\r
+1 FAMC @FAMILY@\r
+1 NAME code: E6 (Unicode: breve, 0306)/breve/\r
+1 BIRT\r
+2 PLAC æAæBæCæDæEæFæGæHæIæJæKæLæMæNæOæPæQæRæSæTæUæVæWæXæYæZ\r
+1 DEAT\r
+2 PLAC æaæbæcædæeæfægæhæiæjækælæmænæoæpæqæræsætæuævæwæxæyæz\r
+0 @CHILD11@ INDI\r
+1 FAMC @FAMILY@\r
+1 NAME code: E7 (Unicode: dot above, 0307)/dot above/\r
+1 BIRT\r
+2 PLAC çAçBçCçDçEçFçGçHçIçJçKçLçMçNçOçPçQçRçSçTçUçVçWçXçYçZ\r
+1 DEAT\r
+2 PLAC çaçbçcçdçeçfçgçhçiçjçkçlçmçnçoçpçqçrçsçtçuçvçwçxçyçz\r
+0 @CHILD12@ INDI\r
+1 FAMC @FAMILY@\r
+1 NAME code: E8 (Unicode: diaeresis, 0308)/umlaut (dieresis)/\r
+1 BIRT\r
+2 PLAC èAèBèCèDèEèFèGèHèIèJèKèLèMèNèOèPèQèRèSèTèUèVèWèXèYèZ\r
+1 DEAT\r
+2 PLAC èaèbècèdèeèfègèhèièjèkèlèmènèoèpèqèrèsètèuèvèwèxèyèz\r
+0 @CHILD13@ INDI\r
+1 FAMC @FAMILY@\r
+1 NAME code: E9 (Unicode: caron, 030C)/hacek/\r
+1 BIRT\r
+2 PLAC éAéBéCéDéEéFéGéHéIéJéKéLéMéNéOéPéQéRéSéTéUéVéWéXéYéZ\r
+1 DEAT\r
+2 PLAC éaébécédéeéfégéhéiéjékéléménéoépéqérésétéuévéwéxéyéz\r
+0 @CHILD14@ INDI\r
+1 FAMC @FAMILY@\r
+1 NAME code: EA (Unicode: ring above, 030A)/circle above (angstrom)/\r
+1 BIRT\r
+2 PLAC êAêBêCêDêEêFêGêHêIêJêKêLêMêNêOêPêQêRêSêTêUêVêWêXêYêZ\r
+1 DEAT\r
+2 PLAC êaêbêcêdêeêfêgêhêiêjêkêlêmênêoêpêqêrêsêtêuêvêwêxêyêz\r
+0 @CHILD15@ INDI\r
+1 FAMC @FAMILY@\r
+1 NAME code: EB (Unicode: ligature left half, FE20)/ligature, left half/\r
+1 BIRT\r
+2 PLAC ëAëBëCëDëEëFëGëHëIëJëKëLëMëNëOëPëQëRëSëTëUëVëWëXëYëZ\r
+1 DEAT\r
+2 PLAC ëaëbëcëdëeëfëgëhëiëjëkëlëmënëoëpëqërësëtëuëvëwëxëyëz\r
+0 @CHILD16@ INDI\r
+1 FAMC @FAMILY@\r
+1 NAME code: EC (Unicode: ligature right half, FE21)/ligature, right half/\r
+1 BIRT\r
+2 PLAC ìAìBìCìDìEìFìGìHìIìJìKìLìMìNìOìPìQìRìSìTìUìVìWìXìYìZ\r
+1 DEAT\r
+2 PLAC ìaìbìcìdìeìfìgìhìiìjìkìlìmìnìoìpìqìrìsìtìuìvìwìxìyìz\r
+0 @CHILD17@ INDI\r
+1 FAMC @FAMILY@\r
+1 NAME code: ED (Unicode: comma above right, 0315)/high comma, off center/\r
+1 BIRT\r
+2 PLAC íAíBíCíDíEíFíGíHíIíJíKíLíMíNíOíPíQíRíSíTíUíVíWíXíYíZ\r
+1 DEAT\r
+2 PLAC íaíbícídíeífígíhíiíjíkílímíníoípíqírísítíuívíwíxíyíz\r
+0 @CHILD18@ INDI\r
+1 FAMC @FAMILY@\r
+1 NAME code: EE (Unicode: double acute, 030B)/double acute accent/\r
+1 BIRT\r
+2 PLAC îAîBîCîDîEîFîGîHîIîJîKîLîMîNîOîPîQîRîSîTîUîVîWîXîYîZ\r
+1 DEAT\r
+2 PLAC îaîbîcîdîeîfîgîhîiîjîkîlîmînîoîpîqîrîsîtîuîvîwîxîyîz\r
+0 @CHILD19@ INDI\r
+1 FAMC @FAMILY@\r
+1 NAME code: EF (Unicode: candrabindu, 0310)/candrabindu/\r
+1 BIRT\r
+2 PLAC ïAïBïCïDïEïFïGïHïIïJïKïLïMïNïOïPïQïRïSïTïUïVïWïXïYïZ\r
+1 DEAT\r
+2 PLAC ïaïbïcïdïeïfïgïhïiïjïkïlïmïnïoïpïqïrïsïtïuïvïwïxïyïz\r
+0 @CHILD20@ INDI\r
+1 FAMC @FAMILY@\r
+1 NAME code: F0 (Unicode: cedilla, 0327)/cedilla/\r
+1 BIRT\r
+2 PLAC ðAðBðCðDðEðFðGðHðIðJðKðLðMðNðOðPðQðRðSðTðUðVðWðXðYðZ\r
+1 DEAT\r
+2 PLAC ðaðbðcðdðeðfðgðhðiðjðkðlðmðnðoðpðqðrðsðtðuðvðwðxðyðz\r
+0 @CHILD21@ INDI\r
+1 FAMC @FAMILY@\r
+1 NAME code: F1 (Unicode: ogonek, 0328)/right hook/\r
+1 BIRT\r
+2 PLAC ñAñBñCñDñEñFñGñHñIñJñKñLñMñNñOñPñQñRñSñTñUñVñWñXñYñZ\r
+1 DEAT\r
+2 PLAC ñañbñcñdñeñfñgñhñiñjñkñlñmñnñoñpñqñrñsñtñuñvñwñxñyñz\r
+0 @CHILD22@ INDI\r
+1 FAMC @FAMILY@\r
+1 NAME code: F2 (Unicode: dot below, 0323)/dot below/\r
+1 BIRT\r
+2 PLAC òAòBòCòDòEòFòGòHòIòJòKòLòMòNòOòPòQòRòSòTòUòVòWòXòYòZ\r
+1 DEAT\r
+2 PLAC òaòbòcòdòeòfògòhòiòjòkòlòmònòoòpòqòròsòtòuòvòwòxòyòz\r
+0 @CHILD23@ INDI\r
+1 FAMC @FAMILY@\r
+1 NAME code: F3 (Unicode: diaeresis below, 0324)/double dot below/\r
+1 BIRT\r
+2 PLAC óAóBóCóDóEóFóGóHóIóJóKóLóMóNóOóPóQóRóSóTóUóVóWóXóYóZ\r
+1 DEAT\r
+2 PLAC óaóbócódóeófógóhóiójókólómónóoópóqórósótóuóvówóxóyóz\r
+0 @CHILD24@ INDI\r
+1 FAMC @FAMILY@\r
+1 NAME code: F4 (Unicode: ring below, 0325)/circle below/\r
+1 BIRT\r
+2 PLAC ôAôBôCôDôEôFôGôHôIôJôKôLôMôNôOôPôQôRôSôTôUôVôWôXôYôZ\r
+1 DEAT\r
+2 PLAC ôaôbôcôdôeôfôgôhôiôjôkôlômônôoôpôqôrôsôtôuôvôwôxôyôz\r
+0 @CHILD25@ INDI\r
+1 FAMC @FAMILY@\r
+1 NAME code: F5 (Unicode: double low line, 0333)/double underscore/\r
+1 BIRT\r
+2 PLAC õAõBõCõDõEõFõGõHõIõJõKõLõMõNõOõPõQõRõSõTõUõVõWõXõYõZ\r
+1 DEAT\r
+2 PLAC õaõbõcõdõeõfõgõhõiõjõkõlõmõnõoõpõqõrõsõtõuõvõwõxõyõz\r
+0 @CHILD26@ INDI\r
+1 FAMC @FAMILY@\r
+1 NAME code: F6 (Unicode: line below, 0332)/underscore/\r
+1 BIRT\r
+2 PLAC öAöBöCöDöEöFöGöHöIöJöKöLöMöNöOöPöQöRöSöTöUöVöWöXöYöZ\r
+1 DEAT\r
+2 PLAC öaöböcödöeöfögöhöiöjökölömönöoöpöqörösötöuövöwöxöyöz\r
+0 @CHILD27@ INDI\r
+1 FAMC @FAMILY@\r
+1 NAME code: F7 (Unicode: comma below, 0326)/left hook/\r
+1 BIRT\r
+2 PLAC ÷A÷B÷C÷D÷E÷F÷G÷H÷I÷J÷K÷L÷M÷N÷O÷P÷Q÷R÷S÷T÷U÷V÷W÷X÷Y÷Z\r
+1 DEAT\r
+2 PLAC ÷a÷b÷c÷d÷e÷f÷g÷h÷i÷j÷k÷l÷m÷n÷o÷p÷q÷r÷s÷t÷u÷v÷w÷x÷y÷z\r
+0 @CHILD28@ INDI\r
+1 FAMC @FAMILY@\r
+1 NAME code: F8 (Unicode: left half ring below, 031C)/right cedilla/\r
+1 BIRT\r
+2 PLAC øAøBøCøDøEøFøGøHøIøJøKøLøMøNøOøPøQøRøSøTøUøVøWøXøYøZ\r
+1 DEAT\r
+2 PLAC øaøbøcødøeøføgøhøiøjøkølømønøoøpøqørøsøtøuøvøwøxøyøz\r
+0 @CHILD29@ INDI\r
+1 FAMC @FAMILY@\r
+1 NAME code: F9 (Unicode: breve below, 032E)/half circle below/\r
+1 BIRT\r
+2 PLAC ùAùBùCùDùEùFùGùHùIùJùKùLùMùNùOùPùQùRùSùTùUùVùWùXùYùZ\r
+1 DEAT\r
+2 PLAC ùaùbùcùdùeùfùgùhùiùjùkùlùmùnùoùpùqùrùsùtùuùvùwùxùyùz\r
+0 @CHILD30@ INDI\r
+1 FAMC @FAMILY@\r
+1 NAME code: FA (Unicode: double tilde left half, FE22)/double tilde, left half/\r
+1 BIRT\r
+2 PLAC úAúBúCúDúEúFúGúHúIúJúKúLúMúNúOúPúQúRúSúTúUúVúWúXúYúZ\r
+1 DEAT\r
+2 PLAC úaúbúcúdúeúfúgúhúiújúkúlúmúnúoúpúqúrúsútúuúvúwúxúyúz\r
+0 @CHILD31@ INDI\r
+1 FAMC @FAMILY@\r
+1 NAME code: FB (Unicode: double tilde right half, FE23)/double tilde, right half/\r
+1 BIRT\r
+2 PLAC ûAûBûCûDûEûFûGûHûIûJûKûLûMûNûOûPûQûRûSûTûUûVûWûXûYûZ\r
+1 DEAT\r
+2 PLAC ûaûbûcûdûeûfûgûhûiûjûkûlûmûnûoûpûqûrûsûtûuûvûwûxûyûz\r
+0 @CHILD32@ INDI\r
+1 FAMC @FAMILY@\r
+1 NAME code: FE (Unicode: comma above, 0313)/high comma, centered/\r
+1 BIRT\r
+2 PLAC þAþBþCþDþEþFþGþHþIþJþKþLþMþNþOþPþQþRþSþTþUþVþWþXþYþZ\r
+1 DEAT\r
+2 PLAC þaþbþcþdþeþfþgþhþiþjþkþlþmþnþoþpþqþrþsþtþuþvþwþxþyþz\r
+0 @FAMILY@ FAM\r
+1 HUSB @FATHER@\r
+1 WIFE @MOTHER@\r
+1 CHIL @CHILD0@\r
+1 CHIL @CHILD1@\r
+1 CHIL @CHILD2@\r
+1 CHIL @CHILD3@\r
+1 CHIL @CHILD4@\r
+1 CHIL @CHILD5@\r
+1 CHIL @CHILD6@\r
+1 CHIL @CHILD7@\r
+1 CHIL @CHILD8@\r
+1 CHIL @CHILD9@\r
+1 CHIL @CHILD10@\r
+1 CHIL @CHILD11@\r
+1 CHIL @CHILD12@\r
+1 CHIL @CHILD13@\r
+1 CHIL @CHILD14@\r
+1 CHIL @CHILD15@\r
+1 CHIL @CHILD16@\r
+1 CHIL @CHILD17@\r
+1 CHIL @CHILD18@\r
+1 CHIL @CHILD19@\r
+1 CHIL @CHILD20@\r
+1 CHIL @CHILD21@\r
+1 CHIL @CHILD22@\r
+1 CHIL @CHILD23@\r
+1 CHIL @CHILD24@\r
+1 CHIL @CHILD25@\r
+1 CHIL @CHILD26@\r
+1 CHIL @CHILD27@\r
+1 CHIL @CHILD28@\r
+1 CHIL @CHILD29@\r
+1 CHIL @CHILD30@\r
+1 CHIL @CHILD31@\r
+1 CHIL @CHILD32@\r
+0 TRLR\r