<html><head></head><body><div style="font-family: Verdana;font-size: 12.0px;"><div>
<div>Having said this, I think if there is a large number of existing modules which get insufficiently rendered and if the patch required is small, then I would suggest a two pronged approach:</div>
<div> </div>
<div>1) accept the patch (us)</div>
<div>
<div>2) Do not accept anymore modules requiring this patch (IBT)</div>
<div>3) Once the last module requiring it is gone in IBT we can "unpatch" again.</div>
<div> </div>
<div>I think this is a sensible compromise between integrity of the engine and the needs for existing modules to present correctly. Quite unlike many other "hacks" we have seen in modules this is a well documented, XML compliant, logical hack not exploiting any existing faults in a frontend or the engine.</div>
<div> </div>
<div>Peter</div>
<div> </div>
<div name="quote" style="margin:10px 5px 5px 10px; padding: 10px 0 10px 10px; border-left:2px solid #C3D9E5; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">
<div style="margin:0 0 10px 0;"><b>Gesendet:</b> Freitag, 12. April 2013 um 12:13 Uhr<br/>
<b>Von:</b> "Peter von Kaehne" <refdoc@gmx.net><br/>
<b>An:</b> "SWORD Developers' Collaboration Forum" <sword-devel@crosswire.org><br/>
<b>Betreff:</b> Re: [sword-devel] Sword support of indents and line breaks</div>
<div name="quoted-content">
<div style="font-family: Verdana;font-size: 12.0px;">
<div>
<div>My only disagreement with Chris is around this sentence:</div>
<div> </div>
<div>>(Again, I would argue that all paragraphs should be indented</div>
<div>
<div> </div>
<div>I think this is an Americanism. Here paragraphs are usually skipped.</div>
<div style="margin: 10.0px 5.0px 5.0px 10.0px;padding: 10.0px 0 10.0px 10.0px;border-left: 2.0px solid rgb(195,217,229);">
<div style="margin: 0 0 10.0px 0;"><b>Gesendet:</b> Freitag, 12. April 2013 um 11:26 Uhr<br/>
<b>Von:</b> "Chris Little" <chrislit@crosswire.org><br/>
<b>An:</b> "SWORD Developers' Collaboration Forum" <sword-devel@crosswire.org><br/>
<b>Betreff:</b> Re: [sword-devel] Sword support of indents and line breaks</div>
<div>Executive summary:<br/>
I don't have a problem with making it clear how to encode indented<br/>
paragraphs and line breaks and improving support for diverse paragraph<br/>
types.<br/>
I do have problems with the specific syntax and the rationale described<br/>
below.<br/>
<br/>
On 4/11/2013 11:04 PM, John Austin wrote:<br/>
> Sword should support basic indents and line breaks. Content providers<br/>
> should be able to control the formatting of their texts and should not<br/>
> be required to assign their content to artificial <p>...</p> or other<br/>
> containers to do so. Although these containers might be useful, the<br/>
> text of some translation styles cannot be fit nicely into them. But<br/>
> often content providers do rightly desire their texts to appear with<br/>
> formatting similar to their printed texts, since this is exactly what<br/>
> the translators deemed easiest to read and understand.<br/>
><br/>
> People who convert texts to Sword are often not at liberty to change<br/>
> the source texts to do so, and source texts in strange languages come<br/>
> with many unexpected language constructs. For these reasons it is<br/>
> important that Sword tries to offer content providers a simple,<br/>
> reliable way of formatting their own texts, without requiring them to<br/>
> fit into Sword's container scheme to do so.<br/>
><br/>
> IBT of Russia is already using simple osis <milestone<br/>
> type="x-p-indent" /> and <lb /> to achieve all their formatting needs<br/>
> for their Sword modules. Currently, only xulsword supports both of<br/>
> these. But perhaps they should both be included in Sword's osis2html<br/>
> filters so that all front-ends can support them. At least something<br/>
> very similar should be adopted, if there is a strong reason not to<br/>
> adopt IBT's well tested method.<br/>
<br/>
So, encoders should not have to assign content to 'artificial<br/>
<p>...</p>' but they should have to encode an artificial <milestone<br/>
type="x-p-indent"/>? They shouldn't assign content to the structure that<br/>
it clearly is (<p>...</p>), rather to an imagined indentation object?<br/>
<br/>
There's not a location or an object that represents indentation.<br/>
Indentation is a property of paragraphs, so it should be marked on<br/>
paragraphs, as is our current practice.<br/>
<br/>
Here's the list of paragraph types from the USFM reference along with<br/>
the paragraph type that usfm2osis.py will generate (in the form of a<br/>
Python dict): {'pc':'x-center', 'pr':'x-right', 'm':'x-noindent',<br/>
'pmo':'x-embedded-opening', 'pm':'x-embedded',<br/>
'pmc':'x-embedded-closing', 'pmr':'x-right', 'pi':'x-indented-1',<br/>
'pi1':'x-indented-1', 'pi2':'x-indented-2', 'pi3':'x-indented-3',<br/>
'pi4':'x-indented-4', 'pi5':'x-indented-5', 'mi':'x-noindent-indented',<br/>
'nb':'x-nobreak', 'phi':'x-indented-hanging', 'ps':'x-nobreakNext',<br/>
'psi':'x-nobreakNext-indented', 'p1':'x-level-1', 'p2':'x-level-2',<br/>
'p3':'x-level-3', 'p4':'x-level-4', 'p5':'x-level-5'}.<br/>
<br/>
I believe that a bare <p> should, by default, be indented. The only case<br/>
where it shouldn't would be in a translation without any paragraphs,<br/>
which should have each verse start on a new line. I would argue that the<br/>
OSIS filters should be improved to translate these OSIS <p> types to<br/>
(X)HTML <p> classes or CSS or such. But we should not be supporting an<br/>
indentation milestone and generating &nbsp;s or something similar to<br/>
simulate indentation. (Nor should we translate indentation milestones to<br/>
(X)HTML <p> classes or CSS, if that's your implementation.)<br/>
<br/>
I presume you're already happy with the handling of <lb/>.<br/>
<br/>
> Hard spaces and other such formatting are not acceptable solutions<br/>
> because they cannot be easily filtered. It is important that<br/>
> unformatted text can easily be obtained from formatted text since<br/>
> there are many uses for unformatted text, such as bookmark and<br/>
> cross-reference verse texts etc.<br/>
><br/>
> Here is one example to show why forcing containers on a text is not a<br/>
> good idea. This is a section of SFM from the book of Ruth 1:8-12:<br/>
><br/>
> \v 8 Йўлда давом этишаркан, Наима иккала келинига деди:<br/>
> \p — Боринглар, икковингиз ҳам оналарингизнинг уйларига қайтинглар.<br/>
> Менга ва марҳумларга бўлган иззат–ҳурматингиз учун Эгам сизларга ҳам<br/>
> марҳамат қилсин.<br/>
> \v 9 Икковларингизга ҳам яхши жойлардан ато қилсин, турмуш қуриб, ўз<br/>
> эрларингиз билан бахтли бўлинглар!<br/>
> \p Шундай деб Наима келинларини ўпди, иккаласи эса йиғлаб фарёд<br/>
> кўтаришди:<br/>
> \p<br/>
> \v 10 — Йўқ, биз сиз билан кетамиз, сизнинг халқингиз орасида яшаймиз,<br/>
> — дейишди.<br/>
> \v 11 Наима эса яна келинларига:<br/>
> \p — Қайтинглар, жон қизларим! — деди. — Мен билан кетганингиздан нима<br/>
> фойда?! Қорнимда яна ўғилларим бормидики сизларга умр йўлдоши бўлса?!*<br/>
> \v 12 Бўлди энди, қизларим, қайтинглар! Мен энди кексайдим, эрга<br/>
> тегишга ожизман. Борди–ю, мен, ҳали умид қилсам бўлади, деб шу кеча<br/>
> эрим билан қовушсаму ўғиллар туғсам,<br/>
><br/>
> Here is a PDF of exactly what the translators designed this SFM to<br/>
> look like:<br/>
> <a href="http://ibt.org.ru/russian/bible/uzb/otcyr/08%20Rut%20-%20Uzbek%20Cyrillic.pdf" target="_blank">http://ibt.org.ru/russian/bible/uzb/otcyr/08%20Rut%20-%20Uzbek%20Cyrillic.pdf</a><br/>
><br/>
> And here is what it looks like in Sword format using only basic osis<br/>
> intents and line breaks, rendered by xulsword's osis2html filter:<br/>
> <a href="http://ibt.org.ru/en/text.htm?m=UZV&l=Ruth.1.1.1&g=0" target="_blank">http://ibt.org.ru/en/text.htm?m=UZV&l=Ruth.1.1.1&g=0</a>. As you can see,<br/>
> the Sword module renders this strange (to us) formatting of text just<br/>
> like the translators wanted.<br/>
><br/>
> However, now imagine trying to programmatically apply <p>...</p>,<br/>
> <l>...</l> etc. constructs to the above SFM to achieve the same<br/>
> effect. The designers of the SFM in this case are using the \p tag to<br/>
> represent a simple indent (not a paragraph) in order to achieve their<br/>
> desired non-Western layout. One might try and argue that the SFM<br/>
> designers have done something wrong, but the point is that we have<br/>
> what we have. So Sword should provide a simple way for content<br/>
> providers to control the formatting of their texts. Basic indents and<br/>
> line breaks do the trick for Central Asian languages, and probably<br/>
> many others as well. Poetry is even made easy, by putting indents in<br/>
> series as desired.<br/>
<br/>
I disagree. Those are paragraphs. I'm not sure why you would argue that<br/>
something which looks like a paragraph, acts like a paragraph, and is<br/>
encoded using paragraph markup is nevertheless not a paragraph. You can<br/>
achieve your desired typesetting by putting the paragraphs in <p><br/>
elements and indenting them all. (Again, I would argue that all<br/>
paragraphs should be indented, except in unparagraphed translations.)<br/>
<br/>
My only guess is that you don't believe paragraph breaks can occur<br/>
within sentences, but evidently they can.<br/>
<br/>
There's already defined syntax for poetry formatting using the level<br/>
attribute.<br/>
<br/>
--Chris<br/>
<br/>
<br/>
_______________________________________________<br/>
sword-devel mailing list: sword-devel@crosswire.org<br/>
<a href="http://www.crosswire.org/mailman/listinfo/sword-devel" target="_blank">http://www.crosswire.org/mailman/listinfo/sword-devel</a><br/>
Instructions to unsubscribe/change your settings at above page</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div></div></body></html>