The indent trigger was using .abs() which fired on both increased indent (non-indented → indented) AND decreased indent (indented → non-indented). This caused drop-cap style paragraphs (indented first line, flush-left continuation) to incorrectly split into two blocks. Per plan Phase 4.4 heuristic #2, indent change should only trigger when the current line is MORE indented (to the right, larger x0) than the block average - i.e., a new paragraph starting after non-indented text. It should NOT trigger for decreased indent (first line indented, rest flush-left). Fix: Remove .abs() and only check if line_x0 - block_avg_x0 > threshold. Tests: - test_indented_first_line_new_block: PASS (non-indented → indented splits) - test_indented_first_line_of_paragraph_not_split: PASS (drop cap stays together) - All 179 line module tests: PASS
103 lines
1.7 KiB
JSON
103 lines
1.7 KiB
JSON
[
|
|
{
|
|
"sha256_hex": "56a45233d29f11b4dfb86d248e921939d115778f87325e7ae8cc108383d6664d",
|
|
"font_name": "Roboto-Regular.ttf",
|
|
"entries": [
|
|
[1, 32],
|
|
[2, 33],
|
|
[3, 34],
|
|
[4, 35],
|
|
[5, 36],
|
|
[6, 37],
|
|
[7, 38],
|
|
[8, 39],
|
|
[9, 40],
|
|
[10, 41],
|
|
[11, 42],
|
|
[12, 43],
|
|
[13, 44],
|
|
[14, 45],
|
|
[15, 46],
|
|
[16, 47],
|
|
[17, 48],
|
|
[18, 49],
|
|
[19, 50],
|
|
[20, 51],
|
|
[21, 52],
|
|
[22, 53],
|
|
[23, 54],
|
|
[24, 55],
|
|
[25, 56],
|
|
[26, 57],
|
|
[27, 58],
|
|
[28, 59],
|
|
[29, 60],
|
|
[30, 61],
|
|
[31, 62],
|
|
[32, 63],
|
|
[33, 64],
|
|
[34, 65],
|
|
[35, 66],
|
|
[36, 67],
|
|
[37, 68],
|
|
[38, 69],
|
|
[39, 70],
|
|
[40, 71],
|
|
[41, 72],
|
|
[42, 73],
|
|
[43, 74],
|
|
[44, 75],
|
|
[45, 76],
|
|
[46, 77],
|
|
[47, 78],
|
|
[48, 79],
|
|
[49, 80],
|
|
[50, 81],
|
|
[51, 82],
|
|
[52, 83],
|
|
[53, 84],
|
|
[54, 85],
|
|
[55, 86],
|
|
[56, 87],
|
|
[57, 88],
|
|
[58, 89],
|
|
[59, 90],
|
|
[60, 91],
|
|
[61, 92],
|
|
[62, 93],
|
|
[63, 94],
|
|
[64, 95],
|
|
[65, 96],
|
|
[66, 97],
|
|
[67, 98],
|
|
[68, 99],
|
|
[69, 100],
|
|
[70, 101],
|
|
[71, 102],
|
|
[72, 103],
|
|
[73, 104],
|
|
[74, 105],
|
|
[75, 106],
|
|
[76, 107],
|
|
[77, 108],
|
|
[78, 109],
|
|
[79, 110],
|
|
[80, 111],
|
|
[81, 112],
|
|
[82, 113],
|
|
[83, 114],
|
|
[84, 115],
|
|
[85, 116],
|
|
[86, 117],
|
|
[87, 118],
|
|
[88, 119],
|
|
[89, 120],
|
|
[90, 121],
|
|
[91, 122],
|
|
[92, 123],
|
|
[93, 124],
|
|
[94, 125],
|
|
[95, 126]
|
|
]
|
|
}
|
|
]
|