During the course of my fruitful conversation with Grok yesterday, an 
interesting issue became apparent with Markdown.

I've made this problem visible to developers by creating a new 
[issue](https://github.com/nea/MarkdownViewerPlusPlus/issues/168) for 
MarkdownViewer++.

Best regards,

David

Sent with [Proton Mail](https://pr.tn/ref/SWXT9A5YZ67G) secure email.

On Sunday, May 25th, 2025 at 5:44 PM, David Haslam <dfh...@protonmail.com> 
wrote:

> Dear Sword-devel community,
>
> I wish to propose a new SWORD configuration key, 
> GlobalOptionFilter=OSISNamesBold, to enhance digital Bible displays by 
> rendering proper names (tagged as in OSIS XML) in bold. This feature would 
> improve readability for Bible students, particularly in unicameral scripts 
> like Thai, Chinese, or Hebrew, where capitalization isn’t available to 
> distinguish names.
>
> With the help of Grok (x.ai) I have explored this idea using Hosea 1 from 
> both the KJV and ThaiKJV, bolding names like Hosea, LORD, and Israel (KJV) or 
> โฮเชยา, พระเยโฮวาห์ (Thai). Such a filter would need to apply CSS 
> font-weight: bold to tags, making names visually distinct in front-ends. For 
> unicameral languages, this addresses the lack of uppercase cues, as 
> demonstrated in Thai (where spaces are minimal) with a ZWSP workaround for 
> adjacent names possibly due to a MarkdownViewer++ bug.
>
> Aside: A key challenge for the KJV is disambiguating short words like “On” (a 
> place in Genesis 41:45; a preposition elsewhere) and “No” (a place in 
> Jeremiah 46:25; the negative determiner), which can be capitalized 
> sentence-initially, risking mis-tagging. A robust name list and contextual 
> rules (e.g., checking for geographical vs. grammatical roles) would be needed 
> to avoid errors.
>
> For details, see our discussion 
> https://grok.com/share/bGVnYWN5_ebe228fc-db77-4801-b244-7335aad0da21
>
> I also experimented with Unicode bold characters for names (e.g., 𝐇𝐨𝐬𝐞𝐚) for 
> platforms like Facebook, but CSS-based bolding is more reliable for SWORD.
> Even so, a tick box option to use the same kludge as used by 
> https://yaytext.com/ would be a cool addition to (eg) the Export passage 
> dialog in Xiphos.
>
> I’d love feedback on implementing this filter, including handling edge cases 
> and ensuring compatibility across front-ends.
> I'm not one of the back-end software developers, but when this idea came to 
> me on Friday, I simply had to try it out with Grok.
>
> Could we therefore discuss adding OSISNamesBold to the SWORD API?
>
> Here’s the KJV Hosea 1 text with names in bold, pasted from a Markdown code 
> block for easy copying: (styled using Grok's capabilities).
>
>> Hosea 1:1: The word of the **LORD** that came unto **Hosea**, the son of 
>> **Beeri**, in the days of **Uzziah**, **Jotham**, **Ahaz**, and 
>> **Hezekiah**, kings of **Judah**, and in the days of **Jeroboam** the son of 
>> **Joash**, king of **Israel**.
>> Hosea 1:2: The beginning of the word of the **LORD** by **Hosea**. And the 
>> **LORD** said to **Hosea**, Go, take unto thee a wife of whoredoms and 
>> children of whoredoms: for the land hath committed great whoredom, departing 
>> from the **LORD**.
>> Hosea 1:3: So he went and took **Gomer** the daughter of **Diblaim**; which 
>> conceived, and bare him a son.
>> Hosea 1:4: And the **LORD** said unto him, Call his name **Jezreel**; for 
>> yet a little while, and I will avenge the blood of **Jezreel** upon the 
>> house of **Jehu**, and will cause to cease the kingdom of the house of 
>> **Israel**.
>> Hosea 1:5: And it shall come to pass at that day, that I will break the bow 
>> of **Israel** in the valley of **Jezreel**.
>> Hosea 1:6: And she conceived again, and bare a daughter. And **God** said 
>> unto him, Call her name **Lo-ruhamah**: for I will no more have mercy upon 
>> the house of **Israel**; but I will utterly take them away.
>> Hosea 1:7: But I will have mercy upon the house of **Judah**, and will save 
>> them by the **LORD** their **God**, and will not save them by bow, nor by 
>> sword, nor by battle, by horses, nor by horsemen.
>> Hosea 1:8: Now when she had weaned **Lo-ruhamah**, she conceived, and bare a 
>> son.
>> Hosea 1:9: Then said **God**, Call his name **Lo-ammi**: for ye are not my 
>> people, and I will not be your **God**.
>> Hosea 1:10: Yet the number of the children of **Israel** shall be as the 
>> sand of the sea, which cannot be measured nor numbered; and it shall come to 
>> pass, that in the place where it was said unto them, Ye are not my people, 
>> there it shall be said unto them, Ye are the sons of the living **God**.
>> Hosea 1:11: Then shall the children of **Judah** and the children of 
>> **Israel** be gathered together, and appoint themselves one head, and they 
>> shall come up out of the land: for great shall be the day of **Jezreel**.
>
> You'd need to paste it into a Markdown editor or viewer to see it as we'd 
> wish SWORD to render it.
> For a better impression of what it might look like on screen, here's the same 
> passage, but using the YayText kludge:
>
>> Hosea 1:1: The word of the 𝐋𝐎𝐑𝐃 that came unto 𝐇𝐨𝐬𝐞𝐚, the son of 𝐁𝐞𝐞𝐫𝐢, in 
>> the days of 𝐔𝐳𝐳𝐢𝐚𝐡, 𝐉𝐨𝐭𝐡𝐚𝐦, 𝐀𝐡𝐚𝐳, and 𝐇𝐞𝐳𝐞𝐤𝐢𝐚𝐡, kings of 𝐉𝐮𝐝𝐚𝐡, and in the 
>> days of 𝐉𝐞𝐫𝐨𝐛𝐨𝐚𝐦 the son of 𝐉𝐨𝐚𝐬𝐡, king of 𝐈𝐬𝐫𝐚𝐞𝐥.
>> Hosea 1:2: The beginning of the word of the 𝐋𝐎𝐑𝐃 by 𝐇𝐨𝐬𝐞𝐚. And the 𝐋𝐎𝐑𝐃 said 
>> to 𝐇𝐨𝐬𝐞𝐚, Go, take unto thee a wife of whoredoms and children of whoredoms: 
>> for the land hath committed great whoredom, departing from the 𝐋𝐎𝐑𝐃.
>> Hosea 1:3: So he went and took 𝐆𝐨𝐦𝐞𝐫 the daughter of 𝐃𝐢𝐛𝐥𝐚𝐢𝐦; which 
>> conceived, and bare him a son.
>> Hosea 1:4: And the 𝐋𝐎𝐑𝐃 said unto him, Call his name 𝐉𝐞𝐳𝐫𝐞𝐞𝐥; for yet a 
>> little while, and I will avenge the blood of 𝐉𝐞𝐳𝐫𝐞𝐞𝐥 upon the house of 𝐉𝐞𝐡𝐮, 
>> and will cause to cease the kingdom of the house of 𝐈𝐬𝐫𝐚𝐞𝐥.
>> Hosea 1:5: And it shall come to pass at that day, that I will break the bow 
>> of 𝐈𝐬𝐫𝐚𝐞𝐥 in the valley of 𝐉𝐞𝐳𝐫𝐞𝐞𝐥.
>> Hosea 1:6: And she conceived again, and bare a daughter. And 𝐆𝐨𝐝 said unto 
>> him, Call her name 𝐋𝐨-𝐫𝐮𝐡𝐚𝐦𝐚𝐡: for I will no more have mercy upon the house 
>> of 𝐈𝐬𝐫𝐚𝐞𝐥; but I will utterly take them away.
>> Hosea 1:7: But I will have mercy upon the house of 𝐉𝐮𝐝𝐚𝐡, and will save them 
>> by the 𝐋𝐎𝐑𝐃 their 𝐆𝐨𝐝, and will not save them by bow, nor by sword, nor by 
>> battle, by horses, nor by horsemen.
>> Hosea 1:8: Now when she had weaned 𝐋𝐨-𝐫𝐮𝐡𝐚𝐦𝐚𝐡, she conceived, and bare a son.
>> Hosea 1:9: Then said 𝐆𝐨𝐝, Call his name 𝐋𝐨-𝐚𝐦𝐦𝐢: for ye are not my people, 
>> and I will not be your 𝐆𝐨𝐝.
>> Hosea 1:10: Yet the number of the children of 𝐈𝐬𝐫𝐚𝐞𝐥 shall be as the sand of 
>> the sea, which cannot be measured nor numbered; and it shall come to pass, 
>> that in the place where it was said unto them, Ye are not my people, there 
>> it shall be said unto them, Ye are the sons of the living 𝐆𝐨𝐝.Hosea 1:11: 
>> Then shall the children of 𝐉𝐮𝐝𝐚𝐡 and the children of 𝐈𝐬𝐫𝐚𝐞𝐥 be gathered 
>> together, and appoint themselves one head, and they shall come up out of the 
>> land: for great shall be the day of 𝐉𝐞𝐳𝐫𝐞𝐞𝐥.
>
> Now for the ThaiKJV implementation: (back to using Markdown)
>
>> Hosea 1:1: พระวจนะของ**พระเยโฮวาห์**ที่มายัง**โฮเชยา** บุตรชายของ**เบเออรี** 
>> ในรัชกาลของ**อุสซียาห์** **โยธาม** **อาหัส**และ**เฮเซคียาห์** 
>> กษัตริย์ทั้งหลายแห่ง**ยูดาห์** และในรัชกาลของ**เยโรโบอัม** 
>> ราชโอรสของ**โยอาช** กษัตริย์แห่ง**อิสราเอล**
>> Hosea 1:2: การเริ่มต้นของพระวจนะของ**พระเยโฮวาห์**โดยทาง**โฮเชยา** 
>> และ**พระเยโฮวาห์**ตรัสกับ**โฮเชยา**ว่า “ไปซี 
>> จงไปรับภรรยาคนหนึ่งสำหรับเจ้าจากพวกหญิงเจ้าชู้ และจากลูก ๆ ของพวกหญิงเจ้าชู้ 
>> เพราะว่าแผ่นดินนี้ได้กระทำการเล่นชู้ใหญ่ยิ่ง โดยการไปจาก**พระเยโฮวาห์**”
>> Hosea 1:3: ดังนั้นท่านจึงไปและรับนาง**โกเมอร์**บุตรสาวของ**ดิบลาอิม** 
>> ผู้ซึ่งได้ตั้งครรภ์ และคลอดบุตรชายคนหนึ่งให้ท่าน
>> Hosea 1:4: และ**พระเยโฮวาห์**ตรัสกับท่านว่า “จงเรียกชื่อของเขาว่า 
>> **ยิสเรเอล** เพราะว่าอีกไม่นาน 
>> และเราจะแก้แค้นให้โลหิตของ**ยิสเรเอล**บนวงศ์วานของ**เยฮู** 
>> และจะทำให้ราชอาณาจักรของวงศ์วานแห่ง**อิสราเอล**สิ้นสุดลง
>> Hosea 1:5: และต่อมาในวันนั้น 
>> เราจะหักคันธนูของ**อิสราเอล**ในหุบเขาแห่ง**ยิสเรเอล**”
>> Hosea 1:6: และต่อมานางก็ตั้งครรภ์อีก และคลอดบุตรสาวคนหนึ่ง 
>> และ**พระเจ้า**ตรัสกับท่านว่า “จงเรียกชื่อของเธอว่า **โลรุหะมาห์** 
>> เพราะเราจะไม่มีความเมตตาต่อวงศ์วานแห่ง**อิสราเอล**อีกต่อไป 
>> แต่เราจะเอาพวกเขาออกไปให้พ้นเสียอย่างสิ้นเชิง
>> Hosea 1:7: แต่เราจะมีความเมตตาต่อวงศ์วานของ**ยูดาห์** 
>> และจะช่วยพวกเขาให้รอดพ้นโดย**พระเยโฮวาห์****พระเจ้า**ของพวกเขา 
>> และจะไม่ช่วยพวกเขาให้รอดพ้นโดยคันธนู หรือโดยดาบ หรือโดยการสู้รบ 
>> โดยม้าทั้งหลาย หรือโดยเหล่าทหารม้า”
>> Hosea 1:8: บัดนี้เมื่อนางให้**โลรุหะมาห์**หย่านมแล้ว นางก็ตั้งครรภ์ 
>> และคลอดบุตรชายคนหนึ่ง
>> Hosea 1:9: แล้ว**พระเจ้า**ตรัสว่า “จงเรียกชื่อของเขาว่า **โลอัมมี** 
>> เพราะเจ้าทั้งหลายไม่ใชะประชากรของเรา และเราจะไม่เป็น**พระเจ้า**ของพวกเจ้า”
>> Hosea 1:10: แต่จำนวนของลูกหลานของ**อิสราเอล**จะเป็นเหมือนเม็ดทรายแห่งทะเล 
>> ซึ่งไม่สามารถถูกตวงหรือนับได้ และต่อมาในสถานที่ซึ่งเคยกล่าวแก่พวกเขาว่า 
>> “เจ้าทั้งหลายไม่ใช่ประชากรของเรา” ที่นั่นจะกล่าวแก่พวกเขาว่า 
>> “เจ้าทั้งหลายเป็นบุตรชายทั้งหลายของ**พระเจ้า**ผู้ทรงพระชนม์อยู่” Hosea 1:11: 
>> และคน**ยูดาห์**กับคน**อิสราเอล**จะถูกรวมเข้าด้วยกัน 
>> และจะแต่งตั้งผู้หนึ่งให้เป็นหัวหน้าของพวกเขา และพวกเขาจะขึ้นมาจากแผ่นดินนั้น 
>> เพราะวันของ**ยิสเรเอล**จะยิ่งใหญ่
>
> I tested these Markdown outputs successfully using the MarkdownViewer++ 
> plugin for Notepad++
>
> In order to test such a software enhancement we, would need to build a Bible 
> module in which every name in the text was wrapped in the OSIS XML name 
> element.
> There is such a module called KJVX. It was being developed as an eXperimental 
> version of the KJV module several years ago, but it's now out of date 
> compared to the more recent updates to our flagship KJV module. I can send it 
> to any developer upon request.
>
> Having seen Grok's capabilities, it's now not beyond the realm of possibility 
> to automate the tagging of names in any OSIS XML file using the most suitable 
> LLM AI agent.
>
> Best regards,
>
> David
>
> Sent with [Proton Mail](https://pr.tn/ref/SWXT9A5YZ67G) secure email.
_______________________________________________
sword-devel mailing list: sword-devel@crosswire.org
http://crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page

Reply via email to