]]      !"#$%&'()*+,-./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[\]^_`abcdefghijklmnopqrstuvwx y z { | }~portable experimentalmisc@NOSPAMalpheccar.org Safe-Inferredportable experimentalmisc@NOSPAMalpheccar.org Safe-Inferred Hyphenation databases )Create a custom language for hyphenation )Is it a char used in hyphenation pattern Get numerical value for a char 7Convert a char from an hyphenation pattern to a number #Remove 0 contained between numbers <Split a patterns into a list of numbers :Convert a pattern into a list of number and a normal word &Remove hyphens from an excepyion word Get exception points  Exceptions  Patterns  portable experimentalmisc@NOSPAMalpheccar.org Safe-InferredList of exception List of hyphenation patterns  Safe-Inferredportable experimentalmisc@NOSPAMalpheccar.orgNoneportable experimentalmisc@NOSPAMalpheccar.orgNone#A monad where paths can be created A reference to a PDF object A Referenced objects A PDF rectangle A PDFDictionary  A PDFArray A PDFName object +A PDFString containing a strict bytestring  A real number in a PDF document A length in a PDF document An integer in a PDF document Anonymous PDF object  PDF Objects (Create a PDF string from an Haskell one 3Escape PDF characters which have a special meaning Am empty dictionary Get the reference value >   +   4   portable experimentalmisc@NOSPAMalpheccar.orgNoneA PDF Color space A PDF Pattern A PDF Resource CAdd a new G State to the G State dictionary for the given resource )Convert the resource to a PDf dictionary 3 GState dictionary GState name must be unique G State content  Old resource  New resource $  portable provisionalmisc@NOSPAMalpheccar.orgNoneA map of integers to values a. S The total size of subtrees is tracked by each node. It is needed for the PDF Tree QThe key function needed to export a Tree of PDF objects into the format defined  by the PDF spec O(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 action PDFTree ,Final action and reference of the root node         portable experimentalmisc@NOSPAMalpheccar.org Safe-Inferred$Get the hyphen positions for a word +Get the hyphen positions from the patterns Hyphenate a string  !2Hyphenation database to use to hyphenate the word Word to hyphenate  !portable experimentalmisc@NOSPAMalpheccar.orgNone Action of going to an URL  !""# !"" ! !""#portable experimentalmisc@NOSPAMalpheccar.orgNone#>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 matrix 0#Specifies a matrix as three points 1Applies a matrix to a point 2Rotation matrix 3Translation matrix  '"transform (translate z) w == z + w' 5Scaling matrix #$%&'()*+,-./0 X component  Y component translation component 12Rotation angle 345Horizontal scaling Horizontal scaling $%&'()*+,-.#$%&'()*+,-./012345&('%#$)*+,-.01/2354#$%&(')*+,-./012345$portable experimentalmisc@NOSPAMalpheccar.orgNone46'A shading =Viewer preferences ?To hide the toolbar @To hide the menubar ATo hide the window BFit window to screen CCenter window on screen DDisplay the docu,ent title E/Display mode when exiting the full screen mode FDocument page layout MDocument page mode RDocument metadata ZTransition style aThe PDF Monad bDirection of a transition c Glitter only e Wipe only f Wipe only hDirection of a transition kDimension of a transition nA PDF Transition / PDF Pages pList of all pages qA PDF Page object 0The PDF state 1Supply of unique identifiers 2Dictionary of PDF objects 3Pages 4Draw commands 5Reference to the PDF catalog 6Default page size 7Document infos 8 Root outline 96Reference to the current page used to create outlines :Width and height of xobjects ; Used to improve the outline API <The PDF Catalog = An XObject s!A PDF Xobject which can be drawn >A PDF stream object uThe drawing monad x A PDF color {An empty drawing ?is member of the dictionary @Get a new resource name AOExecute the drawing commands to get a new state and an uncompressed PDF stream |FDraw in a new drawing context without perturbing the previous context ( that is restored after the draw B*Set a resource in the resource dictionary CGet the bounds for an xobject DGet the bounds for an xobject EInterpolation function ~>Apply a transformation matrix to the current coordinate frame 678FGHIJKLMNOPQRSTUV9:;<WX=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`aYZbcdefghijklmno/[p\q]0^123456789:;<_r=`sta>bucdvwefghijklmnopqrstuvwxyz{|xyz}~{?@A|B Dict name Resource value Old cache value New cache value C Reference D Reference }E~#$/678FGHIJKLMNOPQRSTUV9:;<WX=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`aYZbcdefghijklmno/[p\q]0^123456789:;<_r=sta>buvwejklmnopqrstuvwxyz{|xyz}~{?@A|B}~\687FGHNIJKLMOPQRSTUV9<;:WX=>?@ABCDEFLKJIHGMQPONRSTUVWXYZ`_^]\[aYZbgfedchjikmlno/[p\q]0 ^123456789:;<_r=`sta>bucdvwefghijklmno pqrstuvwxyz{|xzy}~{?@A|BCD}E~portable experimentalmisc@NOSPAMalpheccar.orgNone Rendering mode for text display ,Unscaled unit (not scaled by the font size) The text monad 0Convert a dimension in font unit to device unit 9Get the kern value for a given font and pair of charcode Select a font to use Draw a text in the draw monad $Set position for the text beginning Display some text 4Start a new line (leading value must have been set) Set leading value Set the additional char space Set the additional word space Set scaling factor for text Choose the text rendering mode Set the rise value #Set the text transformation matrix 5Utility function to quickly display one line of text 2Font String 9List of chars and char width taking into account kerning / / portable experimentalmisc@NOSPAMalpheccar.orgNoneSet page annotations Set page resource &Create a new empty content for a page  Returns a new unique identifier KAdd 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 catalog Find a page in the catalog Add a node PDFTree object (Add a page to the PDG object dictionary +Add all pages to the PDF object dictionary Empty page catalog #Reference to the last created page Record bound of an xobject List of drawing commands Reference to the drawing  Reference to the initial object  New value Reference to the page  Page content Pages n the documents Reference to the page Pages in the document Page content if found  Parent node  Left tree  Right tree BPDF reference to the new node pointing to the left and right ones Page parent if any Page reference  Page data  Reference to a PDFPages objects  Reference Width Height portable experimentalmisc@NOSPAMalpheccar.orgNone6True if we are adding the first outline to this level Start 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 page 6Create a new outline section pointing to a given page Outline title Outline color Outline style Outline title Outline color Outline style Page reference Outline title Outline color Outline style Outline title Outline color Outline style Outline title Outline color Outline style 9:;<9<;:  portable experimentalmisc@NOSPAMalpheccar.orgNone,Get the border shqpe depending on the style Create a new annotation object  portable experimentalmisc@NOSPAMalpheccar.orgNoneA Jpeg PDF object A Jpeg file File analyzer monad ORead a JPEG file and return an abstract description of its content or an error B The read is not lazy. The whole image will be loaded into memory Get the JPEG bounds vUse an abstract description of a Jpeg to return a PDFReference that can be used to manipulate the Jpeg in the context  of the PDF document *     '     portable experimentalmisc@NOSPAMalpheccar.orgNone Tiling type  Create a colored tiling pattern #Create an uncolored tiling pattern Create a PDF tiling pattern Set the fill pattern Set the stroke pattern Set the fill pattern Set the stroke pattern Left Bottom Right Top Horizontal step Vertical step Drawing commands Left Bottom Right Top Horizontal step Vertical step Drawing commands Left Bottom Right Top Horizontal step Vertical step Drawing commands  portable experimentalmisc@NOSPAMalpheccar.orgNone!Set alpha value for transparency !Set alpha value for transparency !Init the PDF color space to RGB. Select the filling color Select the drawing color Filling color Drawing color xyz}xzy} portable experimentalmisc@NOSPAMalpheccar.orgNoneLine join styles Line cap styles Set pen width Set pen width  Set line cap Set line join Set the dash pattern No dash pattern Begin a new path at a position Close current path DAppend a cubic Bezier curve to the current path. The curve extends F from the current point to the point (x3 , y3), using (x1 , y1 ) and ' (x2, y2) as the Bezier control points 3Move pen to a given point without drawing anything >Draw a line from current point to the one specified by lineto 6Approximate a circular arc by one cubic bezier curve. + larger arc angles mean larger distortions Add a polygon to current path Draw current path Fill current path Fill current path Set clipping path Set clipping path &Fill current path using even odd rule &Fill current path using even odd rule <Extent of arc Center of arc 55(portable experimentalmisc@NOSPAMalpheccar.orgNone$Fill clipping region with a shading Shading Shape to paint 678687portable experimentalmisc@NOSPAMalpheccar.orgNoneA box that can be displayed  Draw a box GA 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 baseline IStyle of text (sentences and words). Minimum definition textStyle QModify the look of a sentence (sequence of words using the same style on a line)  3A style may contain data changed from word to word  'A style may change the height of words  Default implementation 0 styleHeight = getHeight . textFont . textStyle  (A style may change the descent of lines  Default implementation 2 styleDescent = getDescent . textFont . textStyle  FUsed to compare two style without taking into account the style state ;What kind of style drawing function is required for a word , when word styling is enabled Must style a glue Must style a word !Text style used by PDF operators WScaling 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 descent A box containing a Draw value 9Make a drawing box. A box object containing a Draw value *The box Horizontal position 4Vertical position (top of the box and NOT baseline) Box Width of the box  The style SFunction receiving the bounding rectangle and the command for drawing the sentence  The style Word styling function       !"#$%&'"            !"#$%&'portable experimentalmisc@NOSPAMalpheccar.orgNone#(Breaking algorithm settings )Default value 100 *Default value 100 +Default value 50 ,Default value 1000 -Default value 1000 .Default value 10 /Default value false 0Default value English cA 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 box 1!Compute glue width with dilation 2hWe create a new breakpoint but we get the cumulated dimensions only at the next box following the break B since glues and penalties are removed at the beginning of a line 3*Get cumulated dimension for following box 4#Check is a break point is possible N otherwise, if none is possible and there is only one remaining active point,  we force a breakpoint 5Create an hyphen box 6Value modeling infinity 7Add a glue to the stream 8 Return the standard space width 9=How much dilatation is allowed compred to the space width :>How much dilatation is allowed compared to the space width ;>How much dilatation is allowed compared to the space width <Add a glue to the stream ={When 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 space >Add a penalty to the stream ?Create a box containing text @Create boxes for the letters A4split a line into boxes and add hyphen where needed BCreate an hyphen penalty dCDEFGHI(J)*+,-./0KLMNOPQRSTUVWXYZ[\]^_`abc !"#$%&'()Dimension of the box "Text style of the box (can use t) Box 1dletter Adjustement ratio Width efMaxw  Current w y z Dilatation ratio ghijk adjust ratio Flag for previous Flag for current Demerit for the breakpoint lm2n3op Second pass Current analyzed box Result q4Old r Current Actives rst5uv6w7 Glue width Glue dilatation Glue compression 8 The style 9:;<Paragraph settings  The style x The style =y>Penalty value ? Char style  Char width  Char code @ Letter style Letter and size Boxes ABStyle of future hyphen Size of hyphen taking into account the kerning that was perturbed by the hyphen introduction. The char before the hyphen is now bigger z{|}~.(J)*+,-./0`abc !"#$%&'()1fhjv6w789:;<=>?ABz9CDEFGIH( J)*+,-./0K LMNOPQRSTU VWXYZ[\]^_`abc#"! $('&%)1defghijklm2n3opq4rst5uv6w789:;<x=y>?@ABz{|}~portable experimentalmisc@NOSPAMalpheccar.orgNone*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 -UHow to style the interline glues added in a paragraph by the line breaking algorithm .jChange the content of a paragraph before the line breaking algorithm is run. It may also change the style /ZGet the paragraph bounding box and the paragraph draw command to apply additional effects 0UContainer 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 box 4Default value (12,0.17,0.0) 5Default value (3.0,0.33,0.0) 6Default value 2 8PCreate a empty container to constraint the amount of line that can be displayed 9Get the width of the container Get 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 =5Get the minimum left border of the container content >pGet the maximum right border of the container content (maybe bigger than container width due to overfull lines) ?Container horizontal position @Container vertical position ANReturn the rectangle containing the text after formatting and glue dilatation .Get the required style for the interline glue Interline glue required AGet the delta used to position a box with non rectangular shapes Stroke the VBoxes /*+ The style 9Width of the text area used by the typesetting algorithm  Line number  Line width , The style 9Width of the text area used by the typesetting algorithm  Line number 6Horizontal offset from the left edge of the text area - The style 'Function used to style interline glues . The style >Line offset different from 0 when a paragraph has been broken !List of letters in the paragraph !Update style and list of letters / The style #Function used to style a paragraph 01234567 Glue height Glue dilatation factor Glue compression factor  Glue width  Glue delta 8x y width height Pargraph tolerance New container 9:;<=>?@AList of boxes X pos Y pos $*+,-./0123456789:;<=>?@A *+,-./0123456789:;<=>?@Aportable experimentalmisc@NOSPAMalpheccar.orgNoneOne block of text Stop the text Continue adding text )Send PDF commands needed to start a text &An horizontal Hbox (sentence or word) ` The width of the glue was computed with the adjustement ratio of the HLine containing the glue m 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 PDFString horizontalPostProcess "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 3Draw a line of words and glue using the word style :Draw a line of words, glue, or any box without word style 2Draw 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 glue Adjustement ratio  Current word List of letters List of words or sentences 5adjust ratio, hyphen style, list of letters or boxes List of lines Adjustement ratio Style String Width <Height of the total line first time this function is called =Descent of the total line first time this function is called Remaining box to display x for the remaining boxes y for the whole line portable experimentalmisc@NOSPAMalpheccar.orgNoneBDefault vertical state  Default values  baselineskip = (12,0.17,0.0)  lineskip = (3.0,0.33,0.0)  lineskiplimit = 2 Pair 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 1 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) 2Create a new paragraph from the remaining letters #Add paragraph lines to a container CFill a container with lines Convert pure lines to VBoxes BAdjustement ratio  Container  Container C#Vertical style for interline glues  Container  VBox to add PComponent to draw, new container and remaining VBoxes due to overfull container  Max width List of lines  Line number List of VBoxes *+,-./12345678BCBCportable experimentalmisc@NOSPAMalpheccar.orgNoneDStandard styles for paragraphs FStandard styles for sentences DEFGDEFGDEFGportable experimentalmisc@NOSPAMalpheccar.orgNoneQ:A MonadStyle where some typesetting operators can be used RSet the current text style SGet the current text style TpAdd a box using the current mode (horizontal or vertical. The current style is always applied to the added box) U#Add a glue using the current style V4Add a glue with no style (it is just a translation) YDisplay a formatted text in a given bounding rectangle with a given default paragraph style, a given default text style. No clipping k is taking place. Drawing stop when the last line is crossing the bounding rectangle in vertical direction Z%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 style :Run a paragraph. Style changes are local to the paragraph _ Get the current paragraph style `#Change the current paragraph style Add a letter to the paragraph a Add a new paragraph to the text Add a null char nullChar :: Para () $nullChar = Para . tell $ [nullLetter] MSplit a sentence into words keeping the space but shortening them to 1 space bAdd a text line c]add a kern (space that can be dilated or compressed and on which no line breaking can occur) w:Draw a text box with relative position. Useful for labels BHIJKLMNOPQRSTWidth Height Descent U5Size of glue (width or height depending on the mode) Dilatation factor Compression factor V6Size of glue (width or height depending on the mode) Dilatation factor Compression factor WXY Text area default vertical style Default horizontal style Typesetting monad  Draw monad Zdefault vertical style Default horizontal style Typesetting monad List of boxes [\OTrue if we use the same style to end a paragraph. false for an invisible style ]^_`abcdefghijklmnopqrstuv"Centered, left or fully justified wx y  width limit  height limit default vertical style Default horizontal style Typesetting monad z      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwz#"!    *+,-./QRSTUV  WX12345670$('&%HPONMLKJIYbc[)\a]^_`8CBZ?@9:<>=;AwjlnprtkmoqsuvdfhegiFGDE-HPONMLKJIQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvw portable experimentalmisc@NOSPAMalpheccar.orgNonex"No information for the document yCreate a PDF XObject z!Add a new page to a PDF document |Draw on a given page xyLeft Bottom Right Top Drawing commands Page size or default document's one Reference to the new page zPage size or default document's one Reference to the new page {Page size or default document's one Optional duration Optional transition Reference to the new page |Page Drawing commands @=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`bcdefghijklmnorstuvw{|xyz{|@rz{|ynoZ`_^]\[hjikmlbgfedcRSTUVWXYMQPONFLKJIHG=>?@ABCDExustvw|{xyz{|portable experimentalmisc@NOSPAMalpheccar.orgNoneThe PDFTrailer 2Create a new PDF document and return a first page 0 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 DList of objects each object being already converted to a bytestring }Default size for a page  PDF action ~Name of the PDF document Default size for a page  PDF action %&'()*+,-.  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ a~}  qp~ }~None !"#$%&''()*+,--./0123456789:;<=>>?@@ABCDEFGHIJKLMNOPQRSTUVWXYYZ[\]^_`abcdefghijklmmnopqrstuvwxyz{|}~                                                         x !"#$%&'()*+,-.)/0123456789:;<==>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     &(      !"#$%&'()*+,-./0123456789:;<=>?@AABCDEFGHIJKLMMNNOO{P*+78Q9RSSTUVWXXYZ[[\]^_`abcdefgghijklmnnopqrstuvwxyz{|}~                                                            !"##$%&''()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^;_`ab<cdefghijklmnopqrstuvwxyz{|}~rab  HPDF-1.4.3Graphics.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.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.StandardStyleGraphics.PDF.Documentation 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 newAnnotationPDFJpegJpegFile readJpegFile jpegBounds createPDFJpeg 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 escapeStringemptyDictionaryreferenceValuetoPDFencodeISO88591pc2wescapeOnWords8lparenrparenlbracketrbracketbspacebltbgtnewline noPdfObjectisEmptyDictionaryinsertInPdfDict pdfDictUnion modifyStrict$fPdfObjectEither$fPdfObjectPDFReference$fNumPDFReference$fPdfObjectPDFReferencedObject$fPdfObjectPDFRect$fPdfObjectPDFDictionary $fPdfObject[]$fPdfObjectPDFName$fPdfObjectPDFString $fSerializeValueBuilderPDFString#$fSerializeValueByteStringPDFString$fPdfObjectBool$fPdfObjectComplex$fPdfObjectDouble$fPdfObjectPDFLength$fPdfObjectInt$fPdfObjectPDFInteger$fNumPDFLength$fPdfObjectAnyPdfObject PDFColorSpace PDFResource addResourceresourceToDict PatternRGB AnyPdfPatternprocSet resourcesPdfResourceObjecttoRsrc FillAlpha StrokeAlphaFontSize emptyRsrc getResources emptyResource$fPdfResourceObjectPDFReference$fPdfObjectAnyPdfPattern $fPdfResourceObjectPDFReference0$fPdfObjectPDFUncoloredPattern $fPdfResourceObjectPDFReference1$fPdfObjectPDFColoredPattern $fPdfResourceObjectPDFColorSpace$fPdfObjectPDFResource$fPdfResourceObjectFillAlpha$fPdfResourceObjectStrokeAlpha$fPdfResourceObjectPDFFont $fOrdPDFFont$fShowFontNamePDFTreefold2sizeBinTipNilMaskPrefixNat natFromInt intFromNatisLeafkeyOflookup'lookupNzeroNjoinzeronomatchmaskmaskW branchMaskhighestBitMaskshiftRLempty foldlStrict getWordPointsgetFromPatternaddedExceptions$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$fPdfObjectColor$fPdfObjectDestination$fPdfObjectPDFOutlineEntry$fPdfObjectOutlineStyle$fPdfObjectPDFCatalog$fPdfObjectPDFPage$fPdfObjectPDFPages$fPdfObjectPDFTransition$fShowPDFTransStyle$fPdfObjectPDFViewerPreferences$fPdfObjectPDFOutline$fShowPDFTransDirection$fShowPDFTransDimension $fShowPDFPage$fPdfObjectPDFXForm$fPDFXObjectPDFXForm$fPDFXObjectAnyPdfXForm$fPdfObjectAnyPdfXForm$fPDFGlobalsPDF$fPDFGlobalsDraw$fPdfObjectPDFStream$fMonadPathDraw $fFunctorDraw$fMonadWriterBuilderDraw$fMonadStateDrawStateDraw $fMonadReaderDrawEnvironmentDraw $fMonadDraw$fAnnotationObjectAnyAnnotation$fPdfObjectAnyAnnotationtrueSizegetKernunText TextParametertctwtztlts fontState currentFont FontStatehasKern cgetDescent cgetAdvance cgetLeadingc2idefaultParameters$fMonadPathPDFTextsetPageAnnotationssetPageResource createContentsupply addObject updateObject recordPagefindPagenodePageleafPageaddPagesnoPagesgetCurrentPage recordBound insertRight insertDownup addOutlines createOutlinetoTreeisFirststartNew addedOutlinecloseNewnewSectionPrivate newSiblingnewChild moveToParent getBorderapplyMatrixToRectanglestandardAnnotationDicttransformAnnotRect$fAnnotationObjectPDFLink$fPdfObjectPDFLink$fAnnotationObjectURLLink$fPdfObjectURLLink $fAnnotationObjectTextAnnotation$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$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 createStreamsdefaultPdfSettingscreateObjectByteStrings$fPdfObjectPDFTrailer