From 162552cdbf8ef1779a642f32a2d6c05da91ba593 Mon Sep 17 00:00:00 2001 From: Steffen Becker Date: Tue, 25 Aug 2026 15:12:03 +0000 Subject: [PATCH] feat: add the notation zone to the Form B letter MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Two lines above the address (DIN's Zusatz- und Vermerkzone, filled bottom-up) share their rows with the top of the info block, which now starts at the norm's 50mm; the lower line carries a notation placeholder (e.g. registered mail). Measured headlessly: info block at 50.0mm, notation 54.8mm, address zone from 59.7mm ending 79mm — inside the window. --- src/lib/i18n/locales/de.ts | 1 + src/lib/i18n/locales/en.ts | 1 + src/lib/templates/din5008b.ts | 14 ++++++++------ 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/lib/i18n/locales/de.ts b/src/lib/i18n/locales/de.ts index b76969b..e8159be 100644 --- a/src/lib/i18n/locales/de.ts +++ b/src/lib/i18n/locales/de.ts @@ -702,6 +702,7 @@ const de: Messages = { phoneNumber: 'Nummer', emailAddress: 'Adresse', place: 'Ort', + remark: 'Vermerk (z. B. Einschreiben)', subject: 'Betreff', salutation: 'Anrede', bodyText: 'Brieftext', diff --git a/src/lib/i18n/locales/en.ts b/src/lib/i18n/locales/en.ts index 426d5dc..e76d9a9 100644 --- a/src/lib/i18n/locales/en.ts +++ b/src/lib/i18n/locales/en.ts @@ -708,6 +708,7 @@ const en = { phoneNumber: 'Number', emailAddress: 'Address', place: 'Place', + remark: 'Notation (e.g. registered mail)', subject: 'Subject', salutation: 'Salutation', bodyText: 'Letter text', diff --git a/src/lib/templates/din5008b.ts b/src/lib/templates/din5008b.ts index 9cfff65..f80914a 100644 --- a/src/lib/templates/din5008b.ts +++ b/src/lib/templates/din5008b.ts @@ -42,12 +42,14 @@ function buildLetter(): TemplateData { // The one-line return address opens the address field at 45mm from the top. // fontSize also shrinks the paragraph mark, so the line box is 8pt tall. P({ spaceBefore: RETURN_SPACE_BEFORE_PT, spaceAfter: RETURN_SPACE_AFTER_PT, fontSize: '8pt' }, PLH(L.returnAddress, SMALL)), - addressRow(null, [PLH(L.recipientCompany)], [T(L.yourRef), PLH(L.reference)]), - addressRow(null, [PLH(L.recipientName)], [T(L.yourMessage), PLH(L.date)]), - addressRow(null, [PLH(L.recipientStreet)], [T(L.ourRef), PLH(L.reference)]), - addressRow(null, [PLH(L.recipientCity)], [T(L.phone), PLH(L.phoneNumber)]), - addressRow(null, [], [T(L.email), PLH(L.emailAddress)]), - addressRow(null, [], [T(L.dateLabel), date]), + // Two notation lines above the address (DIN's Zusatz- und Vermerkzone, filled + // bottom-up), sharing their rows with the top of the info block. + addressRow(null, [], [T(L.yourRef), PLH(L.reference)]), + addressRow(null, [PLH(L.remark)], [T(L.yourMessage), PLH(L.date)]), + addressRow(null, [PLH(L.recipientCompany)], [T(L.ourRef), PLH(L.reference)]), + addressRow(null, [PLH(L.recipientName)], [T(L.phone), PLH(L.phoneNumber)]), + addressRow(null, [PLH(L.recipientStreet)], [T(L.email), PLH(L.emailAddress)]), + addressRow(null, [PLH(L.recipientCity)], [T(L.dateLabel), date]), P(null), P(null), P(null, PLH(L.subject, BOLD)),