V      !"#$%&'()*+,-./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(c) 2006-2012, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableSafe(c) 2006-2012, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableSafe 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 experimentalportableSafeList of exceptionList of hyphenation patternsSafe(c) 2006-2012, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone 357(c) 2006-2012, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone3457;CN"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 experimentalportableNone35=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()*+,-./01234567 "()-6 !"#$%&'()*+,-./01234567(c) 2006-2012, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableSafe8#Get the hyphen positions for a word9*Get the hyphen positions from the patternsHyphenate a string:;<891Hyphenation database to use to hyphenate the wordWord to hyphenate:;<89(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 degrees(Angle in radians*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 scaling@ABCDEFGHIJ#$%&'()*+,-./012345&'(%#$)*+,-.01/2354#$%&'()*+,-./012345@(c) 2006-2012, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone 357;=CIN46&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 transitiond Wipe onlye Wipe onlyg Glitter onlyhDirection of a transitionkDimension of a transitionnA PDF TransitionK PDF PagespList of all pagesqA PDF Page objectL The PDF stateMSupply of unique identifiersNDictionary of PDF objectsOPagesP Draw commandsQReference to the PDF catalogRDefault page sizeSDocument infosT Root outlineU5Reference to the current page used to create outlinesVWidth and height of xobjectsWUsed to improve the outline APIXThe PDF CatalogY An XObjects A PDF Xobject which can be drawnZA 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 xobject`Get the bounds for an xobjectaInterpolation function~=Apply a transformation matrix to the current coordinate frame678bcdefghijklmnopqr9:;<st=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`auvbcdefghijklmnoKwpxqyLzMNOPQRSTUVWX{rY|st}Z~uvwxyz{[\]|^ Dict nameResource valueOld cache valueNew cache value_ Reference` Reference}a~#$/678bcdefghijklmnopqr9:;<st=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`auvbcdefghijklmnoKwpxqyLzMNOPQRSTUVWX{rYst}Z~uvwxyz{[\]|^}~k678bcdefghijklmnopqr9:;<st=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`auvbcdefghijklmnoKwpxqyL zMNOPQRSTUVWX{rY|st}Z~uvw xyz{[\]|^_`}a~(c) 2006-2012, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone -4CRendering 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 style 9:;<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 experimentalportableNone35=CN 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 document1 !"#$%&'()*+,-./0123456789:;<WidthHeight Interpolation5RGBA pixels (A component not used y the PDF document)=>?@ABCD. !"#$%&'()*+,-./0123456789:;<=>?@ABCD(c) 2006-2012, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone Tiling typeCreate a colored tiling pattern"Create an uncolored tiling patternECreate a PDF tiling patternSet the fill patternSet the stroke patternSet the fill patternSet the stroke patternFGHLeftBottomRightTopHorizontal step Vertical stepDrawing commandsLeftBottomRightTopHorizontal step Vertical stepDrawing commandsELeftBottomRightTopHorizontal step Vertical stepDrawing commands FGHE (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}xyz} (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 arcIJKLMNO55(IJKLMNO(c) 2006-2012, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone#Fill clipping region with a shadingShadingShape to paint678678(c) 2006-2012, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone35;NA 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 wordMust style a glue 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 descentPA box containing a Draw value8Make a drawing box. A box object containing a Draw value*QRThe 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    PSTUVWXYZ"QR     PQR      PSTUVWXYZ(c) 2006-2012, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone3579#[Breaking algorithm settings \Default value 100]Default value 100^Default value 50_Default value 1000`Default value 1000aDefault value 10bDefault value falsecDefault value EnglishA 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 Any box as a letter!<A glue with style to know if it is part of the same sentence" Hyphen point#Penalty$A char%-A kern : non dilatable and non breakable glue+Make a letter from any boxd Compute glue width with dilationeWe 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 linef)Get cumulated dimension for following boxgCheck is a break point is possible otherwise, if none is possible and there is only one remaining active point, we force a breakpointhCreate an hyphen boxiValue modeling infinity jAdd a glue to the streamkReturn the standard space widthl<How much dilatation is allowed compred to the space width m=How much dilatation is allowed compared to the space width n=How much dilatation is allowed compared to the space width oAdd a glue to the streampWhen 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 spaceqAdd a penalty to the streamrCreate a box containing textsCreate boxes for the letterst3split a line into boxes and add hyphen where neededuCreate an hyphen penaltydvwxyz{|[}\]^_`abc~ !"#$%&'()*+Dimension of the box!Text style of the box (can use t)BoxdletterAdjustement ratioWidthMaxw Current wyzDilatation ratio adjust ratioFlag for previousFlag for currentDemerit for the breakpointef Second passCurrent analyzed boxResultgOld rCurrentActiveshij Glue widthGlue dilatationGlue compressionk The stylelmnoParagraph settings The style The style pq Penalty valuer Char style Char width Char codes Letter styleLetter and size BoxestuStyle 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.[}\]^_`abc !"#$%&'()*+dijklmnopqrtu9vwxyz{|[ }\]^_`abc~   !"#$%&'()*+defghijklmnopqrstu(c) 2006-2012, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone79,Paragraph style-"Width of the line of the paragraph._Horizontal shift of the line position relatively to the left egde of the paragraph bounding box/THow to style the interline glues added in a paragraph by the line breaking algorithm0iChange the content of a paragraph before the line breaking algorithm is run. It may also change the style1YGet the paragraph bounding box and the paragraph draw command to apply additional effects2Container 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 box6Default value (12,0.17,0.0)7Default value (3.0,0.33,0.0)8Default 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 content@oGet the maximum right border of the container content (maybe bigger than container width due to overfull lines)AContainer horizontal positionBContainer vertical positionCMReturn 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 area/ The style &Function used to style interline glues0 The style=Line offset different from 0 when a paragraph has been broken List of letters in the paragraph Update style and list of letters1 The style "Function used to style a paragraph23456789 Glue heightGlue dilatation factorGlue compression factor Glue width Glue delta:xywidthheightPargraph tolerance New container;<=>?@ABC List of boxesX posY pos$,-./0123456789:;<=>?@ABC ,-./0123456789:;<=>?@ABC(c) 2006-2012, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone(Send PDF commands needed to start a textContinue adding text Stop the textOne block of 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 experimentalportableNoneDDefault 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 containerEFill a container with linesConvert pure lines to VBoxesDAdjustement ratio Container ContainerE"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,-./013456789:DEDE(c) 2006-2012, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone7FStandard styles for paragraphsHStandard styles for sentencesFGHIFGHIFGHI(c) 2006-2012, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone-3579CS9A MonadStyle where some typesetting operators can be usedTSet the current text styleUGet the current text styleVoAdd a box using the current mode (horizontal or vertical. The current style is always applied to the added box)W"Add a glue using the current styleX3Add 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 paragraphaGet the current paragraph styleb"Change the current paragraph styleAdd a letter to the paragraphcAdd 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 spacedAdd a text linee\add a kern (space that can be dilated or compressed and on which no line breaking can occur)y9Draw a text box with relative position. Useful for labelsBJKLMNOPQRSTUVWidthHeightDescentW4Size of glue (width or height depending on the mode)Dilatation factorCompression factorX5Size of glue (width or height depending on the mode) Dilatation factor Compression factor YZ[ 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_`abcdefghijklmnopqrstuvwx!Centered, left or fully justifiedyxy width limit height limitdefault vertical styleDefault horizontal styleTypesetting monadz      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz !"#$%     ,-./01STUVWXYZ34567892&'()*JKLMNOPQR[de]+^c_`ab:ED\AB;<>@?=CylnprtvmoqsuwxfhjgikHIFG-JKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxy (c) 2006-2012, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNonez!No information for the document {Create a PDF XObject| Add a new page to a PDF document~Draw on a given pagez{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 page~PageDrawing commands@=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`bcdefghijklmnorstuvw{|z{|}~@r|}~{noZ[\]^_`hijklmbcdefgRSTUVWXYMNOPQFGHIJKL=>?@ABCDEzustvw|{z{|}~(c) 2006-2012, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone4The PDFTraileraCreate 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 dictionaryWrite 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 bytestring  Default size for a page PDF action Name of the PDF documentDefault size for a page PDF action   ABCDEFGHIJ  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ a  qp~       !"#$%&''()*+,--./0123456789:;<=>>?@@ABCDEFGHIJKLMNOPQRSTUVWXYYZ[\]^_`abcdefghijklmmnopqrstuvwxyz{|}~                                                          w  !"#$%&'()*++,-./0123456789:;<=>??@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     &(      !"#$%&'()*+,-./0123456789:;<:;=:;>:;?:;@:;A:;B:;C:;D:;EFGHIJKLMNOPQRSTUVWXYZ[\]]^_`abcdefghiijjkk{lFGSTmUnoopqrsttuvwwxyz{|}~                                                    !  " # $%&'( ) * + , - . /011023456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUUVWX9YYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~=>cd HPDF_6OAJGjDLPJBJoAFIsskfraGraphics.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 MapStringHyphenationDatabaseEnglishCustomLanguage mkExceptionsmkCustomLanguage PDFReferencePDFRect PDFStringPDFFloat toPDFStringPDFColoredPatternPDFUncoloredPatternPDFFontFontName HelveticaHelvetica_BoldHelvetica_ObliqueHelvetica_BoldOblique Times_Roman Times_Bold Times_ItalicTimes_BoldItalicCourier Courier_BoldCourier_ObliqueCourier_BoldObliqueSymbol ZapfDingbats hyphenateGoToURLActionMatrixPointAngleDegreeRadiantoRadiandotscalePtprojectprojectXprojectYidentity pointMatrix transformrotate translatespiralscale 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 applyMatrixTextModeFillText StrokeTextFillAndStrokeText InvisibleTextFillTextAndAddToClipStrokeTextAndAddToClipFillAndStrokeTextAndAddToClip AddToClip UnscaledUnitPDFText getDescent getHeight textWidth charWidthripTextsetFontdrawText textStart displayText startNewLineleading charSpace wordSpace textScale renderModerise setTextMatrixtextstandardViewerPrefs newSectionnewSectionWithPagePDFLinkURLLinkTextAnnotationTextIconNote Paragraph NewParagraphKeyCommentHelpInsert newAnnotationRawImagePDFJpegJpegFile readJpegFile jpegBounds createPDFJpegcreatePDFRawImage TilingTypeConstantSpacing NoDistortionConstantSpacingAndFastercreateColoredTilingcreateUncoloredTilingsetColoredFillPatternsetColoredStrokePatternsetUncoloredFillPatternsetUncoloredStrokePatternblackwhiteredgreenbluesetStrokeAlpha setFillAlphasetRGBColorSpace fillColor strokeColor DashPattern JoinStyle MiterJoin RoundJoin BevelJoinCapStyleButtCapRoundCap SquareCapPolygonCircleRoundRectangleEllipseArc RectangleLineShapeaddShapestrokefill fillAndStrokefillEOfillAndStrokeEOsetWidth setMiterLimit setLineCap setLineJoinsetDash setNoDash beginPath closePathaddBezierCubicmovetolinetocurvetoarcto addLineToPathaddPolygonToPath strokePathfillPathfillAndStrokePathsetAsClipPathEO setAsClipPath fillPathEOfillAndStrokePathEO applyShadingpaintWithShadingDisplayableBox strokeBoxboxWidth boxHeight boxDescent boxAscentStyle sentenceStyle wordStyle textStyle updateStyle styleHeight styleDescentComparableStyle isSameStyleAs StyleFunctionDrawWordDrawGlue TextStyletextFonttextStrokeColor textFillColortextModepenWidth scaleSpacescaleDilatationscaleCompression BoxDimension mkDrawBoxLetterGlueFlaggedPenaltyPenaltyACharKern JustificationFullJustificationCenteredLeftJustificationRightJustificationmkLetterParagraphStyle lineWidth linePosition interlineparagraphChangeparagraphStyle ContainerVBoxVerState baselineskiplineskip lineskiplimitcurrentParagraphStyle mkContainercontainerWidthcontainerHeightcontainerCurrentHeightcontainerContentHeightcontainerContentLeftBordercontainerContentRightBorder containerX containerYcontainerContentRectangledefaultVerState fillContainerStandardParagraphStyleNormalParagraph StandardStyleFont OrientationEWNSNENWSESW MonadStylesetStyle currentStyleaddBoxglue unstyledGlueParaTMdisplayFormattedTextgetBoxes addPenalty forceNewLineendPara startPara getParaStyle setParaStyle paragraphtxtkernsetBaseLineSkipgetBaseLineSkipsetLineSkipLimitgetLineSkipLimit setLineSkip getLineSkipsetFirstPassTolerancegetFirstPassTolerancesetSecondPassTolerancegetSecondPassTolerancesetHyphenPenaltyValuegetHyphenPenaltyValuesetFitnessDemeritgetFitnessDemeritsetHyphenDemeritgetHyphenDemeritsetLinePenaltygetLinePenaltysetJustification drawTextBoxstandardDocInfocreatePDFXFormaddPageaddPageWithTransition drawWithPage pdfByteStringrunPdf EmptyTrieTriemyLookupfromListlookupinsertisChar 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 UnknownLength KnownLength 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$fShowFontNamePDFTreefold2sizeNilTipBinMaskPrefixNat 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 OutlineCtxTopChildvalueparentleftsrightsTreeNodeOutline 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 analyzeJpegwithFile$fPdfLengthInfoRawImage$fPdfObjectRawImage$fPDFXObjectRawImage$fPdfLengthInfoPDFJpeg$fPdfObjectPDFJpeg$fPDFXObjectPDFJpegcreateTilingPattern PaintType ColoredTilingUncoloredTiling$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 PossibleBreakZListMaybeCBNoCBOneCB 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 strokeVBoxesHeightWidthVGlueSomeVBoxnotGluevglueaddTo isOverfullisSameParaStylerecurseStrokeVBoxesdrawWithParaStyle$fDisplayableBoxVBox $fBoxVBox$fMaybeGlueVBox $fShowVBox StartText ContinueTextStopTextOneBlockHBoxsaveCurrentwordhorizontalPostProcess withNewStylemkHboxWithRatio createText drawTextLine drawWords drawPureWords drawTextGlueTextDrawingStateHGlueTextSomeHBox 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