diff --git a/class/berichtpdf.class.php b/class/berichtpdf.class.php index ebc26c3..e524183 100644 --- a/class/berichtpdf.class.php +++ b/class/berichtpdf.class.php @@ -26,45 +26,12 @@ trait BerichtPdfTrait $this->bericht_company = (string) $company; $this->bericht_logo = (string) $logo_path; - // Hack-Font registrieren (Eddys Corporate-Font) - // Nur Regular registrieren. Alle 4 Hack-TTFs produzieren in TCPDF die - // gleiche interne Family "hack" (PostScript-Name-Kollision) und - // überschreiben sich gegenseitig — Bold/Italic sind darum nicht - // sauber trennbar. Wir nutzen NUR Regular und ignorieren Styles - // komplett (Header-"Bold" wird über Schriftgröße emuliert). - if (class_exists('TCPDF_FONTS') && defined('DOL_DATA_ROOT')) { - $src = dirname(__DIR__).'/fonts/Hack-Regular.ttf'; - $outdir = DOL_DATA_ROOT.'/bericht/tcpdf_fonts/'; - if (!is_dir($outdir)) @mkdir($outdir, 0755, true); - if (file_exists($src) && is_dir($outdir) && is_writable($outdir)) { - try { - $k = TCPDF_FONTS::addTTFfont($src, 'TrueTypeUnicode', '', 32, $outdir); - $ffile = $outdir.$k.'.php'; - if ($k && file_exists($ffile)) { - $this->AddFont($k, '', $ffile); - $this->hack_font_key = $k; - } - } catch (Throwable $e) { - error_log('[BerichtPdf] Hack-Font fehlgeschlagen: '.$e->getMessage()); - } - } else { - error_log('[BerichtPdf] Hack-Font: src='.$src.' outdir='.$outdir.' schreibbar='.(is_writable($outdir)?'ja':'nein')); - } - } - } - - /** - * Erzwingt style='' wenn die Hack-Family angefordert wird. Verhindert - * "Could not include font definition file: hack" wenn TCPDFs HTML-Parser - * bei /-Tags einen Style-Font-Lookup versucht, für den wir keine - * separate Datei haben. - */ - public function SetFont($family, $style = '', $size = null, $fontfile = '', $subset = 'default', $out = true) - { - if (strtolower((string) $family) === strtolower((string) $this->hack_font_key) && $this->hack_font_key !== 'helvetica') { - return parent::SetFont($this->hack_font_key, '', $size, $fontfile, $subset, $out); - } - return parent::SetFont($family, $style, $size, $fontfile, $subset, $out); + // TODO: Hack-Font später mit vorab-konvertierten TCPDF-Definitionen + // einbinden. TCPDF::addTTFfont zur Laufzeit funktioniert für Hack + // nicht (PostScript-Family-Kollision "hack" zwischen Regular/Bold/ + // Italic → hack.php überschreibt sich selbst, SetFont-Fallbacks + // brechen HTML-Rendering ab). Bis dahin: Standard-Helvetica. + $this->hack_font_key = 'helvetica'; } public function Header()