[jadams:~/erlang/erlguten] master* ± ./erlguten test/test1.xml
Erlang/OTP 17 [erts-6.4] [source] [64-bit] [smp:8:8] [async-threads:10] [hipe] [kernel-poll:false]
read:[{pi,"xml version=\"1.0\" "},
{xml,{document,[],
[{flow,[{"galley","galley_001.gal"},{"name","header"}],
[{p,[],[{raw,"ErlGuten"}]},{raw,"\"\n"}]},
{flow,[{"galley","galley_001.gal"},{"name","intro"}],
[{p,[],
[{raw,"Using Erlang in typography applications"}]},
{raw,"\"\n"}]},
{flow,[{"galley","galley_001.gal"},{"name","punch"}],
[{p,[],[{raw,"INTRODUCTION"}]},{raw,"\"\n"}]},
{flow,[{"galley","galley_001.gal"},{"name","footnote"}],
[{p,[],
[{raw,"This is a small footnote set in 8/10 Times Italic"}]},
{raw,"\"\n"}]},
{flow,[{"galley","galley_001.gal"},{"name","flow_001"}],
[{p,[],
[{em,[],[{raw,"ErlGuten."}]},
{raw," is a system for hiqh quality typesetting,\nErlGuten is free software. ErlGuten aims to produce typographic\nquality PDF directly from XML or from a program."}]},
{p,[],
[{raw," The aim of ErlGuten is to produce high quality PDF from a layout\nlanguage or from a program. The ErlGuten distribution includes a\nprogramming API, so that Erlang programs can produce PDF - and a\ntypesetting system for typesetting documents written in XML."}]},
{p,[],
[{raw,"The document that you are reading was authored in XML and typeset\nby ErlGuten. The name ErlGuten is chosen because the program is\nwritten in Erlang - the "},
{em,[],[{raw,"Guten"}]},
{raw," part is a reference to\n"},
{em,[],[{raw,"Gutenberg"}]},
{raw," the father of printing."}]},
{p,[],
[{raw,"ErlGuten is a system for high quality typesetting, so we take a\ngreat deal of care when formatting text, a large number of\noptimizations are performed which improve the quality of the printed\ntext. Many of these optimizations are usually only found in expensive\nprofessional type-setting programs. We believe that WYSIWYG programs\nhave destroyed the fine art of typesetting - ErlGuten is a modest\nattempt to improve the situation."}]},
{p,[],
[{raw,"We have chosen XML as the input language for it's wide appeal.\nXML provides only a thin abstraction layer over the typesetting system\n- so the adventurous can use the programming interface to ErlGuten -\nto directly produce typographic quality PDF in real-time. We expect\nthis facility to be useful for the dynamic generation of documents\nfrom web-servers."}]},
{p,[],
[{raw,"In ErlGuten we take the view that the highest level of\nabstraction is the "},
{em,[],[{raw,"layout"}]},
{raw," of a document - we are very\nconcerned that the user can specify the "},
{em,[],[{raw,"exact"}]},
{raw," position of\ntext on the printed page. At the next level of abstraction we are\nconcerned with the typefaces that are used to format different regions\nof the document."}]},
{p,[],
[{raw,"ErlGuten is designed for the production of large and complex\ndocuments with complex layout requirements, like "},
{em,[],[{raw,"newspapers"}]},
{raw,"\nor "},
{em,[],[{raw,"books"}]},
{raw,". In ErlGuten layout, content, and document\nmanagement are considered separate issues. Layout is "},
{em,[],[{raw,"template\nbased"}]},
{raw," - Content is assumed to be stored as a large number of\ndocuments in a file system or data base, document management is\nconsidered as a mapping operation which takes documents in the\ncontent data base and maps them onto templates to produce hight\nquality output."}]},
{p,[],
[{raw,"This is normal text, set 30 picas wide in 12/14 Times Roman.\nMany different typefaces can be used within a paragraph.\n"},
{em,[],[{raw,"Emphasized text"}]},
{raw," is set in Times-Italic. Hyphenation uses the\nTeX hyphenation algorithm. Any of the 35 built-in PDF typefaces with\nthe same point size can be mixed with a paragraph. The term\n"},
{code,[],[{raw,"{person,\"Joe\"}"}]},
{raw," is an Erlang term which has been typeset\nin 12 point "},
{em,[],[{raw,"courier"}]},
{raw,". The paragraph justification algorithm\ndoes proper "},
{em,[],[{raw,"kerning"}]},
{raw," so, for example, the word AWAY is\ncorrectly kerned! - line breaks within a paragraph are selected by a\nsophisticated global optimization technique."}]}]}]}}]
bad XML - must begin "<?xml ...
<flow
{"init terminating in do_boot",1}
Crash dump was written to: erl_crash.dump
init terminating in do_boot (1)