View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0016114 | Scribus | Styles | public | 2020-05-18 02:29 | 2025-04-25 19:39 |
Reporter | yichuang | Assigned To | |||
Priority | normal | Severity | feature | Reproducibility | N/A |
Status | new | Resolution | open | ||
Platform | linux | OS | debian | OS Version | debian 9.11 |
Product Version | 1.5.5.svn | ||||
Summary | 0016114: Multi fonts within one paragraph style | ||||
Description | In one paragraph style, we can set only one font. I hope we can set multi fonts in one paragraph style: one font for text, another font for number, and a font for time(date/month/year). With indesign Chinese version, there is a font function named"复合字体", I don't know how to translate it to english, maybe "Compound font", anyone could set multi fonts within one paragraph style.(in english version indesign, there is not compound font function). | ||||
Steps To Reproduce | new feature. | ||||
Additional Information | new feature | ||||
Tags | fonts | ||||
Patch | No | ||||
|
|
|
i think there is a similar need for arabic, too. personally, i'd like to first see the "character style" of the "paragraph style" being replaced by a drop down selection that links the "paragraph style" to a "character style". (a next step would be to make the style editors non modal, and allow to be shown on screen at the same time). then, we could have an "advanced" section where you could add two other optional select boxes that attach a different "character style" for numbers and time. |
|
Here are 2 screenshot, one from LibreOffice(paragraph style), another from InDesign(compound font editor). The screenshot from InDesign, I had marked it in English. I like LibreOffice's way. |
|
when i see the screenshot i really wish that it would go through character styles instead of ad hoc definitions. e might even provide a regex based filter on top of the one with the unicode pages (i guess it's implemented this way in LO and ID) |
|
I would like a fallback mechanism like this as the Noto font has wide script support, but no automatic fallback. So links and some names in Latin script become black boxes. I'm outputting automated translations and choosing a single character style that contains fallback information would be best. The Noto documentation suggests configuring the fallback font in the browser, as it is mainly used in web technology. As a workaround I could combine fonts to create a Latin fallback, or I could manually change the fonts where a Latin script is necessary. Looking for other solutions I found that InDesign supports [GREP](https://redokun.com/blog/grep-indesign) (yes, like the terminal command) which can be used to apply styles or different fonts to matching text [or characters](https://www.scammell.co.uk/2012/04/26/setting-mixed-chineseenglish-in-adobe-indesign/). This could be a suggestion for coming up with a feature. |
|
could you please create - a scribus document with a text frame with a bit of text that shows the end result - attach the fonts used - an image with the way it should look like - an explanation of what should happen i guess it could help figuring out a plan... |
|
@ale Here is a piece of text where I would love to have a fallback. Is this sufficient? 2025-04 Scribus font fallback example.sla (23,866 bytes)
<?xml version="1.0" encoding="UTF-8"?> <SCRIBUSUTF8NEW Version="1.5.8"> <DOCUMENT ANZPAGES="1" PAGEWIDTH="595.275590551181" PAGEHEIGHT="841.889763779528" BORDERLEFT="40" BORDERRIGHT="40" BORDERTOP="40" BORDERBOTTOM="40" 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="Times New Roman 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="1" DPSo="1" DPSFo="1" DPuse="1" DPgam="0" DPbla="1" DPPr="ISO Coated v2 (ECI)" DPIn="sRGB display profile (ICC v2.2)" DPInCMYK="ISO Coated v2 (ECI)" DPIn2="sRGB display profile (ICC v2.2)" DPIn3="ISO Coated v2 (ECI)" DISc="1" DIIm="0" ALAYER="0" LANGUAGE="nl" 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" 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="Times New Roman 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="nl"/> <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"/> <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="Achtergrond" 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="1" doGCR="0" doClip="0" setDevParam="0" useDocBleeds="1" cropMarks="0" bleedMarks="0" registrationMarks="0" colorMarks="0" includePDFMarks="1" PSLevel="3" PrintEngine="3" markLength="20.0013" markOffset="0" BleedTop="0" BleedLeft="0" BleedRight="0" BleedBottom="0" printer="Bestand" 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 (ECI)" 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="40" BORDERRIGHT="40" BORDERTOP="40" BORDERBOTTOM="40" NUM="0" NAM="Normaal" 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="40" BORDERRIGHT="40" BORDERTOP="40" BORDERBOTTOM="40" NUM="0" NAM="" MNAM="Normaal" 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"/> <FRAMEOBJECT InID="1677036694" XPOS="0" YPOS="0" OwnPage="-1" ItemID="816784147" PTYPE="4" WIDTH="214.993006993007" HEIGHT="36.5927999008865" 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 L214.993 0 L214.993 36.5928 L0 36.5928 L0 0 Z" copath="M0 0 L214.993 0 L214.993 36.5928 L0 36.5928 L0 0 Z" isInline="1" gXpos="0" gYpos="0" gWidth="214.993006993007" gHeight="36.5927999008865" LAYER="0" NEXTITEM="-1" BACKITEM="-1"> <StoryText> <DefaultStyle/> <ITEXT CH="Noto Sans"/> <trail/> </StoryText> </FRAMEOBJECT> <PAGEOBJECT XPOS="148.009085402786" YPOS="199.189976377953" OwnPage="0" ItemID="804145859" PTYPE="4" WIDTH="410.666813501459" HEIGHT="66.999386391917" FRTYPE="0" CLIPEDIT="1" 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 L410.667 0 L410.667 66.9994 L0 66.9994 L0 0 Z" copath="M0 0 L410.667 0 L410.667 66.9994 L0 66.9994 L0 0 Z" gXpos="148.009085402786" gYpos="199.189976377953" gWidth="407.832167832168" gHeight="66.999386391917" LAYER="0" NEXTITEM="-1" BACKITEM="-1"> <StoryText> <DefaultStyle FONT="Noto Sans Regular"/> <ITEXT FONT="Noto Sans Regular" CH="कुछ स्वादिष्ट, मज़ेदार या अनोखे आइसक्रीम स्वाद सोचें और उन्हें अगले पृष्ठ पर आइसक्रीम कोन पर बनाएं।"/> <para/> <ITEXT FONT="Noto Sans Regular" CH="पुस्तक के बारे में अधिक जानकारी https://ada.fsfe.org पर पाई जा सकती है।"/> <trail/> </StoryText> </PAGEOBJECT> <PAGEOBJECT XPOS="148.009085402786" YPOS="304.541149779808" OwnPage="0" ItemID="803881555" PTYPE="4" WIDTH="407.832" HEIGHT="66.9994661530266" FRTYPE="0" CLIPEDIT="1" 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 L407.832 0 L407.832 66.9995 L0 66.9995 L0 0 Z" copath="M0 0 L407.832 0 L407.832 66.9995 L0 66.9995 L0 0 Z" gXpos="148.009085402786" gYpos="304.541149779808" gWidth="407.832" gHeight="66.9994661530266" LAYER="0" NEXTITEM="-1" BACKITEM="-1"> <StoryText> <DefaultStyle FONT="Noto Sans Devanagari Regular"/> <ITEXT FONT="Noto Sans Devanagari Regular" CH="कुछ स्वादिष्ट, मज़ेदार या अनोखे आइसक्रीम स्वाद सोचें और उन्हें अगले पृष्ठ पर आइसक्रीम कोन पर बनाएं।"/> <para/> <ITEXT FONT="Noto Sans Devanagari Regular" CH="पुस्तक के बारे में अधिक जानकारी https://ada.fsfe.org पर पाई जा सकती है।"/> <trail/> </StoryText> </PAGEOBJECT> <PAGEOBJECT XPOS="148.219866747426" YPOS="174.205724409449" OwnPage="0" ItemID="805315043" PTYPE="4" WIDTH="214.993006993007" HEIGHT="22.4590643980911" FRTYPE="0" CLIPEDIT="1" 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 L214.993 0 L214.993 22.4591 L0 22.4591 L0 0 Z" copath="M0 0 L214.993 0 L214.993 22.4591 L0 22.4591 L0 0 Z" gXpos="148.219866747426" gYpos="174.205724409449" gWidth="214.993006993007" gHeight="22.4590643980911" LAYER="0" NEXTITEM="-1" BACKITEM="-1"> <StoryText> <DefaultStyle/> <ITEXT CH="Noto Sans"/> <trail/> </StoryText> </PAGEOBJECT> <PAGEOBJECT XPOS="148.503331314355" YPOS="279.694341190546" OwnPage="0" ItemID="826753859" PTYPE="4" WIDTH="217.827645669291" HEIGHT="22.4590644589227" FRTYPE="0" CLIPEDIT="1" 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 L217.828 0 L217.828 22.4591 L0 22.4591 L0 0 Z" copath="M0 0 L217.828 0 L217.828 22.4591 L0 22.4591 L0 0 Z" gXpos="148.503331314355" gYpos="279.694341190546" gWidth="214.993" gHeight="22.4590644589227" LAYER="0" NEXTITEM="-1" BACKITEM="-1"> <StoryText> <DefaultStyle/> <ITEXT CH="Noto Sans Devanagari"/> <trail/> </StoryText> </PAGEOBJECT> <PAGEOBJECT XPOS="149.070260448213" YPOS="68.2416166510655" OwnPage="0" ItemID="817709923" PTYPE="4" WIDTH="411.093386928033" HEIGHT="94.6375199603546" 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 L411.093 0 L411.093 94.6375 L0 94.6375 L0 0 Z" copath="M0 0 L411.093 0 L411.093 94.6375 L0 94.6375 L0 0 Z" gXpos="149.070260448213" gYpos="68.2416166510655" gWidth="0" gHeight="0" LAYER="0" NEXTITEM="-1" BACKITEM="-1"> <StoryText> <DefaultStyle/> <ITEXT CH="Excerpt from Hindi language of https://git.fsfe.org/FSFE/ada-zangemann"/> <para/> <para/> <ITEXT CH="SPDX-FileCopyrightText: 2021 Matthias Kirschner"/> <para/> <ITEXT CH="SPDX-License-Identifier: CC-BY-SA-4.0 "/> <para/> <para/> <ITEXT CH="Noto fonts available via https://notofonts.github.io/ or in package manager."/> <trail/> </StoryText> </PAGEOBJECT> <PAGEOBJECT XPOS="147.859479103574" YPOS="432.580072418637" OwnPage="0" ItemID="814271459" PTYPE="4" WIDTH="407.832" HEIGHT="66.9994900100381" FRTYPE="0" CLIPEDIT="1" 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 L407.832 0 L407.832 66.9995 L0 66.9995 L0 0 Z" copath="M0 0 L407.832 0 L407.832 66.9995 L0 66.9995 L0 0 Z" gXpos="147.859479103574" gYpos="432.580072418637" gWidth="407.832" gHeight="66.9994900100381" LAYER="0" NEXTITEM="-1" BACKITEM="-1"> <StoryText> <DefaultStyle FONT="Noto Sans Devanagari Regular"/> <ITEXT FONT="Noto Sans Devanagari Regular" CH="कुछ स्वादिष्ट, मज़ेदार या अनोखे आइसक्रीम स्वाद सोचें और उन्हें अगले पृष्ठ पर आइसक्रीम कोन पर बनाएं।"/> <para/> <ITEXT FONT="Noto Sans Devanagari Regular" CH="पुस्तक के बारे में अधिक जानकारी "/> <ITEXT FONT="Noto Sans Regular" CH="https"/> <ITEXT FONT="Noto Sans Devanagari Regular" CH="://"/> <ITEXT FONT="Noto Sans Regular" CH="ada.fsfe.org"/> <ITEXT FONT="Noto Sans Devanagari Regular" CH=" पर पाई जा सकती है।"/> <trail/> </StoryText> </PAGEOBJECT> <PAGEOBJECT XPOS="148.353725015142" YPOS="385.867569537003" OwnPage="0" ItemID="808205203" PTYPE="4" WIDTH="407.337921920599" HEIGHT="42.3350624766526" FRTYPE="0" CLIPEDIT="1" 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 L407.338 0 L407.338 42.3351 L0 42.3351 L0 0 Z" copath="M0 0 L407.339 0 L407.339 42.3351 L0 42.3351 L0 0 Z" gXpos="148.353725015142" gYpos="385.867569537003" gWidth="214.993" gHeight="22.4590644589227" LAYER="0" NEXTITEM="-1" BACKITEM="-1"> <StoryText> <DefaultStyle/> <ITEXT CH="Manual combination of Noto Sans and Noto Sans Devanagari."/> <para/> <ITEXT CH="Desired outcome for font fallback feature."/> <trail/> </StoryText> </PAGEOBJECT> </DOCUMENT> </SCRIBUSUTF8NEW> |
|
Based on your sample, I've created a sample for Arabic... mixing RTL with LTR. Another interesting point, is that DejaVu just works correctly. Personally, I'm still not in doubt, what the best (and possibly simplest) approach, for adding an "automatic" replacement of the fonts for some of the characters. And I'm not really sure that regexes are the way to go, either... dejavu-noto-arabic.sla (19,291 bytes)
<?xml version="1.0" encoding="UTF-8"?> <SCRIBUSUTF8NEW Version="1.5.8"> <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="IsoA_A04" FIRSTNUM="1" BOOK="0" AUTOSPALTEN="1" ABSTSPALTEN="11" UNITS="1" DFONT="DejaVu Sans Book" 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="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" 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="DejaVu Sans Book" 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"/> <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"/> <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="3" markLength="20.0013" markOffset="0" BleedTop="0" BleedLeft="0" BleedRight="0" BleedBottom="0" printer="Fichier" 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="595.275590551181" PAGEHEIGHT="841.889763779528" BORDERLEFT="28.346" BORDERRIGHT="28.346" BORDERTOP="28.346" BORDERBOTTOM="28.346" NUM="0" NAM="Normal" MNAM="" Size="IsoA_A04" 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="IsoA_A04" 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="220.8" YPOS="164.567929133858" OwnPage="0" ItemID="1563768247" PTYPE="4" WIDTH="307.232496062992" HEIGHT="44.5749280089989" 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 L307.232 0 L307.232 44.5749 L0 44.5749 L0 0 Z" copath="M0 0 L307.232 0 L307.232 44.5749 L0 44.5749 L0 0 Z" gXpos="220.8" gYpos="164.567929133858" gWidth="0" gHeight="0" LAYER="0" NEXTITEM="-1" BACKITEM="-1"> <StoryText> <DefaultStyle/> <ITEXT CH="على صفحة الويب الخاصة بالكتاب ستجد المزيد من المعلومات والمواد: https://ada.fsfe.org"/> <trail ALIGN="2" DIRECTION="1"/> </StoryText> </PAGEOBJECT> <PAGEOBJECT XPOS="224.971428571429" YPOS="255.4" OwnPage="0" ItemID="1509061876" PTYPE="4" WIDTH="296.228571428571" HEIGHT="63.9947007874015" 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 L296.229 0 L296.229 63.9947 L0 63.9947 L0 0 Z" copath="M0 0 L296.229 0 L296.229 63.9947 L0 63.9947 L0 0 Z" gXpos="224.971428571429" gYpos="255.4" gWidth="0" gHeight="0" LAYER="0" NEXTITEM="-1" BACKITEM="-1"> <StoryText> <DefaultStyle FONT="Noto Sans Regular"/> <ITEXT CH="على صفحة الويب الخاصة بالكتاب ستجد المزيد من المعلومات والمواد: https://ada.fsfe.org"/> <trail ALIGN="2" DIRECTION="1"/> </StoryText> </PAGEOBJECT> <PAGEOBJECT XPOS="219.857142857143" YPOS="327.114285714286" OwnPage="0" ItemID="14365439" PTYPE="4" WIDTH="225.171428571429" HEIGHT="25.3714285714286" 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 L225.171 0 L225.171 25.3714 L0 25.3714 L0 0 Z" copath="M0 0 L225.171 0 L225.171 25.3714 L0 25.3714 L0 0 Z" gXpos="219.857142857143" gYpos="327.114285714286" gWidth="0" gHeight="0" LAYER="0" NEXTITEM="-1" BACKITEM="-1"> <StoryText> <DefaultStyle/> <ITEXT CH="Noto Sans Arabic + Noto Sans"/> <trail/> </StoryText> </PAGEOBJECT> <PAGEOBJECT XPOS="219.428571428571" YPOS="124.88288976378" OwnPage="0" ItemID="681615355" PTYPE="4" WIDTH="127.186601799775" HEIGHT="32.1456816647919" 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 L127.187 0 L127.187 32.1457 L0 32.1457 L0 0 Z" copath="M0 0 L127.187 0 L127.187 32.1457 L0 32.1457 L0 0 Z" gXpos="219.428571428571" gYpos="124.88288976378" gWidth="0" gHeight="0" LAYER="0" NEXTITEM="-1" BACKITEM="-1"> <StoryText> <DefaultStyle/> <ITEXT CH="DejaVu Sans"/> <trail/> </StoryText> </PAGEOBJECT> <PAGEOBJECT XPOS="221.971428571429" YPOS="364.4" OwnPage="0" ItemID="1440229461" PTYPE="4" WIDTH="296.228571428571" HEIGHT="63.9947007874015" 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 L296.229 0 L296.229 63.9947 L0 63.9947 L0 0 Z" copath="M0 0 L296.229 0 L296.229 63.9947 L0 63.9947 L0 0 Z" gXpos="221.971428571429" gYpos="364.4" gWidth="0" gHeight="0" LAYER="0" NEXTITEM="-1" BACKITEM="-1"> <StoryText> <DefaultStyle FONT="Noto Sans Regular"/> <ITEXT FONT="Noto Sans Arabic Regular" CH="على صفحة الويب الخاصة بالكتاب ستجد المزيد من المعلومات والمواد"/> <ITEXT CH=": https://ada.fsfe.org"/> <trail ALIGN="2" DIRECTION="1"/> </StoryText> </PAGEOBJECT> </DOCUMENT> </SCRIBUSUTF8NEW> |
|
i had a closer look at this. the approach of setting a different font for specific sets seems the most promising to me. in my eyes, the simplest solution is to apply it at paragraph / character style level. having had a look at the screenshots above (and failed to find the feature in my copy of libreoffice) i would suggest: - to add a new tab in the style manager: "combined / composite fonts" - the new tab contains a list where one can add the font family and style to be applied for specific sets - each set can only be added once (the order does not matter; alternatively, when - if no font is defined for a set, than the one in the "character style" tab is used - the list of "alternative fonts" is inherited by the child styles (and can be overridden by adding / removing single entries) - if one wants more control on the characteristics of the fonts used for a set, a character style can be picked instead of a font family + style |
|
I found the feature in LibreOffice. Looking up 'CTL' in the manual https://help.libreoffice.org/latest/en-US/text/shared/00/00000005.html?DbPAR=SHARED#hd_id3146907 You first have to activate the feature in 'Tools - Options - Languages and Locales - General'. The LibreOffice setup is quite limited: you can only configure fonts for the three categories of Western, Asian and CTL (Currently, LibreOffice supports Hindi, Thai, Hebrew, and Arabic as CTL languages.). I agree that a regex interface is too complicated for the most common fallback scenarios. I'm unsure if you'd want to explicit link font fallback to character sets or just create a list of ordered fallback fonts, much like in CSS for the webbrowser. From your description it sounds complicated to me to have the character style font as the ultimate font, rather than limiting it to the set of fonts explicitly defined in the combined font setup. |
|
Tonight, at the local Hackergarten (https://www.meetup.com/hackergarten-zurich/events/306458674/?eventOrigin=home_page_upcoming_events%24all) we worked on the composite fonts. On the one side we specified a few more things on how the definition of the fallback fonts could work and implemented the first few bits of a UI. On the other side we wrote a Python script that extracts from the fonts what can be used to define sets inside of fonts. I'm attaching a screencast of the first bit for the UI. Just to give an idea of the direction. I will post more information as soon as I have fully digested it... Now, back to your comment: First, after some research, we also have found how to activate the the CTL options in LO... and, yes, it's limited. Further on, if I understand you correctly, you're suggesting that instead of defining sets of character ranges with the corresponding font, you would only define a list of fonts and, when an "undefined" character is detected, go through the alternative fonts, in the defined order, and use the first one that defines that specific character. This also crossed my mind but i preferred to first inspect the way of the tests because: - Scribus would need to go though all the listed fonts for each character that is "undefined", and - if i recall correctly, sometimes, people want to use a font for a set (as an example Chinese) but prefer not to use the same font for Latin characters, even if that font contains them (of course, you can then define the fonts the other way round... but it's even more of an hack). Anyway, if the approach with the sets does not work out to be convenient or easy to program, then we will probably go for the "easier" solution. |
|
Thanks for working on this. FSFE Zurich will be happy to hear this. I agree with your reasoning about the importance of using character sets. Some fonts have an overview of coverage, like GNU FreeFont https://www.gnu.org/software/freefont/coverage.html I mentioned the default font. From your gif, it is unclear to me if and how the Font on the properties tab is used. Is it supposed to be the default for which the settings on the Composite Font tab are overrides? |
|
The idea is: if a set is not defined in the "Composite Font" (I'd like a better name, since we are not creating a composite font...), then the font defined in the Char tab is used. |
Date Modified | Username | Field | Change |
---|---|---|---|
2020-05-18 02:29 | yichuang | New Issue | |
2020-05-18 02:29 | yichuang | Tag Attached: fonts | |
2020-05-18 02:29 | yichuang | File Added: comfont.png | |
2020-05-18 07:07 | ale | Note Added: 0047623 | |
2020-05-18 08:33 | jghali | Category | Fonts => Styles |
2020-05-19 04:14 | yichuang | File Added: id.png | |
2020-05-19 04:14 | yichuang | File Added: LO.png | |
2020-05-19 04:14 | yichuang | Note Added: 0047624 | |
2020-05-19 15:08 | ale | Note Added: 0047625 | |
2025-04-22 05:35 | nicorikken | Note Added: 0052460 | |
2025-04-22 17:57 | ale | Note Added: 0052461 | |
2025-04-22 20:11 | nicorikken | Note Added: 0052462 | |
2025-04-22 20:11 | nicorikken | File Added: 2025-04 Scribus font fallback example.sla | |
2025-04-22 20:11 | nicorikken | File Added: 2025-04 Scribus font fallback example.png | |
2025-04-23 18:33 | ale | Note Added: 0052464 | |
2025-04-23 18:33 | ale | File Added: dejavu-noto-arabic.png | |
2025-04-23 18:33 | ale | File Added: dejavu-noto-arabic.sla | |
2025-04-24 10:33 | ale | Note Added: 0052468 | |
2025-04-24 10:33 | ale | Note Edited: 0052468 | |
2025-04-24 10:34 | ale | Note Edited: 0052468 | |
2025-04-24 10:35 | ale | Note Edited: 0052468 | |
2025-04-24 18:29 | nicorikken | Note Added: 0052471 | |
2025-04-24 20:56 | ale | Note Added: 0052472 | |
2025-04-24 20:56 | ale | File Added: composite-font-ui-draft.gif | |
2025-04-25 06:24 | nicorikken | Note Added: 0052473 | |
2025-04-25 19:39 | ale | Note Added: 0052474 |