!"#$%&'()*+,-./0123456789:;<= > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` ab c d e f g h i j k l m n o pqr s t u v w x y z { | } ~         !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{ | } ~   Safe-Inferred(c) 2006-2012, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportable Safe-Inferred(c) 2006-2012, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportable Safe-Inferred Hyphenation databases(Create a custom language for hyphenation(Is it a char used in hyphenation patternGet numerical value for a char6Convert a char from an hyphenation pattern to a number"Remove 0 contained between numbers;Split a patterns into a list of numbers 9Convert a pattern into a list of number and a normal word%Remove hyphens from an excepyion wordGet exception points ExceptionsPatterns (c) 2006-2012, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportable Safe-InferredList of exceptionList of hyphenation patterns Safe-Inferred(c) 2006-2012, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone 246(c) 2006-2012, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone2346:BM"A monad where paths can be createdA reference to a PDF objectA Referenced objectsA PDF rectangleA PDFDictionary A PDFArrayA PDFName object *A PDFString containing a strict bytestring A real number in a PDF documentA length in a PDF documentAn integer in a PDF documentAnonymous PDF object PDF Objects 'Create a PDF string from an Haskell one2Escape PDF characters which have a special meaningAm empty dictionaryGet the reference valueS   0   F   (c) 2006-2012, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone24<A PDF Color space  A PDF PatternA PDF ResourceBAdd a new G State to the G State dictionary for the given resource(Convert the resource to a PDf dictionary7 GState dictionaryGState name must be uniqueG State content Old resource New resource     $  !      (c) Daan Leijen 2002 BSD-stylemisc@NOSPAMalpheccar.org provisionalportableNone;A map of integers to values aT. The total size of subtrees is tracked by each node. It is needed for the PDF TreeaThe key function needed to export a Tree of PDF objects into the format defined by the PDF specO(n) . Number of elements in the map. O(min(n,W))'. Lookup the value at a key in the map. O(n*min(n,W)).. Create a map from a list of key/value pairs. !"#$%&'( Parent ref Node action Leaf actionPDFTree+Final action and reference of the root node)*+,-./012345678 #)*.7"! #$%&'()*+,-./012345678(c) 2006-2012, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportable Safe-Inferred9#Get the hyphen positions for a word:*Get the hyphen positions from the patternsHyphenate a string;<=9:1Hyphenation database to use to hyphenate the wordWord to hyphenate;<=9:(c) 2006-2012, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone Action of going to an URL !">?@ !"" ! !">?@(c) 2006-2012, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone#=A transformation matrix. An affine transformation a b c d e f a b 0 c d 0 e f 1 &Angle 'Angle in radians(Angle in degrees*Dot 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)',(projects the first point onto the second- projects a point onto the x-axis. projects a point onto the y-axis/Identity matrix0"Specifies a matrix as three points1Applies a matrix to a point2Rotation matrix3ETranslation matrix 'transform (translate z) w == z + w' 5Scaling matrix #$%&'()*+,-./0 X component Y componenttranslation component12Rotation angle345Horizontal scalingHorizontal scalingABCDEFGHIJK#$%&'()*+,-./012345&('%#$)*+,-.01/2354#$%&(')*+,-./012345A(c) 2006-2012, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone 246:<BHM46&A shading =Viewer preferences?To hide the toolbar@To hide the menubarATo hide the windowBFit window to screenCCenter window on screenDDisplay the docu,ent titleE.Display mode when exiting the full screen modeFDocument page layoutMDocument page modeRDocument metadataZTransition stylea The PDF MonadbDirection of a transitionc Glitter onlye Wipe onlyf Wipe onlyhDirection of a transitionkDimension of a transitionnA PDF TransitionL PDF PagespList of all pagesqA PDF Page objectM The PDF stateNSupply of unique identifiersODictionary of PDF objectsPPagesQ Draw commandsRReference to the PDF catalogSDefault page sizeTDocument infosU Root outlineV5Reference to the current page used to create outlinesWWidth and height of xobjectsXUsed to improve the outline APIYThe PDF CatalogZ An XObjects A PDF Xobject which can be drawn[A PDF stream objectuThe drawing monadx A PDF color{An empty drawing\is member of the dictionary]Get a new resource name^NExecute the drawing commands to get a new state and an uncompressed PDF stream|mDraw in a new drawing context without perturbing the previous context that is restored after the draw _)Set a resource in the resource dictionary`Get the bounds for an xobjectaGet the bounds for an xobjectbInterpolation function~=Apply a transformation matrix to the current coordinate frame678cdefghijklmnopqrs9:;<tu=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`avwbcdefghijklmnoLxpyqzM{NOPQRSTUVWXY|rZ}st~[uvwxyz{\]^|_ Dict nameResource valueOld cache valueNew cache value` Referencea Reference}b~#$/678cdefghijklmnopqrs9:;<tu=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`avwbcdefghijklmnoLxpyqzM{NOPQRSTUVWXY|rZst~[uvwxyz{\]^|_}~k687cdekfghijlmnopqrs9<;:tu=>?@ABCDEFLKJIHGMQPONRSTUVWXYZ`_^]\[avwbgfedchjikmlnoLxpyqzM {NOPQRSTUVWXY|rZ}st~[uvw xzy{\]^|_`a}b~(c) 2006-2012, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone -3BRendering mode for text display+Unscaled unit (not scaled by the font size)The text monad /Convert a dimension in font unit to device unit8Get the kern value for a given font and pair of charcodeSelect a font to useDraw a text in the draw monad#Set position for the text beginningDisplay some text3Start a new line (leading value must have been set)Set leading valueSet the additional char spaceSet the additional word spaceSet scaling factor for textChoose the text rendering modeSet the rise value"Set the text transformation matrix4Utility function to quickly display one line of text2FontString8List of chars and char width taking into account kerning/ / (c) 2006-2012, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNoneSet page annotationsSet page resource%Create a new empty content for a pageReturns a new unique identifierJAdd an object to the PDF object dictionary and return a PDF reference )Update a referenced object with a new one#Record the page in the page catalogFind a page in the catalogAdd a node PDFTree object'Add a page to the PDG object dictionary*Add all pages to the PDF object dictionaryEmpty page catalog"Reference to the last created pageRecord bound of an xobjectList of drawing commandsReference to the drawingReference to the initial object New valueReference to the page Page contentPages n the documentsReference to the pagePages in the documentPage content if found Parent node Left tree Right treeAPDF reference to the new node pointing to the left and right onesPage parent if anyPage reference Page dataReference to a PDFPages objects ReferenceWidthHeight(c) 2006-2012, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone5True if we are adding the first outline to this levelStart a new outline level  ,We remember there are outlines at this level Close an outline level>Create a new outline section pointing to the last created page5Create a new outline section pointing to a given page    Outline title Outline color Outline style Outline title Outline color Outline stylePage reference  Outline title Outline color Outline style  Outline title Outline color Outline style  Outline title Outline color Outline style9:;<9<;:       (c) 2006-2012, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone+Get the border shqpe depending on the styleCreate a new annotation object (c) 2006-2012, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone24<BM A raw imageA Jpeg PDF objectA Jpeg file File analyzer monadRead 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 memoryGet the JPEG boundsUse an abstract description of a Jpeg to return a PDFReference that can be used to manipulate the Jpeg in the context of the PDF documentReads 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/#dataurlmaker9 !"#$%&'()*+,-./0123456789:;<=WidthHeight Interpolation5RGBA pixels (A component not used y the PDF document)>?@ABCDEFGHIJKL6 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKL(c) 2006-2012, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone Tiling typeCreate a colored tiling pattern"Create an uncolored tiling patternMCreate a PDF tiling patternSet the fill patternSet the stroke patternSet the fill patternSet the stroke patternNOPLeftBottomRightTopHorizontal step Vertical stepDrawing commandsLeftBottomRightTopHorizontal step Vertical stepDrawing commandsMLeftBottomRightTopHorizontal step Vertical stepDrawing commands NPOM (c) 2006-2012, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone Set alpha value for transparency Set alpha value for transparency Init the PDF color space to RGB.Select the filling colorSelect the drawing color  Filling color Drawing colorxyz}xzy} (c) 2006-2012, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNoneLine join stylesLine cap styles Set pen width Set pen width Set line cap Set line joinSet the dash patternNo dash patternBegin a new path at a positionClose current path Append 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 points2Move pen to a given point without drawing anything=Draw a line from current point to the one specified by lineto`Approximate a circular arc by one cubic bezier curve. larger arc angles mean larger distortionsAdd a polygon to current pathDraw current pathFill current pathFill current pathSet clipping pathSet clipping path%Fill current path using even odd rule%Fill current path using even odd rule< Extent of arc Center of arcQRSTUVW55(QRSTUVW(c) 2006-2012, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone#Fill clipping region with a shadingShadingShape to paint678687(c) 2006-2012, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone24:MA box that can be displayed Draw a boxFA box is an object with dimensions and used in the typesetting process Box width Box height,Distance between box bottom and box baseline)Distance between box top and box baselineHStyle of text (sentences and words). Minimum definition textStyle  PModify the look of a sentence (sequence of words using the same style on a line) 2A style may contain data changed from word to word &A style may change the height of words EDefault implementation styleHeight = getHeight . textFont . textStyle'A style may change the descent of lines GDefault implementation styleDescent = getDescent . textFont . textStyleEUsed to compare two style without taking into account the style statefWhat kind of style drawing function is required for a word when word styling is enabled Must style a glueMust style a word Text style used by PDF operatorsVScaling factor for normal space size (scale also the dilation and compression factors)"Scale the dilation factor of glues%Scale the compression factor of glues.Dimension of a box : width, height and descentXA box containing a Draw value8Make a drawing box. A box object containing a Draw value*YZThe boxHorizontal position3Vertical position (top of the box and NOT baseline)BoxWidth of the box  The styleRFunction receiving the bounding rectangle and the command for drawing the sentence  The styleWord styling function   X[\]^_`ab"YZ     XYZ      X[\]^_`ab(c) 2006-2012, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone2468#cBreaking algorithm settings dDefault value 100eDefault value 100fDefault value 50gDefault value 1000hDefault value 1000iDefault value 10jDefault value falsekDefault value English A 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 provided!-A kern : non dilatable and non breakable glue"A char#Penalty$ Hyphen point%<A glue with style to know if it is part of the same sentence&Any box as a letter,Make a letter from any boxl Compute glue width with dilationmWe 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 linen)Get cumulated dimension for following boxoCheck is a break point is possible otherwise, if none is possible and there is only one remaining active point, we force a breakpointpCreate an hyphen boxqValue modeling infinity rAdd a glue to the streamsReturn the standard space widtht<How much dilatation is allowed compred to the space width u=How much dilatation is allowed compared to the space width v=How much dilatation is allowed compared to the space width wAdd a glue to the streamxWhen 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 spaceyAdd a penalty to the streamzCreate a box containing text{Create boxes for the letters|3split a line into boxes and add hyphen where needed}Create an hyphen penaltyd~cdefghijk !"#$%&'()*+,Dimension of the box!Text style of the box (can use t)BoxlletterAdjustement ratioWidthMaxw Current wyzDilatation ratio adjust ratioFlag for previousFlag for currentDemerit for the breakpointmn Second passCurrent analyzed boxResultoOld rCurrentActivespqr Glue widthGlue dilatationGlue compressions The styletuvwParagraph settings The style The style xy Penalty valuez Char style Char width Char code{ Letter styleLetter and size Boxes|}Style of future hyphenSize of hyphen taking into account the kerning that was perturbed by the hyphen introduction. The char before the hyphen is now bigger.cdefghijk !"#$%&'()*+,lqrstuvwxyz|}9~c defghijk   &%$#"!'+*)(,lmnopqrstuvwxyz{|}(c) 2006-2012, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone68-Paragraph style."Width of the line of the paragraph/_Horizontal shift of the line position relatively to the left egde of the paragraph bounding box0THow to style the interline glues added in a paragraph by the line breaking algorithm1iChange the content of a paragraph before the line breaking algorithm is run. It may also change the style2YGet the paragraph bounding box and the paragraph draw command to apply additional effects3Container 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 box7Default value (12,0.17,0.0)8Default value (3.0,0.33,0.0)9Default value 2;OCreate a empty container to constraint the amount of line that can be displayed<Get the width of the containerGet the width of the container=Get the height of the container>?Get the current height of the container without glue dilatation?<Get the content height of the container with glue dilatation@4Get the minimum left border of the container contentAoGet the maximum right border of the container content (maybe bigger than container width due to overfull lines)BContainer horizontal positionCContainer vertical positionDMReturn the rectangle containing the text after formatting and glue dilatation-Get the required style for the interline glueInterline glue required@Get the delta used to position a box with non rectangular shapesStroke the VBoxes/-. The style8Width of the text area used by the typesetting algorithm Line number Line width/ The style 8Width of the text area used by the typesetting algorithm Line number 5Horizontal offset from the left edge of the text area0 The style &Function used to style interline glues1 The style=Line offset different from 0 when a paragraph has been broken List of letters in the paragraph Update style and list of letters2 The style "Function used to style a paragraph3456789: Glue heightGlue dilatation factorGlue compression factor Glue width Glue delta;xywidthheightPargraph tolerance New container<=>?@ABCD List of boxesX posY pos$-./0123456789:;<=>?@ABCD -./0123456789:;<=>?@ABCD(c) 2006-2012, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNoneOne block of text Stop the textContinue adding text(Send PDF commands needed to start a textAn 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. >Current word (created from letter) is converted to a PDFStringhorizontalPostProcess!Change the style of the box A 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)Create an HBox 2Draw a line of words and glue using the word style9Draw a line of words, glue, or any box without word style1Draw only words and glues using PDF text commands^Draw the additional displacement required for a space in a text due to the dilaton of the glueAdjustement ratio Current wordList of lettersList of words or sentences4adjust ratio, hyphen style, list of letters or boxes List of linesAdjustement ratioStyleStringWidth;Height of the total line first time this function is called<Descent of the total line first time this function is calledRemaining box to displayx for the remaining boxesy for the whole line(c) 2006-2012, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNoneEDefault vertical state WDefault values baselineskip = (12,0.17,0.0) lineskip = (3.0,0.33,0.0) lineskiplimit = 2Pair 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)1Create a new paragraph from the remaining letters"Add paragraph lines to a containerFFill a container with linesConvert pure lines to VBoxesEAdjustement ratio Container ContainerF"Vertical style for interline glues Container VBox to addOComponent to draw, new container and remaining VBoxes due to overfull container Max width List of lines Line numberList of VBoxes-./012456789:;EFEF(c) 2006-2012, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone6GStandard styles for paragraphsIStandard styles for sentencesGHIJGHIJGHIJ(c) 2006-2012, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone-2468BT9A MonadStyle where some typesetting operators can be usedUSet the current text styleVGet the current text styleWoAdd a box using the current mode (horizontal or vertical. The current style is always applied to the added box)X"Add a glue using the current styleY3Add a glue with no style (it is just a translation)\Display 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 direction]$Return the list of Vboxes for a text^ Add a penalty_+For a newline and end the current paragraph>End the current paragraph with or without using the same style9Run a paragraph. Style changes are local to the paragraphbGet the current paragraph stylec"Change the current paragraph styleAdd a letter to the paragraphdAdd a new paragraph to the textIAdd a null char nullChar :: Para () nullChar = Para . tell $ [nullLetter]LSplit a sentence into words keeping the space but shortening them to 1 spaceeAdd a text linef\add a kern (space that can be dilated or compressed and on which no line breaking can occur)z9Draw a text box with relative position. Useful for labelsBKLMNOPQRSTUVWWidthHeightDescentX4Size of glue (width or height depending on the mode)Dilatation factorCompression factorY5Size of glue (width or height depending on the mode) Dilatation factor Compression factor Z[\ Text areadefault vertical styleDefault horizontal styleTypesetting monad Draw monad]default vertical styleDefault horizontal styleTypesetting monad List of boxes^_NTrue if we use the same style to end a paragraph. false for an invisible style`abcdefghijklmnopqrstuvwxy!Centered, left or fully justifiedzxy width limit height limitdefault vertical styleDefault horizontal styleTypesetting monadz      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyzz &%$#"!     -./012TUVWXYZ[456789:3'+*)(KSRQPONML\ef^,_d`abc;FE]BC<=?A@>DzmoqsuwnprtvxygikhjlIJGH-KSRQPONMLTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz (c) 2006-2012, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone{!No information for the document |Create a PDF XObject} Add a new page to a PDF documentDraw on a given page{|LeftBottomRightTopDrawing commands #Page size or default document's oneReference to the new page}#Page size or default document's oneReference to the new page~#Page size or default document's oneOptional durationOptional transitionReference to the new pagePageDrawing commands@=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`bcdefghijklmnorstuvw{|{|}~@r}~|noZ`_^]\[hjikmlbgfedcRSTUVWXYMQPONFLKJIHG=>?@ABCDE{ustvw|{{| }~(c) 2006-2012, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone3 The PDFTrailer aCreate a new PDF document and return a first page The page is using the document size by default <Save all the pages and streams in the main object dictionary Write PDF objects in the TOC+Generate a lazy bytestring for the PDF Generates a PDF document     CList of objects each object being already converted to a bytestringDefault size for a page PDF action Name of the PDF documentDefault size for a page PDF action BCDEFGHIJK  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ a  qp~      !"#$%&''()*+,--./0123456789:;<=>>?@@ABCDEFGHIJKLMNOPQRSTUVWXYYZ[\]^_`abcdefghijklmmnopqrstuvwxyz{|}~                                                          x !!"#$%&'()*+,-./01,23456789:;<=>?@@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     &(      !"#$%&'()*+,-./0123456789:;<=;<>;<?;<@;<A;<B;<C;<D;<E;<FGHIJKLMNOPQRSTUVWXYZ[\]^^_`abcdefghijjkkll{mGHTUnVoppqrstuuvwxxyz{|}~                                                   ! " # $ % &  ' ( )  * + ,-./0 1 2 3 4 5 6 78998:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]]^_`Aaabcdefghijklmnopqrstuvwxyz{|}~>?de  HPDF-1.4.8Graphics.PDF.Hyphenate Graphics.PDFGraphics.PDF.TextGraphics.PDF.PatternGraphics.PDF.ActionGraphics.PDF.CoordinatesGraphics.PDF.ShadingGraphics.PDF.NavigationGraphics.PDF.DocumentGraphics.PDF.ColorsGraphics.PDF.AnnotationGraphics.PDF.ImageGraphics.PDF.ShapesGraphics.PDF.TypesettingGraphics.PDF.DocumentationGraphics.PDF.Data.TrieGraphics.PDF.Hyphenate.LowLevelGraphics.PDF.Hyphenate.EnglishGraphics.PDF.LowLevel.Kern Graphics.PDF.LowLevel.SerializerGraphics.PDF.LowLevel.TypesGraphics.PDF.ResourcesGraphics.PDF.Data.PDFTreeGraphics.PDF.DrawGraphics.PDF.PagesGraphics.PDF.Typesetting.Box!Graphics.PDF.Typesetting.BreakingGraphics.PDF.Typesetting.Layout#Graphics.PDF.Typesetting.Horizontal!Graphics.PDF.Typesetting.Vertical&Graphics.PDF.Typesetting.StandardStyle MapStringHyphenationDatabaseCustomLanguageEnglish mkExceptionsmkCustomLanguage PDFReferencePDFRect PDFStringPDFFloat toPDFStringPDFColoredPatternPDFUncoloredPatternPDFFontFontName ZapfDingbatsSymbolCourier_BoldObliqueCourier_Oblique Courier_BoldCourierTimes_BoldItalic Times_Italic Times_Bold Times_RomanHelvetica_BoldObliqueHelvetica_ObliqueHelvetica_Bold Helvetica hyphenateGoToURLActionMatrixPointAngleRadianDegreetoRadiandotscalePtprojectprojectXprojectYidentity pointMatrix transformrotate translatespiralscale PDFShading RadialShading AxialShading OutlineStyle BoldOutline ItalicOutline NormalOutlinePDFViewerPreferences hideToolbar hideMenuBar hideWindowUI fitWindow centerWindowdisplayDoctitlenonFullScreenPageModePDFDocumentPageLayout TwoPageRight TwoPageLeftTwoColumnRight TwoColumnLeft OneColumn SinglePagePDFDocumentPageMode FullScreen UseThumbs UseOutlinesUseNonePDFDocumentInfoauthorsubjectpageMode pageLayoutviewerPreferences compressed PDFTransStyleGlitterDissolveWipeBoxBlindsSplitPDFPDFTransDirection2TopLeftToBottomRight TopToBottom RightToLeft BottomToTop LeftToRightPDFTransDirectionOutwardInwardPDFTransDimensionVertical Horizontal PDFTransitionPagesPDFPagePDFXForm PDFXObject drawXObjectDraw PDFGlobalsboundsColorHsvRgb emptyDrawingwithNewContexthsvToRgb applyMatrixTextMode AddToClipFillAndStrokeTextAndAddToClipStrokeTextAndAddToClipFillTextAndAddToClip InvisibleTextFillAndStrokeText StrokeTextFillText UnscaledUnitPDFText getDescent getHeight textWidth charWidthripTextsetFontdrawText textStart displayText startNewLineleading charSpace wordSpace textScale renderModerise setTextMatrixtextstandardViewerPrefs newSectionnewSectionWithPagePDFLinkURLLinkTextAnnotationTextIconInsertHelpCommentKey NewParagraph ParagraphNote newAnnotationRawImagePDFJpegJpegFile readJpegFile jpegBounds createPDFJpegcreatePDFRawImagereadJpegDataURL TilingTypeConstantSpacingAndFaster NoDistortionConstantSpacingcreateColoredTilingcreateUncoloredTilingsetColoredFillPatternsetColoredStrokePatternsetUncoloredFillPatternsetUncoloredStrokePatternblackwhiteredgreenbluesetStrokeAlpha setFillAlphasetRGBColorSpace fillColor strokeColor DashPattern JoinStyle BevelJoin RoundJoin MiterJoinCapStyle SquareCapRoundCapButtCapPolygonCircleRoundRectangleEllipseArc RectangleLineShapeaddShapestrokefill fillAndStrokefillEOfillAndStrokeEOsetWidth setMiterLimit setLineCap setLineJoinsetDash setNoDash beginPath closePathaddBezierCubicmovetolinetocurvetoarcto addLineToPathaddPolygonToPath strokePathfillPathfillAndStrokePathsetAsClipPathEO setAsClipPath fillPathEOfillAndStrokePathEO applyShadingpaintWithShadingDisplayableBox strokeBoxboxWidth boxHeight boxDescent boxAscentStyle sentenceStyle wordStyle textStyle updateStyle styleHeight styleDescentComparableStyle isSameStyleAs StyleFunctionDrawGlueDrawWord TextStyletextFonttextStrokeColor textFillColortextModepenWidth scaleSpacescaleDilatationscaleCompression BoxDimension mkDrawBoxLetterKernACharPenaltyFlaggedPenaltyGlue JustificationRightJustificationLeftJustificationCenteredFullJustificationmkLetterParagraphStyle lineWidth linePosition interlineparagraphChangeparagraphStyle ContainerVBoxVerState baselineskiplineskip lineskiplimitcurrentParagraphStyle mkContainercontainerWidthcontainerHeightcontainerCurrentHeightcontainerContentHeightcontainerContentLeftBordercontainerContentRightBorder containerX containerYcontainerContentRectangledefaultVerState fillContainerStandardParagraphStyleNormalParagraph StandardStyleFont OrientationSWSENWNESNWE MonadStylesetStyle currentStyleaddBoxglue unstyledGlueParaTMdisplayFormattedTextgetBoxes addPenalty forceNewLineendPara startPara getParaStyle setParaStyle paragraphtxtkernsetBaseLineSkipgetBaseLineSkipsetLineSkipLimitgetLineSkipLimit setLineSkip getLineSkipsetFirstPassTolerancegetFirstPassTolerancesetSecondPassTolerancegetSecondPassTolerancesetHyphenPenaltyValuegetHyphenPenaltyValuesetFitnessDemeritgetFitnessDemeritsetHyphenDemeritgetHyphenDemeritsetLinePenaltygetLinePenaltysetJustification drawTextBoxstandardDocInfocreatePDFXFormaddPageaddPageWithTransition drawWithPage pdfByteStringrunPdfTrie EmptyTriemyLookupfromListlookupinsertisChar fromDigittoNumbersimplifysplitconvertPattern removeHyphenexceptionPoints mkPatternssplit' exceptionspatterns exceptionList patternListkernsSerializeValue serializeconscshortToStringcfloatToString convertShort convertFloat$fSerializeValueBuilderDouble$fSerializeValueBuilderInt!$fSerializeValueBuilderByteString$fSerializeValueBuilder[]$fSerializeValueBuilderChar$fSerializeValueBuilderWord8 $fSerializeValueByteStringDouble$fSerializeValueByteStringInt$$fSerializeValueByteStringByteString$fSerializeValueByteString[]$fSerializeValueByteStringChar$fSerializeValueByteStringWord8 MonadPathPDFReferencedObject PDFDictionaryPDFArrayPDFName PDFLength PDFInteger AnyPdfObject PdfObject escapeStringemptyDictionaryreferenceValue MaybeLength KnownLength UnknownLength PdfLengthInfo pdfLengthInfotoPDFencodeISO88591pc2wescapeOnWords8lparenrparenlbracketrbracketbspacebltbgtnewline noPdfObjectisEmptyDictionaryinsertInPdfDict pdfDictUnion modifyStrict$fPdfLengthInfoEither$fPdfObjectEither$fPdfLengthInfoPDFReference$fPdfObjectPDFReference$fNumPDFReference"$fPdfLengthInfoPDFReferencedObject$fPdfObjectPDFReferencedObject$fPdfLengthInfoPDFRect$fPdfObjectPDFRect$fPdfLengthInfoPDFDictionary$fPdfObjectPDFDictionary$fPdfLengthInfo[] $fPdfObject[]$fPdfLengthInfoPDFName$fPdfObjectPDFName$fPdfLengthInfoPDFString$fPdfObjectPDFString $fSerializeValueBuilderPDFString#$fSerializeValueByteStringPDFString$fPdfLengthInfoBool$fPdfObjectBool$fPdfLengthInfoComplex$fPdfObjectComplex$fPdfLengthInfoDouble$fPdfObjectDouble$fPdfLengthInfoPDFLength$fPdfObjectPDFLength$fPdfLengthInfoInt$fPdfObjectInt$fPdfLengthInfoPDFInteger$fPdfObjectPDFInteger$fPdfLengthInfoMaybeLength$fPdfObjectMaybeLength$fPdfLengthInfoAnyPdfObject$fPdfObjectAnyPdfObject PDFColorSpace PDFResource addResourceresourceToDict PatternRGB AnyPdfPatternprocSet resourcesPdfResourceObjecttoRsrc FillAlpha StrokeAlphaFontSize emptyRsrc getResources emptyResource$fPdfResourceObjectPDFReference$fPdfLengthInfoAnyPdfPattern$fPdfObjectAnyPdfPattern $fPdfResourceObjectPDFReference0"$fPdfLengthInfoPDFUncoloredPattern$fPdfObjectPDFUncoloredPattern $fPdfResourceObjectPDFReference1 $fPdfLengthInfoPDFColoredPattern$fPdfObjectPDFColoredPattern $fPdfResourceObjectPDFColorSpace$fPdfLengthInfoPDFResource$fPdfObjectPDFResource$fPdfResourceObjectFillAlpha$fPdfResourceObjectStrokeAlpha$fPdfResourceObjectPDFFont $fOrdPDFFont$fShowFontNamePDFTreefold2sizeBinTipNilMaskPrefixNat natFromInt intFromNatisLeafkeyOflookup'lookupNzeroNjoinzeronomatchmaskmaskW branchMaskhighestBitMaskshiftRLempty foldlStrict getWordPointsgetFromPatternaddedExceptions$fPdfLengthInfoGoToURL$fActionGoToURL$fPdfObjectGoToURL $fNumMatrixbase Data.Complexphase magnitudepolarcismkPolar conjugateimagPartrealPart:+ComplexPDFPagesPdfState supplySrcobjectspagesstreamscatalog defaultRectdocInfooutline currentPage xobjectBound firstOutline PDFCatalog AnyPdfXForm PDFStream pdfDictMember supplyName runDrawing setResourcegetBoundInDraw getBoundInPDF interpole OutlineLoc OutlineCtxChildvalueparentleftsrightsTopTreeNodeOutline OutlineData DestinationPDFOutlineEntry PDFOutlineunPDFprivateDrawXObjectunDraw DrawTupledrawEnvironment drawStateRef builderRef penPositionDrawEnvironmentstreamId xobjectBoundD DrawState supplyNamesrsrc strokeAlphas fillAlphastheFontsxobjects otherRsrcsannots colorSpacesshadingsmatrix AnyAnnotationAnnotationObject addAnnotationannotationTypeannotationContentannotationRectannotationToGlobalCoordinatesAnnotationStyleemptyEnvironment readDrawST writeDrawST modifyDrawSTemptyDrawStatepushMatrixStackpopMatrixStackmultiplyCurrentMatrixWith currentMatrixfloatDirection getRgbColor$fPdfResourceObjectPDFShading$fPdfLengthInfoColor$fPdfObjectColor$fPdfLengthInfoDestination$fPdfObjectDestination$fPdfLengthInfoPDFOutlineEntry$fPdfObjectPDFOutlineEntry$fPdfLengthInfoOutlineStyle$fPdfObjectOutlineStyle$fPdfLengthInfoPDFCatalog$fPdfObjectPDFCatalog$fPdfLengthInfoPDFPage$fPdfObjectPDFPage$fPdfLengthInfoPDFPages$fPdfObjectPDFPages$fPdfLengthInfoPDFTransition$fPdfObjectPDFTransition$fShowPDFTransStyle#$fPdfLengthInfoPDFViewerPreferences$fPdfObjectPDFViewerPreferences$fPdfLengthInfoPDFOutline$fPdfObjectPDFOutline$fShowPDFTransDirection$fShowPDFTransDimension $fShowPDFPage$fPdfLengthInfoPDFXForm$fPdfObjectPDFXForm$fPDFXObjectPDFXForm$fPDFXObjectAnyPdfXForm$fPdfLengthInfoAnyPdfXForm$fPdfObjectAnyPdfXForm$fPDFGlobalsPDF$fPDFGlobalsDraw$fPdfLengthInfoPDFStream$fPdfObjectPDFStream$fMonadPathDraw $fFunctorDraw$fMonadWriterBuilderDraw$fMonadStateDrawStateDraw $fMonadReaderDrawEnvironmentDraw $fMonadDraw$fApplicativeDraw$fAnnotationObjectAnyAnnotation$fPdfLengthInfoAnyAnnotation$fPdfObjectAnyAnnotationtrueSizegetKernunText TextParametertctwtztlts fontState currentFont FontStatehasKern cgetDescent cgetAdvance cgetLeadingc2idefaultParameters$fMonadPathPDFTextsetPageAnnotationssetPageResource createContentsupply addObject updateObject recordPagefindPagenodePageleafPageaddPagesnoPagesgetCurrentPage recordBound insertRight insertDownup addOutlines createOutlinetoTreeisFirststartNew addedOutlinecloseNewnewSectionPrivate newSiblingnewChild moveToParent getBorderapplyMatrixToRectanglestandardAnnotationDicttransformAnnotRect$fAnnotationObjectPDFLink$fPdfLengthInfoPDFLink$fPdfObjectPDFLink$fAnnotationObjectURLLink$fPdfLengthInfoURLLink$fPdfObjectURLLink $fAnnotationObjectTextAnnotation$fPdfLengthInfoTextAnnotation$fPdfObjectTextAnnotationFAunFAm_sof0m_sof1m_sof3m_sof5m_sof6m_sof7m_sof9m_sof10m_sof11m_sof13m_sof14m_sof15m_rst0m_rst1m_rst2m_rst3m_rst4m_rst5m_rst6m_rst7m_soim_eoim_temiorunFA readWord16 readWord8parseJpegContent analyzeJpegwithFilesIndex sReadWord8 sReadWord16parseJpegDetailDataparseJpegContentDataanalyzeJpegData readJpegData$fPdfLengthInfoRawImage$fPdfObjectRawImage$fPDFXObjectRawImage$fPdfLengthInfoPDFJpeg$fPdfObjectPDFJpeg$fPDFXObjectPDFJpegcreateTilingPattern PaintTypeUncoloredTiling ColoredTiling$fShapePolygon $fShapeCircle$fShapeRoundRectangle$fShapeEllipse $fShapeArc$fShapeRectangle $fShapeLineDrawBoxAnyBox $fShowAnyBox$fDisplayableBoxAnyBox $fBoxAnyBox $fBox(,,) $fShowDrawBox$fDisplayableBoxDrawBox $fBoxDrawBoxBRStatefirstPassTolerancesecondPassTolerancehyphenPenaltyValuefitness_demeritflagged_demerit line_penaltycentered hyphenationglueSizecreateBreaknodegetDimupdateWithNewRIfNoSolution hyphenBoxinfinityglueBox spaceWidthcenteredDilatationFactorleftDilatationFactorrightDilatationFactor spaceGlueBoxpenalty createCharcreateLetterBoxes splitText hyphenPenalty ActiveNodes PossibleBreakZListMaybeCBOneCBNoCB BreakNode totalWidthtotalDilatationtotalCompressiondemeritflagged fitnessValueratioprevious PointedBox isFlagged getPenalty isPenaltyletterposition cumulatedW cumulatedY cumulatedZ isForcedBreakCB MaybeGlueglueYglueZglueSizeWithRatio letterWidth penaltyWidthdilatationRatio adjustRatiobadnessfitnessdefaultBreakingSettingscomputeDemerit createZListtheEndbreakN moveRightisFeasibleBreakpoint updateBreakgetNewActiveBreakpoints genNodeList analyzeBoxescutList formatListbigAdjustRatio spaceSizehyphenForJustificationkernBox$fPointedBoxsZList$fPointedBoxs(,,,,) $fShowLetter$fMaybeGlueLettercontainerParaTolerancegetInterlineStyle interlineGlue getBoxDelta strokeVBoxesHeightWidthSomeVBoxVGluenotGluevglueaddTo isOverfullisSameParaStylerecurseStrokeVBoxesdrawWithParaStyle$fDisplayableBoxVBox $fBoxVBox$fMaybeGlueVBox $fShowVBoxOneBlockStopText ContinueText StartTextHBoxsaveCurrentwordhorizontalPostProcess withNewStylemkHboxWithRatio createText drawTextLine drawWords drawPureWords drawTextGlueTextDrawingStateSomeHBoxTextHGlue createWordsstartDrawingNewLineOfTextdrawLineOfHboxesdrawTheTextBox isSameStyle$fDisplayableBoxHBox $fBoxHBox $fShowHBox$fMaybeGlueHBoxmkVboxWithRatio createPara addParaLinetoVBoxes dilateVboxes drawContainer3$fParagraphStyleStandardParagraphStyleStandardStyle$fStyleStandardStyle'$fComparableStyleStandardParagraphStyle$fComparableStyleStandardStyleendFullyJustifiedrunPara addLettermyWords'myWordsunParaunTMTMStatetmStyle paraSettings pageSettingsdefaultTmState addHyphens$fMonadStylesPara$fMonadStylesTMcreateANewPage PDFTrailer createPDF saveObjectswriteObjectsAndCreateToc createStreamsgenerateStreamsdefaultPdfSettingscreateObjectByteStrings$fPdfLengthInfoPDFTrailer$fPdfObjectPDFTrailer