View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0016159 | Scribus | Scripter | public | 2020-07-09 07:35 | 2020-08-11 20:56 |
Reporter | ale | Assigned To | ale | ||
Priority | normal | Severity | minor | Reproducibility | have not tried |
Status | closed | Resolution | fixed | ||
Fixed in Version | 1.5.6.svn | ||||
Summary | 0016159: Add selectFrameText() to scripter | ||||
Description | if you select the second frame in a chain, selectText's start value will start from the number of characters in the first frame in the chain scribus.deselectAll() scribus.selectObject('Text1') content = scribus.getFrameText() start_of_2 = len(content) print(start_of_2) scribus.deselectAll() scribus.selectObject('Text2') scribus.selectText(0, 5) # <- no output print(scribus.getFrameText()) scribus.selectText(start_of_2, 5) # <- first word in Text2 print(scribus.getFrameText()) | ||||
Tags | No tags attached. | ||||
Patch | Yes | ||||
|
select-text-chained-frames.sla (15,786 bytes)
<?xml version="1.0" encoding="UTF-8"?> <SCRIBUSUTF8NEW Version="1.5.6.svn"> <DOCUMENT ANZPAGES="1" PAGEWIDTH="595.275590551181" PAGEHEIGHT="841.889763779528" BORDERLEFT="28.346" BORDERRIGHT="28.346" BORDERTOP="28.346" BORDERBOTTOM="28.346" PRESET="0" BleedTop="0" BleedLeft="0" BleedRight="0" BleedBottom="0" ORIENTATION="0" PAGESIZE="A4" FIRSTNUM="1" BOOK="0" AUTOSPALTEN="1" ABSTSPALTEN="11" UNITS="1" DFONT="Catamaran Regular" DSIZE="12" DCOL="1" DGAP="0" TabFill="" TabWidth="36" TextDistLeft="0" TextDistRight="0" TextDistBottom="0" TextDistTop="0" AUTHOR="" COMMENTS="" KEYWORDS="" PUBLISHER="" DOCDATE="" DOCTYPE="" DOCFORMAT="" DOCIDENT="" DOCSOURCE="" DOCLANGINFO="" DOCRELATION="" DOCCOVER="" DOCRIGHTS="" DOCCONTRIB="" TITLE="" SUBJECT="" VHOCH="33" VHOCHSC="66" VTIEF="33" VTIEFSC="66" VKAPIT="75" BASEGRID="14.4" BASEO="0" AUTOL="100" UnderlinePos="-1" UnderlineWidth="-1" StrikeThruPos="-1" StrikeThruWidth="-1" GROUPC="1" HCMS="0" DPSo="0" DPSFo="0" DPuse="0" DPgam="0" DPbla="1" DPPr="Fogra27L CMYK Coated Press" DPIn="sRGB IEC61966-2.1" DPInCMYK="Fogra27L CMYK Coated Press" DPIn2="sRGB IEC61966-2.1" DPIn3="Fogra27L CMYK Coated Press" DISc="1" DIIm="0" ALAYER="0" LANGUAGE="en_GB" AUTOMATIC="1" AUTOCHECK="0" GUIDELOCK="0" SnapToGuides="0" SnapToGrid="0" SnapToElement="0" MINGRID="20.001" MAJGRID="100.001" SHOWGRID="0" SHOWGUIDES="1" showcolborders="1" SHOWFRAME="1" SHOWControl="0" SHOWLAYERM="0" SHOWMARGIN="1" SHOWBASE="0" SHOWPICT="1" SHOWLINK="0" rulerMode="1" showrulers="1" showBleed="1" rulerXoffset="0" rulerYoffset="0" GuideRad="10" GRAB="4" POLYC="4" POLYF="0.502" POLYR="0" POLYIR="0" POLYCUR="0" POLYOCUR="0" POLYS="0" arcStartAngle="30" arcSweepAngle="300" spiralStartAngle="0" spiralEndAngle="1080" spiralFactor="1.2" AutoSave="1" AutoSaveTime="600000" AutoSaveCount="1" AutoSaveKeep="0" AUtoSaveInDocDir="1" AutoSaveDir="" ScratchBottom="20.001" ScratchLeft="100.001" ScratchRight="100.001" ScratchTop="20.001" GapHorizontal="0" GapVertical="40.003" StartArrow="0" EndArrow="0" PEN="Black" BRUSH="None" PENLINE="Black" PENTEXT="Black" StrokeText="Black" TextBackGround="None" TextLineColor="None" TextBackGroundShade="100" TextLineShade="100" TextPenShade="100" TextStrokeShade="100" STIL="1" STILLINE="1" WIDTH="1" WIDTHLINE="1" PENSHADE="100" LINESHADE="100" BRUSHSHADE="100" CPICT="None" PICTSHADE="100" CSPICT="None" PICTSSHADE="100" PICTSCX="1" PICTSCY="1" PSCALE="0" PASPECT="1" EmbeddedPath="0" HalfRes="1" dispX="0" dispY="0" constrain="15" MINORC="#00ff00" MAJORC="#00ff00" GuideC="#000080" BaseC="#c0c0c0" renderStack="0 1 2 3 4" GridType="0" PAGEC="#ffffff" MARGC="#0000ff" RANDF="0" currentProfile="PDF 1.4" calligraphicPenFillColor="Black" calligraphicPenLineColor="Black" calligraphicPenFillColorShade="100" calligraphicPenLineColorShade="100" calligraphicPenLineWidth="1" calligraphicPenAngle="0" calligraphicPenWidth="10" calligraphicPenStyle="0"> <CheckProfile Name="PDF 1.3" ignoreErrors="0" autoCheck="1" checkGlyphs="1" checkOrphans="1" checkOverflow="1" checkPictures="1" checkPartFilledImageFrames="0" checkResolution="1" checkTransparency="1" minResolution="144" maxResolution="2400" checkAnnotations="0" checkRasterPDF="1" checkForGIF="1" ignoreOffLayers="0" checkNotCMYKOrSpot="0" checkDeviceColorsAndOutputIntent="0" checkFontNotEmbedded="1" checkFontIsOpenType="1" checkAppliedMasterDifferentSide="1" checkEmptyTextFrames="1"/> <CheckProfile Name="PDF 1.4" ignoreErrors="0" autoCheck="1" checkGlyphs="1" checkOrphans="1" checkOverflow="1" checkPictures="1" checkPartFilledImageFrames="0" checkResolution="1" checkTransparency="0" minResolution="144" maxResolution="2400" checkAnnotations="0" checkRasterPDF="1" checkForGIF="1" ignoreOffLayers="0" checkNotCMYKOrSpot="0" checkDeviceColorsAndOutputIntent="0" checkFontNotEmbedded="1" checkFontIsOpenType="1" checkAppliedMasterDifferentSide="1" checkEmptyTextFrames="1"/> <CheckProfile Name="PDF 1.5" ignoreErrors="0" autoCheck="1" checkGlyphs="1" checkOrphans="1" checkOverflow="1" checkPictures="1" checkPartFilledImageFrames="0" checkResolution="1" checkTransparency="0" minResolution="144" maxResolution="2400" checkAnnotations="0" checkRasterPDF="1" checkForGIF="1" ignoreOffLayers="0" checkNotCMYKOrSpot="0" checkDeviceColorsAndOutputIntent="0" checkFontNotEmbedded="1" checkFontIsOpenType="1" checkAppliedMasterDifferentSide="1" checkEmptyTextFrames="1"/> <CheckProfile Name="PDF 1.6" ignoreErrors="0" autoCheck="1" checkGlyphs="1" checkOrphans="1" checkOverflow="1" checkPictures="1" checkPartFilledImageFrames="0" checkResolution="1" checkTransparency="0" minResolution="144" maxResolution="2400" checkAnnotations="0" checkRasterPDF="1" checkForGIF="1" ignoreOffLayers="0" checkNotCMYKOrSpot="0" checkDeviceColorsAndOutputIntent="0" checkFontNotEmbedded="1" checkFontIsOpenType="0" checkAppliedMasterDifferentSide="1" checkEmptyTextFrames="1"/> <CheckProfile Name="PDF/X-1a" ignoreErrors="0" autoCheck="1" checkGlyphs="1" checkOrphans="1" checkOverflow="1" checkPictures="1" checkPartFilledImageFrames="0" checkResolution="1" checkTransparency="1" minResolution="144" maxResolution="2400" checkAnnotations="1" checkRasterPDF="1" checkForGIF="1" ignoreOffLayers="0" checkNotCMYKOrSpot="1" checkDeviceColorsAndOutputIntent="0" checkFontNotEmbedded="1" checkFontIsOpenType="1" checkAppliedMasterDifferentSide="1" checkEmptyTextFrames="1"/> <CheckProfile Name="PDF/X-3" ignoreErrors="0" autoCheck="1" checkGlyphs="1" checkOrphans="1" checkOverflow="1" checkPictures="1" checkPartFilledImageFrames="0" checkResolution="1" checkTransparency="1" minResolution="144" maxResolution="2400" checkAnnotations="1" checkRasterPDF="1" checkForGIF="1" ignoreOffLayers="0" checkNotCMYKOrSpot="0" checkDeviceColorsAndOutputIntent="1" checkFontNotEmbedded="1" checkFontIsOpenType="1" checkAppliedMasterDifferentSide="1" checkEmptyTextFrames="1"/> <CheckProfile Name="PDF/X-4" ignoreErrors="0" autoCheck="1" checkGlyphs="1" checkOrphans="1" checkOverflow="1" checkPictures="1" checkPartFilledImageFrames="0" checkResolution="1" checkTransparency="0" minResolution="144" maxResolution="2400" checkAnnotations="1" checkRasterPDF="1" checkForGIF="1" ignoreOffLayers="0" checkNotCMYKOrSpot="0" checkDeviceColorsAndOutputIntent="1" checkFontNotEmbedded="1" checkFontIsOpenType="0" checkAppliedMasterDifferentSide="1" checkEmptyTextFrames="1"/> <CheckProfile Name="PostScript" ignoreErrors="0" autoCheck="1" checkGlyphs="1" checkOrphans="1" checkOverflow="1" checkPictures="1" checkPartFilledImageFrames="0" checkResolution="1" checkTransparency="1" minResolution="144" maxResolution="2400" checkAnnotations="0" checkRasterPDF="1" checkForGIF="1" ignoreOffLayers="0" checkNotCMYKOrSpot="0" checkDeviceColorsAndOutputIntent="0" checkFontNotEmbedded="0" checkFontIsOpenType="0" checkAppliedMasterDifferentSide="1" checkEmptyTextFrames="1"/> <COLOR NAME="Black" SPACE="CMYK" C="0" M="0" Y="0" K="100"/> <COLOR NAME="Blue" SPACE="CMYK" C="100" M="100" Y="0" K="0"/> <COLOR NAME="Cyan" SPACE="CMYK" C="100" M="0" Y="0" K="0"/> <COLOR NAME="Green" SPACE="CMYK" C="100" M="0" Y="100" K="0"/> <COLOR NAME="Magenta" SPACE="CMYK" C="0" M="100" Y="0" K="0"/> <COLOR NAME="Red" SPACE="CMYK" C="0" M="100" Y="100" K="0"/> <COLOR NAME="Registration" SPACE="CMYK" C="100" M="100" Y="100" K="100" Register="1"/> <COLOR NAME="White" SPACE="CMYK" C="0" M="0" Y="0" K="0"/> <COLOR NAME="Yellow" SPACE="CMYK" C="0" M="0" Y="100" K="0"/> <HYPHEN/> <STYLE NAME="Default Paragraph Style" DefaultStyle="1" ALIGN="0" DIRECTION="0" LINESPMode="0" LINESP="15" INDENT="0" RMARGIN="0" FIRST="0" VOR="0" NACH="0" ParagraphEffectOffset="0" DROP="0" DROPLIN="2" Bullet="0" Numeration="0" HyphenConsecutiveLines="2" BCOLOR="None" BSHADE="100"/> <STYLE NAME="abc" FCOLOR="Red" LANGUAGE="en_GB"/> <CHARSTYLE CNAME="Default Character Style" DefaultStyle="1" FONT="Catamaran Regular" FONTSIZE="12" FONTFEATURES="" FEATURES="inherit" FCOLOR="Black" FSHADE="100" HyphenWordMin="3" SCOLOR="Black" BGCOLOR="None" BGSHADE="100" SSHADE="100" TXTSHX="5" TXTSHY="-5" TXTOUT="1" TXTULP="-0.1" TXTULW="-0.1" TXTSTP="-0.1" TXTSTW="-0.1" SCALEH="100" SCALEV="100" BASEO="0" KERN="0" LANGUAGE="en_GB"/> <TableStyle NAME="Default Table Style" DefaultStyle="1" FillColor="None" FillShade="100"> <TableBorderLeft> <TableBorderLine Width="1" PenStyle="1" Color="Black" Shade="100"/> </TableBorderLeft> <TableBorderRight> <TableBorderLine Width="1" PenStyle="1" Color="Black" Shade="100"/> </TableBorderRight> <TableBorderTop> <TableBorderLine Width="1" PenStyle="1" Color="Black" Shade="100"/> </TableBorderTop> <TableBorderBottom> <TableBorderLine Width="1" PenStyle="1" Color="Black" Shade="100"/> </TableBorderBottom> </TableStyle> <CellStyle NAME="Default Cell Style" DefaultStyle="1" FillColor="None" FillShade="100" LeftPadding="1" RightPadding="1" TopPadding="1" BottomPadding="1"> <TableBorderLeft> <TableBorderLine Width="1" PenStyle="1" Color="Black" Shade="100"/> </TableBorderLeft> <TableBorderRight> <TableBorderLine Width="1" PenStyle="1" Color="Black" Shade="100"/> </TableBorderRight> <TableBorderTop> <TableBorderLine Width="1" PenStyle="1" Color="Black" Shade="100"/> </TableBorderTop> <TableBorderBottom> <TableBorderLine Width="1" PenStyle="1" Color="Black" Shade="100"/> </TableBorderBottom> </CellStyle> <LAYERS NUMMER="0" LEVEL="0" NAME="Background" SICHTBAR="1" DRUCKEN="1" EDIT="1" SELECT="0" FLOW="1" TRANS="1" BLEND="0" OUTL="0" LAYERC="#000000"/> <Printer firstUse="1" toFile="0" useAltPrintCommand="0" outputSeparations="0" useSpotColors="1" useColor="1" mirrorH="0" mirrorV="0" useICC="0" doGCR="0" doClip="0" setDevParam="0" useDocBleeds="1" cropMarks="0" bleedMarks="0" registrationMarks="0" colorMarks="0" includePDFMarks="1" PSLevel="3" PDLanguage="3" markLength="20.0013" markOffset="0" BleedTop="0" BleedLeft="0" BleedRight="0" BleedBottom="0" printer="HL2270DW" filename="" separationName="All" printerCommand=""/> <PDF firstUse="1" Thumbnails="0" Articles="0" Bookmarks="0" Compress="1" CMethod="0" Quality="0" EmbedPDF="0" MirrorH="0" MirrorV="0" Clip="0" rangeSel="0" rangeTxt="" RotateDeg="0" PresentMode="0" RecalcPic="0" FontEmbedding="0" Grayscale="0" RGBMode="1" UseProfiles="0" UseProfiles2="0" Binding="0" PicRes="300" Resolution="300" Version="14" Intent="1" Intent2="0" SolidP="sRGB IEC61966-2.1" ImageP="sRGB IEC61966-2.1" PrintP="Fogra27L CMYK Coated Press" InfoString="" BTop="0" BLeft="0" BRight="0" BBottom="0" useDocBleeds="1" cropMarks="0" bleedMarks="0" registrationMarks="0" colorMarks="0" docInfoMarks="0" markLength="20.0012598425197" markOffset="0" ImagePr="0" PassOwner="" PassUser="" Permissions="-4" Encrypt="0" UseLayers="0" UseLpi="0" UseSpotColors="1" doMultiFile="0" displayBookmarks="0" displayFullscreen="0" displayLayers="0" displayThumbs="0" hideMenuBar="0" hideToolBar="0" fitWindow="0" openAfterExport="0" PageLayout="0" openAction=""> <LPI Color="Black" Frequency="133" Angle="45" SpotFunction="3"/> <LPI Color="Cyan" Frequency="133" Angle="105" SpotFunction="3"/> <LPI Color="Magenta" Frequency="133" Angle="75" SpotFunction="3"/> <LPI Color="Yellow" Frequency="133" Angle="90" SpotFunction="3"/> </PDF> <DocItemAttributes/> <TablesOfContents/> <NotesStyles> <notesStyle Name="Default" Start="1" Endnotes="0" Type="Type_1_2_3" Range="0" Prefix="" Suffix=")" AutoHeight="1" AutoWidth="1" AutoRemove="1" AutoWeld="1" SuperNote="1" SuperMaster="1" MarksStyle="" NotesStyle=""/> </NotesStyles> <PageSets> <Set Name="Single Page" FirstPage="0" Rows="1" Columns="1"/> <Set Name="Facing Pages" FirstPage="1" Rows="1" Columns="2"> <PageNames Name="Left Page"/> <PageNames Name="Right Page"/> </Set> <Set Name="3-Fold" FirstPage="0" Rows="1" Columns="3"> <PageNames Name="Left Page"/> <PageNames Name="Middle"/> <PageNames Name="Right Page"/> </Set> <Set Name="4-Fold" FirstPage="0" Rows="1" Columns="4"> <PageNames Name="Left Page"/> <PageNames Name="Middle Left"/> <PageNames Name="Middle Right"/> <PageNames Name="Right Page"/> </Set> </PageSets> <Sections> <Section Number="0" Name="0" From="0" To="0" Type="Type_1_2_3" Start="1" Reversed="0" Active="1" FillChar="0" FieldWidth="0"/> </Sections> <MASTERPAGE PAGEXPOS="100.001" PAGEYPOS="20.001" PAGEWIDTH="595.275590551181" PAGEHEIGHT="841.889763779528" BORDERLEFT="28.346" BORDERRIGHT="28.346" BORDERTOP="28.346" BORDERBOTTOM="28.346" NUM="0" NAM="Normal" MNAM="" Size="A4" Orientation="0" LEFT="0" PRESET="0" VerticalGuides="" HorizontalGuides="" AGhorizontalAutoGap="0" AGverticalAutoGap="0" AGhorizontalAutoCount="0" AGverticalAutoCount="0" AGhorizontalAutoRefer="0" AGverticalAutoRefer="0" AGSelection="0 0 0 0" pageEffectDuration="1" pageViewDuration="1" effectType="0" Dm="0" M="0" Di="0"/> <PAGE PAGEXPOS="100.001" PAGEYPOS="20.001" PAGEWIDTH="595.275590551181" PAGEHEIGHT="841.889763779528" BORDERLEFT="28.346" BORDERRIGHT="28.346" BORDERTOP="28.346" BORDERBOTTOM="28.346" NUM="0" NAM="" MNAM="Normal" Size="A4" Orientation="0" LEFT="0" PRESET="0" VerticalGuides="" HorizontalGuides="" AGhorizontalAutoGap="0" AGverticalAutoGap="0" AGhorizontalAutoCount="0" AGverticalAutoCount="0" AGhorizontalAutoRefer="0" AGverticalAutoRefer="0" AGSelection="0 0 0 0" pageEffectDuration="1" pageViewDuration="1" effectType="0" Dm="0" M="0" Di="0"/> <PAGEOBJECT XPOS="180.75" YPOS="108.875015748032" OwnPage="0" ItemID="20517366" PTYPE="4" WIDTH="154.5" HEIGHT="34.015748031496" FRTYPE="0" CLIPEDIT="0" PWIDTH="1" PLINEART="1" LOCALSCX="1" LOCALSCY="1" LOCALX="0" LOCALY="0" LOCALROT="0" PICART="1" SCALETYPE="1" RATIO="1" COLUMNS="1" COLGAP="0" AUTOTEXT="0" EXTRA="0" TEXTRA="0" BEXTRA="0" REXTRA="0" VAlign="0" FLOP="0" PLTSHOW="0" BASEOF="0" textPathType="0" textPathFlipped="0" path="M0 0 L154.5 0 L154.5 34.0157 L0 34.0157 L0 0 Z" copath="M0 0 L154.5 0 L154.5 34.0157 L0 34.0157 L0 0 Z" gXpos="180.75" gYpos="108.875015748032" gWidth="0" gHeight="0" LAYER="0" NEXTITEM="20537654" BACKITEM="-1"> <StoryText> <DefaultStyle/> <ITEXT CH="this is some text with no style in the first frame."/> <para/> <ITEXT CH="which has the style abc and is in the chained frame"/> <trail PARENT="abc"/> </StoryText> </PAGEOBJECT> <PAGEOBJECT XPOS="180.75" YPOS="183.75" OwnPage="0" ItemID="20537654" PTYPE="4" WIDTH="163.030527559055" HEIGHT="36" FRTYPE="0" CLIPEDIT="0" PWIDTH="1" PLINEART="1" LOCALSCX="1" LOCALSCY="1" LOCALX="0" LOCALY="0" LOCALROT="0" PICART="1" SCALETYPE="1" RATIO="1" COLUMNS="1" COLGAP="0" AUTOTEXT="0" EXTRA="0" TEXTRA="0" BEXTRA="0" REXTRA="0" VAlign="0" FLOP="0" PLTSHOW="0" BASEOF="0" textPathType="0" textPathFlipped="0" path="M0 0 L163.031 0 L163.031 36 L0 36 L0 0 Z" copath="M0 0 L163.031 0 L163.031 36 L0 36 L0 0 Z" gXpos="180.75" gYpos="183.75" gWidth="0" gHeight="0" LAYER="0" NEXTITEM="-1" BACKITEM="20517366"/> </DOCUMENT> </SCRIBUSUTF8NEW> |
|
i'm working on a patch... |
|
Well what you mentioned is expected... If you work on the text of a text chain, the fact is also that you need only to select the first frame of the chain. Given the restrictions on text layout updates while a script is running, that makes working on text easier... and faster. Data related to the text selection is now also shared across the frames of the chain, that will be needed in the future to provide text selection across text frames. Imo what should be changed is the documention related to selectText() so as to make behavior in the case of text chains clearer. |
|
hi jean i could not really follow your explanation but the "simple" patch that fixes this behavior is really simple. but, of course, if someone has modified the text she will need to update the flow before selecting (this now mentioned in the scripter documentation for (at least) other commands) there is an issue related to selecting the last character in the chain. i will upload a script with a hack that solves this (but does not seem to affect other cases). there will also be a simple test file and a test script. |
|
>> but, of course, if someone has modified the text she will need to update the flow before selecting That's not the case in fact. As I explained, the text selection data is now shared across the text chain. You can select text as any position of the chain while the same text frame is selected. So you can format a whole text chain according to your desire and update layout only at the end. |
|
i attach a patch that adds a selectFrameText() which is a companion to getFrameText(). this patch is necessary to be able to implement a python based table of contents within scribus (and it might enable a few other cool features). here is a set of tests against the new code: # get the first 4 chars of a frame scribus.deselectAll() scribus.selectObject('Text1') scribus.selectFrameText(0, 4) print(scribus.getFrameText() == 'This') # get all chars starting from 5 in a chained frame scribus.selectFrameText(5, -1) print(scribus.getFrameText() == 'is some text with no style in the first frame.') # select in an empty frame scribus.deselectAll() scribus.selectObject('Text4') scribus.selectFrameText(0, 0) print(scribus.getFrameText() == '') # select in a chained empty frame scribus.deselectAll() scribus.selectObject('Text6') scribus.selectFrameText(0, 0) print(scribus.getFrameText() == '') # get all chars starting from 5 in an unchained frame scribus.deselectAll() scribus.selectObject('Text3') scribus.selectFrameText(5, -1) print(scribus.getFrameText() == 'is some text.') scribus.selectFrameText(0, 0) # remove the selection print(len(scribus.getFrameText()) == 18) scribus.selectFrameText(5, 13) # push the count to its limit print(scribus.getFrameText() == 'is some text.') # set count 1 over the limit try: scribus.selectFrameText(5, 14) print('don\'t print this', scribus.getFrameText()) except IndexError: print(True) # select the first 5 chars in the second frame in a chain scribus.deselectAll() scribus.selectObject('Text2') scribus.selectFrameText(0, 5) print(scribus.getFrameText() == 'which') # select all chars after the first 6 in the second frame in a chain scribus.selectFrameText(6, -1) print(scribus.getFrameText() == 'has the style abc and is in the chained frame.') # select with. a way too big count try: scribus.selectFrameText(1000, 5) print('don\'t print this', scribus.getFrameText()) except IndexError: print(True) they test a few corner cases in the attached .sla file. select-text-chained-frames-2.sla (18,929 bytes)
<?xml version="1.0" encoding="UTF-8"?> <SCRIBUSUTF8NEW Version="1.5.6.svn"> <DOCUMENT ANZPAGES="1" PAGEWIDTH="595.275590551181" PAGEHEIGHT="841.889763779528" BORDERLEFT="28.346" BORDERRIGHT="28.346" BORDERTOP="28.346" BORDERBOTTOM="28.346" PRESET="0" BleedTop="0" BleedLeft="0" BleedRight="0" BleedBottom="0" ORIENTATION="0" PAGESIZE="A4" FIRSTNUM="1" BOOK="0" AUTOSPALTEN="1" ABSTSPALTEN="11" UNITS="1" DFONT="Catamaran Regular" DSIZE="12" DCOL="1" DGAP="0" TabFill="" TabWidth="36" TextDistLeft="0" TextDistRight="0" TextDistBottom="0" TextDistTop="0" AUTHOR="" COMMENTS="" KEYWORDS="" PUBLISHER="" DOCDATE="" DOCTYPE="" DOCFORMAT="" DOCIDENT="" DOCSOURCE="" DOCLANGINFO="" DOCRELATION="" DOCCOVER="" DOCRIGHTS="" DOCCONTRIB="" TITLE="" SUBJECT="" VHOCH="33" VHOCHSC="66" VTIEF="33" VTIEFSC="66" VKAPIT="75" BASEGRID="14.4" BASEO="0" AUTOL="100" UnderlinePos="-1" UnderlineWidth="-1" StrikeThruPos="-1" StrikeThruWidth="-1" GROUPC="1" HCMS="0" DPSo="0" DPSFo="0" DPuse="0" DPgam="0" DPbla="1" DPPr="Fogra27L CMYK Coated Press" DPIn="sRGB IEC61966-2.1" DPInCMYK="Fogra27L CMYK Coated Press" DPIn2="sRGB IEC61966-2.1" DPIn3="Fogra27L CMYK Coated Press" DISc="1" DIIm="0" ALAYER="0" LANGUAGE="en_GB" AUTOMATIC="1" AUTOCHECK="0" GUIDELOCK="0" SnapToGuides="0" SnapToGrid="0" SnapToElement="0" MINGRID="20.001" MAJGRID="100.001" SHOWGRID="0" SHOWGUIDES="1" showcolborders="1" SHOWFRAME="1" SHOWControl="0" SHOWLAYERM="0" SHOWMARGIN="1" SHOWBASE="0" SHOWPICT="1" SHOWLINK="0" rulerMode="1" showrulers="1" showBleed="1" rulerXoffset="0" rulerYoffset="0" GuideRad="10" GRAB="4" POLYC="4" POLYF="0.502" POLYR="0" POLYIR="0" POLYCUR="0" POLYOCUR="0" POLYS="0" arcStartAngle="30" arcSweepAngle="300" spiralStartAngle="0" spiralEndAngle="1080" spiralFactor="1.2" AutoSave="1" AutoSaveTime="600000" AutoSaveCount="1" AutoSaveKeep="0" AUtoSaveInDocDir="1" AutoSaveDir="" ScratchBottom="20.001" ScratchLeft="100.001" ScratchRight="100.001" ScratchTop="20.001" GapHorizontal="0" GapVertical="40.003" StartArrow="0" EndArrow="0" PEN="Black" BRUSH="None" PENLINE="Black" PENTEXT="Black" StrokeText="Black" TextBackGround="None" TextLineColor="None" TextBackGroundShade="100" TextLineShade="100" TextPenShade="100" TextStrokeShade="100" STIL="1" STILLINE="1" WIDTH="1" WIDTHLINE="1" PENSHADE="100" LINESHADE="100" BRUSHSHADE="100" CPICT="None" PICTSHADE="100" CSPICT="None" PICTSSHADE="100" PICTSCX="1" PICTSCY="1" PSCALE="0" PASPECT="1" EmbeddedPath="0" HalfRes="1" dispX="0" dispY="0" constrain="15" MINORC="#00ff00" MAJORC="#00ff00" GuideC="#000080" BaseC="#c0c0c0" renderStack="0 1 2 3 4" GridType="0" PAGEC="#ffffff" MARGC="#0000ff" RANDF="0" currentProfile="PDF 1.4" calligraphicPenFillColor="Black" calligraphicPenLineColor="Black" calligraphicPenFillColorShade="100" calligraphicPenLineColorShade="100" calligraphicPenLineWidth="1" calligraphicPenAngle="0" calligraphicPenWidth="10" calligraphicPenStyle="0"> <CheckProfile Name="PDF 1.3" ignoreErrors="0" autoCheck="1" checkGlyphs="1" checkOrphans="1" checkOverflow="1" checkPictures="1" checkPartFilledImageFrames="0" checkResolution="1" checkTransparency="1" minResolution="144" maxResolution="2400" checkAnnotations="0" checkRasterPDF="1" checkForGIF="1" ignoreOffLayers="0" checkNotCMYKOrSpot="0" checkDeviceColorsAndOutputIntent="0" checkFontNotEmbedded="1" checkFontIsOpenType="1" checkAppliedMasterDifferentSide="1" checkEmptyTextFrames="1"/> <CheckProfile Name="PDF 1.4" ignoreErrors="0" autoCheck="1" checkGlyphs="1" checkOrphans="1" checkOverflow="1" checkPictures="1" checkPartFilledImageFrames="0" checkResolution="1" checkTransparency="0" minResolution="144" maxResolution="2400" checkAnnotations="0" checkRasterPDF="1" checkForGIF="1" ignoreOffLayers="0" checkNotCMYKOrSpot="0" checkDeviceColorsAndOutputIntent="0" checkFontNotEmbedded="1" checkFontIsOpenType="1" checkAppliedMasterDifferentSide="1" checkEmptyTextFrames="1"/> <CheckProfile Name="PDF 1.5" ignoreErrors="0" autoCheck="1" checkGlyphs="1" checkOrphans="1" checkOverflow="1" checkPictures="1" checkPartFilledImageFrames="0" checkResolution="1" checkTransparency="0" minResolution="144" maxResolution="2400" checkAnnotations="0" checkRasterPDF="1" checkForGIF="1" ignoreOffLayers="0" checkNotCMYKOrSpot="0" checkDeviceColorsAndOutputIntent="0" checkFontNotEmbedded="1" checkFontIsOpenType="1" checkAppliedMasterDifferentSide="1" checkEmptyTextFrames="1"/> <CheckProfile Name="PDF 1.6" ignoreErrors="0" autoCheck="1" checkGlyphs="1" checkOrphans="1" checkOverflow="1" checkPictures="1" checkPartFilledImageFrames="0" checkResolution="1" checkTransparency="0" minResolution="144" maxResolution="2400" checkAnnotations="0" checkRasterPDF="1" checkForGIF="1" ignoreOffLayers="0" checkNotCMYKOrSpot="0" checkDeviceColorsAndOutputIntent="0" checkFontNotEmbedded="1" checkFontIsOpenType="0" checkAppliedMasterDifferentSide="1" checkEmptyTextFrames="1"/> <CheckProfile Name="PDF/X-1a" ignoreErrors="0" autoCheck="1" checkGlyphs="1" checkOrphans="1" checkOverflow="1" checkPictures="1" checkPartFilledImageFrames="0" checkResolution="1" checkTransparency="1" minResolution="144" maxResolution="2400" checkAnnotations="1" checkRasterPDF="1" checkForGIF="1" ignoreOffLayers="0" checkNotCMYKOrSpot="1" checkDeviceColorsAndOutputIntent="0" checkFontNotEmbedded="1" checkFontIsOpenType="1" checkAppliedMasterDifferentSide="1" checkEmptyTextFrames="1"/> <CheckProfile Name="PDF/X-3" ignoreErrors="0" autoCheck="1" checkGlyphs="1" checkOrphans="1" checkOverflow="1" checkPictures="1" checkPartFilledImageFrames="0" checkResolution="1" checkTransparency="1" minResolution="144" maxResolution="2400" checkAnnotations="1" checkRasterPDF="1" checkForGIF="1" ignoreOffLayers="0" checkNotCMYKOrSpot="0" checkDeviceColorsAndOutputIntent="1" checkFontNotEmbedded="1" checkFontIsOpenType="1" checkAppliedMasterDifferentSide="1" checkEmptyTextFrames="1"/> <CheckProfile Name="PDF/X-4" ignoreErrors="0" autoCheck="1" checkGlyphs="1" checkOrphans="1" checkOverflow="1" checkPictures="1" checkPartFilledImageFrames="0" checkResolution="1" checkTransparency="0" minResolution="144" maxResolution="2400" checkAnnotations="1" checkRasterPDF="1" checkForGIF="1" ignoreOffLayers="0" checkNotCMYKOrSpot="0" checkDeviceColorsAndOutputIntent="1" checkFontNotEmbedded="1" checkFontIsOpenType="0" checkAppliedMasterDifferentSide="1" checkEmptyTextFrames="1"/> <CheckProfile Name="PostScript" ignoreErrors="0" autoCheck="1" checkGlyphs="1" checkOrphans="1" checkOverflow="1" checkPictures="1" checkPartFilledImageFrames="0" checkResolution="1" checkTransparency="1" minResolution="144" maxResolution="2400" checkAnnotations="0" checkRasterPDF="1" checkForGIF="1" ignoreOffLayers="0" checkNotCMYKOrSpot="0" checkDeviceColorsAndOutputIntent="0" checkFontNotEmbedded="0" checkFontIsOpenType="0" checkAppliedMasterDifferentSide="1" checkEmptyTextFrames="1"/> <COLOR NAME="Black" SPACE="CMYK" C="0" M="0" Y="0" K="100"/> <COLOR NAME="Blue" SPACE="CMYK" C="100" M="100" Y="0" K="0"/> <COLOR NAME="Cyan" SPACE="CMYK" C="100" M="0" Y="0" K="0"/> <COLOR NAME="Green" SPACE="CMYK" C="100" M="0" Y="100" K="0"/> <COLOR NAME="Magenta" SPACE="CMYK" C="0" M="100" Y="0" K="0"/> <COLOR NAME="Red" SPACE="CMYK" C="0" M="100" Y="100" K="0"/> <COLOR NAME="Registration" SPACE="CMYK" C="100" M="100" Y="100" K="100" Register="1"/> <COLOR NAME="White" SPACE="CMYK" C="0" M="0" Y="0" K="0"/> <COLOR NAME="Yellow" SPACE="CMYK" C="0" M="0" Y="100" K="0"/> <HYPHEN/> <STYLE NAME="Default Paragraph Style" DefaultStyle="1" ALIGN="0" DIRECTION="0" LINESPMode="0" LINESP="15" INDENT="0" RMARGIN="0" FIRST="0" VOR="0" NACH="0" ParagraphEffectOffset="0" DROP="0" DROPLIN="2" Bullet="0" Numeration="0" HyphenConsecutiveLines="2" BCOLOR="None" BSHADE="100"/> <STYLE NAME="abc" FCOLOR="Red" LANGUAGE="en_GB"/> <CHARSTYLE CNAME="Default Character Style" DefaultStyle="1" FONT="Catamaran Regular" FONTSIZE="12" FONTFEATURES="" FEATURES="inherit" FCOLOR="Black" FSHADE="100" HyphenWordMin="3" SCOLOR="Black" BGCOLOR="None" BGSHADE="100" SSHADE="100" TXTSHX="5" TXTSHY="-5" TXTOUT="1" TXTULP="-0.1" TXTULW="-0.1" TXTSTP="-0.1" TXTSTW="-0.1" SCALEH="100" SCALEV="100" BASEO="0" KERN="0" LANGUAGE="en_GB"/> <TableStyle NAME="Default Table Style" DefaultStyle="1" FillColor="None" FillShade="100"> <TableBorderLeft> <TableBorderLine Width="1" PenStyle="1" Color="Black" Shade="100"/> </TableBorderLeft> <TableBorderRight> <TableBorderLine Width="1" PenStyle="1" Color="Black" Shade="100"/> </TableBorderRight> <TableBorderTop> <TableBorderLine Width="1" PenStyle="1" Color="Black" Shade="100"/> </TableBorderTop> <TableBorderBottom> <TableBorderLine Width="1" PenStyle="1" Color="Black" Shade="100"/> </TableBorderBottom> </TableStyle> <CellStyle NAME="Default Cell Style" DefaultStyle="1" FillColor="None" FillShade="100" LeftPadding="1" RightPadding="1" TopPadding="1" BottomPadding="1"> <TableBorderLeft> <TableBorderLine Width="1" PenStyle="1" Color="Black" Shade="100"/> </TableBorderLeft> <TableBorderRight> <TableBorderLine Width="1" PenStyle="1" Color="Black" Shade="100"/> </TableBorderRight> <TableBorderTop> <TableBorderLine Width="1" PenStyle="1" Color="Black" Shade="100"/> </TableBorderTop> <TableBorderBottom> <TableBorderLine Width="1" PenStyle="1" Color="Black" Shade="100"/> </TableBorderBottom> </CellStyle> <LAYERS NUMMER="0" LEVEL="0" NAME="Background" SICHTBAR="1" DRUCKEN="1" EDIT="1" SELECT="0" FLOW="1" TRANS="1" BLEND="0" OUTL="0" LAYERC="#000000"/> <Printer firstUse="1" toFile="0" useAltPrintCommand="0" outputSeparations="0" useSpotColors="1" useColor="1" mirrorH="0" mirrorV="0" useICC="0" doGCR="0" doClip="0" setDevParam="0" useDocBleeds="1" cropMarks="0" bleedMarks="0" registrationMarks="0" colorMarks="0" includePDFMarks="1" PSLevel="3" PDLanguage="3" markLength="20.0013" markOffset="0" BleedTop="0" BleedLeft="0" BleedRight="0" BleedBottom="0" printer="HL2270DW" filename="" separationName="All" printerCommand=""/> <PDF firstUse="1" Thumbnails="0" Articles="0" Bookmarks="0" Compress="1" CMethod="0" Quality="0" EmbedPDF="0" MirrorH="0" MirrorV="0" Clip="0" rangeSel="0" rangeTxt="" RotateDeg="0" PresentMode="0" RecalcPic="0" FontEmbedding="0" Grayscale="0" RGBMode="1" UseProfiles="0" UseProfiles2="0" Binding="0" PicRes="300" Resolution="300" Version="14" Intent="1" Intent2="0" SolidP="sRGB IEC61966-2.1" ImageP="sRGB IEC61966-2.1" PrintP="Fogra27L CMYK Coated Press" InfoString="" BTop="0" BLeft="0" BRight="0" BBottom="0" useDocBleeds="1" cropMarks="0" bleedMarks="0" registrationMarks="0" colorMarks="0" docInfoMarks="0" markLength="20.0012598425197" markOffset="0" ImagePr="0" PassOwner="" PassUser="" Permissions="-4" Encrypt="0" UseLayers="0" UseLpi="0" UseSpotColors="1" doMultiFile="0" displayBookmarks="0" displayFullscreen="0" displayLayers="0" displayThumbs="0" hideMenuBar="0" hideToolBar="0" fitWindow="0" openAfterExport="0" PageLayout="0" openAction=""> <LPI Color="" Frequency="0" Angle="0" SpotFunction="0"/> <LPI Color="Black" Frequency="133" Angle="45" SpotFunction="3"/> <LPI Color="Cyan" Frequency="133" Angle="105" SpotFunction="3"/> <LPI Color="Magenta" Frequency="133" Angle="75" SpotFunction="3"/> <LPI Color="Yellow" Frequency="133" Angle="90" SpotFunction="3"/> </PDF> <DocItemAttributes/> <TablesOfContents/> <NotesStyles> <notesStyle Name="Default" Start="1" Endnotes="0" Type="Type_1_2_3" Range="0" Prefix="" Suffix=")" AutoHeight="1" AutoWidth="1" AutoRemove="1" AutoWeld="1" SuperNote="1" SuperMaster="1" MarksStyle="" NotesStyle=""/> </NotesStyles> <PageSets> <Set Name="Single Page" FirstPage="0" Rows="1" Columns="1"/> <Set Name="Facing Pages" FirstPage="1" Rows="1" Columns="2"> <PageNames Name="Left Page"/> <PageNames Name="Right Page"/> </Set> <Set Name="3-Fold" FirstPage="0" Rows="1" Columns="3"> <PageNames Name="Left Page"/> <PageNames Name="Middle"/> <PageNames Name="Right Page"/> </Set> <Set Name="4-Fold" FirstPage="0" Rows="1" Columns="4"> <PageNames Name="Left Page"/> <PageNames Name="Middle Left"/> <PageNames Name="Middle Right"/> <PageNames Name="Right Page"/> </Set> </PageSets> <Sections> <Section Number="0" Name="0" From="0" To="0" Type="Type_1_2_3" Start="1" Reversed="0" Active="1" FillChar="0" FieldWidth="0"/> </Sections> <MASTERPAGE PAGEXPOS="100.001" PAGEYPOS="20.001" PAGEWIDTH="595.275590551181" PAGEHEIGHT="841.889763779528" BORDERLEFT="28.346" BORDERRIGHT="28.346" BORDERTOP="28.346" BORDERBOTTOM="28.346" NUM="0" NAM="Normal" MNAM="" Size="A4" Orientation="0" LEFT="0" PRESET="0" VerticalGuides="" HorizontalGuides="" AGhorizontalAutoGap="0" AGverticalAutoGap="0" AGhorizontalAutoCount="0" AGverticalAutoCount="0" AGhorizontalAutoRefer="0" AGverticalAutoRefer="0" AGSelection="0 0 0 0" pageEffectDuration="1" pageViewDuration="1" effectType="0" Dm="0" M="0" Di="0"/> <PAGE PAGEXPOS="100.001" PAGEYPOS="20.001" PAGEWIDTH="595.275590551181" PAGEHEIGHT="841.889763779528" BORDERLEFT="28.346" BORDERRIGHT="28.346" BORDERTOP="28.346" BORDERBOTTOM="28.346" NUM="0" NAM="" MNAM="Normal" Size="A4" Orientation="0" LEFT="0" PRESET="0" VerticalGuides="" HorizontalGuides="" AGhorizontalAutoGap="0" AGverticalAutoGap="0" AGhorizontalAutoCount="0" AGverticalAutoCount="0" AGhorizontalAutoRefer="0" AGverticalAutoRefer="0" AGSelection="0 0 0 0" pageEffectDuration="1" pageViewDuration="1" effectType="0" Dm="0" M="0" Di="0"/> <PAGEOBJECT XPOS="180.75" YPOS="108.875015748032" OwnPage="0" ItemID="1190012361" PTYPE="4" WIDTH="154.5" HEIGHT="34.015748031496" FRTYPE="0" CLIPEDIT="0" PWIDTH="1" PLINEART="1" LOCALSCX="1" LOCALSCY="1" LOCALX="0" LOCALY="0" LOCALROT="0" PICART="1" SCALETYPE="1" RATIO="1" COLUMNS="1" COLGAP="0" AUTOTEXT="0" EXTRA="0" TEXTRA="0" BEXTRA="0" REXTRA="0" VAlign="0" FLOP="0" PLTSHOW="0" BASEOF="0" textPathType="0" textPathFlipped="0" path="M0 0 L154.5 0 L154.5 34.0157 L0 34.0157 L0 0 Z" copath="M0 0 L154.5 0 L154.5 34.0157 L0 34.0157 L0 0 Z" gXpos="180.75" gYpos="108.875015748032" gWidth="0" gHeight="0" LAYER="0" NEXTITEM="1190126489" BACKITEM="-1"> <StoryText> <DefaultStyle/> <ITEXT CH="This is some text with no style in the first frame."/> <para/> <ITEXT CH="which has the style abc and is in the chained frame."/> <trail PARENT="abc"/> </StoryText> </PAGEOBJECT> <PAGEOBJECT XPOS="180.75" YPOS="183.75" OwnPage="0" ItemID="1190126489" PTYPE="4" WIDTH="163.030527559055" HEIGHT="36" FRTYPE="0" CLIPEDIT="0" PWIDTH="1" PLINEART="1" LOCALSCX="1" LOCALSCY="1" LOCALX="0" LOCALY="0" LOCALROT="0" PICART="1" SCALETYPE="1" RATIO="1" COLUMNS="1" COLGAP="0" AUTOTEXT="0" EXTRA="0" TEXTRA="0" BEXTRA="0" REXTRA="0" VAlign="0" FLOP="0" PLTSHOW="0" BASEOF="0" textPathType="0" textPathFlipped="0" path="M0 0 L163.031 0 L163.031 36 L0 36 L0 0 Z" copath="M0 0 L163.031 0 L163.031 36 L0 36 L0 0 Z" gXpos="180.75" gYpos="183.75" gWidth="0" gHeight="0" LAYER="0" NEXTITEM="-1" BACKITEM="1190012361"/> <PAGEOBJECT XPOS="179.906511811024" YPOS="250.25" OwnPage="0" ItemID="1190117513" PTYPE="4" WIDTH="165.593488188976" HEIGHT="52.5" FRTYPE="0" CLIPEDIT="0" PWIDTH="1" PLINEART="1" LOCALSCX="1" LOCALSCY="1" LOCALX="0" LOCALY="0" LOCALROT="0" PICART="1" SCALETYPE="1" RATIO="1" COLUMNS="1" COLGAP="0" AUTOTEXT="0" EXTRA="0" TEXTRA="0" BEXTRA="0" REXTRA="0" VAlign="0" FLOP="0" PLTSHOW="0" BASEOF="0" textPathType="0" textPathFlipped="0" path="M0 0 L165.593 0 L165.593 52.5 L0 52.5 L0 0 Z" copath="M0 0 L165.593 0 L165.593 52.5 L0 52.5 L0 0 Z" gXpos="179.906511811024" gYpos="250.25" gWidth="0" gHeight="0" LAYER="0" NEXTITEM="-1" BACKITEM="-1"> <StoryText> <DefaultStyle/> <ITEXT CH="this is some text."/> <trail/> </StoryText> </PAGEOBJECT> <PAGEOBJECT XPOS="180.75" YPOS="328.977377952756" OwnPage="0" ItemID="1191557705" PTYPE="4" WIDTH="164.25" HEIGHT="57.2726220472441" FRTYPE="0" CLIPEDIT="0" PWIDTH="1" PLINEART="1" LOCALSCX="1" LOCALSCY="1" LOCALX="0" LOCALY="0" LOCALROT="0" PICART="1" SCALETYPE="1" RATIO="1" COLUMNS="1" COLGAP="0" AUTOTEXT="0" EXTRA="0" TEXTRA="0" BEXTRA="0" REXTRA="0" VAlign="0" FLOP="0" PLTSHOW="0" BASEOF="0" textPathType="0" textPathFlipped="0" path="M0 0 L164.25 0 L164.25 57.2726 L0 57.2726 L0 0 Z" copath="M0 0 L164.25 0 L164.25 57.2726 L0 57.2726 L0 0 Z" gXpos="180.75" gYpos="328.977377952756" gWidth="0" gHeight="0" LAYER="0" NEXTITEM="-1" BACKITEM="-1"> <StoryText> <DefaultStyle/> <trail/> </StoryText> </PAGEOBJECT> <PAGEOBJECT XPOS="183" YPOS="407.25" OwnPage="0" ItemID="1194792025" PTYPE="4" WIDTH="160.780527559055" HEIGHT="55.5" FRTYPE="0" CLIPEDIT="0" PWIDTH="1" PLINEART="1" ANNAME="Text5" LOCALSCX="1" LOCALSCY="1" LOCALX="0" LOCALY="0" LOCALROT="0" PICART="1" SCALETYPE="1" RATIO="1" COLUMNS="1" COLGAP="0" AUTOTEXT="0" EXTRA="0" TEXTRA="0" BEXTRA="0" REXTRA="0" VAlign="0" FLOP="0" PLTSHOW="0" BASEOF="0" textPathType="0" textPathFlipped="0" path="M0 0 L160.781 0 L160.781 55.5 L0 55.5 L0 0 Z" copath="M0 0 L160.781 0 L160.781 55.5 L0 55.5 L0 0 Z" gXpos="183" gYpos="407.25" gWidth="0" gHeight="0" LAYER="0" NEXTITEM="1195372281" BACKITEM="-1"> <StoryText> <DefaultStyle/> <ITEXT CH="the linked frame is empty"/> <trail/> </StoryText> </PAGEOBJECT> <PAGEOBJECT XPOS="182" YPOS="487.25" OwnPage="0" ItemID="1195372281" PTYPE="4" WIDTH="165" HEIGHT="49.5" FRTYPE="0" CLIPEDIT="0" PWIDTH="1" PLINEART="1" ANNAME="Text6" LOCALSCX="1" LOCALSCY="1" LOCALX="0" LOCALY="0" LOCALROT="0" PICART="1" SCALETYPE="1" RATIO="1" COLUMNS="1" COLGAP="0" AUTOTEXT="0" EXTRA="0" TEXTRA="0" BEXTRA="0" REXTRA="0" VAlign="0" FLOP="0" PLTSHOW="0" BASEOF="0" textPathType="0" textPathFlipped="0" path="M0 0 L165 0 L165 49.5 L0 49.5 L0 0 Z" copath="M0 0 L165 0 L165 49.5 L0 49.5 L0 0 Z" gXpos="182" gYpos="487.25" gWidth="0" gHeight="0" LAYER="0" NEXTITEM="-1" BACKITEM="1194792025"/> </DOCUMENT> </SCRIBUSUTF8NEW> select-text.diff (5,230 bytes)
diff --git a/scribus/plugins/scriptplugin/cmdtext.cpp b/scribus/plugins/scriptplugin/cmdtext.cpp index 163f19ae0..22a55d37e 100644 --- a/scribus/plugins/scriptplugin/cmdtext.cpp +++ b/scribus/plugins/scriptplugin/cmdtext.cpp @@ -872,6 +872,55 @@ PyObject *scribus_settextverticalalignment(PyObject* /* self */, PyObject* args) Py_RETURN_NONE; } +PyObject *scribus_selectframetext(PyObject* /* self */, PyObject* args) +{ + char *Name = const_cast<char*>(""); + int start, selcount; + if (!PyArg_ParseTuple(args, "ii|es", &start, &selcount, "utf-8", &Name)) + return nullptr; + if (!checkHaveDocument()) + return nullptr; + PageItem *item = GetUniqueItem(QString::fromUtf8(Name)); + if (item == nullptr) + return nullptr; + + if (!(item->isTextFrame()) && !(item->isPathText())) + { + PyErr_SetString(WrongFrameTypeError, QObject::tr("Cannot select text in a non-text frame", "python error").toLocal8Bit().constData()); + return nullptr; + } + if (selcount < -1) + { + PyErr_SetString(PyExc_IndexError, QObject::tr("Count must be positive, 0 or -1", "python error").toLocal8Bit().constData()); + return nullptr; + } + + if (start < 0 || (selcount > 0 && (item->lastInFrame() == -1 || selcount > item->lastInFrame() - item->firstInFrame() + 1 - start))) + { + PyErr_SetString(PyExc_IndexError, QObject::tr("Selection index out of bounds", "python error").toLocal8Bit().constData()); + return nullptr; + } + start += item->firstInFrame(); + if (selcount == -1) + { + selcount = item->lastInFrame() - start; + // in the last in chain, the last char does not get selected -- a.l.e + if (item->nextInChain() == nullptr) { + selcount++; + } + } + item->itemText.deselectAll(); + if (selcount == 0) + { + item->HasSel = false; + Py_RETURN_NONE; + } + item->itemText.select(start, selcount, true); + item->HasSel = true; + + Py_RETURN_NONE; +} + PyObject *scribus_selecttext(PyObject* /* self */, PyObject* args) { char *Name = const_cast<char*>(""); @@ -1391,6 +1440,7 @@ void cmdtextdocwarnings() << scribus_layouttextchain__doc__ << scribus_linktextframes__doc__ << scribus_outlinetext__doc__ + << scribus_selectframetext__doc__ << scribus_selecttext__doc__ << scribus_setalign__doc__ << scribus_setcolumngap__doc__ diff --git a/scribus/plugins/scriptplugin/cmdtext.h b/scribus/plugins/scriptplugin/cmdtext.h index bad04bbad..034aa126f 100644 --- a/scribus/plugins/scriptplugin/cmdtext.h +++ b/scribus/plugins/scriptplugin/cmdtext.h @@ -387,11 +387,32 @@ May throw ValueError for an invalid direction constant.\n\ /*! Set direction */ PyObject *scribus_setdirection(PyObject * /*self*/, PyObject* args); +/*! docstring */ +PyDoc_STRVAR(scribus_selectframetext__doc__, +QT_TR_NOOP("selectFrameText(start, count, [\"name\"])\n\ +\n\ +Selects \"count\" characters of text in the text frame \"name\" starting from the\n\ +character \"start\". Character counting starts at 0.\n\ +If \"count\" is zero, any text selection will be cleared.\n\ +If \"count\" is -1, the selection will extend to the end of the frame.\n\ +If \"name\" is not given the currently selected item is used.\n\ +\n\ +This function only acts on the text visible in the specified frame. If you need to \n\ +work on the text contained in a text chain, use selectText() instead.\n\ +As this function depends on text layout being up-to-date, you may need to call \n\ +layoutText() or layoutTextChain() before calling this function in order to get \n\ +expected result.\n\ +\n\ +May throw IndexError if the selection is outside the bounds of the text.\n\ +")); +/*! Select frame text */ +PyObject *scribus_selectframetext(PyObject * /*self*/, PyObject* args); + /*! docstring */ PyDoc_STRVAR(scribus_selecttext__doc__, QT_TR_NOOP("selectText(start, count, [\"name\"])\n\ \n\ -Selects \"count\" characters of text in the text frame \"name\" starting from the\n\ +Selects \"count\" characters of text in the story of the text frame \"name\" starting from the\n\ character \"start\". Character counting starts at 0. If \"count\" is zero, any\n\ text selection will be cleared. If \"name\" is not given the currently\n\ selected item is used.\n\ diff --git a/scribus/plugins/scriptplugin/scriptplugin.cpp b/scribus/plugins/scriptplugin/scriptplugin.cpp index a9b5497d6..aab82fa3b 100644 --- a/scribus/plugins/scriptplugin/scriptplugin.cpp +++ b/scribus/plugins/scriptplugin/scriptplugin.cpp @@ -484,6 +484,7 @@ PyMethodDef scribus_methods[] = { {const_cast<char*>("setImageOffset"), scribus_setimageoffset, METH_VARARGS, tr(scribus_setimageoffset__doc__)}, {const_cast<char*>("selectionCount"), (PyCFunction)scribus_selcount, METH_NOARGS, tr(scribus_selcount__doc__)}, {const_cast<char*>("selectObject"), scribus_selectobj, METH_VARARGS, tr(scribus_selectobj__doc__)}, + {const_cast<char*>("selectFrameText"), scribus_selectframetext, METH_VARARGS, tr(scribus_selectframetext__doc__)}, {const_cast<char*>("selectText"), scribus_selecttext, METH_VARARGS, tr(scribus_selecttext__doc__)}, {const_cast<char*>("sentToLayer"), scribus_senttolayer, METH_VARARGS, tr(scribus_senttolayer__doc__)}, {const_cast<char*>("setActiveLayer"), scribus_setactivelayer, METH_VARARGS, tr(scribus_setactivelayer__doc__)}, |
|
thanks! |
Date Modified | Username | Field | Change |
---|---|---|---|
2020-07-09 07:35 | ale | New Issue | |
2020-07-09 07:35 | ale | File Added: select-text-chained-frames.sla | |
2020-07-09 07:38 | ale | Note Added: 0047806 | |
2020-07-09 09:38 | jghali | Note Added: 0047807 | |
2020-07-09 09:39 | jghali | Note Edited: 0047807 | |
2020-07-09 09:43 | ale | Note Added: 0047808 | |
2020-07-09 10:23 | jghali | Note Added: 0047809 | |
2020-07-09 14:53 | ale | File Added: select-text-chained-frames-2.sla | |
2020-07-09 14:53 | ale | File Added: select-text.diff | |
2020-07-09 14:53 | ale | Note Added: 0047810 | |
2020-07-09 16:12 | ale | Summary | selectText() start value is not 0 for chained text frames => [PATCH] selectText() start value is not 0 for chained text frames |
2020-07-09 16:12 | ale | Patch | No => Yes |
2020-07-16 09:37 | jghali | Summary | [PATCH] selectText() start value is not 0 for chained text frames => Add selectFrameText() to scripter |
2020-07-16 09:42 | jghali | Assigned To | => ale |
2020-07-16 09:42 | jghali | Status | new => resolved |
2020-07-16 09:42 | jghali | Resolution | open => fixed |
2020-07-16 09:42 | jghali | Fixed in Version | => 1.5.6.svn |
2020-07-16 13:57 | ale | Note Added: 0047840 | |
2020-08-11 20:56 | cbradney | Status | resolved => closed |