chrislit at crosswire.org
Wed Sep 11 06:26:21 MST 2013
In r2973, you added some handling for <hi rend="ol">...</hi> in OSIS
documents being converted to plaintext that I would like to see
disappear quickly and forever on account of being all kinds of bad.
First, this is not valid OSIS. rend is not an attribute on any OSIS
element. Switching rend to type at least brings it closer to OSIS validity.
But "ol" is still not a valid type for hi, and doesn't conform to the
standards for naming character styles in OSIS (or TEI). In both OSIS and
TEI, the corresponding CSS property value is used, so it should be
"overline" in either case. I see there's apparently a bug in OSIS and
overline was left out of the hi types, so you'd need to use "x-overline"
for OSIS (or "overline" for a corresponding TEI document).
More generally, the implementation of overline markup to plaintext
handling has some undesirable features. Using the filter inserts
characters into the character string to simulate a textual style with
actual additional characters. I can't imagine the use case in which
interleaving real character data with presentation-simulating characters
is the right course of action. We don't do any sort of
presentation-simulation for other hi types, but the nearest thing I can
imagine to appropriate plaintext presentation would be something like
markdown, e.g. *bold*, /italic/, _underline_, ¯overline¯.
\uXXXX escapes are only supported by C++11. Using this needlessly cuts
off support for older compilers, which are likely to still be in use on
plenty of aging platforms.
I see now that the OSIS to (X)HTML filters got support for <hi
rend="ol"> back in 2011, and I would likewise strenuously advocate the
removal of that in favor of support for markup that is at least valid
OSIS (<hi type="x-overline">).
More information about the sword-devel