GithubHelp home page GithubHelp logo

richcarl / erlguten Goto Github PK

View Code? Open in Web Editor NEW
49.0 49.0 13.0 1.86 MB

ErlGuten is a system for high-quality typesetting, written purely in Erlang. This is the canonical repository, representing the latest official release, now under the MIT license. (The link below points to the old, outdated project page.)

Home Page: http://www.sics.se/~joe/erlguten-2.1/erlguten.html

License: Other

Makefile 0.35% Shell 0.02% TeX 49.13% Erlang 50.51%

erlguten's People

Contributors

jcomellas avatar richcarl avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

erlguten's Issues

Creating ebin directory

Just compiled and executed successfully on Windows XP with cygwin.

I had to create manually the ebin directory. This is the only issue I encoutered :-)

Really great work guys!!

Bernard

Fails to build test1.xml for me

I fetched master, did make, then did ./erlguten test/test1.xml (I also tried running it from the test directory itself). I got the following output:

[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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.