Safe Haskell | Safe-Infered |
---|
- type PageObjects = [(Coordinates, PageObject)]
- data Page = Page {}
- type PageNumbers = (Word32, Word32, Word32, Word32, Word32, Word32, Word32, Word32, Word32, Word32)
- class PageNumberClass t where
- pageNum :: t -> PageNumbers
- data DocStat = DocStat {}
- docStat :: DocStat
- type Coordinates = (Dimen, Dimen)
- data PageObject
- type TextString = [Either Dimen Word32]
- dviUnitsTeX :: Ratio Word32
- withBoxes :: (PageObjects -> PageObjects) -> PageObjects -> PageObjects
- withInnerBoxes :: (PageObjects -> PageObjects) -> PageObjects -> PageObjects
- shiftPage :: Coordinates -> PageObjects -> PageObjects
- unshiftPage :: Coordinates -> PageObjects -> PageObjects
- sortPage :: PageObjects -> PageObjects
- unboxPage :: PageObjects -> PageObjects
- textToChar :: PageObjects -> PageObjects
- openSpecials :: (ByteString -> Bool) -> PageObjects -> PageObjects
- splitSpecials :: (ByteString -> ByteString -> Bool) -> PageObjects -> PageObjects
- closeSpecials :: (ByteString -> Bool) -> PageObjects -> PageObjects
- maybeSpecial :: (Coordinates, PageObject) -> Maybe ByteString
- objWidth :: PageObject -> Dimen
- objHeight :: PageObject -> Dimen
- objDepth :: PageObject -> Dimen
- points :: Ratio Int32 -> Int32
- picas :: Ratio Int32 -> Int32
- centimetres :: Ratio Int32 -> Int32
- millimetres :: Ratio Int32 -> Int32
- bigPoints :: Ratio Int32 -> Int32
- didot :: Ratio Int32 -> Int32
- cicero :: Ratio Int32 -> Int32
- inches :: Ratio Int32 -> Int32
- data Font = Font {
- fontName :: ByteString
- fontChecksum :: Word32
- atSize :: Word32
- designSize :: Word32
- fontDimen :: [Dimen]
- firstChar :: Word8
- leftBoundChar :: [LigKern]
- rightBoundChar :: Maybe Word8
- characters :: [FontChar]
- data FontChar = FontChar {
- charWidth :: Dimen
- charHeight :: Dimen
- charDepth :: Dimen
- charItalCorr :: Dimen
- charLarger :: Maybe Word8
- charLigKern :: [LigKern]
- charExten :: Maybe Extensible
- data LigKern
- data Extensible = Extensible {}
- emptyFont :: Font
- fontEq :: Font -> Font -> Bool
- type FontMag = Either Int Word32
- loadFont :: FontMag -> FilePath -> IO Font
- readFont :: ByteString -> FontMag -> Handle -> IO Font
- getFontChar :: (Integral t, Bits t) => Font -> t -> Maybe FontChar
- findLK :: [LigKern] -> Word8 -> Maybe LigKern
- widestChar :: Font -> Int32
- withDVI :: FilePath -> (Word32 -> ByteString -> IO Font) -> s -> (s -> Page -> IO (Maybe (s, t))) -> IO [t]
- createDVI :: FilePath -> Word32 -> Ratio Word32 -> IO DocStat
- shipOut :: Page -> IO DocStat
- finishDVI :: DocStat -> IO ()
- singlePageDocument :: Node -> FilePath -> IO ()
- data Glue = Glue {}
- data GlueSS = GlueSS {}
- data GlueRank
- data GlueSet = GlueSet (Ratio Dimen) GlueRank GlueSign
- data GlueSign
- = Shrinking
- | Stretching
- spaceGlue :: Font -> Int -> Glue
- fixedGlue :: Dimen -> Glue
- nullGlueSS :: GlueSS
- addGlue :: Glue -> Glue -> Glue
- subtractGlue :: Glue -> Glue -> Glue
- badness :: Dimen -> Glue -> Ratio Integer
- type Dimen = Int32
- type RenderPos = Double
- toRenderPos :: Real x => x -> RenderPos
- calcGlue :: GlueSet -> Glue -> RenderPos
- calcGlueSet :: Dimen -> Glue -> GlueSet
- selectGlueSS :: GlueRank -> GlueSS -> Dimen
- data Node where
- class Typeable x => NodeClass x where
- showNode :: x -> String
- hRender :: x -> Node -> RenderPos -> (PageObjects, RenderPos)
- vRender :: x -> Node -> RenderPos -> (PageObjects, RenderPos)
- hPackNode :: x -> ([Node], Glue, Dimen, Dimen, [Node])
- vPackNode :: x -> ([Node], Glue, Dimen, Dimen)
- nodePenalty :: x -> Maybe Int
- nodeWidth :: x -> Dimen
- nodeHeight :: x -> Dimen
- nodeDepth :: x -> Dimen
- nodeGlueSet :: x -> GlueSet
- isNodeDiscardable :: x -> Bool
- traverseBox :: (Applicative f, Monad f) => (Node -> f Node) -> x -> f Node
- data BoxDirection
- = Horizontal
- | Vertical
- data BoxNode = BoxNode BoxDirection Dimen Dimen Dimen GlueSet [Node]
- data RuleNode = RuleNode (Maybe Dimen) (Maybe Dimen) (Maybe Dimen)
- data KernNode = KernNode Dimen
- data GlueNode = GlueNode Glue
- data SpecialNode = SpecialNode ByteString
- data PenaltyNode = PenaltyNode (Maybe Int)
- data ShiftNode = ShiftNode Dimen Node
- data TextNode = TextNode Font TextString
- wrapNode :: NodeClass x => x -> Node
- castNode :: NodeClass x => Node -> Maybe x
- renderNode :: NodeClass x => x -> PageObjects
- travBoxPure :: NodeClass x => (x -> Node) -> Node -> Node
- travBoxFunc :: (Applicative f, Monad f, NodeClass x) => (x -> f Node) -> Node -> f Node
- typesetSimpleString :: Font -> String -> PageObject
- sumPackage :: [(Glue, Dimen, Dimen)] -> (Glue, Dimen, Dimen)
- hPack :: (Dimen -> Dimen) -> [Node] -> (BoxNode, Glue, [Node])
- vPack :: Bool -> Dimen -> (Dimen -> Dimen) -> [Node] -> (BoxNode, Glue)
- findBreaks :: Bool -> (Node -> (Glue, Maybe Int)) -> [Node] -> [(Int, Glue, Int)]
- vSplit :: Dimen -> [Node] -> (BoxNode, [Node])
- interlineGlue :: Dimen -> Glue -> Node -> [Node] -> [Node]
- typesetCustomString :: CustomStringFn x -> Font -> [x] -> [Node]
- typesetSingleWord :: Font -> String -> Node
- type CustomStringFn x = Font -> x -> (Int, Either Char (Int -> [Node]))
- withFrenchSpacing :: CustomStringFn Char
- data SimpleParagraphSetting = SimpleParagraphSetting {
- spsLeft :: [Node]
- spsRight :: [Node]
- spsInterline :: [Node]
- spsWidth :: Dimen
- spsBackground :: Glue
- simpleParagraphSetting :: SimpleParagraphSetting
- simpleMakeParagraph :: SimpleParagraphSetting -> [Node] -> [Node]
Pages
type PageObjects = [(Coordinates, PageObject)]Source
type PageNumbers = (Word32, Word32, Word32, Word32, Word32, Word32, Word32, Word32, Word32, Word32)Source
class PageNumberClass t whereSource
pageNum :: t -> PageNumbersSource
PageNumberClass Int | |
PageNumberClass Int32 | |
PageNumberClass Integer | |
PageNumberClass Word32 | |
Integral t => PageNumberClass (t, t) | |
Integral t => PageNumberClass (t, t, t) | |
Integral t => PageNumberClass (t, t, t, t) | |
Integral t => PageNumberClass (t, t, t, t, t) | |
Integral t => PageNumberClass (t, t, t, t, t, t) |
type Coordinates = (Dimen, Dimen)Source
data PageObject Source
type TextString = [Either Dimen Word32]Source
withBoxes :: (PageObjects -> PageObjects) -> PageObjects -> PageObjectsSource
withInnerBoxes :: (PageObjects -> PageObjects) -> PageObjects -> PageObjectsSource
shiftPage :: Coordinates -> PageObjects -> PageObjectsSource
openSpecials :: (ByteString -> Bool) -> PageObjects -> PageObjectsSource
splitSpecials :: (ByteString -> ByteString -> Bool) -> PageObjects -> PageObjectsSource
closeSpecials :: (ByteString -> Bool) -> PageObjects -> PageObjectsSource
objWidth :: PageObject -> DimenSource
objHeight :: PageObject -> DimenSource
objDepth :: PageObject -> DimenSource
Units
centimetres :: Ratio Int32 -> Int32Source
millimetres :: Ratio Int32 -> Int32Source
Fonts
Font | |
|
FontChar | |
|
data Extensible Source
widestChar :: Font -> Int32Source
Reading
withDVI :: FilePath -> (Word32 -> ByteString -> IO Font) -> s -> (s -> Page -> IO (Maybe (s, t))) -> IO [t]Source
Writing
Glue
Glue | |
|
subtractGlue :: Glue -> Glue -> GlueSource
toRenderPos :: Real x => x -> RenderPosSource
calcGlueSet :: Dimen -> Glue -> GlueSetSource
selectGlueSS :: GlueRank -> GlueSS -> DimenSource
Typesetting Nodes
class Typeable x => NodeClass x whereSource
hRender :: x -> Node -> RenderPos -> (PageObjects, RenderPos)Source
vRender :: x -> Node -> RenderPos -> (PageObjects, RenderPos)Source
hPackNode :: x -> ([Node], Glue, Dimen, Dimen, [Node])Source
vPackNode :: x -> ([Node], Glue, Dimen, Dimen)Source
nodePenalty :: x -> Maybe IntSource
nodeHeight :: x -> DimenSource
nodeGlueSet :: x -> GlueSetSource
isNodeDiscardable :: x -> BoolSource
traverseBox :: (Applicative f, Monad f) => (Node -> f Node) -> x -> f NodeSource
data BoxDirection Source
data PenaltyNode Source
renderNode :: NodeClass x => x -> PageObjectsSource
travBoxFunc :: (Applicative f, Monad f, NodeClass x) => (x -> f Node) -> Node -> f NodeSource
Typesetting
typesetSimpleString :: Font -> String -> PageObjectSource
typesetCustomString :: CustomStringFn x -> Font -> [x] -> [Node]Source
typesetSingleWord :: Font -> String -> NodeSource
data SimpleParagraphSetting Source
SimpleParagraphSetting | |
|
simpleMakeParagraph :: SimpleParagraphSetting -> [Node] -> [Node]Source