====== std.pdf.objects ====== Primitive PDF-Objekte und Pufferverwaltung: Integers, Reals, Strings, Namen, Arrays, Dictionaries und Streams als Lyx-Typen. Diese Unit bildet die unterste Schicht der PDF-Bibliothek — sie wird intern von ''std.pdf.builder'' und ''std.pdf.graphics'' verwendet. Direkte Nutzung ist nur bei der Erzeugung benutzerdefinierter PDF-Strukturen nötig (z. B. eigene Dictionaries für Verschlüsselung oder Signaturen). → [[lyx_-_programmiersprache:units:pdf|std.pdf]] · [[lyx_-_programmiersprache:units:pdf:compress|std.pdf.compress]] · [[lyx_-_programmiersprache:units:pdf:builder|std.pdf.builder]] ---- ===== Funktionen ===== ^ Signatur ^ Sichtbarkeit ^ Beschreibung ^ | ''pdfByte(buf: int64, pos: int64, b: int64): int64'' | pub | Append single byte to output buffer at pos, return new pos | | ''pdfStr(buf: int64, pos: int64, s: pchar): int64'' | pub | Append NUL-terminated string, return new pos | | ''pdfBytes(buf: int64, pos: int64, src: int64, n: int64): int64'' | pub | Append n raw bytes from memory address src | | ''pdfInt(buf: int64, pos: int64, v: int64): int64'' | pub | Append decimal integer | | ''pdfIntPadded(buf: int64, pos: int64, v: int64, width: int64): int64'' | pub | Append zero-padded integer of exactly 'width' decimal digits | | ''pdfSignedReal100(buf: int64, pos: int64, v100: int64): int64'' | pub | Append signed real stored as int64 × 100; handles negative values correctly. pdfReal100 is broken for negative non-integer values (e.g. -3950 → "-39.-50"). | | ''pdfReal100(buf: int64, pos: int64, v100: int64): int64'' | pub | Append real stored as int64 × 100 (e.g. 59528 → "595.28", 61200 → "612") | | ''f64ToInt100(v: f64): int64'' | pub | f64ToInt100: %%|%%v%%|%% * 100, kaufmaennisch gerundet. Der BETRAG ist Absicht — pdfReal schreibt das Vorzeichen selbst und ruft diese Funktion danach mit dem negativen | | ''f64Trunc(v: f64): int64'' | pub | f64Trunc: Ganzzahlanteil, Richtung Null abgeschnitten. | | ''pdfReal(buf: int64, pos: int64, v: f64): int64'' | pub | Append f64 value with up to 2 decimal places. Uses f64ToInt100 to avoid broken f64 arithmetic. | | ''pdfObjHdr(buf: int64, pos: int64, id: int64): int64'' | pub | Append "N 0 obj\n" | | ''pdfObjFtr(buf: int64, pos: int64): int64'' | pub | Append "\nendobj\n" | | ''pdfRef(buf: int64, pos: int64, id: int64): int64'' | pub | Append "N 0 R" (indirect reference) | | ''pdfLiteralStr(buf: int64, pos: int64, s: pchar): int64'' | pub | Append PDF literal string "(text)" with escaping of '(' ')' '\' | | ''pdfName(buf: int64, pos: int64, name: pchar): int64'' | pub | Append PDF Name "/name" | | ''pdfFontName(idx: int64): pchar'' | pub | Return the PostScript name for a Standard-14 font index (0..13) | | ''pdfXrefEntry(buf: int64, pos: int64, offset: int64, gen: int64, free: bool): int64'' | pub | Append one XRef entry: "OOOOOOOOOO GGGGG T\r\n" (exactly 20 bytes) | ---- //Signaturen automatisch aus ''std/pdf/objects.lyx'' erzeugt (Stand 2026-08-02, lyxc 1.0.21A). Beschreibungen stammen aus den Quellkommentaren und sind teilweise unvollständig.//