Re: Support for morph segmentation in front-ends?

Karl Kleinpaste <[email protected]> Tue, 25 Mar 2025 16:30:48 -0400
Newsgroups gmane.comp.literature.sword.devel
Message-ID <[email protected]>
David Haslam wrote:
> Might Xiphos be enhanced to implement this in future?

I currently see 3 modules that claim this:

cpdv.conf:GlobalOptionFilter=OSISMorphSegmentation
hinerv.conf:GlobalOptionFilter=OSISMorphSegmentation
turntb.conf:GlobalOptionFilter=OSISMorphSegmentation

All Xiphos can do is turn on the option so that whatever Sword does, re: 
rendering of that option, will happen. Xiphos provides that via context 
menu → Module Options → Morpheme Segmentation.

Xiphos uses XHTML filters. diatheke shows that the engine doesn't render 
<seg> content in normal output:

mod2imp CPDV | grep -A1 'Genesis 1:1$'
$$$Genesis 1:1
<div type="x-milestone" subType="x-preverse" sID="pv1"/><title 
type="x-description">God creates Heaven and Earth, and all things 
therein, in six days.</title> <div eID="gen6" type="introduction"/> <div 
sID="gen7" type="x-p"/><div type="x-milestone" subType="x-preverse" 
eID="pv1"/>In the beginning, God created heaven and earth.<note 
placement="foot"><reference osisRef="Gen.1.1" 
type="annotateRef">1:1</reference>Heaven was created first, then earth. 
The creation of angels also occurred with the creation of heaven. The 
creation of earth is really the creation of the universe, and 
subsequently earth.<*seg* type="x-usfm-fl">(Conte)</*seg*></note><div 
eID="gen7" type="x-p"/>

diatheke -b CPDV -o M -f xhtml -k g.1.1
<html><head><meta http-equiv="content-type" content="text/html" 
charset="UTF-8" lang="en" xml:lang="en"/>
<style type="text/css">        .divineName { font-variant: small-caps; }
         .wordsOfJesus { color: red; }
         .transChange { font-style: italic; }
         .transChange.transChange-supplied { font-style: italic; }
         .transChange.transChange-added { font-style: italic; }
         .transChange.transChange-tenseChange::before { content: '*'; }
         .transChange.transChange-tenseChange { font-style: normal; }
         .transChange:lang(zh) { font-style: normal; text-decoration: 
dotted underline; }
         .overline { text-decoration: overline; }
         .indent1 { margin-left: 1em; }
         .indent2 { margin-left: 2em; }
         .indent3 { margin-left: 3em; }
         .indent4 { margin-left: 4em; }
         abbr { &:hover{ &:before{ content: attr(title); } } }
         .small-caps { font-variant: small-caps; }
         .otPassage { font-variant: small-caps; }
         .selah { text-align: right; width: 50%; margin: 0; padding: 0; }
         .acrostic { text-align: center; }
         .colophon {font-style: italic; font-size: small; display: block; }
         .rdg { font-style: italic; }
         .inscription {font-variant: small-caps; }
         .catchWord {font-style: bold; }
         .x-p-indent {text-indent: 1em; }
     </style></head><body>Genesis 1:1: <span style="font:Gentium;" >In 
the beginning, God created heaven and earth.<br />
</span><br />
(CPDV)
</body></html>

I don't know what a frontend is supposed to do with it. I see no content 
as delivered, and I see no indication of a footnote-style tag marker 
that would say a UI could do something more with tags.

_______________________________________________
sword-devel mailing list: [email protected]
http://crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page