[sword-devel] Sword support of indents and line breaks
John Austin
gpl.programs.info at gmail.com
Thu Apr 11 23:04:16 MST 2013
Sword should support basic indents and line breaks. Content providers
should be able to control the formatting of their texts and should not
be required to assign their content to artificial <p>...</p> or other
containers to do so. Although these containers might be useful, the text
of some translation styles cannot be fit nicely into them. But often
content providers do rightly desire their texts to appear with
formatting similar to their printed texts, since this is exactly what
the translators deemed easiest to read and understand.
People who convert texts to Sword are often not at liberty to change the
source texts to do so, and source texts in strange languages come with
many unexpected language constructs. For these reasons it is important
that Sword tries to offer content providers a simple, reliable way of
formatting their own texts, without requiring them to fit into Sword's
container scheme to do so.
IBT of Russia is already using simple osis <milestone type="x-p-indent"
/> and <lb /> to achieve all their formatting needs for their Sword
modules. Currently, only xulsword supports both of these. But perhaps
they should both be included in Sword's osis2html filters so that all
front-ends can support them. At least something very similar should be
adopted, if there is a strong reason not to adopt IBT's well tested method.
Hard spaces and other such formatting are not acceptable solutions
because they cannot be easily filtered. It is important that unformatted
text can easily be obtained from formatted text since there are many
uses for unformatted text, such as bookmark and cross-reference verse
texts etc.
Here is one example to show why forcing containers on a text is not a
good idea. This is a section of SFM from the book of Ruth 1:8-12:
\v 8 Йўлда давом этишаркан, Наима иккала келинига деди:
\p — Боринглар, икковингиз ҳам оналарингизнинг уйларига қайтинглар.
Менга ва марҳумларга бўлган иззат–ҳурматингиз учун Эгам сизларга ҳам
марҳамат қилсин.
\v 9 Икковларингизга ҳам яхши жойлардан ато қилсин, турмуш қуриб, ўз
эрларингиз билан бахтли бўлинглар!
\p Шундай деб Наима келинларини ўпди, иккаласи эса йиғлаб фарёд кўтаришди:
\p
\v 10 — Йўқ, биз сиз билан кетамиз, сизнинг халқингиз орасида яшаймиз, —
дейишди.
\v 11 Наима эса яна келинларига:
\p — Қайтинглар, жон қизларим! — деди. — Мен билан кетганингиздан нима
фойда?! Қорнимда яна ўғилларим бормидики сизларга умр йўлдоши бўлса?!*
\v 12 Бўлди энди, қизларим, қайтинглар! Мен энди кексайдим, эрга тегишга
ожизман. Борди–ю, мен, ҳали умид қилсам бўлади, деб шу кеча эрим билан
қовушсаму ўғиллар туғсам,
Here is a PDF of exactly what the translators designed this SFM to look
like:
http://ibt.org.ru/russian/bible/uzb/otcyr/08%20Rut%20-%20Uzbek%20Cyrillic.pdf
And here is what it looks like in Sword format using only basic osis
intents and line breaks, rendered by xulsword's osis2html filter:
http://ibt.org.ru/en/text.htm?m=UZV&l=Ruth.1.1.1&g=0. As you can see,
the Sword module renders this strange (to us) formatting of text just
like the translators wanted.
However, now imagine trying to programmatically apply <p>...</p>,
<l>...</l> etc. constructs to the above SFM to achieve the same effect.
The designers of the SFM in this case are using the \p tag to represent
a simple indent (not a paragraph) in order to achieve their desired
non-Western layout. One might try and argue that the SFM designers have
done something wrong, but the point is that we have what we have. So
Sword should provide a simple way for content providers to control the
formatting of their texts. Basic indents and line breaks do the trick
for Central Asian languages, and probably many others as well. Poetry is
even made easy, by putting indents in series as desired.
More information about the sword-devel
mailing list