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 | ||||
Patch | No | ||||
|
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> |
|
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 |