!S      !"#$%&'()*+,-./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 experimentalportableSafeMSafe(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 document HPDFA length in a PDF document!HPDFAn integer in a PDF document"HPDFAnonymous PDF object#HPDF PDF Objects$HPDF'Create a PDF string from an Haskell one%HPDFAm empty dictionary&HPDFGet the reference valueD'()*+,-./0123456 7!8"9:;#<=>?@ABC$DEFGHIJKLMNO%PQR&S(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNoneM-#TUVWXYZ[\]^_`abcdefghijkl m(c) Daan Leijen 2002 BSD-stylemisc@NOSPAMalpheccar.org provisionalportableNoneF7 nHPDFA map of integers to values aT. The total size of subtrees is tracked by each node. It is needed for the PDF TreeoHPDFaThe key function needed to export a Tree of PDF objects into the format defined by the PDF specpHPDFO(n) . Number of elements in the map.qHPDF O(min(n,W))'. Lookup the value at a key in the map.rHPDF O(n*min(n,W)).. Create a map from a list of key/value pairs.oHPDF Parent refHPDF Node actionHPDF Leaf actionHPDFPDFTreeHPDF+Final action and reference of the root node nsotupqvwr(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNoneD 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 scalingxyz{|}~  (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=?MHPDFA PDF Color space(HPDF A PDF PatternHPDFA PDF ResourceHPDFBAdd a new G State to the G State dictionary for the given resourceHPDF(Convert the resource to a PDf dictionaryHPDFGState dictionaryHPDFGState name must be uniqueHPDFG State contentHPDF Old resourceHPDF New resource'((c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone4>EMXO )*+,-0./123456789-0./12345 )*+,6789(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone =?@AEMSXmy4@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 experimentalportableNoneIHPDFLine 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 experimentalportableNoneHPDF#Fill clipping region with a shadingHPDFShadingHPDFShape to paint@BA@BA (c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNoneHPDFLSplit a sentence into words keeping the space but shortening them to 1 space Safe(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone4EMX(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone4EMXHPDFGlyph name to unicodeHPDF/Glyph name to glyph code if not standard coding     (c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone4>M - - (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 experimentalportableNone$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=?MXΖHPDF 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 memoryHPDFGet the JPEG boundsHPDFUse an abstract description of a Jpeg to return a PDFReference that can be used to manipulate the Jpeg in the context of the PDF documentHPDFReads 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/#dataurlmakerHPDFWidthHPDFHeightHPDF InterpolationHPDFGDecompression filter to be sued by the PDF reader to render the pictureHPDF RGB pixelsHPDFWidthHPDFHeightHPDF InterpolationHPDF5ARGB pixels (A component not used y the PDF document)           (c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone"HPDF!No information for the document #HPDFCreate a PDF XObject$HPDF Add a new page to a PDF document&HPDFDraw on a given page#HPDFLeftHPDFBottomHPDFRightHPDFTopHPDFDrawing commands,HPDF#Page size or default document's oneHPDFReference to the new page$HPDF#Page size or default document's oneHPDFReference to the new page%HPDF#Page size or default document's oneHPDFOptional durationHPDFOptional transitionHPDFReference to the new page&HPDFPageHPDFDrawing commands@GHIJKLMNOPQRSTUVWXYZ[\]^_`abcdgefhijlmnopqrstuwvxy|}~"#$%&@|$%&#xydgefhijrstuwvlmnopq\]^_`abcWXYZ[PQRSTUVGHIJKLMNO"}~(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNoneݣ-HPDF+Get the border shqpe depending on the style5HPDFCreate a new annotation object'()*+,-1./02345+,)*'(-1./02345(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone4>Mߺ -ABCPDEFGHIJKLMNOQR- CPDEFGHIJKLMNOQABR(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone4>MKYHPDFRendering mode for text displaybHPDF+Unscaled unit (not scaled by the font size)cHPDFThe text monad fHPDFSelect a font to usegHPDFDraw a text in the draw monadhHPDF#Set position for the text beginningjHPDFDisplay glyphskHPDF Display textlHPDF3Start a new line (leading value must have been set)mHPDFSet leading valuenHPDFSet the additional char spaceoHPDFSet the additional word spacepHPDFSet scaling factor for textqHPDFChoose the text rendering moderHPDFSet the rise valuesHPDF"Set the text transformation matrixtHPDF4Utility function to quickly display one line of text-)*CPDEFGHIJKLMNOQYZ[\]^_`abcdefghijklmnopqrst-)*CPDEFGHIJKLMNOQYZ[\]^_`acbgtljkhfmnopqrsdei(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone=?EXB~HPDFA box that can be displayedHPDF Draw a boxHPDFFA box is an object with dimensions and used in the typesetting processHPDF Box widthHPDF Box heightHPDF,Distance between box bottom and box baselineHPDF)Distance between box top and box baselineHPDFHStyle 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 valueHPDFThe boxHPDFHorizontal positionHPDF3Vertical position (top of the box and NOT baseline)HPDFBoxHPDFWidth of the boxHPDF The styleHPDFRFunction receiving the bounding rectangle and the command for drawing the sentenceHPDF The styleHPDFWord styling function#/0~.(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@ACXOHPDFParagraph 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 experimentalportableNoner2iHPDF(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 experimentalportableNone=HPDFDefault 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@AEHPDFStandard styles for paragraphsHPDFStandard styles for sentences(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone4=?@ACMKHPDF9A 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}~}~(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone>HPDFThe 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 TOC HPDF+Generate a lazy bytestring for the PDF  HPDFGenerates a PDF documentHPDFCList of objects each object being already converted to a bytestring HPDFDefault size for a pageHPDF PDF action  HPDFName of the PDF documentHPDFDefault size for a pageHPDF PDF action xyz{|}~ !"#'()*+,-0./123456789@BACDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdgefhijklmnopqrstuwvxyz{|}~     "#$%&'()*+,-1./02345ABCPDEFGHIJKLMNOQRYZ[\]^_`abcdefghijklmnopqrst~  k  {z$%&&'()*+,-../0123456789:;<=>?@ABCCDEFGHIJJKKLMNOPQRSTUVWXYZ[\]^_`abcdeffghijklmnopqrstuvwxyzz{|}~                                    !"#$%&'()*+,-./0123 4 5 6 7 899::;;<=>?@ABCDEFGHIJKLMNOPPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                        ""####      !"#$%&'()*+,-./0%"#%1123&'()'456*+,789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghhijkl@mnopqrpqspqtpqupqvpqwpqxpqypqzpq{|}~} M       !"#$%&'()*+,-./0123456789: ; < = > ? @  A B  > 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.0-Ic45lCU9DL9vt986GhNUmGraphics.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.WritingSystem Paths_HPDFGraphics.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.DrawGraphics.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 WritingSystemLatinUnknownWritingSystemmapToSpecialGlyphsversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileNameType1FontStructureAFMData 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 getRgbColormyWords 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