!F      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFG H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j kl m n o p q r s t u v w x y z{| } ~               !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~#(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableSafe   Safe4(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone=?@A  (c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone =>?@AEMX*#HPDF"A monad where paths can be createdHPDFA reference to a PDF objectHPDFA Referenced objectsHPDFA PDF rectangleHPDFA PDFDictionaryHPDF A PDFArrayHPDFA PDFName objectHPDF7 bit encoded ASCII stringHPDF7 bit encoded ASCII stringHPDF,A list of glyph to be used in text operatorsHPDF,A list of glyph to be used in text operatorsHPDFAA PDFString containing a strict bytestring (serialied as UTF16BE)HPDFA real number in a PDF documentHPDFA length in a PDF documentHPDFAn integer in a PDF documentHPDFAnonymous PDF objectHPDF PDF ObjectsHPDF'Create a PDF string from an Haskell oneHPDFAm empty dictionaryHPDFGet the reference valueD !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJK(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNoneM,LMNOPQRSTUVWXYZ[\]^_`abcd e(c) Daan Leijen 2002 BSD-stylemisc@NOSPAMalpheccar.org provisionalportableNoneF6fHPDFA map of integers to values aT. The total size of subtrees is tracked by each node. It is needed for the PDF TreegHPDFaThe key function needed to export a Tree of PDF objects into the format defined by the PDF spechHPDFO(n) . Number of elements in the map.iHPDF O(min(n,W))'. Lookup the value at a key in the map.jHPDF O(n*min(n,W)).. Create a map from a list of key/value pairs.gHPDF Parent refHPDF Node actionHPDF Leaf actionHPDFPDFTreeHPDF+Final action and reference of the root node fkglmhinoj(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNoneDZ HPDF=A transformation matrix. An affine transformation a b c d e f a b 0 c d 0 e f 1 HPDFAngle HPDFAngle in degreesHPDFAngle in radiansHPDFDot product of two points 'dot (x :+ y) (a :+ b) == x * a + y * b' 'dot z w == magnitude z * magnitude w * cos (phase z - phase w)'HPDF(projects the first point onto the secondHPDF projects a point onto the x-axisHPDF projects a point onto the y-axisHPDFIdentity matrixHPDF"Specifies a matrix as three pointsHPDFApplies a matrix to a pointHPDFRotation matrixHPDFETranslation matrix 'transform (translate z) w == z + w' HPDFScaling matrix HPDF X componentHPDF Y componentHPDFtranslation componentHPDFRotation angleHPDFHorizontal scalingHPDFVertical scalingpqrstuvwxy  (c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNoneG!HPDFAction of going to an URL!"##!"(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone=?M{zHPDFA PDF Color space(HPDF A PDF Pattern{HPDFA PDF Resource|HPDFBAdd a new G State to the G State dictionary for the given resource}HPDF(Convert the resource to a PDf dictionary|HPDFGState dictionaryHPDFGState name must be uniqueHPDFG State contentHPDF Old resourceHPDF New resourcez~'({|}(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone4>EMXOo )*+,-0./123456789-0./12345 )*+,6789(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone =?@AEMSXm4@HPDF&A shading GHPDFViewer preferencesIHPDFTo hide the toolbarJHPDFTo hide the menubarKHPDFTo hide the windowLHPDFFit window to screenMHPDFCenter window on screenNHPDFDisplay the docu,ent titleOHPDF.Display mode when exiting the full screen modePHPDFDocument page layoutWHPDFDocument page mode\HPDFDocument metadatadHPDFTransition stylekHPDF The PDF MonadlHPDFDirection of a transitionnHPDF Wipe onlyoHPDF Wipe onlyqHPDF Glitter onlyrHPDFDirection of a transitionuHPDFDimension of a transitionxHPDFA PDF TransitionHPDF PDF PageszHPDFList of all pages{HPDFA PDF Page objectHPDF The PDF stateHPDFSupply of unique identifiersHPDFDictionary of PDF objectsHPDFPagesHPDF Draw commandsHPDFReference to the PDF catalogHPDFDefault page sizeHPDFDocument infosHPDF Root outlineHPDF5Reference to the current page used to create outlinesHPDFWidth and height of xobjectsHPDFUsed to improve the outline APIHPDFThe PDF CatalogHPDF An XObject}HPDF A PDF Xobject which can be drawnHPDFA PDF stream objectHPDFThe drawing monadHPDF A PDF colorHPDFAn empty drawingHPDFis member of the dictionaryHPDFGet a new resource nameHPDFNExecute the drawing commands to get a new state and an uncompressed PDF streamHPDFmDraw in a new drawing context without perturbing the previous context that is restored after the draw HPDF)Set a resource in the resource dictionaryHPDFGet the bounds for an xobjectHPDFGet the bounds for an xobjectHPDFInterpolation functionHPDF=Apply a transformation matrix to the current coordinate frameHPDF Dict nameHPDFResource valueHPDFOld cache valueHPDFNew cache valueHPDF ReferenceHPDF Reference @BACDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdgefhijklmnopqrstuwvxyz{|}~ (c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNonetHPDF Set alpha value for transparencyHPDF Set alpha value for transparencyHPDF Init the PDF color space to RGB.HPDFSelect the filling colorHPDFSelect the drawing colorHPDF Filling colorHPDF Drawing color (c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNoneHPDFLine join stylesHPDFLine cap stylesHPDF Set pen widthHPDF Set pen widthHPDF Set line capHPDF Set line joinHPDFSet the dash patternHPDFNo dash patternHPDFBegin a new path at a positionHPDFClose current path HPDFAppend a cubic Bezier curve to the current path. The curve extends from the current point to the point (x3 , y3), using (x1 , y1 ) and (x2, y2) as the Bezier control pointsHPDF2Move pen to a given point without drawing anythingHPDF=Draw a line from current point to the one specified by linetoHPDF`Approximate a circular arc by one cubic bezier curve. larger arc angles mean larger distortionsHPDFAdd a polygon to current pathHPDFDraw current pathHPDFFill current pathHPDFFill current pathHPDFSet clipping pathHPDFSet clipping pathHPDF%Fill current path using even odd ruleHPDF%Fill current path using even odd ruleHPDF Extent of arcHPDF Center of arc55(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNoneCHPDF#Fill clipping region with a shadingHPDFShadingHPDFShape to paint@BA@BA (c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone4HPDFLSplit a sentence into words keeping the space but shortening them to 1 spaceSafe(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone4EMXR(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone4EMXkHPDFGlyph name to unicodeHPDF/Glyph name to glyph code if not standard coding      (c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone4>Mw - - (c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNoneHPDFSet page annotationsHPDFSet page resourceHPDF%Create a new empty content for a pageHPDFReturns a new unique identifierHPDFJAdd an object to the PDF object dictionary and return a PDF reference HPDF)Update a referenced object with a new oneHPDF#Record the page in the page catalogHPDFFind a page in the catalogHPDFAdd a node PDFTree objectHPDF'Add a page to the PDG object dictionaryHPDF*Add all pages to the PDF object dictionaryHPDFEmpty page catalogHPDF"Reference to the last created pageHPDFRecord bound of an xobjectHPDFCreate an embedded fontHPDFCreate a type 1 font HPDFList of drawing commandsHPDFReference to the drawingHPDFReference to the initial objectHPDF New valueHPDFReference to the pageHPDF Page contentHPDFPages n the documentsHPDFReference to the pageHPDFPages in the documentHPDFPage content if foundHPDF Parent nodeHPDF Left treeHPDF Right treeHPDFAPDF reference to the new node pointing to the left and right onesHPDFPage parent if anyHPDFPage referenceHPDF Page dataHPDFReference to a PDFPages objectsHPDF ReferenceHPDFWidthHPDFHeight !"(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNoneHPDF Tiling typeHPDFCreate a colored tiling patternHPDF"Create an uncolored tiling pattern#HPDFCreate a PDF tiling patternHPDFSet the fill patternHPDFSet the stroke patternHPDFSet the fill patternHPDFSet the stroke patternHPDFLeftHPDFBottomHPDFRightHPDFTopHPDFHorizontal stepHPDF Vertical stepHPDFDrawing commandsHPDFLeftHPDFBottomHPDFRightHPDFTopHPDFHorizontal stepHPDF Vertical stepHPDFDrawing commands#HPDFLeftHPDFBottomHPDFRightHPDFTopHPDFHorizontal stepHPDF Vertical stepHPDFDrawing commands '( '((c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNoneL$HPDF5True if we are adding the first outline to this level%HPDFStart a new outline level &HPDF,We remember there are outlines at this level'HPDFClose an outline levelHPDF>Create a new outline section pointing to the last created pageHPDF5Create a new outline section pointing to a given pageHPDF Outline titleHPDF Outline colorHPDF Outline styleHPDF Outline titleHPDF Outline colorHPDF Outline styleHPDFPage reference(HPDF Outline titleHPDF Outline colorHPDF Outline style)HPDF Outline titleHPDF Outline colorHPDF Outline style*HPDF Outline titleHPDF Outline colorHPDF Outline styleCDEFCDEF(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone=?MXHPDF A raw imageHPDFA Jpeg PDF object+HPDFFile analyzer monadHPDFA Jpeg file HPDFRead a JPEG file and return an abstract description of its content or an error The read is not lazy. The whole image will be loaded into memory HPDFGet the JPEG bounds HPDFUse an abstract description of a Jpeg to return a PDFReference that can be used to manipulate the Jpeg in the context of the PDF document HPDFReads a data URL string, and returns a JpegFile. The incoming string must be a correctly formatted data URL for a JPEG. You can convert jpeg files to data URLs at the following web site: http://dataurl.net/#dataurlmaker HPDFWidthHPDFHeightHPDF InterpolationHPDFGDecompression filter to be sued by the PDF reader to render the pictureHPDF RGB pixels HPDFWidthHPDFHeightHPDF InterpolationHPDF5ARGB pixels (A component not used y the PDF document)          (c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNoneEHPDF!No information for the document HPDFCreate a PDF XObjectHPDF Add a new page to a PDF documentHPDFDraw on a given pageHPDFLeftHPDFBottomHPDFRightHPDFTopHPDFDrawing commands,HPDF#Page size or default document's oneHPDFReference to the new pageHPDF#Page size or default document's oneHPDFReference to the new pageHPDF#Page size or default document's oneHPDFOptional durationHPDFOptional transitionHPDFReference to the new pageHPDFPageHPDFDrawing commands@GHIJKLMNOPQRSTUVWXYZ[\]^_`abcdgefhijlmnopqrstuwvxy|}~@|xydgefhijrstuwvlmnopq\]^_`abcWXYZ[PQRSTUVGHIJKLMNO}~(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone-HPDF+Get the border shqpe depending on the style-HPDFCreate a new annotation object !"#$%)&'(*+,-#$!" %)&'(*+,-(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone4>M3 -9:;H<=>?@ABCDEFGIJ- ;H<=>?@ABCDEFGI9:J(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone4>MQHPDFRendering mode for text displayZHPDF+Unscaled unit (not scaled by the font size)[HPDFThe text monad ^HPDFSelect a font to use_HPDFDraw a text in the draw monad`HPDF#Set position for the text beginningbHPDFDisplay glyphscHPDF Display textdHPDF3Start a new line (leading value must have been set)eHPDFSet leading valuefHPDFSet the additional char spacegHPDFSet the additional word spacehHPDFSet scaling factor for textiHPDFChoose the text rendering modejHPDFSet the rise valuekHPDF"Set the text transformation matrixlHPDF4Utility function to quickly display one line of text-)*;H<=>?@ABCDEFGIQRSTUVWXYZ[\]^_`abcdefghijkl-)*;H<=>?@ABCDEFGIQRSTUVWXY[Z_ldbc`^efghijk\]a(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone=?EXvHPDFA box that can be displayedwHPDF Draw a boxxHPDFFA box is an object with dimensions and used in the typesetting processyHPDF Box widthzHPDF Box height{HPDF,Distance between box bottom and box baseline|HPDF)Distance between box top and box baseline}HPDFHStyle of text (sentences and words). Minimum definition textStyle ~HPDFPModify the look of a sentence (sequence of words using the same style on a line)HPDF2A style may contain data changed from word to wordHPDF&A style may change the height of words EDefault implementation styleHeight = getHeight . textFont . textStyleHPDF'A style may change the descent of lines GDefault implementation styleDescent = getDescent . textFont . textStyleHPDFEUsed to compare two style without taking into account the style stateHPDFfWhat kind of style drawing function is required for a word when word styling is enabled HPDFMust style a wordHPDFMust style a glueHPDF Text style used by PDF operatorsHPDFVScaling factor for normal space size (scale also the dilation and compression factors)HPDF"Scale the dilation factor of gluesHPDF%Scale the compression factor of gluesHPDF.Dimension of a box : width, height and descent.HPDFA box containing a Draw valueHPDF8Make a drawing box. A box object containing a Draw valuewHPDFThe boxHPDFHorizontal positionHPDF3Vertical position (top of the box and NOT baseline)yHPDFBoxHPDFWidth of the box~HPDF The styleHPDFRFunction receiving the bounding rectangle and the command for drawing the sentenceHPDF The styleHPDFWord styling function#/0vwxyz{|}~.(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone%=?@AC0!1HPDFBreaking algorithm settings 2HPDFDefault value 1003HPDFDefault value 1004HPDFDefault value 505HPDFDefault value 10006HPDFDefault value 10007HPDFDefault value 108HPDFDefault value falseHPDFA letter which can be anything. Sizes are widths and for glue the dilation and compression factors For the generic letter, height and descent are also providedHPDFAny box as a letterHPDF<A glue with style to know if it is part of the same sentenceHPDF Hyphen pointHPDFPenaltyHPDFA glyphHPDF-A kern : non dilatable and non breakable glueHPDFMake a letter from any box9HPDF Compute glue width with dilation:HPDFWe create a new breakpoint but we get the cumulated dimensions only at the next box following the break since glues and penalties are removed at the beginning of a line;HPDF)Get cumulated dimension for following box<HPDFCheck is a break point is possible otherwise, if none is possible and there is only one remaining active point, we force a breakpoint=HPDFCreate an hyphen box>HPDFValue modeling infinity ?HPDFAdd a glue to the stream@HPDFReturn the standard space widthAHPDF<How much dilatation is allowed compred to the space width BHPDF=How much dilatation is allowed compared to the space width CHPDF=How much dilatation is allowed compared to the space width DHPDFAdd a glue to the streamEHPDFWhen a paragraph is full and we start a new one we must clean the beginning paragraph and remove what has been left by the broken spaceFHPDFAdd a penalty to the streamGHPDFCreate a box containing textHHPDF3split a line into boxes and add hyphen where neededIHPDFCreate an hyphen penalty HPDFDimension of the boxHPDF!Text style of the box (can use t)HPDFBoxJHPDFletterHPDFAdjustement ratioHPDFWidthKHPDFMaxwHPDF Current wHPDFyHPDFzHPDFDilatation ratioLHPDF adjust ratioHPDFFlag for previousHPDFFlag for currentHPDFDemerit for the breakpointMHPDF Second passHPDFCurrent analyzed boxHPDFResult<HPDFOld rHPDFCurrentHPDFActives?HPDF Glue widthHPDFGlue dilatationHPDFGlue compression@HPDF The styleDHPDFParagraph settingsHPDF The styleFHPDF Penalty valueGHPDF Char styleHPDF Char widthNHPDFSpecial meaning glyphHPDF8List of chars and char width taking into account kerningIHPDFStyle of future hyphenHPDFSize of hyphen taking into account the kerning that was perturbed by the hyphen introduction. The char before the hyphen is now bigger.1O2345678PQRST9KUVW>X?@ABCDEFGHIY (c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone@ACWHPDFParagraph styleHPDF"Width of the line of the paragraphHPDF_Horizontal shift of the line position relatively to the left egde of the paragraph bounding boxHPDFTHow to style the interline glues added in a paragraph by the line breaking algorithmHPDFiChange the content of a paragraph before the line breaking algorithm is run. It may also change the styleHPDFYGet the paragraph bounding box and the paragraph draw command to apply additional effectsHPDFContainer for vboxes (x,y,width,maxheight,height,currenty,current z, tolerance para) tolerance para means a paragraph is not started if too close from the bottom edge of the boxHPDFDefault value (12,0.17,0.0)HPDFDefault value (3.0,0.33,0.0)HPDFDefault value 2HPDFOCreate a empty container to constraint the amount of line that can be displayedHPDFGet the width of the containerZHPDFGet the width of the containerHPDFGet the height of the containerHPDF?Get the current height of the container without glue dilatationHPDF<Get the content height of the container with glue dilatationHPDF4Get the minimum left border of the container contentHPDFoGet the maximum right border of the container content (maybe bigger than container width due to overfull lines)HPDFContainer horizontal positionHPDFContainer vertical positionHPDFMReturn the rectangle containing the text after formatting and glue dilatation[HPDF-Get the required style for the interline glue\HPDFInterline glue required]HPDF@Get the delta used to position a box with non rectangular shapes^HPDFStroke the VBoxesHPDF The styleHPDF8Width of the text area used by the typesetting algorithmHPDF Line numberHPDF Line widthHPDF The style HPDF8Width of the text area used by the typesetting algorithmHPDF Line number HPDF5Horizontal offset from the left edge of the text areaHPDF The style HPDF&Function used to style interline gluesHPDF The styleHPDF=Line offset different from 0 when a paragraph has been brokenHPDF List of letters in the paragraphHPDF Update style and list of lettersHPDF The style HPDF"Function used to style a paragraph_HPDF Glue heightHPDFGlue dilatation factorHPDFGlue compression factorHPDF Glue widthHPDF Glue deltaHPDFxHPDFyHPDFwidthHPDFheightHPDFPargraph toleranceHPDF New container^HPDF List of boxesHPDFX posHPDFY pos$`abcdef_Zgh^!(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNoneqiHPDF(Send PDF commands needed to start a textjHPDFContinue adding textkHPDF Stop the textlHPDFOne block of textmHPDFAn horizontal Hbox (sentence or word) The width of the glue was computed with the adjustement ratio of the HLine containing the glue The width of the text is already taking into account the adjustement ratio of the HLine containing the Text Otherwise, HBox cannot dilate or compress. nHPDF>Current word (created from letter) is converted to a PDFStringoHPDFhorizontalPostProcesspHPDF!Change the style of the box qHPDFA line of hboxes with an adjustement ratio required to display the text (generate the PDF command to increase space size) data HLine = HLine !PDFFloat ![HBox] deriving(Show)rHPDFCreate an HBox sHPDF2Draw a line of words and glue using the word styletHPDF9Draw a line of words, glue, or any box without word styleuHPDF1Draw only words and glues using PDF text commandsvHPDF^Draw the additional displacement required for a space in a text due to the dilaton of the gluewHPDFAdjustement ratioHPDF Current wordHPDFList of lettersHPDFList of words or sentencesoHPDF4adjust ratio, hyphen style, list of letters or boxesHPDF List of linesqHPDFAdjustement ratiorHPDFStyleHPDFList of glyphsHPDFWidthxHPDF;Height of the total line first time this function is calledHPDF<Descent of the total line first time this function is calledHPDFRemaining box to displayHPDFx for the remaining boxesHPDFy for the whole linemyz{|oq"(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNoneHPDFDefault vertical state WDefault values baselineskip = (12,0.17,0.0) lineskip = (3.0,0.33,0.0) lineskiplimit = 2}HPDFPair of functions describing the shape of a text areas : horizontal position of each line, vertical top of the area, width of each line First line is 1A line of hboxes with an adjustement ratio required to display the text (generate the PDF command to increase space size) data HLine = HLine !PDFFloat ![HBox] deriving(Show)~HPDF1Create a new paragraph from the remaining lettersHPDF"Add paragraph lines to a containerHPDFFill a container with linesHPDFConvert pure lines to VBoxes}HPDFAdjustement ratioHPDF ContainerHPDF ContainerHPDF"Vertical style for interline gluesHPDF ContainerHPDF VBox to addHPDFOComponent to draw, new container and remaining VBoxes due to overfull containerHPDF Max widthHPDF List of linesHPDF Line numberHPDFList of VBoxescdef_}#(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone@AHPDFStandard styles for paragraphsHPDFStandard styles for sentences(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone4=?@ACMHPDF9A MonadStyle where some typesetting operators can be usedHPDFSet the current text styleHPDFGet the current text styleHPDFoAdd a box using the current mode (horizontal or vertical. The current style is always applied to the added box)HPDF"Add a glue using the current styleHPDF3Add a glue with no style (it is just a translation)HPDFDisplay a formatted text in a given bounding rectangle with a given default paragraph style, a given default text style. No clipping is taking place. Drawing stop when the last line is crossing the bounding rectangle in vertical directionHPDF$Return the list of Vboxes for a textHPDF Add a penaltyHPDF+For a newline and end the current paragraphHPDF>End the current paragraph with or without using the same styleHPDF9Run a paragraph. Style changes are local to the paragraphHPDF1Get the current writing system for the paragraph HPDFGet the current paragraph styleHPDF"Change the current paragraph styleHPDFAdd a letter to the paragraphHPDFAdd a new paragraph to the textHPDFIAdd a null char nullChar :: Para () nullChar = Para . tell $ [nullLetter]Add a text lineHPDF\add a kern (space that can be dilated or compressed and on which no line breaking can occur)HPDF9Draw a text box with relative position. Useful for labelsHPDFWidthHPDFHeightHPDFDescentHPDF4Size of glue (width or height depending on the mode)HPDFDilatation factorHPDFCompression factorHPDF5Size of glue (width or height depending on the mode) HPDFDilatation factor HPDFCompression factor HPDF Text areaHPDFdefault vertical styleHPDFDefault horizontal styleHPDFTypesetting monadHPDF Draw monadHPDFdefault vertical styleHPDFDefault horizontal styleHPDFTypesetting monadHPDF List of boxesHPDFNTrue if we use the same style to end a paragraph. false for an invisible styleHPDF!Centered, left or fully justifiedHPDFxHPDFyHPDF width limitHPDF height limitHPDFdefault vertical styleHPDFDefault horizontal styleHPDFTypesetting monad}vwxyz{|}~}xyz{|vw}~(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone>FHPDFThe PDFTrailerHPDFaCreate a new PDF document and return a first page The page is using the document size by defaultHPDF<Save all the pages and streams in the main object dictionaryHPDFWrite PDF objects in the TOCHPDF+Generate a lazy bytestring for the PDF HPDFGenerates a PDF documentHPDFCList of objects each object being already converted to a bytestringHPDFDefault size for a pageHPDF PDF action HPDFName of the PDF documentHPDFDefault size for a pageHPDF PDF action pqrstuvwxy !"#'()*+,-0./123456789@BACDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdgefhijklmnopqrstuwvxyz{|}~      !"#$%)&'(*+,-9:;H<=>?@ABCDEFGIJQRSTUVWXYZ[\]^_`abcdefghijklvwxyz{|}~ k{z$%&&'()*+,-../0123456789:;<=>?@ABCCDEFGHIJJKKLMNOPQRSTUVWXYZ[\]^_`abcdeffghijklmnopqrstuvwxyzz{|}~                                         !"#$%&'()*+ , - . / 0112233456789:;<=>?@ABCDEFGHHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                        ""####      !"#$%&'(%))*+ !',-."#$/0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_``abcd8efghijhikhilhimhinhiohiphiqhirhistuvwxyuz{|}~~ M       !"#$%&'()*+,-./0123456789: ; < = > ? @  A B  6 C D E F!G!H!I!J!K!L!M!N!O!P!Q!R!S!T!U!V!W!K!X!Y"Z"["\"]"^_`abcdef!HPDF-1.5.1-AdtZRh3axMwEz6Np52a6OMGraphics.PDF.Fonts.Font Graphics.PDFGraphics.PDF.AnnotationGraphics.PDF.CoordinatesGraphics.PDF.ActionGraphics.PDF.PatternGraphics.PDF.ShadingGraphics.PDF.NavigationGraphics.PDF.DocumentGraphics.PDF.ColorsGraphics.PDF.Shapes&Graphics.PDF.Typesetting.WritingSystemGraphics.PDF.Fonts.Type1Graphics.PDF.ImageGraphics.PDF.Fonts.StandardFontGraphics.PDF.TextGraphics.PDF.TypesettingGraphics.PDF.Data.TrieGraphics.PDF.Documentation Graphics.PDF.LowLevel.SerializerGraphics.PDF.LowLevel.TypesGraphics.PDF.Fonts.FontTypesGraphics.PDF.Data.PDFTreeGraphics.PDF.ResourcesGraphics.PDF.Draw Paths_HPDFGraphics.PDF.Fonts.EncodingGraphics.PDF.Fonts.AFMParserGraphics.PDF.PagesGraphics.PDF.Typesetting.Box!Graphics.PDF.Typesetting.BreakingGraphics.PDF.Typesetting.Layout#Graphics.PDF.Typesetting.Horizontal!Graphics.PDF.Typesetting.Vertical&Graphics.PDF.Typesetting.StandardStyle EmbeddedFont PDFReferencePDFRect PDFStringPDFFloat toAsciiStringFontData FontStructure GlyphSizeFontSizeMatrixPointAngleDegreeRadiantoRadiandotscalePtprojectprojectXprojectYidentity pointMatrix transformrotate translatespiralscale $fNumMatrix $fEqMatrix $fShowMatrixGoToURLAction$fPdfLengthInfoGoToURL$fActionGoToURL$fPdfObjectGoToURLPDFColoredPatternPDFUncoloredPatternPDFFontAnyFontIsFontname getDescent getHeightgetKern glyphWidth hyphenGlyph spaceGlyph charGlyphemptyFontStructurefontSizetrueSize readFontData $fOrdAnyFont $fEqAnyFont$fIsFontAnyFont$fPdfResourceObjectAnyFont $fOrdPDFFont $fEqPDFFont PDFShading AxialShading RadialShading OutlineStyle NormalOutline ItalicOutline BoldOutlinePDFViewerPreferences hideToolbar hideMenuBar hideWindowUI fitWindow centerWindowdisplayDoctitlenonFullScreenPageModePDFDocumentPageLayout SinglePage OneColumn TwoColumnLeftTwoColumnRight TwoPageLeft TwoPageRightPDFDocumentPageModeUseNone UseOutlines UseThumbs FullScreenPDFDocumentInfoauthorsubjectpageMode pageLayoutviewerPreferences compressed PDFTransStyleSplitBlindsBoxWipeDissolveGlitterPDFPDFTransDirection2 LeftToRight BottomToTop RightToLeft TopToBottomTopLeftToBottomRightPDFTransDirectionInwardOutwardPDFTransDimension HorizontalVertical PDFTransitionPagesPDFPagePDFXForm PDFXObject drawXObjectDraw PDFGlobalsboundsColorRgbHsv emptyDrawingwithNewContexthsvToRgb applyMatrixblackwhiteredgreenbluesetStrokeAlpha setFillAlphasetRGBColorSpace fillColor strokeColor DashPattern JoinStyle MiterJoin RoundJoin BevelJoinCapStyleButtCapRoundCap SquareCapPolygonCircleRoundRectangleEllipseArc RectangleLineShapeaddShapestrokefill fillAndStrokefillEOfillAndStrokeEOsetWidth setMiterLimit setLineCap setLineJoinsetDash setNoDash beginPath closePathaddBezierCubicmovetolinetocurvetoarcto addLineToPathaddPolygonToPath strokePathfillPathfillAndStrokePathsetAsClipPathEO setAsClipPath fillPathEOfillAndStrokePathEO $fShapeLine$fShapeRectangle $fShapeArc$fShapeEllipse$fShapeRoundRectangle $fShapeCircle$fShapePolygon$fEqLine $fEqRectangle$fEqArc $fEqEllipse$fEqRoundRectangle $fEqCircle $fEqCapStyle$fEnumCapStyle $fEqJoinStyle$fEnumJoinStyle$fEqDashPattern applyShadingpaintWithShading WritingSystemLatinUnknownWritingSystemmapToSpecialGlyphsType1FontStructureAFMData Type1Font getAfmDatamkType1FontStructure$fPdfResourceObjectType1Font$fIsFontType1FontstandardViewerPrefs readType1Font mkType1Font TilingTypeConstantSpacing NoDistortionConstantSpacingAndFastercreateColoredTilingcreateUncoloredTilingsetColoredFillPatternsetColoredStrokePatternsetUncoloredFillPatternsetUncoloredStrokePattern $fEqPaintType$fEnumPaintType$fEqTilingType$fEnumTilingType newSectionnewSectionWithPageRawImagePDFJpeg PDFFilterASCIIHexDecode ASCII85Decode LZWDecode FlateDecodeRunLengthDecodeCCITTFaxDecode DCTDecodeNoFilterJpegFile readJpegFile jpegBounds createPDFJpegcreatePDFRawImageFromByteStringcreatePDFRawImageFromARGBreadJpegDataURL$fPdfResourceObjectPDFReference$fPdfLengthInfoPDFJpeg$fPdfObjectPDFJpeg$fPDFXObjectPDFJpeg $fPdfResourceObjectPDFReference0$fPdfLengthInfoRawImage$fPdfObjectRawImage$fPDFXObjectRawImage $fMonadFA$fApplicativeFA$fMonadErrorFA $fFunctorFAstandardDocInfocreatePDFXFormaddPageaddPageWithTransition drawWithPagePDFLinkURLLinkTextAnnotationTextIconNote Paragraph NewParagraphKeyCommentHelpInsert newAnnotation $fAnnotationObjectTextAnnotation$fPdfLengthInfoTextAnnotation$fPdfObjectTextAnnotation$fAnnotationObjectURLLink$fPdfLengthInfoURLLink$fPdfObjectURLLink$fAnnotationObjectPDFLink$fPdfLengthInfoPDFLink$fPdfObjectPDFLink $fEqTextIcon$fShowTextIconStdFontFontName HelveticaHelvetica_BoldHelvetica_ObliqueHelvetica_BoldOblique Times_Roman Times_Bold Times_ItalicTimes_BoldItalicCourier Courier_BoldCourier_ObliqueCourier_BoldObliqueSymbol ZapfDingbats mkStdFont$fShowFontName$fIsFontStdFont$fPdfResourceObjectStdFont $fEqFontName $fOrdFontName$fEnumFontNameTextModeFillText StrokeTextFillAndStrokeText InvisibleTextFillTextAndAddToClipStrokeTextAndAddToClipFillAndStrokeTextAndAddToClip AddToClip UnscaledUnitPDFText textWidthpdfGlyphsetFontdrawText textStartglyph displayGlyphs displayText startNewLineleading charSpace wordSpace textScale renderModerise setTextMatrixtext$fMonadPathPDFText$fMonadPDFText$fApplicativePDFText$fFunctorPDFText$fMonadWriterPDFText$fMonadStatePDFText $fEqTextMode $fOrdTextMode$fEnumTextModeDisplayableBox strokeBoxboxWidth boxHeight boxDescent boxAscentStyle sentenceStyle wordStyle textStyle updateStyle styleHeight styleDescentComparableStyle isSameStyleAs StyleFunctionDrawWordDrawGlue TextStyletextFonttextStrokeColor textFillColortextModepenWidth scaleSpacescaleDilatationscaleCompression BoxDimension mkDrawBox styleFontLetterGlueFlaggedPenaltyPenaltyAGlyphKern JustificationFullJustificationCenteredLeftJustificationRightJustificationmkLetterParagraphStyle lineWidth linePosition interlineparagraphChangeparagraphStyle ContainerVBoxVerState baselineskiplineskip lineskiplimitcurrentParagraphStyle mkContainercontainerWidthcontainerHeightcontainerCurrentHeightcontainerContentHeightcontainerContentLeftBordercontainerContentRightBorder containerX containerYcontainerContentRectangledefaultVerState fillContainerStandardParagraphStyleNormalParagraph StandardStyleFont OrientationEWNSNENWSESW MonadStylesetStyle currentStyleaddBoxglue unstyledGlueParaTMdisplayFormattedTextgetBoxes addPenalty forceNewLineendPara startParagetWritingSystemsetWritingSystem getParaStyle setParaStyle paragraphtxtkernsetBaseLineSkipgetBaseLineSkipsetLineSkipLimitgetLineSkipLimit setLineSkip getLineSkipsetFirstPassTolerancegetFirstPassTolerancesetSecondPassTolerancegetSecondPassTolerancesetHyphenPenaltyValuegetHyphenPenaltyValuesetFitnessDemeritgetFitnessDemeritsetHyphenDemeritgetHyphenDemeritsetLinePenaltygetLinePenaltysetJustification drawTextBox$fMonadStylesPara$fMonadStylesTM $fMonadTM$fApplicativeTM$fMonadWriterTM$fMonadStateTM $fFunctorTM $fMonadPara$fApplicativePara$fMonadWriterPara$fMonadReaderPara$fMonadStatePara $fFunctorPara$fEqOrientation$fShowOrientation pdfByteStringrunPdf$fPdfLengthInfoPDFTrailer$fPdfObjectPDFTrailer MapStringTrie EmptyTriefromListlookupinsertSerializeValuecons serialize MonadPathPDFReferencedObject PDFDictionaryPDFArrayPDFNameEscapedAsciiString AsciiStringEscapedPDFGlyphPDFGlyph PDFLength PDFInteger AnyPdfObject PdfObject toPDFStringemptyDictionaryreferenceValue GlyphCode HasHexaStream toHexaStream MaybeLength KnownLength UnknownLength PdfLengthInfo pdfLengthInfotoPDF SpecialChar NormalSpace BiggerSpaceBreakingHyphen NormalChar escapeTextescapeByteString toPDFGlyphlparenrparenlbracketrbracketbspacebltbgtnewline noPdfObjectespacePDFGlyphespaceAsciiStringisEmptyDictionaryinsertInPdfDict pdfDictUnion modifyStrict Type1DataFSspacebaseFontdescentascentheight widthData kernMetricshyphenencodingfontBBox italicAngle capHeight fixedPitchserifsymbolicscript nonSymbolicitalicallCapsmallCap forceBold GlyphPairmkFlagsPDFTreefold2sizeisLeafkeyOfemptybase Data.Complexphase magnitudepolarcismkPolar conjugateimagPartrealPartComplex:+ PDFColorSpace PDFResource addResourceresourceToDict PatternRGB AnyPdfPatternprocSet resourcesPdfResourceObjecttoRsrc FillAlpha StrokeAlpha emptyRsrc emptyResourcePDFPagesPdfState supplySrcobjectspagesstreamscatalog defaultRectdocInfooutline currentPage xobjectBound firstOutline PDFCatalog AnyPdfXForm PDFStream pdfDictMember supplyName runDrawing setResourcegetBoundInDraw getBoundInPDF interpole OutlineLoc OutlineCtxTopChildleftsrightsvalueparentTreeNodeOutline OutlineData DestinationPDFOutlineEntry PDFOutlineunPDFprivateDrawXObject DrawTuple penPositionDrawEnvironmentstreamId xobjectBoundD DrawState supplyNamesrsrc strokeAlphas fillAlphastheFontsxobjects otherRsrcsannotspatterns colorSpacesshadingsmatrix AnyAnnotationAnnotationObject addAnnotationannotationTypeannotationContentannotationRectannotationToGlobalCoordinatesAnnotationStyleemptyEnvironment readDrawST writeDrawST modifyDrawSTemptyDrawStatemultiplyCurrentMatrixWith currentMatrix getRgbColormyWordsversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName EncodingsAdobeStandardEncodingZapfDingbatsEncodingPostscriptNameparseMacEncoding getEncodinggetFontAFMFontmetricsunderlinePositionunderlineThickness afmAscent afmDescentkernData type1BaseFontencodingScheme afmItalic afmCapHeightafmBBox afmFixedPitch afmSymbolicKXEncodingSchemeAFMAdobeStandardEncodingAFMFontSpecificAFMUnsupportedEncodingMetriccharCode metricWidth parseFontsetPageAnnotationssetPageResource createContentsupply addObject updateObject recordPagefindPagenodePageleafPageaddPagesnoPagesgetCurrentPage recordBoundcreateEmbeddedFont insertRight insertDownup addOutlinescreateTilingPatternisFirststartNew addedOutlinecloseNewnewSectionPrivate newSiblingnewChildFAcreateANewPage getBorderDrawBoxAnyBoxBRStatefirstPassTolerancesecondPassTolerancehyphenPenaltyValuefitness_demeritflagged_demerit line_penaltycenteredglueSizecreateBreaknodegetDimupdateWithNewRIfNoSolution hyphenBoxinfinityglueBox spaceWidthcenteredDilatationFactorleftDilatationFactorrightDilatationFactor spaceGlueBoxsimplifypenalty createGlyph splitText hyphenPenalty letterWidthdilatationRatiocomputeDemeritisFeasibleBreakpointripText writingSystem MaybeGlueglueYglueZglueSizeWithRatiobadnessdefaultBreakingSettings formatListbigAdjustRatiokernBoxcontainerParaTolerancegetInterlineStyle interlineGlue getBoxDelta strokeVBoxesvglueHeightWidthVGlueSomeVBoxaddTo isOverfull StartText ContinueTextStopTextOneBlockHBoxsaveCurrentwordhorizontalPostProcess withNewStylemkHboxWithRatio createText drawTextLine drawWords drawPureWords drawTextGlue createWordsdrawLineOfHboxesTextHGlueSomeHBoxmkVboxWithRatio createPara addParaLinetoVBoxes drawContainerendFullyJustifiedrunPara addLetter PDFTrailer createPDF saveObjectswriteObjectsAndCreateToc