<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Nov 24, 2015 at 10:16 AM, Andreas Vox <span dir="ltr"><<a href="mailto:avox@arcor.de" target="_blank">avox@arcor.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div lang="DE" link="blue" vlink="purple"><div><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Hi Dawood!<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-US" style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Sorry for keeping quiet for so long.<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US" style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-US" style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">I already started on separating StoryText and GlyphLayout. Unfortunately that requires changes at hundreds of other places. So far I changed textlayout.h/cpp, storytext.h/cpp and related classes and adapted pageitem.cpp and pageitem_textframe.cpp. Right now I’m working on pdflib_core.cpp.<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US" style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-US" style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Do you think it would help if I commit my (not compiling) code to github?<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US" style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-US" style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Regards,<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US" style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Andreas<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US" style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p><div style="border-style:none none none solid;border-left-color:blue;border-left-width:1.5pt;padding:0cm 0cm 0cm 4pt"><div><div style="border-style:solid none none;border-top-color:rgb(181,196,223);border-top-width:1pt;padding:3pt 0cm 0cm"><p class="MsoNormal"><b><span lang="EN-US" style="font-size:10pt;font-family:Tahoma,sans-serif">From:</span></b><span lang="EN-US" style="font-size:10pt;font-family:Tahoma,sans-serif"> Dawood al-badi [mailto:<a href="mailto:dawood.albadi@gmail.com" target="_blank">dawood.albadi@gmail.com</a>] <br><b>Sent:</b> Dienstag, 24. November 2015 11:43<br><b>To:</b> Scribus Development Mailing List<br><b>Subject:</b> [scribus-dev] scribusCTL plan<u></u><u></u></span></p></div></div><div><div class="h5"><p class="MsoNormal"><u></u> <u></u></p><div><div><p class="MsoNormal">Per developers request, I will explain Oman HOST team thoughts.<br><br>Current process of laying out text is as follows:<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal" style="margin-bottom:12pt">The StoryText class handles characters and glyphs layout. This class stores characters in a member with type of ScText_Shared with basically a QList of ScText, which (despite its name) stores a single character, its styles and associated GlyphLayout. <br>The problem with this is that the order of glyphs is tied to the logical order of characters so we can not apply the bidi algorithm to support right to left languages as it will reorder the text to its visual order. It can not also represent many to one characters to glyphs relationship e.g. ligatures.<u></u><u></u></p></div><div><p class="MsoNormal" style="margin-bottom:12pt">Our Aim:<br><br>Andreas proposal is to separate glyph layout from story text which should make it possible to avoid above limitations. So, we are moving all functions related to glyph layout to the TextLayout class. This currently includes:<br><br>getGlyphs()<br>flags()<br>hasFlag()<br>setFlag()<br>clearFlag()<u></u><u></u></p></div><div><p class="MsoNormal" style="margin-bottom:12pt">There will be a mapping between glyphs in TextLayout and characters in StoryTextWhich will remove the need for ScText so we can drop it inertially. This will allow for us to change the visual order of the glyphs without affecting the logical order of the characters, which is the prerequisite for CTL support i.e. bidi and shaping. <u></u><u></u></p></div><div><p class="MsoNormal" style="margin-bottom:12pt">We are splitting the project into three stages.<u></u><u></u></p></div><div><p class="MsoNormal">1- Separating glyph layout from story text.<u></u><u></u></p></div><div><p class="MsoNormal">2- Refactor or prepare TextLayout class to integrate HarfBuzz and ubidi.<u></u><u></u></p></div><div><p class="MsoNormal">3- Integrate harfbuzz and bidi with scribus.<u></u><u></u></p></div><div><p class="MsoNormal" dir="RTL" style="text-align:right;direction:rtl"><span dir="LTR"><u></u> <u></u></span></p></div><div><p class="MsoNormal">Any feedback will be highly welcomed.<span lang="AR-SA" dir="RTL"><u></u><u></u></span></p></div></div></div></div></div></div></div><br>_______________________________________________<br>
scribus-dev mailing list<br>
<a href="mailto:scribus-dev@lists.scribus.net">scribus-dev@lists.scribus.net</a><br>
<a href="http://lists.scribus.net/mailman/listinfo/scribus-dev" rel="noreferrer" target="_blank">http://lists.scribus.net/mailman/listinfo/scribus-dev</a><br>
<br></blockquote></div><br></div><div class="gmail_extra">Avox!!</div><div class="gmail_extra">So glad you replied! Thank you.</div><div class="gmail_extra"><br></div><div class="gmail_extra">re: Dawood <br></div><div class="gmail_extra">Thanks for the elaboration!</div><div class="gmail_extra"><br></div><div class="gmail_extra">I speak for some in the community that we'd love to watch development happen, so +1 for using Github. <br></div><div class="gmail_extra"><br></div><div class="gmail_extra">Moving forward!</div><div class="gmail_extra">/Kunda</div><div class="gmail_extra"><br></div></div>