Skip to content

Carry UEB capitals and typeform passages over consecutive List Paragraph paragraphs (land #186) - #187

Merged
krperry merged 3 commits into
mainfrom
fix/ueb-typeform-rules
Oct 20, 2026
Merged

krperry merged 3 commits into
mainfrom
fix/ueb-typeform-rules

Conversation

@krperry

@krperry krperry commented Oct 20, 2026

Copy link
Copy Markdown
Collaborator

Lands PR #186 on main.

#186 was stacked on #185 (fix/ueb-typeform-rules) and merged into that branch after #185 had already merged into main, so its commits never reached main:

  • 4372496 Carry a capitals passage over consecutive List Paragraph paragraphs
  • 8733bc0 Carry a typeform passage over consecutive List Paragraph paragraphs

#185's commits on this branch are already in main, so the diff against main is only #186's changes (bbx.lua, GenericBlockAction.kt, TextTranslator.kt, DocxPassageRunTest.kt). It merges cleanly.

Tested locally on this branch merged with current main:

  • utd full suite: 721 passed
  • brailleblaster-core Docx*Test + SimpleTableGuideDotsTest (with -am): 40 passed, including DocxPassageRunTest

krperry and others added 3 commits October 19, 2026 21:00
ASM's statements put fully capitalised notices and address blocks in
consecutive Word "List Paragraph" paragraphs. Duxbury treats such a run as
one UEB capitals passage: one capitals passage indicator before its first
word and one capitals terminator after its last uppercase letter.
BrailleBlaster translated each paragraph on its own, closing and reopening
the passage, or using capital word indicators when a paragraph had fewer
than three words:

  before: ,,CVRXCU/OM]#JJDIHAD ,,"N#A    after: ,,,cvrxcu/om]#jjdihad "n#a
          ,,CVRXCU/OM]#JJDIHAD ,,"N#B           cvrxcu/om]#jjdihad "n#b,'

The docx import now marks List Paragraph items with utd:capitalsRun
("List" and "List 2".. items, which import as the same list items, are not
marked). When a marked block's fully capitalised words carry on into the
marked block next to it, GenericBlockAction translates the run in one
liblouis call (paragraphs joined by a newline, plain typeform) and each
block keeps the cells that come from its own text. A passage that ends
inside its paragraph, Normal and "List" paragraphs, headings, and non-UEB
tables are translated as before.
Braille Formats 2016 5.6 (font emphasis for one or more paragraphs) and
Rules of UEB 9.9.1: when a typeform passage extends over more than one
text element, each element is preceded by the typeform passage indicator
and the typeform is terminated only where it changes. BrailleBlaster
closed the passage at the end of every paragraph:

  before: ^7,yr pay;t is late & y may [e a fee4^'
          ^7,call u td to set up a plan4^'
  after:  ^7,yr pay;t is late & y may [e a fee4
          ^7,call u td to set up a plan4^'

The List Paragraph run that carries a capitals passage now also carries
font typeforms (italic, bold, underline, script, transcriber-defined)
when the end of one paragraph and the start of the next share them and
together make three or more words. The run is translated in one call
with the joint in those typeforms, and each later paragraph gets the
passage indicator liblouis uses for them. Two words across a joint keep
their word indicators. The marker is renamed utd:passageRun.

This changes BR-78_lws page 3 and BR-10_lws/BR-39_lws page 5, where a
bold paragraph runs into bold text in the next one; Duxbury closes the
passage there. Normal and "List" paragraphs are unchanged.
Carry UEB capitals and typeform passages over consecutive List Paragraph paragraphs
@krperry
krperry merged commit 369176b into main Oct 20, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant