Hi Tom,<br><br>Just had a short look at the documentation of SwordHammer and think this is a promising concept. Specifically for some very complicated texts delivered to us as MS word etc files. I will most certainly have a go at using it. <br><br>Peter<br><br>Sent from my mobile. Please forgive shortness, typos and weird autocorrects.<div class="quote" style="line-height: 1.5"><br><br>-------- Original Message --------<br>Subject: [sword-devel] Introducing myself, SwordHammer,        and asking a ton of questions<br>From: Tom Sullivan <info@beforgiven.info><br>To: sword-devel@crosswire.org<br>CC: <br><br><br type="attribution"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Y’all:<br><br>This will be a long one, so let me first summarize, then provide details <br>for each section:<br><br>Personal Introduction:<br>My name is Tom Sullivan, info@beforgiven.INFO.<br><br>Context of my interest in this forum:<br>I have developed a program, SwordHammer, to translate from WYSIWYG word <br>processor output to OSIS and Sword Modules. It is in beta, and is at <br>beforgiven.info/SwordHammer. I hope it will be useful to some of you, <br>and to a wider audience of authors, editors, and translators.<br><br>Questions:<br>But, there are issues with my understanding of OSIS, Sword, and what is <br>to be expected of front end programs, and of the back ends, jsword and <br>sword. I have read the docs fully and more than once, but there are <br>places where there are contradictions, things that are unclear to me, <br>and undoubtedly, things that I stupidly missed. So I would appreciate <br>some help. I need this information so I can make SwordHammer do its job <br>well. I have extensively tested it; it mostly works well, but there are <br>warts and blemishes. A prime goal is to isolate the user from technical <br>details.<br><br>Perhaps I could help with the documentation? It seems to need work. <br>Perhaps Crosswire could specify a simpler OSIS if nobody else is using it?<br><br>Future Direction:<br>Someday I hope to write a front-end for interlinear Bible presentation. <br>A very simple front end sync standard would be helpful.<br><br>More details:<br><br>*** Personal Introduction:<br><br>My name is Tom Sullivan and you can reach me at infor@BeForgiven.INFO. I <br>am a retired engineer, but in most jobs was also IT administrator or <br>involved with it. I started programming in FORTRAN on the IBM 360 <br>mainframe in 1972. About a year and a half later, by God’s sovereign <br>grace alone, the Holy Spirit regenerated my heart and gave me faith in <br>Jesus Christ whose bondslave I have been ever since (not that I have <br>always acted the part very well).<br><br>What follows about myself is not all that important, but may perhaps <br>help others understand my strengths, weaknesses, and motivation.<br><br>At the end of my career I was mostly using C, C#, and (legacy) VB6. When <br>Microsoft released that unnatural chimera called Windows 8, started <br>putting spyware (“telemetry”) in Windows 7, tried to cram Windows 10 <br>(replete with spyware and ads) down my throat, and etc., a divorce was <br>in order. (Microsoft may possibly have a somewhat different <br>perspective.) I settled on Debian and tried to stay with C# using Mono, <br>but it was buggy, and then Microsoft bought Xamarin (who owned Mono). <br>Forced to choose a new language, I learned Python 3 and have written an <br>awful lot of Python code to convert my own stuff over from Windows to <br>Linux. Although I must still use Windows for a few unmovable commercial <br>programs, I am now almost fully on Debian, still learning, and still <br>considering myself to be a Linux newbie even after two years.<br><br>Of course, Linux is a different world. The quantity and quality of the <br>software is amazing, especially considering its largely volunteer <br>origin, and the price is right. But everywhere, documentation tends to <br>be a weak spot. What struck me most is that, compared with commercial <br>offerings, there is a lack of good Bible programs for Linux. The <br>relative lack of modern, translations, commentaries, and reference <br>material is even worse. Those of us who are Linux users are, in effect, <br>an unreached people group. It is clear that there are many who are hard <br>at work on Bible programs and that they are making good progress to <br>remedy the gap. With regard to input material, this obvious need is what <br>has motivated me to tackle the project of writing SwordHammer in <br>addition to my other retirement job of translating Puritan and other <br>classic works into modern English. (Of course, I hope to use SwordHammer <br>to publish my own works as well.) Readers who have used programs like <br>Libronix will understand the great value of linking Christian works and <br>their Bible references to the actual Bible passages. Too many readers do <br>not bother to look up references. This is in addition to linking <br>commentaries, dictionaries, etc., to the Word of God to facilitate <br>careful study.<br><br>So OK, I am the new employee who has still to find the bathrooms. I have <br>a lot to learn. But perhaps I can also bring some helpful outsider’s <br>viewpoints and suggestions. I have waited until now to join this list <br>because, first, I wanted to learn and test my learning about OSIS and <br>Sword modules, and second, because I wanted to present SwordHammer in <br>beta as an indication that I am serious about helping out with the Sword <br>project and making the whole “ecosystem” better, if God will so allow me.<br><br>*** Context of my interest in this forum:<br><br>I have developed a program, SwordHammer, to translate from WYSIWYG word <br>processor output to OSIS and Sword Modules. It is in beta, and is at <br>beforgiven.info/SwordHammer. I hope it will be useful to some of you, <br>and to a wider audience of authors, editors, publishers, and <br>translators. My target audience includes the kind of people who, while <br>they can do their jobs well, even excellently, on their computer, some <br>of them will need to call for support for almost every IT problem. I <br>have written the instruction manual accordingly.<br><br>I encourage you all to at least download the documentation, if not try <br>SwordHammer as well. It seems a lot to ask, but if any of you could be <br>so kind as to look at my documentation and point out to me places where <br>I am inaccurate with respect to OSIS or Sword modules; such are most <br>likely to show up in what I have termed “General Questions.”<br><br>SwordHammer uses as input the .ODT files produced by LibreOffice, which <br>(should) conform to OASIS,  which is an international standard, ISO/IEC <br>26300-1.<br><br>The essential working principle of a WYSIWYG word processor is to enable <br>a user to present a document to a reader in terms of how the document <br>looks to the reader; the word processor is largely unaware of how the <br>user derives meaning or information from the appearance of the document.<br><br>By contrast, SwordHammer’s job is to extract meanings from appearance <br>and translate those meanings into OSIS, then Sword Modules. SwordHammer <br>does this by analyzing the document and picking out all of the section, <br>paragraph, font, and other information pertaining to the text. We will <br>call these kind of things “attributes.” Each time SwordHammer encounters <br>a new set of attributes (even if only one attribute differs) it <br>generates a question for the user as to its meaning (verse, footnote, <br>italic, title, and so on). The questions are presented to the user in a <br>(new) question document that contains the user’s original input with <br>questions interspersed in context. When the user answers those <br>questions, SwordHammer learns the meaning of the formatting and is hence <br>able to translate the document into OSIS. If one thinks about it, this <br>is not an unreasonable approach; readers distinguish between items in a <br>document by appearance also.<br><br>SwordHammer also asks a large number of questions which are driven in <br>part by the requirements of OSIS and Sword Module generation. So far, <br>SwordHammer has been tested on Bibles, Commentaries, and Generic <br>(General) Books.<br><br>It is my belief that SwordHammer is greatly easier to use, more <br>productive, and less error-prone than forcing authors to learn OSIS and <br>about Sword Modules. SwordHammer attempts to insulate and isolate the <br>author or document editor, etc., from having to learn and interact with <br>either OSIS or the details of Sword Modules. (SwordHammer currently does <br>not support all OSIS features, and even fully developed may never get <br>there, but I hope that it is a good start.)<br><br>In developing SwordHammer I have, of course, interacted deeply with <br>Sword Module creation and OSIS. There are a number of issues and <br>questions that have arisen that will appear below. Obviously, since <br>SwordHammer is an automated system, I will have a bias towards using <br>OSIS in the most consistent and simple manner possible. This bias may <br>perhaps show in some of my questions.<br><br>*** Questions (* marks a new question)<br><br>Before going further, let me just say that I fully appreciate the fact <br>that software development is hard work, that the work is being done by <br>unpaid volunteers, that it is painful, but necessary when someone tells <br>you that your program has a bug, and that not all back ends or front <br>ends will have the same feature set. My goal here is to learn so that I <br>may develop SwordHammer to its fullest potential as the Lord gives me <br>health, strength, and opportunity.<br><br>In particular, I have been testing with these front ends: Xiphos 4.04 , <br>BibleTime 2.10.1, and BibleDesktop 2.0 Beta. My reports of problems with <br>these is not to slam them, but they just happen to be three that work on <br>my Debian Stretch system. These may not be up to date. For example, I <br>have been informed by Xiphos that version 4.0.7 is current. But here is <br>why I use what may be old versions: I am expecting some of my users to <br>be unsophisticated; to expect them to compile from source is <br>unrealistic. It also seems unrealistic to expect them to use other than <br>stable distros. Debian does support package updates for bug fixes; may I <br>please ask developers to kindly supply such fixes as needed.<br><br>* When first studying the documentation for OSIS, I looked in vain for <br>further information. I was finally able to make contact with SIL, and <br>they said that they no longer used OSIS, even though they were involved <br>with its development. My impression is that only Crosswire supports OSIS <br>anymore.<br>* Is this correct?<br>* If it is correct, should the OSIS specification be pared down for <br>simplicity? For example, does it really matter if a section is tagged <br>“colophon” or “gazetteer” in terms of how front ends will handle the <br>material? Similarly, there are a number of what may be seen as <br>subdivisions of the general category of “translator’s notes,” such as <br>“transChange,” “translation,” or “variant.” Will not front ends present <br>all of these as non-cross-reference notes in the same way? Which, if <br>any, do actually deserve special treatment? (I realize this is a general <br>question and only expect general answers at this time.) In particular, <br><quote> seems to me to be completely useless (except for its use for <br>red-letter). Why not just pass through the source material’s mark for <br>the language being used?<br><br>* Would it be worthwhile to re-write the OSIS documentation to reflect <br>the needs of Crosswire and incorporate the articles in the Wiki into the <br>same document, so there is a comprehensive and consistent guide? And, <br>yes, being an experienced author and editor, I believe I would be <br>willing to volunteer for this job if I can get both good input and <br>feedback; right now I don’t know enough just yet.<br><br>*** I present the following bug reports. Implied in all of them are the <br>following questions:<br>* Is this something that should work, but I must be doing something <br>wrong? If so what?<br>* Is this something that will never be supported?<br>* Is this something that needs to be fixed?<br>* Etc. I am looking for education here. Many thanks.<br><br>* Using: osisCore.2.1.1-cw-latest.xsd, there are Work sub elements that <br>give errors:<br><contributor><br><type><br><identifier><br><description><br><subject><br><source><br><br>* <chapterLabel> is not accepted in chapter title by <br>osisCore.2.1.1-cw-latest.xsd<br><br>* In both Xiphos and BibleTime:<br>. Tabs not recognized<br>. <lg> and <l> delineated poetry does not work reliably<br>. Fonts are random sizes (sometimes)<br>. Images do not display description on mouseover for vision impaired<br>. underline does not work<br>. small caps does not work<br>. strikethrough does not work<br>. tables do not recognize <align> elements<br>. fail to properly handle 0x2019 right single quotation mark in a title <br>when used as an apostrophe. A title is truncated. In regular text, it <br>does not appear. Note: 8217        2019        &rsquo;        RIGHT SINGLE QUOTATION MARK is <br>the recognized standard for the English apostrophe.<br>. Non-ASCII characters do not print, in spite of documentation that says <br>to use UTF-8. BibleDesktop does not have this problem.<br>. fail with words of Christ in red if who="Jesus" used in quote <br>milestone (as opposed to non-milestone). The red never shuts off.<br><br>* BibleDesktop does not display all notes if there are a lot of them.<br><br>* On pg 67, the OSIS manual shows <item><list><item> to make second <br>level list items. However, this produces extra bullet points. The <br>correct manner is to just use <list><item>, where <list> is a child of <br>the previous list. Bibletime and Xiphos then display correctly, but <br>BibleDesktop shows an extra bullet point. ALL programs insert their own <br>markers in spite of the user supplying their own, such as numbering. <br>HOWEVER, this causes OSIS validation errors, AND if done the way of the <br>OSIS manual, you do not get validation errors, but you do get double <br>bullet points for nested entries.<br><br>* In Windows, xml2gbs that is loaded by Xiphos produces only a .bdt <br>file. The same XML file works fine for xml2gbs Linux version. There are <br>no error messages generated. The output is similar, but while the Linux <br>version gives titles, the Windows version gives the value of the osisID. <br>The problem is the version that comes in Xiphos. The downloadable from <br>http://www.crosswire.org/ftpmirror/pub/sword/utils/win32/ works, but the <br>file versions seem old.<br><br>* In contrast to documentation, VC2012 redistributable is needed.<br><br>* A footnote marker of a dagger or special character will cause Xiphos <br>and Bibletime to mishandle the footnote. BibleDesktop works fine.<br><br>* BibleTime does not display an image in a generic book.<br><br>* BibleTime ignores paragraphing.<br><br>* I have not figured out how to include non-canonical and separate <br>introductory or extended explanatory text in a Bible. ESV2011 does it <br>however. How do you do that?<br><br>* The OSIS specification provides for internal hyperlinks: <a> should be <br>able to link to an osisID. I cannot get this to work. Bible passage <br>links work fine. The ability to use internal links/hyperlinks can be of <br>great value, especially in General books, to produce tables of contents, <br>alphabetical indexes, Scripture indexes and other kinds of useful links.<br><br>* I have seen the terms “General Books” and “Generic Books.” Which is to <br>be preferred. (Earthshaking question, right?)<br><br>*** Future direction:<br><br>Lord willing, I hope to develop a front end for interlinear Bibles such <br>as Bagster’s Interlinear. (The kind of interlinear I am considering is <br>one which displays a line with modern language, beneath it a line of <br>Greek or Hebrew, beneath that a line of morphology, etc., with each word <br>and its information vertically aligned.)<br><br>But this possible project brings up a question: I am aware of the <br>existence of BibleSync. It has a lot of neat features for groups. But <br>consider what plug-ins have done for Firefox in terms of user <br>flexibility and new features. In a loosely similar manner, a simple <br>inter-program communication system would allow users to use multiple <br>Bible front ends and sync them. Different programs have different <br>strengths and weaknesses. To sync them would be an overall enhancement <br>to all of us. Obviously, this would be beneficial to a proposed <br>interlinear-only front-end.<br><br>My proposal is a simple system that will not overly burden front end <br>developers: Use a local file. All front ends emit a passage reference to <br>a local file when a user selects a passage. All front ends read that <br>file about every second or so and, if the reference changes, go to that <br>reference. A menu item or button switches participation on or off. This <br>is a one-user, local system.<br><br>Comments?<br>-- <br>Tom Sullivan<br>info@BeForgiven.INFO<br>FAX: 815-301-2835<br>---------------------<br>Great News!<br>God created you, owns you and gave you commands to obey.<br>You have disobeyed God - as your conscience very well attests to you.<br>God's holiness and justice compel Him to punish you in Hell.<br>Jesus Christ became Man, was crucified, buried and rose from the dead<br>as a substitute for all who trust in Him, redeeming them from Hell.<br>If you repent (turn from your sin) and believe (trust) in Jesus Christ,<br>you will go to Heaven. Otherwise you will go to Hell.<br>Warning! Good works are a result, not cause, of saving trust.<br>More info is at www.esig.beforgiven.info<br>Do you believe this? Copy this signature into your email program<br>and use the Internet to spread the Great News every time you email.<br><br>_______________________________________________<br>sword-devel mailing list: sword-devel@crosswire.org<br>http://www.crosswire.org/mailman/listinfo/sword-devel<br>Instructions to unsubscribe/change your settings at above page</blockquote></div>