B ^~      !"#$%&'()*+,-./0123456789: ; < = > ? @ ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ 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 [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r stuvwxyz{|}portable experimentalmisc@NOSPAMalpheccar.org~~portable experimentalmisc@NOSPAMalpheccar.org )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 Hyphenation databases portable experimentalmisc@NOSPAMalpheccar.orgList of exception List of hyphenation patterns portable experimentalmisc@NOSPAMalpheccar.orgportable experimentalmisc@NOSPAMalpheccar.org(Create a PDF string from an Haskell one 3Escape PDF characters which have a special meaning Am empty dictionary Get the reference value #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 +   " portable experimentalmisc@NOSPAMalpheccar.orgCAdd a new G State to the G State dictionary for the given resource )Convert the resource to a PDf dictionary A PDF Color space A PDF Pattern A PDF Resource $ $ portable provisionalmisc@NOSPAMalpheccar.orgQThe 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. A map of integers to values a. S The total size of subtrees is tracked by each node. It is needed for the PDF Tree  portable experimentalmisc@NOSPAMalpheccar.org$Get the hyphen positions for a word +Get the hyphen positions from the patterns Hyphenate a string portable experimentalmisc@NOSPAMalpheccar.org Action of going to an URL  !"" !portable experimentalmisc@NOSPAMalpheccar.org $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 *#Specifies a matrix as three points +Applies a matrix to a point ,Rotation matrix -Translation matrix  '"transform (translate z) w == z + w' /Scaling matrix 0>A transformation matrix. An affine transformation a b c d e f   a b 0  c d 0  e f 1 3Angle #$%&'()*+,-./012345345201#$%&'(*+),-/.portable experimentalmisc@NOSPAMalpheccar.org16An empty drawing is member of the dictionary Get a new resource name OExecute the drawing commands to get a new state and an uncompressed PDF stream 7FDraw 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 xobject Interpolation function 9>Apply a transformation matrix to the current coordinate frame :'A shading AViewer preferences CTo hide the toolbar DTo hide the menubar ETo hide the window FFit window to screen GCenter window on screen HDisplay the docu,ent title I/Display mode when exiting the full screen mode JDocument page layout QDocument page mode VDocument metadata ^Transition style eThe PDF Monad fDirection of a transition lDirection of a transition oDimension of a transition rA PDF Transition  PDF Pages tList of all pages uA PDF Page object The PDF state Supply of unique identifiers Dictionary of PDF objects Pages Draw commands Reference to the PDF catalog Default page size Document infos  Root outline 6Reference to the current page used to create outlines Width and height of xobjects  Used to improve the outline API The PDF Catalog  An XObject w!A PDF Xobject which can be drawn A PDF stream object yThe drawing monad | A PDF color )016789:;<     =>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{ !"#$%&'()*+,|}~-./0123456y7 !"#$%&'()*+,6vwxeutQRSTUJKLMNOPABCDEFGHIVWXYZ[\]rs^_`abcdlmnopqfghijk=>?@    /01234|}~8 -.56:;<01)9z{portable experimentalmisc@NOSPAMalpheccar.org70Convert a dimension in font unit to device unit 89Get 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  Rendering mode for text display ,Unscaled unit (not scaled by the font size) The text monad //portable experimentalmisc@NOSPAMalpheccar.org9Set 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 AAdd a node PDFTree object B(Add a page to the PDG object dictionary C+Add all pages to the PDF object dictionary DEmpty page catalog E#Reference to the last created page FRecord bound of an xobject 9:;<=>?@CDGHIJEF@?DCE=<>JHGI;F:9 portable experimentalmisc@NOSPAMalpheccar.orgK,Get the border shqpe depending on the style Create a new annotation object portable experimentalmisc@NOSPAMalpheccar.org Create a colored tiling pattern #Create an uncolored tiling pattern LCreate a PDF tiling pattern Set the fill pattern Set the stroke pattern Set the fill pattern Set the stroke pattern  Tiling type portable experimentalmisc@NOSPAMalpheccar.org!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 8|}~|}~8 portable experimentalmisc@NOSPAMalpheccar.orgM6True if we are adding the first outline to this level NStart a new outline level O-We remember there are outlines at this level PClose an outline level ?Create a new outline section pointing to the last created page 6Create a new outline section pointing to a given page =>?@=>?@ portable experimentalmisc@NOSPAMalpheccar.orgSet 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 Line join styles Line cap styles 55 portable experimentalmisc@NOSPAMalpheccar.org$Fill clipping region with a shading :;<:;<portable experimentalmisc@NOSPAMalpheccar.org9Make a drawing box. A box object containing a Draw value A 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  !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 QA box containing a Draw value "RS     Q"RS    Q portable experimentalmisc@NOSPAMalpheccar.orgMake a letter from any box T!Compute glue width with dilation UhWe 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 V*Get cumulated dimension for following box W#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 XCreate an hyphen box YValue modeling infinity ZAdd a glue to the stream [ Return the standard space width \=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 aAdd a penalty to the stream bCreate a box containing text cCreate boxes for the letters d4split a line into boxes and add hyphen where needed eCreate an hyphen penalty fBreaking algorithm settings gDefault value 100 hDefault value 100 iDefault value 50 jDefault value 1000 kDefault value 1000 lDefault value 10 mDefault value false nDefault 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 .TopqrYsZ[\]^_`abdetfughijklmnvwxy !"#$.rYbtZa_edvwxyqfughijklmnT[\]^ops !"#$`portable experimentalmisc@NOSPAMalpheccar.org%PCreate a empty container to constraint the amount of line that can be displayed &Get the width of the container zGet 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 .NReturn 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 /Paragraph style 0#Width of the line of the paragraph 1`Horizontal shift of the line position relatively to the left egde of the paragraph bounding box 2UHow to style the interline glues added in a paragraph by the line breaking algorithm 3jChange the content of a paragraph before the line breaking algorithm is run. It may also change the style 4ZGet the paragraph bounding box and the paragraph draw command to apply additional effects 5UContainer 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 9Default value (12,0.17,0.0) :Default value (3.0,0.33,0.0) ;Default value 2 $%&z'()*+,-.~/0123456789:;<$56/01234789:;<%~,-&')+*(.zportable experimentalmisc@NOSPAMalpheccar.org ?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 &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. portable experimentalmisc@NOSPAMalpheccar.org=Default 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 >Fill a container with lines Convert pure lines to VBoxes %/012346789:;<=>=/01234789:;<>%6portable experimentalmisc@NOSPAMalpheccar.org?Standard styles for paragraphs AStandard styles for sentences ?@ABAB?@ portable experimentalmisc@NOSPAMalpheccar.orgCDisplay 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 D%Return the list of Vboxes for a text EAdd a penalty F,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 I Get the current paragraph style J#Change the current paragraph style Add a letter to the paragraph K 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 LAdd a text line M]add a kern (space that can be dilated or compressed and on which no line breaking can occur) a:Draw a text box with relative position. Useful for labels k:A MonadStyle where some typesetting operators can be used lSet the current text style mGet the current text style npAdd a box using the current mode (horizontal or vertical. The current style is always applied to the added box) o#Add a glue using the current style p4Add a glue with no style (it is just a translation) z      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrz    /01234klmnop qr6789:;<5 !"#$bcdefghijCLMEFKGHIJ%>=D,-&')+*(.aTVXZ\^UWY[]_`NPROQS?@ABportable experimentalmisc@NOSPAMalpheccar.orgs"No information for the document tCreate a PDF XObject u!Add a new page to a PDF document wDraw on a given page @67ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdfghijklmnopqrsvwxyz{stuvw@vuvwtrs^_`abcdlmnopqfghijkVWXYZ[\]QRSTUJKLMNOPABCDEFGHIsywxz{76portable experimentalmisc@NOSPAMalpheccar.orgxORead 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 yGet the JPEG bounds zvUse 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 {A Jpeg PDF object |A Jpeg file File analyzer monad xyz{|{|zxyportable experimentalmisc@NOSPAMalpheccar.org2Create 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 }Generates a PDF document The PDFTrailer   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|} e}  ut9 !"#$%&''()*+,,-./0123456789:;<==>?@ABCDEFGHIJKLLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnoppqrstuvwxyz{|}~                                             {      !"#$%&'()$*+,-./0123456789:;<=>?@AABCDEFGHIJK L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z {|}~&(~       !""#$%&'()*+,-./0123456 78 9 : ; <=>>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^P_`abcdefghij?klmn@opqrstuvwxyz{x|}~     HPDF-1.4Graphics.PDF.HyphenateGraphics.PDF.Text Graphics.PDFGraphics.PDF.PatternGraphics.PDF.ActionGraphics.PDF.CoordinatesGraphics.PDF.DocumentGraphics.PDF.ColorsGraphics.PDF.ShadingGraphics.PDF.NavigationGraphics.PDF.AnnotationGraphics.PDF.ShapesGraphics.PDF.TypesettingGraphics.PDF.ImageGraphics.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 MapString mkExceptionsmkCustomLanguageHyphenationDatabaseCustomLanguageEnglish toPDFString PDFReferencePDFRect PDFStringPDFFloatPDFColoredPatternPDFUncoloredPatternPDFFontFontName ZapfDingbatsSymbolCourier_BoldObliqueCourier_Oblique Courier_BoldCourierTimes_BoldItalic Times_Italic Times_Bold Times_RomanHelvetica_BoldObliqueHelvetica_ObliqueHelvetica_Bold Helvetica hyphenateGoToURLActiontoRadiandotscalePtprojectprojectXprojectYidentity pointMatrix transformrotate translatespiralscaleMatrixPointAngleRadianDegree emptyDrawingwithNewContexthsvToRgb applyMatrix 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 getDescent getHeight textWidth charWidthripTextsetFontdrawText textStart displayText startNewLineleading charSpace wordSpace textScale renderModerise setTextMatrixtextTextMode AddToClipFillAndStrokeTextAndAddToClipStrokeTextAndAddToClipFillTextAndAddToClip InvisibleTextFillAndStrokeText StrokeTextFillText UnscaledUnitPDFTextstandardViewerPrefs newAnnotationPDFLinkURLLinkTextAnnotationTextIconInsertHelpCommentKey NewParagraph ParagraphNotecreateColoredTilingcreateUncoloredTilingsetColoredFillPatternsetColoredStrokePatternsetUncoloredFillPatternsetUncoloredStrokePattern TilingTypeConstantSpacingAndFaster NoDistortionConstantSpacingblackwhiteredgreenbluesetStrokeAlpha setFillAlphasetRGBColorSpace fillColor strokeColor newSectionnewSectionWithPagesetWidth setMiterLimit setLineCap setLineJoinsetDash setNoDash beginPath closePathaddBezierCubicmovetolinetocurvetoarcto addLineToPathaddPolygonToPath strokePathfillPathfillAndStrokePathsetAsClipPathEO setAsClipPath fillPathEOfillAndStrokePathEO DashPattern JoinStyle BevelJoin RoundJoin MiterJoinCapStyle SquareCapRoundCapButtCapPolygonCircleRoundRectangleEllipseArc RectangleLineShapeaddShapestrokefill fillAndStrokefillEOfillAndStrokeEO applyShadingpaintWithShading mkDrawBoxDisplayableBox strokeBoxboxWidth boxHeight boxDescent boxAscentStyle sentenceStyle wordStyle textStyle updateStyle styleHeight styleDescentComparableStyle isSameStyleAs StyleFunctionDrawGlueDrawWord TextStyletextFonttextStrokeColor textFillColortextModepenWidth scaleSpacescaleDilatationscaleCompression BoxDimensionmkLetterLetterKernACharPenaltyFlaggedPenaltyGlue JustificationRightJustificationLeftJustificationCenteredFullJustification mkContainercontainerWidthcontainerHeightcontainerCurrentHeightcontainerContentHeightcontainerContentLeftBordercontainerContentRightBorder containerX containerYcontainerContentRectangleParagraphStyle lineWidth linePosition interlineparagraphChangeparagraphStyle ContainerVBoxVerState baselineskiplineskip lineskiplimitcurrentParagraphStyledefaultVerState fillContainerStandardParagraphStyleNormalParagraph StandardStyleFontdisplayFormattedTextgetBoxes addPenalty forceNewLineendPara startPara getParaStyle setParaStyle paragraphtxtkernsetBaseLineSkipgetBaseLineSkipsetLineSkipLimitgetLineSkipLimit setLineSkip getLineSkipsetFirstPassTolerancegetFirstPassTolerancesetSecondPassTolerancegetSecondPassTolerancesetHyphenPenaltyValuegetHyphenPenaltyValuesetFitnessDemeritgetFitnessDemeritsetHyphenDemeritgetHyphenDemeritsetLinePenaltygetLinePenaltysetJustification drawTextBox OrientationSWSENWNESNWE MonadStylesetStyle currentStyleaddBoxglue unstyledGlueParaTMstandardDocInfocreatePDFXFormaddPageaddPageWithTransition drawWithPage readJpegFile jpegBounds createPDFJpegPDFJpegJpegFilerunPdffromListlookupinsertTrie EmptyTrieisChar fromDigittoNumbersimplifysplitconvertPattern removeHyphenexceptionPoints mkPatterns exceptionspatternskernsSerializeValue serializecons escapeStringemptyDictionaryreferenceValue MonadPathPDFReferencedObject PDFDictionaryPDFArrayPDFName PDFLength PDFInteger AnyPdfObject PdfObjectencodeISO88591pc2wescapeOnWords8lparenrparenlbracketrbracketbspacebltbgtnewline noPdfObjectisEmptyDictionaryinsertInPdfDict pdfDictUnion modifyStricttoPDF addResourceresourceToDict PDFColorSpace PDFResource emptyRsrc emptyResource PatternRGB AnyPdfPatternprocSet resourcesPdfResourceObjecttoRsrc FillAlpha StrokeAlphafold2sizePDFTreeisLeafkeyOfempty getWordPointsgetFromPatternbase Data.Complex:+Complexphase magnitudepolarcismkPolar conjugateimagPartrealPart pdfDictMember supplyName runDrawing setResourcegetBoundInDraw getBoundInPDF interpolePDFPagesPdfState supplySrcobjectspagesstreamscatalog defaultRectdocInfooutline currentPage xobjectBound firstOutline PDFCatalog AnyPdfXForm PDFStreamemptyEnvironment readDrawST writeDrawST modifyDrawSTemptyDrawStatemultiplyCurrentMatrixWith currentMatrix getRgbColor OutlineLoc OutlineCtxChildvalueparentleftsrightsTopTreeNodeOutline OutlineData DestinationPDFOutlineEntry PDFOutlineunPDFprivateDrawXObject DrawTuple penPositionDrawEnvironmentstreamId xobjectBoundD DrawState supplyNamesrsrc strokeAlphas fillAlphastheFontsxobjects otherRsrcsannots colorSpacesshadingsmatrix AnyAnnotationAnnotationObject addAnnotationannotationTypeannotationContentannotationRectannotationToGlobalCoordinatesAnnotationStyletrueSizegetKernsetPageAnnotationssetPageResource createContentsupply addObject updateObject recordPagefindPagenodePageleafPageaddPagesnoPagesgetCurrentPage recordBound insertRight insertDownup addOutlines getBordercreateTilingPatternisFirststartNew addedOutlinecloseNewDrawBoxAnyBoxglueSizecreateBreaknodegetDimupdateWithNewRIfNoSolution hyphenBoxinfinityglueBox spaceWidthcenteredDilatationFactorleftDilatationFactorrightDilatationFactor spaceGlueBoxpenalty createCharcreateLetterBoxes splitText hyphenPenaltyBRStatefirstPassTolerancesecondPassTolerancehyphenPenaltyValuefitness_demeritflagged_demerit line_penaltycentered hyphenationdilatationRatiobadnessdefaultBreakingSettings formatListbigAdjustRatiokernBox MaybeGlueglueYglueZglueSizeWithRatiocontainerParaTolerancegetInterlineStyle interlineGlue getBoxDelta strokeVBoxesvglueaddTo isOverfullHeightWidthSomeVBoxVGluesaveCurrentwordhorizontalPostProcess withNewStylemkHboxWithRatio createText drawTextLine drawWords drawPureWords drawTextGlueHBoxSomeHBoxTextHGluemkVboxWithRatio createPara addParaLinetoVBoxesendFullyJustifiedrunPara addLettermyWords'myWordsFA createPDF saveObjectswriteObjectsAndCreateToc PDFTrailer