<html><head></head><body><div style="font-family: Verdana;font-size: 12.0px;"><div>
<div>My only disagreement with Chris is around this sentence:</div>

<div>&nbsp;</div>

<div>&gt;(Again, I would argue that all paragraphs should be indented</div>

<div>
<div>&nbsp;</div>

<div>I think this is an Americanism. Here paragraphs are usually skipped.</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>&nbsp;Freitag, 12. April 2013 um 11:26 Uhr<br/>
<b>Von:</b>&nbsp;&quot;Chris Little&quot; &lt;chrislit@crosswire.org&gt;<br/>
<b>An:</b>&nbsp;&quot;SWORD Developers&#39; Collaboration Forum&quot; &lt;sword-devel@crosswire.org&gt;<br/>
<b>Betreff:</b>&nbsp;Re: [sword-devel] Sword support of indents and line breaks</div>

<div name="quoted-content">Executive summary:<br/>
I don&#39;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/>
&gt; Sword should support basic indents and line breaks. Content providers<br/>
&gt; should be able to control the formatting of their texts and should not<br/>
&gt; be required to assign their content to artificial &lt;p&gt;...&lt;/p&gt; or other<br/>
&gt; containers to do so. Although these containers might be useful, the<br/>
&gt; text of some translation styles cannot be fit nicely into them. But<br/>
&gt; often content providers do rightly desire their texts to appear with<br/>
&gt; formatting similar to their printed texts, since this is exactly what<br/>
&gt; the translators deemed easiest to read and understand.<br/>
&gt;<br/>
&gt; People who convert texts to Sword are often not at liberty to change<br/>
&gt; the source texts to do so, and source texts in strange languages come<br/>
&gt; with many unexpected language constructs. For these reasons it is<br/>
&gt; important that Sword tries to offer content providers a simple,<br/>
&gt; reliable way of formatting their own texts, without requiring them to<br/>
&gt; fit into Sword&#39;s container scheme to do so.<br/>
&gt;<br/>
&gt; IBT of Russia is already using simple osis &lt;milestone<br/>
&gt; type=&quot;x-p-indent&quot; /&gt; and &lt;lb /&gt; to achieve all their formatting needs<br/>
&gt; for their Sword modules. Currently, only xulsword supports both of<br/>
&gt; these. But perhaps they should both be included in Sword&#39;s osis2html<br/>
&gt; filters so that all front-ends can support them. At least something<br/>
&gt; very similar should be adopted, if there is a strong reason not to<br/>
&gt; adopt IBT&#39;s well tested method.<br/>
<br/>
So, encoders should not have to assign content to &#39;artificial<br/>
&lt;p&gt;...&lt;/p&gt;&#39; but they should have to encode an artificial &lt;milestone<br/>
type=&quot;x-p-indent&quot;/&gt;? They shouldn&#39;t assign content to the structure that<br/>
it clearly is (&lt;p&gt;...&lt;/p&gt;), rather to an imagined indentation object?<br/>
<br/>
There&#39;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&#39;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): {&#39;pc&#39;:&#39;x-center&#39;, &#39;pr&#39;:&#39;x-right&#39;, &#39;m&#39;:&#39;x-noindent&#39;,<br/>
&#39;pmo&#39;:&#39;x-embedded-opening&#39;, &#39;pm&#39;:&#39;x-embedded&#39;,<br/>
&#39;pmc&#39;:&#39;x-embedded-closing&#39;, &#39;pmr&#39;:&#39;x-right&#39;, &#39;pi&#39;:&#39;x-indented-1&#39;,<br/>
&#39;pi1&#39;:&#39;x-indented-1&#39;, &#39;pi2&#39;:&#39;x-indented-2&#39;, &#39;pi3&#39;:&#39;x-indented-3&#39;,<br/>
&#39;pi4&#39;:&#39;x-indented-4&#39;, &#39;pi5&#39;:&#39;x-indented-5&#39;, &#39;mi&#39;:&#39;x-noindent-indented&#39;,<br/>
&#39;nb&#39;:&#39;x-nobreak&#39;, &#39;phi&#39;:&#39;x-indented-hanging&#39;, &#39;ps&#39;:&#39;x-nobreakNext&#39;,<br/>
&#39;psi&#39;:&#39;x-nobreakNext-indented&#39;, &#39;p1&#39;:&#39;x-level-1&#39;, &#39;p2&#39;:&#39;x-level-2&#39;,<br/>
&#39;p3&#39;:&#39;x-level-3&#39;, &#39;p4&#39;:&#39;x-level-4&#39;, &#39;p5&#39;:&#39;x-level-5&#39;}.<br/>
<br/>
I believe that a bare &lt;p&gt; should, by default, be indented. The only case<br/>
where it shouldn&#39;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 &lt;p&gt; types to<br/>
(X)HTML &lt;p&gt; classes or CSS or such. But we should not be supporting an<br/>
indentation milestone and generating &amp;nbsp;s or something similar to<br/>
simulate indentation. (Nor should we translate indentation milestones to<br/>
(X)HTML &lt;p&gt; classes or CSS, if that&#39;s your implementation.)<br/>
<br/>
I presume you&#39;re already happy with the handling of &lt;lb/&gt;.<br/>
<br/>
&gt; Hard spaces and other such formatting are not acceptable solutions<br/>
&gt; because they cannot be easily filtered. It is important that<br/>
&gt; unformatted text can easily be obtained from formatted text since<br/>
&gt; there are many uses for unformatted text, such as bookmark and<br/>
&gt; cross-reference verse texts etc.<br/>
&gt;<br/>
&gt; Here is one example to show why forcing containers on a text is not a<br/>
&gt; good idea. This is a section of SFM from the book of Ruth 1:8-12:<br/>
&gt;<br/>
&gt; &#92;v 8 &#1049;&#1118;&#1083;&#1076;&#1072; &#1076;&#1072;&#1074;&#1086;&#1084; &#1101;&#1090;&#1080;&#1096;&#1072;&#1088;&#1082;&#1072;&#1085;, &#1053;&#1072;&#1080;&#1084;&#1072; &#1080;&#1082;&#1082;&#1072;&#1083;&#1072; &#1082;&#1077;&#1083;&#1080;&#1085;&#1080;&#1075;&#1072; &#1076;&#1077;&#1076;&#1080;:<br/>
&gt; &#92;p &mdash; &#1041;&#1086;&#1088;&#1080;&#1085;&#1075;&#1083;&#1072;&#1088;, &#1080;&#1082;&#1082;&#1086;&#1074;&#1080;&#1085;&#1075;&#1080;&#1079; &#1203;&#1072;&#1084; &#1086;&#1085;&#1072;&#1083;&#1072;&#1088;&#1080;&#1085;&#1075;&#1080;&#1079;&#1085;&#1080;&#1085;&#1075; &#1091;&#1081;&#1083;&#1072;&#1088;&#1080;&#1075;&#1072; &#1179;&#1072;&#1081;&#1090;&#1080;&#1085;&#1075;&#1083;&#1072;&#1088;.<br/>
&gt; &#1052;&#1077;&#1085;&#1075;&#1072; &#1074;&#1072; &#1084;&#1072;&#1088;&#1203;&#1091;&#1084;&#1083;&#1072;&#1088;&#1075;&#1072; &#1073;&#1118;&#1083;&#1075;&#1072;&#1085; &#1080;&#1079;&#1079;&#1072;&#1090;&ndash;&#1203;&#1091;&#1088;&#1084;&#1072;&#1090;&#1080;&#1085;&#1075;&#1080;&#1079; &#1091;&#1095;&#1091;&#1085; &#1069;&#1075;&#1072;&#1084; &#1089;&#1080;&#1079;&#1083;&#1072;&#1088;&#1075;&#1072; &#1203;&#1072;&#1084;<br/>
&gt; &#1084;&#1072;&#1088;&#1203;&#1072;&#1084;&#1072;&#1090; &#1179;&#1080;&#1083;&#1089;&#1080;&#1085;.<br/>
&gt; &#92;v 9 &#1048;&#1082;&#1082;&#1086;&#1074;&#1083;&#1072;&#1088;&#1080;&#1085;&#1075;&#1080;&#1079;&#1075;&#1072; &#1203;&#1072;&#1084; &#1103;&#1093;&#1096;&#1080; &#1078;&#1086;&#1081;&#1083;&#1072;&#1088;&#1076;&#1072;&#1085; &#1072;&#1090;&#1086; &#1179;&#1080;&#1083;&#1089;&#1080;&#1085;, &#1090;&#1091;&#1088;&#1084;&#1091;&#1096; &#1179;&#1091;&#1088;&#1080;&#1073;, &#1118;&#1079;<br/>
&gt; &#1101;&#1088;&#1083;&#1072;&#1088;&#1080;&#1085;&#1075;&#1080;&#1079; &#1073;&#1080;&#1083;&#1072;&#1085; &#1073;&#1072;&#1093;&#1090;&#1083;&#1080; &#1073;&#1118;&#1083;&#1080;&#1085;&#1075;&#1083;&#1072;&#1088;!<br/>
&gt; &#92;p &#1064;&#1091;&#1085;&#1076;&#1072;&#1081; &#1076;&#1077;&#1073; &#1053;&#1072;&#1080;&#1084;&#1072; &#1082;&#1077;&#1083;&#1080;&#1085;&#1083;&#1072;&#1088;&#1080;&#1085;&#1080; &#1118;&#1087;&#1076;&#1080;, &#1080;&#1082;&#1082;&#1072;&#1083;&#1072;&#1089;&#1080; &#1101;&#1089;&#1072; &#1081;&#1080;&#1171;&#1083;&#1072;&#1073; &#1092;&#1072;&#1088;&#1105;&#1076;<br/>
&gt; &#1082;&#1118;&#1090;&#1072;&#1088;&#1080;&#1096;&#1076;&#1080;:<br/>
&gt; &#92;p<br/>
&gt; &#92;v 10 &mdash; &#1049;&#1118;&#1179;, &#1073;&#1080;&#1079; &#1089;&#1080;&#1079; &#1073;&#1080;&#1083;&#1072;&#1085; &#1082;&#1077;&#1090;&#1072;&#1084;&#1080;&#1079;, &#1089;&#1080;&#1079;&#1085;&#1080;&#1085;&#1075; &#1093;&#1072;&#1083;&#1179;&#1080;&#1085;&#1075;&#1080;&#1079; &#1086;&#1088;&#1072;&#1089;&#1080;&#1076;&#1072; &#1103;&#1096;&#1072;&#1081;&#1084;&#1080;&#1079;,<br/>
&gt; &mdash; &#1076;&#1077;&#1081;&#1080;&#1096;&#1076;&#1080;.<br/>
&gt; &#92;v 11 &#1053;&#1072;&#1080;&#1084;&#1072; &#1101;&#1089;&#1072; &#1103;&#1085;&#1072; &#1082;&#1077;&#1083;&#1080;&#1085;&#1083;&#1072;&#1088;&#1080;&#1075;&#1072;:<br/>
&gt; &#92;p &mdash; &#1178;&#1072;&#1081;&#1090;&#1080;&#1085;&#1075;&#1083;&#1072;&#1088;, &#1078;&#1086;&#1085; &#1179;&#1080;&#1079;&#1083;&#1072;&#1088;&#1080;&#1084;! &mdash; &#1076;&#1077;&#1076;&#1080;. &mdash; &#1052;&#1077;&#1085; &#1073;&#1080;&#1083;&#1072;&#1085; &#1082;&#1077;&#1090;&#1075;&#1072;&#1085;&#1080;&#1085;&#1075;&#1080;&#1079;&#1076;&#1072;&#1085; &#1085;&#1080;&#1084;&#1072;<br/>
&gt; &#1092;&#1086;&#1081;&#1076;&#1072;?! &#1178;&#1086;&#1088;&#1085;&#1080;&#1084;&#1076;&#1072; &#1103;&#1085;&#1072; &#1118;&#1171;&#1080;&#1083;&#1083;&#1072;&#1088;&#1080;&#1084; &#1073;&#1086;&#1088;&#1084;&#1080;&#1076;&#1080;&#1082;&#1080; &#1089;&#1080;&#1079;&#1083;&#1072;&#1088;&#1075;&#1072; &#1091;&#1084;&#1088; &#1081;&#1118;&#1083;&#1076;&#1086;&#1096;&#1080; &#1073;&#1118;&#1083;&#1089;&#1072;?!*<br/>
&gt; &#92;v 12 &#1041;&#1118;&#1083;&#1076;&#1080; &#1101;&#1085;&#1076;&#1080;, &#1179;&#1080;&#1079;&#1083;&#1072;&#1088;&#1080;&#1084;, &#1179;&#1072;&#1081;&#1090;&#1080;&#1085;&#1075;&#1083;&#1072;&#1088;! &#1052;&#1077;&#1085; &#1101;&#1085;&#1076;&#1080; &#1082;&#1077;&#1082;&#1089;&#1072;&#1081;&#1076;&#1080;&#1084;, &#1101;&#1088;&#1075;&#1072;<br/>
&gt; &#1090;&#1077;&#1075;&#1080;&#1096;&#1075;&#1072; &#1086;&#1078;&#1080;&#1079;&#1084;&#1072;&#1085;. &#1041;&#1086;&#1088;&#1076;&#1080;&ndash;&#1102;, &#1084;&#1077;&#1085;, &#1203;&#1072;&#1083;&#1080; &#1091;&#1084;&#1080;&#1076; &#1179;&#1080;&#1083;&#1089;&#1072;&#1084; &#1073;&#1118;&#1083;&#1072;&#1076;&#1080;, &#1076;&#1077;&#1073; &#1096;&#1091; &#1082;&#1077;&#1095;&#1072;<br/>
&gt; &#1101;&#1088;&#1080;&#1084; &#1073;&#1080;&#1083;&#1072;&#1085; &#1179;&#1086;&#1074;&#1091;&#1096;&#1089;&#1072;&#1084;&#1091; &#1118;&#1171;&#1080;&#1083;&#1083;&#1072;&#1088; &#1090;&#1091;&#1171;&#1089;&#1072;&#1084;,<br/>
&gt;<br/>
&gt; Here is a PDF of exactly what the translators designed this SFM to<br/>
&gt; look like:<br/>
&gt; <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/>
&gt;<br/>
&gt; And here is what it looks like in Sword format using only basic osis<br/>
&gt; intents and line breaks, rendered by xulsword&#39;s osis2html filter:<br/>
&gt; <a href="http://ibt.org.ru/en/text.htm?m=UZV&amp;l=Ruth.1.1.1&amp;g=0" target="_blank">http://ibt.org.ru/en/text.htm?m=UZV&amp;l=Ruth.1.1.1&amp;g=0</a>. As you can see,<br/>
&gt; the Sword module renders this strange (to us) formatting of text just<br/>
&gt; like the translators wanted.<br/>
&gt;<br/>
&gt; However, now imagine trying to programmatically apply &lt;p&gt;...&lt;/p&gt;,<br/>
&gt; &lt;l&gt;...&lt;/l&gt; etc. constructs to the above SFM to achieve the same<br/>
&gt; effect. The designers of the SFM in this case are using the &#92;p tag to<br/>
&gt; represent a simple indent (not a paragraph) in order to achieve their<br/>
&gt; desired non-Western layout. One might try and argue that the SFM<br/>
&gt; designers have done something wrong, but the point is that we have<br/>
&gt; what we have. So Sword should provide a simple way for content<br/>
&gt; providers to control the formatting of their texts. Basic indents and<br/>
&gt; line breaks do the trick for Central Asian languages, and probably<br/>
&gt; many others as well. Poetry is even made easy, by putting indents in<br/>
&gt; series as desired.<br/>
<br/>
I disagree. Those are paragraphs. I&#39;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 &lt;p&gt;<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&#39;t believe paragraph breaks can occur<br/>
within sentences, but evidently they can.<br/>
<br/>
There&#39;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></body></html>