Start · Sprachen · PHP · Referenz · UI\Draw\Text\Font\Descriptor

UI\Draw\Text\Font\Descriptor

Klasse

Beschreibt eine Schriftart mit Familie, Größe, Stil, Stärke und Dehnung für die UI-Textrenderung.

seit PHP 0.9.9 Kategorie: misc

Signatur

class UI\Draw\Text\Font\Descriptor

Beschreibung

UI\Draw\Text\Font\Descriptor ist eine Klasse der UI-Erweiterung (php-ui / libui), die eine Schriftartbeschreibung kapselt. Sie definiert alle wesentlichen typografischen Eigenschaften einer Schrift: Familie, Größe, Gewicht (Weight), Stil (Italic/Oblique) sowie Dehnung (Stretch).

Ein Descriptor-Objekt wird typischerweise als Parameter an UI\Draw\Text\Font übergeben, um eine konkrete Schriftressource zu laden, die anschließend für das Zeichnen von Text auf einem UI\Draw\Path oder in einem UI\Draw\Text\Layout verwendet werden kann.

Die Klasse ist Teil der nativen UI-Bindings für PHP und erfordert die ui-PECL-Extension. Die Schriftfamilien-Namen entsprechen den auf dem Betriebssystem installierten Schriften und sind plattformabhängig.

  • Familie: z. B. "Arial", "Helvetica"
  • Größe: Punktgröße als Fließkommazahl
  • Gewicht, Stil, Dehnung: über Klassenkonstanten steuerbar

Parameter

Name Typ Default Beschreibung
$family Pflicht string Der Name der Schriftfamilie, z. B. "Arial" oder "DejaVu Sans". Muss auf dem System installiert sein.
$size Pflicht float Die Schriftgröße in Punkten (pt), z. B. 12.0.
$weight int UI\Draw\Text\Font\Weight::Normal Schriftgewicht (Fettigkeit) als Konstante aus UI\Draw\Text\Font\Weight, z. B. Weight::Bold.
$italic int UI\Draw\Text\Font\Italic::Normal Kursivstellung als Konstante aus UI\Draw\Text\Font\Italic, z. B. Italic::Italic oder Italic::Oblique.
$stretch int UI\Draw\Text\Font\Stretch::Normal Horizontale Dehnung der Schrift als Konstante aus UI\Draw\Text\Font\Stretch, z. B. Stretch::Condensed.

Beispiele

Einfache Schriftart-Beschreibung erstellen

<?php
use UI\Draw\Text\Font\Descriptor;
use UI\Draw\Text\Font\Weight;
use UI\Draw\Text\Font\Italic;
use UI\Draw\Text\Font\Stretch;

// Normaler Arial-Text mit 14 Punkten
$descriptor = new Descriptor('Arial', 14.0);

// Fetter, kursiver Text
$boldItalicDescriptor = new Descriptor(
    'Arial',
    16.0,
    Weight::Bold,
    Italic::Italic,
    Stretch::Normal
);

echo 'Descriptor erstellt.' . PHP_EOL;
Descriptor erstellt.

Schriftart-Descriptor in einem Text-Layout verwenden

<?php
use UI\Draw\Text\Font\Descriptor;
use UI\Draw\Text\Font;
use UI\Draw\Text\Layout;
use UI\Draw\Color;
use UI\Size;

// Descriptor definieren
$descriptor = new Descriptor('DejaVu Sans', 12.0);

// Font-Objekt aus Descriptor laden
$font = new Font($descriptor);

// Layout für Text erstellen
$layout = new Layout('Hallo Welt!', $font, new Size(200, 50));

echo 'Layout mit Font erstellt.' . PHP_EOL;
Layout mit Font erstellt.

// Wichtig · Fallstricke

Plattformabhängigkeit: Die verfügbaren Schriftfamilien hängen vom Betriebssystem ab. Nicht installierte Schriften führen zu einem Fallback oder einem Fehler. Für plattformübergreifende Anwendungen sollten generische Familiennamen oder Systemschriften genutzt werden.

PECL-Extension: Diese Klasse steht nur zur Verfügung, wenn die ui-Extension installiert und geladen ist (extension=ui in der php.ini). Die Extension befindet sich im experimentellen Stadium; API-Änderungen sind möglich.

Die Konstanten für Weight, Italic und Stretch befinden sich in den separaten Klassen UI\Draw\Text\Font\Weight, UI\Draw\Text\Font\Italic und UI\Draw\Text\Font\Stretch.