packages feed

Cabal revisions of wumpus-core-0.41.0

Hackage metadata revisions edit the .cabal file after upload; each diff below is one revision.

revision 1
-name:             wumpus-core-version:          0.41.0-license:          BSD3-license-file:     LICENSE-copyright:        Stephen Tetley <stephen.tetley@gmail.com>-maintainer:       Stephen Tetley <stephen.tetley@gmail.com>-homepage:         http://code.google.com/p/copperbox/-category:         Graphics-synopsis:         Pure Haskell PostScript and SVG generation. -description:-  .-  Wumpus-Core is a low-level library for generating static 2D -  vector pictures, its salient feature is portability due to no -  FFI dependencies. It can generate PostScript (EPS) files and SVG -  files. The generated PostScript code is plain and reasonably -  efficient as the use of stack operations, i.e @gsave@ and -  @grestore@, is minimized. -  .-  Although Wumpus-Core only generates vector output, the generated -  PostScript can be interpreted by GraphicsMagick or a similar -  tool to convert EPS files into bitmap image files (e.g JPEGs).-  .-  Wumpus-Core makes pictures from /paths/ and text /labels/. Paths -  themselves are made from points. The usual affine -  transformations (rotations, scaling, translations) can be-  applied to Pictures. Unlike PostScript there is no notion of a -  current point, Wumpus-Core builds pictures in a coordinate-free -  style. -  .-  GENERAL DRAWBACKS...-  .-  For actually building pictures, diagrams, etc. Wumpus-Core is -  very low-level. There is a supplementary package @Wumpus-Basic@ -  available that helps create certain types of diagram, but it is-  experimental - functionality is added and dropped between -  releases, it has no stable API.-  .-  Some of the design decisions made for Wumpus-Core are not -  sophisticated (e.g. how path and text attributes like colour are -  handled, and how the bounding boxes of text labels are -  calculated), so Wumpus might be limited compared to other -  systems. However, the design permits a fairly simple -  implementation, which is a priority. -  .  -  .-  UPDATING from 0.37.0 or earlier to 0.41.0.-  .-  There were substantial changes in verion 0.40.0 - hence the -  version number jump from 0.37.0. Version 0.41.0 introduces -  mostly cosmetic changes, but for upgrading from 0.37.0 or-  earlier the change-notes that follow are still relevant.-  .-  @Core.Picture@ API change - the path construction function has -  changed from @path@ to @primPath@. The type of the path segments-  has changed, the functions @lineTo@ and @curveTo@ now build-  @AbsPathSegments@ and @primPath@ consumes @AbsPathSegments@.-  .-  The Text API has changed substantially, however most user code-  should only need minor changes. The functions @writePS_latin1@, -  @writeEPS_latin1@ and @writeSVG_latin1@ have been removed, code -  should be changed to use @writePS@, @writeEPS@ and and -  @writeSVG@ respectively. These three functions no longer take a -  @TextEncoder@ argument as TextEncoders no longer exist.-  .-  The Font Size API has also changed substantially. It now -  exports a more consistent set of metrics (consistent with what -  is present in font files - the previous version was derived -  from hand measurements). It also adds a margin to bounding box-  calculations, again this is more consistent with how font files -  actually work.-  .-  The handling of escaped special characters is now more -  consistent and the escaping mecahnism has been clarified -  (previously the documentation and the implementation were at -  odds): PostScript glyph names are delimited between @&@ -  (ampersand) and @;@ (semi), Unicode code points are delimited -  by @&\#@ (ampersand-hash) and @;@ (semi). Note Wumpus silently -  drops mal-formed escape charcters, for robustness this is -  preferable to throwing a runtime error, but it does mean the-  output needs visually checking.-  .-  Changelog:-  . -  v0.40.0 to v0.41.0:-  .-  * Changed PostScript output to use pre-defined procedures for -    circles and ellipses. This should be a significant -    optimization for drawings that have many circles or ellipses.-    For drawings that do not use circles or ellipses, it adds -    circa. 75 lines to the generated PostScript which is -    tolerable.-  .-  * API change - @Core.Text.Base@ no longer exports the -    constructor and field label for @EscapedText@, it is now an -    opaque type. For a building @EscapedText@ either the existing -    /safe/constructor @escapeString@ or the new function -    @wrapEscChar@ should be used. For destructing @EscapedText@ -    there is a new function @destrEscapedText@.-  .-  * API change - the argument order of the functions @rtextlabel@ -    and @rescapedlabel@ in @Core.Picture@ has changed. The order -    of angle of rotation and the baseline-left has been swapped so -    that angle of rotation is first. This matches the other -    rotated graphics in @Core.Picture@.-  .-  * Upper bounds of Cabal build depends relaxed a bit.-  . -  * Added the @UNil@ type to @Core.Geometry@ and added affine -    instances for the UNil type, plus Maybe and Pair. @UNil@ is-    useful for higher-level drawing (it is used extensively in-    Wumpus-Basic).-  .-  * Added the function @emptyPath@ to @Core.Picture@. This creates -    a /null path/ with an empty list of path segments. Null paths -    still need a start point - this is minimum needed for bounding -    box calculation. Improved the PostScript and SVG output so -    there is no code generated for empty paths and textlabels.-  .-  * Added @vectorPath@ to @Core.Picture@.-  .-  * Added @boundaryCenter@ to @Core.BoundingBox@.-  .-  * Improved generated SVG code generation for ellipses / circles.-  .-  v0.37.0 to v0.40.0: -  .-  * Text handling substantially revised. SVG text output is now -    better aligned to Unicode. The encoding tables for PostScript-    have been re-thought, the previous implementation had some -    serious design flaws that should now be rectified.-  .-  * The rules for escaping special characters has been clarified.-    Previously the documentation suggested -    @ampersand-name-semicolon@ could be used to escape glyph names-    however only @ampersand-hash-name-semicolon@ worked.-    @ampersand-name-semicolon@ is now the correct way. The -    ampersand-hash prefix is for numeric literals - -    @ampersand-hash-num_literal-semicolon@.-  .-  * Versions of the textlabel functions have been added to -    @Core.Picture@ for escape-parsed text. It is useful for -    higher-level software to escape the text, do some calculations -    then render it - going back to un-escaped text for the -    rendering would be inefficient.-  .-  * The internal representation of paths has changed. They are now -    represented as start-point plus list of /relative/ path -    segments rather than start-point plus list of absolute path -    segments. Using relative path segments makes it cheaper to-    move paths with @translate@, although calculating the bounding-    box and rendering to PostScript is more expensive. The -    rationale for the change is that to make complex pictures, -    paths are potentially moved many times but the other -    operations are only performed once.-  .-  * Internal change to Primitives and the PrimCTM - ellipses and-    labels no longer have a point (center or baseline left)-    as an element in the datatype, the point is now represented -    within the PrimCTM.-  .-  * Name change to @Core.Picture@ API - the path construction -    function @path@ has been renamed to @primPath@.-  .-  * Name change in @Core.FontSize@, the function @textBoundsEnc@-    has been renamed to @textBoundsEsc@. Wumpus-Core now calls -    strings that have been parsed for escape characters -    /Escaped Text/ rather than /Encoded Text/.-  .-  * Fixed bug where ellipse rotation and scaling calculated the -    wrong bounding box.-  . -  * Fixed bug in @illustrateControlPoints@ where the control points-    were drawn but the original primitive was lost. -  .-  * Added initial support for arbitrary SVG attributes (e.g. -    onmouseover handlers) via @annotateGroup@ in @Core.Picture@. -    Arbitrary SVG \"defs\" can be written into the defs prologue -    by using @writeSVG_defs@ instead of @writeSVG@. This -    functionality is mostly untested!-  .-  .-build-type:         Simple-stability:          unstable-cabal-version:      >= 1.2--extra-source-files:-  CHANGES,-  LICENSE,-  demo/AffineTest01.hs,-  demo/AffineTest02.hs,-  demo/AffineTest03.hs,-  demo/AffineTestBase.hs,-  demo/DeltaPic.hs,-  demo/FontMetrics.hs,-  demo/Hyperlink.hs,-  demo/KernPic.hs,-  demo/LabelPic.hs,-  demo/Latin1Pic.hs,-  demo/MultiPic.hs,-  demo/TextBBox.hs,-  demo/TransformEllipse.hs,-  demo/TransformPath.hs,-  demo/TransformTextlabel.hs,-  demo/ZOrderPic.hs,-  doc/Guide.pdf,-  doc-src/Guide.lhs,-  doc-src/Makefile,-  doc-src/WorldFrame.hs----library-  hs-source-dirs:     src-  build-depends:      base            <  5, -                      containers      >= 0.3      && <= 0.6, -                      time            >= 1.1.3    && <  1.6,-                      vector-space    >= 0.6      && <  1.0-                        -  exposed-modules:-    Wumpus.Core,-    Wumpus.Core.AffineTrans,-    Wumpus.Core.BoundingBox,-    Wumpus.Core.Colour,-    Wumpus.Core.FontSize,-    Wumpus.Core.Geometry,-    Wumpus.Core.GraphicProps,-    Wumpus.Core.OutputPostScript,-    Wumpus.Core.OutputSVG,-    Wumpus.Core.Picture,-    Wumpus.Core.PtSize,-    Wumpus.Core.Text.Base,-    Wumpus.Core.Text.GlyphIndices,-    Wumpus.Core.Text.GlyphNames,-    Wumpus.Core.Text.Latin1Encoding,-    Wumpus.Core.Text.StandardEncoding,-    Wumpus.Core.Text.Symbol,-    Wumpus.Core.VersionNumber,-    Wumpus.Core.WumpusTypes--  other-modules:-    Wumpus.Core.PageTranslation,-    Wumpus.Core.PictureInternal,-    Wumpus.Core.PostScriptDoc,-    Wumpus.Core.SVGDoc,-    Wumpus.Core.TrafoInternal,-    Wumpus.Core.Utils.Common,-    Wumpus.Core.Utils.HList,-    Wumpus.Core.Utils.JoinList,-    Wumpus.Core.Utils.FormatCombinators-    -  extensions:-    --  ghc-options:-  -  includes: -  --  -  +name:             wumpus-core
+version:          0.41.0
+x-revision: 1
+license:          BSD3
+license-file:     LICENSE
+copyright:        Stephen Tetley <stephen.tetley@gmail.com>
+maintainer:       Stephen Tetley <stephen.tetley@gmail.com>
+homepage:         http://code.google.com/p/copperbox/
+category:         Graphics
+synopsis:         Pure Haskell PostScript and SVG generation. 
+description:
+  .
+  Wumpus-Core is a low-level library for generating static 2D 
+  vector pictures, its salient feature is portability due to no 
+  FFI dependencies. It can generate PostScript (EPS) files and SVG 
+  files. The generated PostScript code is plain and reasonably 
+  efficient as the use of stack operations, i.e @gsave@ and 
+  @grestore@, is minimized. 
+  .
+  Although Wumpus-Core only generates vector output, the generated 
+  PostScript can be interpreted by GraphicsMagick or a similar 
+  tool to convert EPS files into bitmap image files (e.g JPEGs).
+  .
+  Wumpus-Core makes pictures from /paths/ and text /labels/. Paths 
+  themselves are made from points. The usual affine 
+  transformations (rotations, scaling, translations) can be
+  applied to Pictures. Unlike PostScript there is no notion of a 
+  current point, Wumpus-Core builds pictures in a coordinate-free 
+  style. 
+  .
+  GENERAL DRAWBACKS...
+  .
+  For actually building pictures, diagrams, etc. Wumpus-Core is 
+  very low-level. There is a supplementary package @Wumpus-Basic@ 
+  available that helps create certain types of diagram, but it is
+  experimental - functionality is added and dropped between 
+  releases, it has no stable API.
+  .
+  Some of the design decisions made for Wumpus-Core are not 
+  sophisticated (e.g. how path and text attributes like colour are 
+  handled, and how the bounding boxes of text labels are 
+  calculated), so Wumpus might be limited compared to other 
+  systems. However, the design permits a fairly simple 
+  implementation, which is a priority. 
+  .  
+  .
+  UPDATING from 0.37.0 or earlier to 0.41.0.
+  .
+  There were substantial changes in verion 0.40.0 - hence the 
+  version number jump from 0.37.0. Version 0.41.0 introduces 
+  mostly cosmetic changes, but for upgrading from 0.37.0 or
+  earlier the change-notes that follow are still relevant.
+  .
+  @Core.Picture@ API change - the path construction function has 
+  changed from @path@ to @primPath@. The type of the path segments
+  has changed, the functions @lineTo@ and @curveTo@ now build
+  @AbsPathSegments@ and @primPath@ consumes @AbsPathSegments@.
+  .
+  The Text API has changed substantially, however most user code
+  should only need minor changes. The functions @writePS_latin1@, 
+  @writeEPS_latin1@ and @writeSVG_latin1@ have been removed, code 
+  should be changed to use @writePS@, @writeEPS@ and and 
+  @writeSVG@ respectively. These three functions no longer take a 
+  @TextEncoder@ argument as TextEncoders no longer exist.
+  .
+  The Font Size API has also changed substantially. It now 
+  exports a more consistent set of metrics (consistent with what 
+  is present in font files - the previous version was derived 
+  from hand measurements). It also adds a margin to bounding box
+  calculations, again this is more consistent with how font files 
+  actually work.
+  .
+  The handling of escaped special characters is now more 
+  consistent and the escaping mecahnism has been clarified 
+  (previously the documentation and the implementation were at 
+  odds): PostScript glyph names are delimited between @&@ 
+  (ampersand) and @;@ (semi), Unicode code points are delimited 
+  by @&\#@ (ampersand-hash) and @;@ (semi). Note Wumpus silently 
+  drops mal-formed escape charcters, for robustness this is 
+  preferable to throwing a runtime error, but it does mean the
+  output needs visually checking.
+  .
+  Changelog:
+  . 
+  v0.40.0 to v0.41.0:
+  .
+  * Changed PostScript output to use pre-defined procedures for 
+    circles and ellipses. This should be a significant 
+    optimization for drawings that have many circles or ellipses.
+    For drawings that do not use circles or ellipses, it adds 
+    circa. 75 lines to the generated PostScript which is 
+    tolerable.
+  .
+  * API change - @Core.Text.Base@ no longer exports the 
+    constructor and field label for @EscapedText@, it is now an 
+    opaque type. For a building @EscapedText@ either the existing 
+    /safe/constructor @escapeString@ or the new function 
+    @wrapEscChar@ should be used. For destructing @EscapedText@ 
+    there is a new function @destrEscapedText@.
+  .
+  * API change - the argument order of the functions @rtextlabel@ 
+    and @rescapedlabel@ in @Core.Picture@ has changed. The order 
+    of angle of rotation and the baseline-left has been swapped so 
+    that angle of rotation is first. This matches the other 
+    rotated graphics in @Core.Picture@.
+  .
+  * Upper bounds of Cabal build depends relaxed a bit.
+  . 
+  * Added the @UNil@ type to @Core.Geometry@ and added affine 
+    instances for the UNil type, plus Maybe and Pair. @UNil@ is
+    useful for higher-level drawing (it is used extensively in
+    Wumpus-Basic).
+  .
+  * Added the function @emptyPath@ to @Core.Picture@. This creates 
+    a /null path/ with an empty list of path segments. Null paths 
+    still need a start point - this is minimum needed for bounding 
+    box calculation. Improved the PostScript and SVG output so 
+    there is no code generated for empty paths and textlabels.
+  .
+  * Added @vectorPath@ to @Core.Picture@.
+  .
+  * Added @boundaryCenter@ to @Core.BoundingBox@.
+  .
+  * Improved generated SVG code generation for ellipses / circles.
+  .
+  v0.37.0 to v0.40.0: 
+  .
+  * Text handling substantially revised. SVG text output is now 
+    better aligned to Unicode. The encoding tables for PostScript
+    have been re-thought, the previous implementation had some 
+    serious design flaws that should now be rectified.
+  .
+  * The rules for escaping special characters has been clarified.
+    Previously the documentation suggested 
+    @ampersand-name-semicolon@ could be used to escape glyph names
+    however only @ampersand-hash-name-semicolon@ worked.
+    @ampersand-name-semicolon@ is now the correct way. The 
+    ampersand-hash prefix is for numeric literals - 
+    @ampersand-hash-num_literal-semicolon@.
+  .
+  * Versions of the textlabel functions have been added to 
+    @Core.Picture@ for escape-parsed text. It is useful for 
+    higher-level software to escape the text, do some calculations 
+    then render it - going back to un-escaped text for the 
+    rendering would be inefficient.
+  .
+  * The internal representation of paths has changed. They are now 
+    represented as start-point plus list of /relative/ path 
+    segments rather than start-point plus list of absolute path 
+    segments. Using relative path segments makes it cheaper to
+    move paths with @translate@, although calculating the bounding
+    box and rendering to PostScript is more expensive. The 
+    rationale for the change is that to make complex pictures, 
+    paths are potentially moved many times but the other 
+    operations are only performed once.
+  .
+  * Internal change to Primitives and the PrimCTM - ellipses and
+    labels no longer have a point (center or baseline left)
+    as an element in the datatype, the point is now represented 
+    within the PrimCTM.
+  .
+  * Name change to @Core.Picture@ API - the path construction 
+    function @path@ has been renamed to @primPath@.
+  .
+  * Name change in @Core.FontSize@, the function @textBoundsEnc@
+    has been renamed to @textBoundsEsc@. Wumpus-Core now calls 
+    strings that have been parsed for escape characters 
+    /Escaped Text/ rather than /Encoded Text/.
+  .
+  * Fixed bug where ellipse rotation and scaling calculated the 
+    wrong bounding box.
+  . 
+  * Fixed bug in @illustrateControlPoints@ where the control points
+    were drawn but the original primitive was lost. 
+  .
+  * Added initial support for arbitrary SVG attributes (e.g. 
+    onmouseover handlers) via @annotateGroup@ in @Core.Picture@. 
+    Arbitrary SVG \"defs\" can be written into the defs prologue 
+    by using @writeSVG_defs@ instead of @writeSVG@. This 
+    functionality is mostly untested!
+  .
+  .
+build-type:         Simple
+stability:          unstable
+cabal-version:      >= 1.2
+
+extra-source-files:
+  CHANGES,
+  LICENSE,
+  demo/AffineTest01.hs,
+  demo/AffineTest02.hs,
+  demo/AffineTest03.hs,
+  demo/AffineTestBase.hs,
+  demo/DeltaPic.hs,
+  demo/FontMetrics.hs,
+  demo/Hyperlink.hs,
+  demo/KernPic.hs,
+  demo/LabelPic.hs,
+  demo/Latin1Pic.hs,
+  demo/MultiPic.hs,
+  demo/TextBBox.hs,
+  demo/TransformEllipse.hs,
+  demo/TransformPath.hs,
+  demo/TransformTextlabel.hs,
+  demo/ZOrderPic.hs,
+  doc/Guide.pdf,
+  doc-src/Guide.lhs,
+  doc-src/Makefile,
+  doc-src/WorldFrame.hs
+
+
+
+library
+  hs-source-dirs:     src
+  build-depends:      base            <  4.5, 
+                      containers      >= 0.3      && <= 0.6, 
+                      time            >= 1.1.3    && <  1.6,
+                      vector-space    >= 0.6      && <  1.0
+                        
+  exposed-modules:
+    Wumpus.Core,
+    Wumpus.Core.AffineTrans,
+    Wumpus.Core.BoundingBox,
+    Wumpus.Core.Colour,
+    Wumpus.Core.FontSize,
+    Wumpus.Core.Geometry,
+    Wumpus.Core.GraphicProps,
+    Wumpus.Core.OutputPostScript,
+    Wumpus.Core.OutputSVG,
+    Wumpus.Core.Picture,
+    Wumpus.Core.PtSize,
+    Wumpus.Core.Text.Base,
+    Wumpus.Core.Text.GlyphIndices,
+    Wumpus.Core.Text.GlyphNames,
+    Wumpus.Core.Text.Latin1Encoding,
+    Wumpus.Core.Text.StandardEncoding,
+    Wumpus.Core.Text.Symbol,
+    Wumpus.Core.VersionNumber,
+    Wumpus.Core.WumpusTypes
+
+  other-modules:
+    Wumpus.Core.PageTranslation,
+    Wumpus.Core.PictureInternal,
+    Wumpus.Core.PostScriptDoc,
+    Wumpus.Core.SVGDoc,
+    Wumpus.Core.TrafoInternal,
+    Wumpus.Core.Utils.Common,
+    Wumpus.Core.Utils.HList,
+    Wumpus.Core.Utils.JoinList,
+    Wumpus.Core.Utils.FormatCombinators
+    
+  extensions:
+    
+
+  ghc-options:
+  
+  includes: 
+  
+
+  
+