packages feed

pdf-toolbox-content 0.0.4.0 → 0.0.5.0

raw patch · 4 files changed

+28/−6 lines, 4 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

+ Pdf.Toolbox.Content.Parser: parseContent :: Parser (Maybe Expr)

Files

changelog.md view
@@ -1,3 +1,8 @@+0.0.5.0++* add support for multiple bfrange and bfchars sections in CMap+* support spaces inside hex numbers in CMap+ 0.0.4.0  * switch to errors-2.0
lib/Pdf/Toolbox/Content/Parser.hs view
@@ -4,7 +4,8 @@ module Pdf.Toolbox.Content.Parser (   parseContentStream,-  readNextOperator+  readNextOperator,+  parseContent ) where 
lib/Pdf/Toolbox/Content/UnicodeCMap.hs view
@@ -14,6 +14,7 @@ import Data.Monoid import Data.Functor import Data.Char+import qualified Data.List as List import Data.Map (Map) import qualified Data.Map as Map import Data.ByteString (ByteString)@@ -89,7 +90,13 @@  charsParser :: Parser (Map Int Text) charsParser = do-  n <- P.option 0 $ skipTillParser $ do+  combineChars <$> P.many' charsParser'+  where+  combineChars = List.foldl' Map.union Map.empty++charsParser' :: Parser (Map Int Text)+charsParser' = do+  n <- skipTillParser $ do     n <- P.decimal     P.skipSpace     _ <- P.string "beginbfchar"@@ -108,8 +115,16 @@ -- -- Array ranges are converted to char map rangesParser :: Parser ([(Int, Int, Char)], Map Int Text)-rangesParser = do-  n <- P.option (0 :: Int) $ skipTillParser $ do+rangesParser =+  combineRanges <$> P.many' rangesParser'+  where+  combineRanges = List.foldl' combineRange ([], Map.empty)+  combineRange (ranges, rmap) (ranges', rmap') =+    (ranges ++ ranges', Map.union rmap rmap')++rangesParser' :: Parser ([(Int, Int, Char)], Map Int Text)+rangesParser' = do+  n <- skipTillParser $ do     n <- P.decimal     P.skipSpace     void $ P.string "beginbfrange"@@ -153,7 +168,8 @@ parseHex :: Parser ByteString parseHex = do   void $ P.char '<'-  res <- P.takeTill (== '>') >>= fromHex+  -- hex can contain spaces, lets filter them out+  res <- P.takeTill (== '>') >>= fromHex . BS.filter (/= 32)   void $ P.char '>'   return res 
pdf-toolbox-content.cabal view
@@ -1,5 +1,5 @@ name:                pdf-toolbox-content-version:             0.0.4.0+version:             0.0.5.0 synopsis:            A collection of tools for processing PDF files license:             BSD3 license-file:        LICENSE