Packet print readability (rega's read of landing 1): Full detail's tally heads at 15px over wider cells, the prayer themes at 19px
Full detail: tally columns 96 → 116px, the once-per-page question heads 12 → 15px in a 62px head row (three short lines), so they read on paper; the first page holds 11 rows. Points page: the themes and scenes 15 → 19px (~7.7pt on letter), the twelve points 19 → 18.5px to make room. Measured in all 11 languages: every first list page, Full detail's reserved block (612 of 640px) and the points page (the tightest, fr, keeps 43px) still fit.
This commit is contained in:
parent
d1851b0e75
commit
56278cabfe
1 changed files with 14 additions and 12 deletions
|
|
@ -126,14 +126,15 @@ export function createPacketRenderer({ strings, lang = 'en', fontData = null, de
|
|||
// The three checkbox cells. Each holds a box plus its short label; sized so all three fit beside
|
||||
// the description without the labels wrapping in the longest locale we ship.
|
||||
// The tally cells no longer carry their question under each box: the three questions head the table ONCE
|
||||
// per page (.pray-head), so a cell is all tally room. 84 -> 96 gives every box a little more of it.
|
||||
const PRAY_CELL = 96;
|
||||
// per page (.pray-head), so a cell is all tally room. 84 -> 116 gives every box more of it and the heads a
|
||||
// readable 15px (three short lines; at 96px they were three tiny ones).
|
||||
const PRAY_CELL = 116;
|
||||
// The question heads above the first row of every page, and the first page's explanation (the intro,
|
||||
// the blessing, the band) in a reserved block, so the first page holds FD_FIRST rows and the rest 20.
|
||||
// FD_TOP_H is MEASURED: with a 100-group list the tallest locales' block uses 612px (es fr pt de it ro ru hi;
|
||||
// en 591, ar 507, zh 513), so 640 keeps 28px and the first page 12 rows. check:packet-render fails a block
|
||||
// en 591, ar 507, zh 513), so 640 keeps 28px; with the 62px head row the first page holds 11 rows. check:packet-render fails a block
|
||||
// whose content outgrows it (the block clips rather than overlap the rows, so only a measurement sees it).
|
||||
const PRAY_HEAD_H = 46, FD_TOP_H = 640;
|
||||
const PRAY_HEAD_H = 62, FD_TOP_H = 640;
|
||||
const FD_ROWS_TOP = M + HEAD + FD_TOP_H + PRAY_HEAD_H;
|
||||
const SET_PANEL = 660; // one square sets panel: two + a 40px gap fit 1380px
|
||||
const SET_SOLO = 960; // one chart per page: a large square, centred
|
||||
|
|
@ -283,12 +284,12 @@ export function createPacketRenderer({ strings, lang = 'en', fontData = null, de
|
|||
.xb-ex-note{margin-top:4px;font-size:14px;color:#6f6a5c}
|
||||
/* The prayer themes and scenes above the twelve points: a thin numbered list, ruled off below. */
|
||||
.pt-themes{margin:0 0 10px;padding:0 0 6px;border-bottom:1.5px solid #c9bfa4}
|
||||
.pt-th-h{font:400 15px/1.3 Georgia,serif;color:#413d35}
|
||||
.pt-th-h b,.pt-sc-h b{font:700 16px Georgia,serif;color:#1b1a17;letter-spacing:.02em}
|
||||
.pt-th-h{font:400 19px/1.3 Georgia,serif;color:#413d35}
|
||||
.pt-th-h b,.pt-sc-h b{font:700 20px Georgia,serif;color:#1b1a17;letter-spacing:.02em}
|
||||
.pt-th-i{font-style:italic;color:#6d766e}
|
||||
.pt-th-list{display:flex;flex-wrap:wrap;gap:1px 20px;margin:2px 0 0;padding:0;list-style:none;font:400 15px/1.3 Georgia,serif;color:#3b3226}
|
||||
.pt-th-list{display:flex;flex-wrap:wrap;gap:1px 20px;margin:2px 0 0;padding:0;list-style:none;font:400 19px/1.3 Georgia,serif;color:#3b3226}
|
||||
.pt-n{display:inline-block;min-width:1.3em;font-weight:700;color:#7a3b2e}
|
||||
.pt-sc-r{font:600 14px Georgia,serif;color:#7a3b2e}
|
||||
.pt-sc-r{font:600 18px Georgia,serif;color:#7a3b2e}
|
||||
.ws-cols{margin:0;padding:0;list-style:none}
|
||||
.ws-cols li{margin:0 0 6px;font:400 19px/1.45 Georgia,serif;color:#413d35}
|
||||
.ws-cols li b{color:#1b1a17}
|
||||
|
|
@ -369,7 +370,7 @@ export function createPacketRenderer({ strings, lang = 'en', fontData = null, de
|
|||
.pray-box{display:inline-block;width:${PRAY_CELL - 12}px;height:${Math.round(CH - 22)}px;box-sizing:border-box;border:1.5px solid #b0a993;border-radius:5px;background:#fff;flex:0 0 auto}
|
||||
/* The three questions, ONCE per page, over the tally cells' own columns. */
|
||||
.pray-head{position:absolute;inset-inline-end:${M}px;display:grid;grid-template-columns:repeat(${PRAY_COLS.length},${PRAY_CELL}px);
|
||||
height:${PRAY_HEAD_H - 6}px;align-items:end;font:700 12px/1.2 Georgia,serif;color:#6f6a5c;text-align:center}
|
||||
height:${PRAY_HEAD_H - 6}px;align-items:end;font:700 15px/1.2 Georgia,serif;color:#6f6a5c;text-align:center}
|
||||
.pray-head span{text-wrap:balance;padding:0 3px 5px;border-bottom:2px solid #3b463d}
|
||||
.fd-top{position:absolute;left:${M}px;top:${M + HEAD}px;width:${CW.toFixed(0)}px;height:${FD_TOP_H}px;overflow:hidden}
|
||||
.hd-r{position:absolute;right:${M}px;top:54px;font:400 19px Georgia,serif;color:#8c8170}
|
||||
|
|
@ -1346,9 +1347,10 @@ export function createPacketRenderer({ strings, lang = 'en', fontData = null, de
|
|||
// Mark 5:18-20 and the Father's-heart list share this ONE sheet, in every locale: the sizes below are the
|
||||
// largest that fit the longest locale. class="points-body" is a TEST HOOK: the page must fit ONE sheet in
|
||||
// every locale (its scrollHeight within its clientHeight).
|
||||
// ★ 2026-10-02: the prayer themes now head the page, so the points give back a little: 20 → 19px text and
|
||||
// 10 → 6px between points (the heading stays 22). Measured in all 11 locales, the longest first.
|
||||
const PT = { head: 22, sub: 19, text: 19, refs: 16, gap: 6, passage: 17 };
|
||||
// ★ 2026-10-02: the prayer themes now head the page at a size that reads on paper (19px, ~7.7pt), so the
|
||||
// points give back a little: 20 → 18.5px text and 10 → 6px between points (the heading stays 22). Measured in
|
||||
// all 11 locales: the tightest (fr) keeps 43px under the last point.
|
||||
const PT = { head: 22, sub: 19, text: 18.5, refs: 16, gap: 6, passage: 17 };
|
||||
// ⚠ ISOLATE EACH REFERENCE FOR BIDI. Scripture references stay in English
|
||||
// (a reader looks them up in their own Bible), so on an RTL page they are
|
||||
// LTR runs inside an RTL paragraph. Without isolation the Unicode bidi
|
||||
|
|
|
|||
Loading…
Reference in a new issue