Summary
Two native-Word probes disagree about whether Word inserts the 0.25em CJK/Latin auto-space in
a plain, left-aligned body paragraph, and the disagreement is unresolved. #627 settled the
table-cell rule (Word: never) and left this open; #728 covers only the centred case. This
issue tracks settling the plain-body rule.
The conflicting evidence
#521's one-factor probe (native Word export, ten cases varying one factor at a time) read
the space as present at 2.625pt/10.5pt and 2.375pt/9.5pt in every case tried — plain
paragraph, w:numPr list item, justified paragraph, ListParagraph-styled paragraph, and
table cell alike.
Corpus GT contradicts it in two places, and #627 acted on one of them:
| case |
Word GT |
office2pdf today |
| table cell (10_research_report_ko month column, 03_meeting_minutes_ko) |
flush (−0.056pt) |
flush since #627 |
ListParagraph + numPr body item (02 제2조, 03 결정 사항) |
+0.245em |
+0.250em — matches |
| justified body (02, 10) |
flush |
flush — matches |
| centred body (02 date) |
flush |
+2.62pt — #728 |
| plain left-aligned body (06_official_letter_ko 붙임 block) |
flush (−0.06pt) |
+2.37pt |
The 06 paragraph is <w:p><w:pPr><w:spacing w:before="240"/></w:pPr> — no w:jc, no w:numPr,
no w:pStyle, and not inside a w:tc. w:autoSpaceDE/w:autoSpaceDN/w:kinsoku appear in no
package in the corpus, so Word defaults are in force in every case above.
Across all four Korean mocks the gap correlates with ListParagraph+numPr, not with
body-vs-cell — but #521's probe found it in a plain paragraph too, and #627's probe found it in
none of its cases. Something not yet identified (document provenance, a compat setting, the
Word UI language, or a style-inheritance path) discriminates them.
Measured
06_official_letter_ko page 1, 붙임 block, 9.5pt Malgun Gothic, source text 체크리스트 1부.
(no literal space):
|
Word |
office2pdf |
1 ends / 부 begins |
207.939 / 207.882 (flush) |
207.963 / 210.307 (+2.344pt = 0.247em) |
Two occurrences, each widening its line by ~2.4pt.
Reproduction
cargo run --release -p office2pdf-cli -- tests/golden_mocks/business/sources/docx/06_official_letter_ko.docx -o out.pdf
mutool draw -F trace -o - out.pdf 1 # 1→부 gap 2.34pt; Word draws it flush
Expected
The plain-body rule is settled by a one-factor probe that also explains #521's reading, and the
implementation follows it.
Actual
The body arm keeps #521's reading unconditionally, so plain body paragraphs widen where this
GT shows Word flush. insert_east_asian_auto_space's doc comment records the contradiction and
points here; a_body_paragraph_is_left_exactly_as_it_was pins today's emission (explicitly as
current behaviour, not as correct) so the change is visible when the rule is settled.
Related: #627 #728 #521
Found in: the #627 fix-PR adversarial review (2026-07-31).
Summary
Two native-Word probes disagree about whether Word inserts the 0.25em CJK/Latin auto-space in
a plain, left-aligned body paragraph, and the disagreement is unresolved. #627 settled the
table-cell rule (Word: never) and left this open; #728 covers only the centred case. This
issue tracks settling the plain-body rule.
The conflicting evidence
#521's one-factor probe (native Word export, ten cases varying one factor at a time) read
the space as present at 2.625pt/10.5pt and 2.375pt/9.5pt in every case tried — plain
paragraph,
w:numPrlist item, justified paragraph,ListParagraph-styled paragraph, andtable cell alike.
Corpus GT contradicts it in two places, and #627 acted on one of them:
ListParagraph+numPrbody item (02 제2조, 03 결정 사항)The 06 paragraph is
<w:p><w:pPr><w:spacing w:before="240"/></w:pPr>— now:jc, now:numPr,no
w:pStyle, and not inside aw:tc.w:autoSpaceDE/w:autoSpaceDN/w:kinsokuappear in nopackage in the corpus, so Word defaults are in force in every case above.
Across all four Korean mocks the gap correlates with
ListParagraph+numPr, not withbody-vs-cell — but #521's probe found it in a plain paragraph too, and #627's probe found it in
none of its cases. Something not yet identified (document provenance, a compat setting, the
Word UI language, or a style-inheritance path) discriminates them.
Measured
06_official_letter_kopage 1, 붙임 block, 9.5pt Malgun Gothic, source text체크리스트 1부.(no literal space):
1ends /부beginsTwo occurrences, each widening its line by ~2.4pt.
Reproduction
cargo run --release -p office2pdf-cli -- tests/golden_mocks/business/sources/docx/06_official_letter_ko.docx -o out.pdf mutool draw -F trace -o - out.pdf 1 # 1→부 gap 2.34pt; Word draws it flushExpected
The plain-body rule is settled by a one-factor probe that also explains #521's reading, and the
implementation follows it.
Actual
The body arm keeps #521's reading unconditionally, so plain body paragraphs widen where this
GT shows Word flush.
insert_east_asian_auto_space's doc comment records the contradiction andpoints here;
a_body_paragraph_is_left_exactly_as_it_waspins today's emission (explicitly ascurrent behaviour, not as correct) so the change is visible when the rule is settled.
Related: #627 #728 #521
Found in: the #627 fix-PR adversarial review (2026-07-31).