View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0017354 | Scribus | Styles | public | 2024-12-27 16:08 | 2024-12-27 22:44 |
| Reporter | jirib | Assigned To | cbradney | ||
| Priority | normal | Severity | minor | Reproducibility | always |
| Status | closed | Resolution | fixed | ||
| Product Version | 1.6.2 | ||||
| Fixed in Version | 1.6.3.svn | ||||
| Summary | 0017354: [odt2im] ' fo:language' attribute of imported styles is not kept | ||||
| Description | When importing an ODT file with styles having a language set, the styles imported in Scribus do not have the language kept. Thus, the import is not fully "complete" and might impact spell check, hyphenation etc... | ||||
| Steps To Reproduce | 1. have an ODT file with paragraph/character style language set to different language from default Scribus document one 2. import ODT file 3. review imported styles if the language is kept Result: 3. FALSE | ||||
| Additional Information | # ODT style definitions $ bsdtar -xOf test.odt styles.xml | xmllint --xpath '//*[local-name()="style" and @*[local-name()="name" and starts-with(., "Test_5f_")]]' - | fmt -w80 <style:style style:name="Test_5f_Para" style:display-name="Test_Para" style:family="paragraph" style:parent-style-name="Standard"><style:text-properties fo:language="cs" fo:country="CZ"/></style:style> <style:style style:name="Test_5f_Char" style:display-name="Test_Char" style:family="text" style:parent-style-name="Emphasis"><style:text-properties fo:language="it" fo:country="IT"/></style:style> # test.sla $ xmllint --xpath '//*[local-name()="CHARSTYLE" or local-name()="STYLE"][@CNAME[starts-with(., "Text1_Test_")] or @NAME[starts-with(., "Text1_Test_")]]' test.sla <CHARSTYLE CNAME="Text1_Test_Char" CPARENT="Default Character Style" FONT="Liberation Serif Italic" FONTSIZE="10" FEATURES="inherit" FCOLOR="Black" BGCOLOR="None"/> <STYLE NAME="Text1_Test_Para" PARENT="Text1_Standard" ALIGN="0" LINESPMode="1" INDENT="0" RMARGIN="0" FIRST="0" VOR="0" NACH="0" BCOLOR="None" FONT="Liberation Serif Regular" FONTSIZE="12" FEATURES="inherit" FCOLOR="Black" BGCOLOR="None"/> ^^ see no language | ||||
| Tags | styles | ||||
| Attached Files | test.sla (17,510 bytes)
<?xml version="1.0" encoding="UTF-8"?>
<SCRIBUSUTF8NEW Version="1.6.2">
<DOCUMENT ANZPAGES="1" PAGEWIDTH="612" PAGEHEIGHT="792" BORDERLEFT="40" BORDERRIGHT="40" BORDERTOP="40" BORDERBOTTOM="40" PRESET="0" BleedTop="0" BleedLeft="0" BleedRight="0" BleedBottom="0" ORIENTATION="0" PAGESIZE="Letter" FIRSTNUM="1" BOOK="0" AUTOSPALTEN="1" ABSTSPALTEN="11" UNITS="4" DFONT="Arial Regular" DSIZE="12" DCOL="1" DGAP="0" TabFill="" TabWidth="36" TextDistLeft="0" TextDistRight="0" TextDistBottom="0" TextDistTop="0" FirstLineOffset="1" 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="ISO Coated v2 300% (basICColor)" DPIn="sRGB display profile (ICC v2.2)" DPInCMYK="ISO Coated v2 300% (basICColor)" DPIn2="sRGB display profile (ICC v2.2)" DPIn3="ISO Coated v2 300% (basICColor)" DISc="1" DIIm="0" ALAYER="0" LANGUAGE="fr" 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="1" SHOWLAYERM="0" SHOWMARGIN="1" SHOWBASE="0" SHOWPICT="1" SHOWLINK="1" 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="1" PASPECT="1" EmbeddedPath="0" HalfRes="1" dispX="10.001" dispY="10.001" constrain="15" MINORC="#00ff00" MAJORC="#00ff00" GuideC="#000080" BaseC="#c0c0c0" renderStack="2 0 4 1 3" 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="1">
<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="RGB" R="0" G="0" B="255"/>
<COLOR NAME="Cool Black" SPACE="CMYK" C="60" M="0" Y="0" K="100"/>
<COLOR NAME="Cyan" SPACE="CMYK" C="100" M="0" Y="0" K="0"/>
<COLOR NAME="Green" SPACE="RGB" R="0" G="255" B="0"/>
<COLOR NAME="Magenta" SPACE="CMYK" C="0" M="100" Y="0" K="0"/>
<COLOR NAME="Red" SPACE="RGB" R="255" G="0" B="0"/>
<COLOR NAME="Registration" SPACE="CMYK" C="100" M="100" Y="100" K="100" Register="1"/>
<COLOR NAME="Rich Black" SPACE="CMYK" C="60" M="40" Y="40" K="100"/>
<COLOR NAME="Warm Black" SPACE="CMYK" C="0" M="60" Y="29.8039215686275" K="100"/>
<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/>
<CHARSTYLE CNAME="Default Character Style" DefaultStyle="1" FONT="Arial 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="fr"/>
<CHARSTYLE CNAME="Text1_Emphasis" CPARENT="Default Character Style" FONT="Liberation Serif Italic" FONTSIZE="10" FEATURES="inherit" FCOLOR="Black" BGCOLOR="None"/>
<CHARSTYLE CNAME="Text1_Test_Char" CPARENT="Default Character Style" FONT="Liberation Serif Italic" FONTSIZE="10" FEATURES="inherit" FCOLOR="Black" BGCOLOR="None"/>
<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="Text1_Standard" PARENT="Text1_Default Paragraph Style" ALIGN="0" LINESPMode="1" INDENT="0" RMARGIN="0" FIRST="0" VOR="0" NACH="0" BCOLOR="None" FONT="Liberation Serif Regular" FONTSIZE="12" FEATURES="inherit" FCOLOR="Black" BGCOLOR="None"/>
<STYLE NAME="Text1_Heading" PARENT="Text1_Standard" ALIGN="0" LINESPMode="1" INDENT="0" RMARGIN="0" FIRST="0" VOR="11.988" NACH="6.012" BCOLOR="None" FONT="Liberation Sans Regular" FONTSIZE="14" FEATURES="inherit" FCOLOR="Black" BGCOLOR="None"/>
<STYLE NAME="Text1_Text body" PARENT="Text1_Standard" ALIGN="0" LINESPMode="1" INDENT="0" RMARGIN="0" FIRST="0" VOR="0" NACH="6.9984" BCOLOR="None" FONT="Liberation Serif Regular" FONTSIZE="12" FEATURES="inherit" FCOLOR="Black" BGCOLOR="None"/>
<STYLE NAME="Text1_List" PARENT="Text1_Text body" ALIGN="0" LINESPMode="1" INDENT="0" RMARGIN="0" FIRST="0" VOR="0" NACH="6.9984" BCOLOR="None" FONT="Liberation Serif Regular" FONTSIZE="12" FEATURES="inherit" FCOLOR="Black" BGCOLOR="None"/>
<STYLE NAME="Text1_Caption" PARENT="Text1_Standard" ALIGN="0" LINESPMode="1" INDENT="0" RMARGIN="0" FIRST="0" VOR="6.012" NACH="6.012" BCOLOR="None" FONT="Liberation Serif Italic" FONTSIZE="12" FEATURES="inherit" FCOLOR="Black" BGCOLOR="None"/>
<STYLE NAME="Text1_Index" PARENT="Text1_Standard" ALIGN="0" LINESPMode="1" INDENT="0" RMARGIN="0" FIRST="0" VOR="0" NACH="0" BCOLOR="None" FONT="Liberation Serif Regular" FONTSIZE="12" FEATURES="inherit" FCOLOR="Black" BGCOLOR="None"/>
<STYLE NAME="Text1_Test_Para" PARENT="Text1_Standard" ALIGN="0" LINESPMode="1" INDENT="0" RMARGIN="0" FIRST="0" VOR="0" NACH="0" BCOLOR="None" FONT="Liberation Serif Regular" FONTSIZE="12" FEATURES="inherit" FCOLOR="Black" BGCOLOR="None"/>
<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" PrintEngine="4" markLength="20.0013" markOffset="0" BleedTop="0" BleedLeft="0" BleedRight="0" BleedBottom="0" printer="Microsoft Print to PDF" 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 display profile (ICC v2.2)" ImageP="sRGB display profile (ICC v2.2)" PrintP="ISO Coated v2 300% (basICColor)" 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="Section 1" 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="612" PAGEHEIGHT="792" BORDERLEFT="40" BORDERRIGHT="40" BORDERTOP="40" BORDERBOTTOM="40" NUM="0" NAM="Normal" MNAM="" Size="Letter" 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="612" PAGEHEIGHT="792" BORDERLEFT="40" BORDERRIGHT="40" BORDERTOP="40" BORDERBOTTOM="40" NUM="0" NAM="" MNAM="Normal" Size="Letter" 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="155.25" YPOS="76.6939133858268" OwnPage="0" ItemID="188483360" PTYPE="4" WIDTH="499.5" HEIGHT="478.306086614173" 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="1" PLTSHOW="0" BASEOF="0" textPathType="0" textPathFlipped="0" path="M0 0 L499.5 0 L499.5 478.306 L0 478.306 L0 0 Z" copath="M0 0 L499.5 0 L499.5 478.306 L0 478.306 L0 0 Z" gXpos="155.25" gYpos="76.6939133858268" gWidth="0" gHeight="0" PSTYLE="Default Paragraph Style" LAYER="0" NEXTITEM="-1" BACKITEM="-1">
<StoryText>
<DefaultStyle PARENT="Default Paragraph Style" LINESPMode="1" LINESP="12"/>
<ITEXT CH="Hello world is “Ciao mondo” in Italian."/>
<para PARENT="Text1_Test_Para" ALIGN="0" LINESPMode="1" LINESP="12" INDENT="0" RMARGIN="0" FIRST="0" VOR="0" NACH="0" BCOLOR="None"/>
</StoryText>
</PAGEOBJECT>
</DOCUMENT>
</SCRIBUSUTF8NEW>
| ||||
| Patch | No | ||||
|
|
Please, note this is test-try diff, I don't know C++ :) ---%>--- diff --git a/scribus/plugins/gettext/odt2im/importodt.cpp b/scribus/plugins/gettext/odt2im/importodt.cpp index 9f5dedf6cd..a6d0b4e91d 100644 --- a/scribus/plugins/gettext/odt2im/importodt.cpp +++ b/scribus/plugins/gettext/odt2im/importodt.cpp @@ -493,6 +493,7 @@ void ODTIm::parseStyles(const QDomElement &sp, const QString& type) currStyle.textStrikeThrough = AttributeValue(spe.attribute("style:text-line-through-style", "")); currStyle.textShadow = AttributeValue(spe.attribute("fo:text-shadow", "")); currStyle.fontVariant = AttributeValue(spe.attribute("fo:font-variant", "")); + currStyle.language = AttributeValue(spe.attribute("fo:language", "")); } } if (spd.attribute("style:family") == "paragraph") @@ -573,6 +574,7 @@ void ODTIm::parseStyles(const QDomElement &sp, const QString& type) currStyle.textStrikeThrough = AttributeValue(spe.attribute("style:text-line-through-style", "")); currStyle.textShadow = AttributeValue(spe.attribute("fo:text-shadow", "")); currStyle.fontVariant = AttributeValue(spe.attribute("fo:font-variant", "")); + currStyle.language = AttributeValue(spe.attribute("fo:language", "")); } } currStyle.displayName = AttributeValue(spd.attribute("style:display-name", "")); @@ -1014,6 +1016,7 @@ void ODTIm::applyCharacterStyle(CharStyle &tmpCStyle, const ObjStyleODT &oStyle) tmpCStyle.setFillColor(oStyle.CurrColorText); tmpCStyle.setBackColor(oStyle.CurrColorBText); StyleFlag styleEffects = tmpCStyle.effects(); + tmpCStyle.setLanguage(oStyle.language); if ((oStyle.textPos.startsWith("super")) || (oStyle.textPos.startsWith("sub"))) { if (oStyle.textPos.startsWith("super")) @@ -1170,6 +1173,8 @@ void ODTIm::resolveStyle(ObjStyleODT &tmpOStyle, const QString& styleName) actStyle.breakAfter = AttributeValue(currStyle.breakAfter.value); if (currStyle.breakBefore.valid) actStyle.breakBefore = AttributeValue(currStyle.breakBefore.value); + if (currStyle.language.valid) + actStyle.language = AttributeValue(currStyle.language.value); } if (actStyle.textBackgroundColor.valid) @@ -1356,6 +1361,8 @@ void ODTIm::resolveStyle(ObjStyleODT &tmpOStyle, const QString& styleName) tmpOStyle.breakAfter = actStyle.breakAfter.value; if (actStyle.breakBefore.valid) tmpOStyle.breakBefore = actStyle.breakBefore.value; + if (actStyle.language.valid) + tmpOStyle.language = actStyle.language.value; } double ODTIm::parseUnit(const QString &unit) diff --git a/scribus/plugins/gettext/odt2im/importodt.h b/scribus/plugins/gettext/odt2im/importodt.h index 235b4ca501..eda523b34f 100644 --- a/scribus/plugins/gettext/odt2im/importodt.h +++ b/scribus/plugins/gettext/odt2im/importodt.h @@ -63,6 +63,7 @@ class ObjStyleODT QList<ParagraphStyle::TabRecord> tabStops; QString breakBefore {"auto"}; QString breakAfter {"auto"}; + QString language; }; class ODTIm @@ -110,6 +111,7 @@ class ODTIm AttributeValue tabTypes; AttributeValue breakBefore; AttributeValue breakAfter; + AttributeValue language; }; bool parseContent(const QString& fileName, bool textOnly); ---%<--- styles-language.diff (3,142 bytes)
diff --git a/scribus/plugins/gettext/odt2im/importodt.cpp b/scribus/plugins/gettext/odt2im/importodt.cpp
index 9f5dedf6cd..a6d0b4e91d 100644
--- a/scribus/plugins/gettext/odt2im/importodt.cpp
+++ b/scribus/plugins/gettext/odt2im/importodt.cpp
@@ -493,6 +493,7 @@ void ODTIm::parseStyles(const QDomElement &sp, const QString& type)
currStyle.textStrikeThrough = AttributeValue(spe.attribute("style:text-line-through-style", ""));
currStyle.textShadow = AttributeValue(spe.attribute("fo:text-shadow", ""));
currStyle.fontVariant = AttributeValue(spe.attribute("fo:font-variant", ""));
+ currStyle.language = AttributeValue(spe.attribute("fo:language", ""));
}
}
if (spd.attribute("style:family") == "paragraph")
@@ -573,6 +574,7 @@ void ODTIm::parseStyles(const QDomElement &sp, const QString& type)
currStyle.textStrikeThrough = AttributeValue(spe.attribute("style:text-line-through-style", ""));
currStyle.textShadow = AttributeValue(spe.attribute("fo:text-shadow", ""));
currStyle.fontVariant = AttributeValue(spe.attribute("fo:font-variant", ""));
+ currStyle.language = AttributeValue(spe.attribute("fo:language", ""));
}
}
currStyle.displayName = AttributeValue(spd.attribute("style:display-name", ""));
@@ -1014,6 +1016,7 @@ void ODTIm::applyCharacterStyle(CharStyle &tmpCStyle, const ObjStyleODT &oStyle)
tmpCStyle.setFillColor(oStyle.CurrColorText);
tmpCStyle.setBackColor(oStyle.CurrColorBText);
StyleFlag styleEffects = tmpCStyle.effects();
+ tmpCStyle.setLanguage(oStyle.language);
if ((oStyle.textPos.startsWith("super")) || (oStyle.textPos.startsWith("sub")))
{
if (oStyle.textPos.startsWith("super"))
@@ -1170,6 +1173,8 @@ void ODTIm::resolveStyle(ObjStyleODT &tmpOStyle, const QString& styleName)
actStyle.breakAfter = AttributeValue(currStyle.breakAfter.value);
if (currStyle.breakBefore.valid)
actStyle.breakBefore = AttributeValue(currStyle.breakBefore.value);
+ if (currStyle.language.valid)
+ actStyle.language = AttributeValue(currStyle.language.value);
}
if (actStyle.textBackgroundColor.valid)
@@ -1356,6 +1361,8 @@ void ODTIm::resolveStyle(ObjStyleODT &tmpOStyle, const QString& styleName)
tmpOStyle.breakAfter = actStyle.breakAfter.value;
if (actStyle.breakBefore.valid)
tmpOStyle.breakBefore = actStyle.breakBefore.value;
+ if (actStyle.language.valid)
+ tmpOStyle.language = actStyle.language.value;
}
double ODTIm::parseUnit(const QString &unit)
diff --git a/scribus/plugins/gettext/odt2im/importodt.h b/scribus/plugins/gettext/odt2im/importodt.h
index 235b4ca501..eda523b34f 100644
--- a/scribus/plugins/gettext/odt2im/importodt.h
+++ b/scribus/plugins/gettext/odt2im/importodt.h
@@ -63,6 +63,7 @@ class ObjStyleODT
QList<ParagraphStyle::TabRecord> tabStops;
QString breakBefore {"auto"};
QString breakAfter {"auto"};
+ QString language;
};
class ODTIm
@@ -110,6 +111,7 @@ class ODTIm
AttributeValue tabTypes;
AttributeValue breakBefore;
AttributeValue breakAfter;
+ AttributeValue language;
};
bool parseContent(const QString& fileName, bool textOnly);
|
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2024-12-27 16:08 | jirib | New Issue | |
| 2024-12-27 16:08 | jirib | Tag Attached: styles | |
| 2024-12-27 16:08 | jirib | File Added: test.sla | |
| 2024-12-27 16:08 | jirib | File Added: test.odt | |
| 2024-12-27 16:10 | jirib | Note Added: 0051823 | |
| 2024-12-27 16:10 | jirib | File Added: styles-language.diff | |
| 2024-12-27 22:43 | cbradney | Assigned To | => cbradney |
| 2024-12-27 22:43 | cbradney | Status | new => resolved |
| 2024-12-27 22:43 | cbradney | Resolution | open => fixed |
| 2024-12-27 22:43 | cbradney | Fixed in Version | => 1.6.3.svn |
| 2024-12-27 22:44 | cbradney | Status | resolved => closed |