Schriften
@textjs/font: FIGlet-Schriften als ES-Module, exakt wie im figlet-Programm angeordnet.
@textjs/font parst FIGfont-2-Dateien (.flf) und ordnet sie genau wie das Programm figlet an. Jede Schrift ist ein ES-Modul, sodass nur die Schriften ausgeliefert werden, die du importierst.
import { FigletText } from "@textjs/font/react";import { slant } from "@textjs/font/slant";export default function Page() { return <FigletText font={slant} color="accent">Text.js</FigletText>;}Installation
bun add @textjs/fontVerwendung
<FigletText> nimmt eine Schrift und einen String entgegen. Zeilen werden in Zellen gemessen, sodass der Schriftzug wie jedes andere <Text> in flexbox-Layouts passt.
import { FigletText } from "@textjs/font/react";import { big } from "@textjs/font/big";<FigletText font={big} layout="fitted" columns={60} align="center" color="muted"> Deployed</FigletText><AsciiFont> akzeptiert dieselben Schriften und behält seine integrierten Schriftzüge block und compact bei:
<AsciiFont text="Text.js" font={slant} color="accent" />Außerhalb von React gibt renderFiglet einen String pro Zeile zurück:
import { renderFiglet } from "@textjs/font";import { standard } from "@textjs/font/standard";renderFiglet(standard, "Hello", { layout: "full" });// [" _ _ _ _ ", " | | | | ___ | | | | ___ ", …]Layout
Das horizontale Layout folgt den Flags von FIGlet.
layout | figlet | Wirkung |
|---|---|---|
"default" | -s | Das Layout der Schrift, meist verschmolzen |
"full" | -W | Volle Breite; Zeichen berühren sich nie |
"fitted" | -k | Unterschneidung; Zeichen rücken zusammen, bis sie sich berühren |
"smushed" | -S | Verschmelzen nach den Regeln der Schrift, auch bei unterschnittenen Schriften |
"universal" | -o | Spätere Zeichen überlagern frühere |
0–63 | -m | Expliziter Verschmelzungsmodus |
Alle sechs horizontalen Verschmelzungsregeln sind implementiert: gleiches Zeichen, Unterstrich, Hierarchie, entgegengesetztes Paar, großes X und Hardblank.
verticalLayout gilt für mehrzeiligen Text. FIGlet 2.2.5 rückt Zeilen nie enger zusammen, daher ist "full" der Standard; "fitted", "smushed" und "universal" implementieren die fünf vertikalen Regeln einschließlich des Supersmushings vertikaler Linien, und "default" verwendet die Regeln der Schrift.
Zeilenumbruch und Ausrichtung
columns (oder width in renderFiglet) bricht zuerst an Wortgrenzen um, dann innerhalb von Wörtern, genau dort, wo figlet -w umbrechen würde. align ist "left", "center" oder "right"; ohne Breitenangabe richten sich die Zeilen innerhalb der breitesten Zeile aus. Rechts-nach-links-Schriften wie ivrit geben Text von rechts nach links und rechtsbündig aus; überschreibe dies mit direction.
Mitgelieferte Schriften
| Import | Zeilen | Hinweise |
|---|---|---|
@textjs/font/standard | 6 | FIGlet-Standard |
@textjs/font/slant, smslant | 6, 5 | Kursiv |
@textjs/font/small | 5 | Kompakt |
@textjs/font/big | 8 | Mit griechischen Zeichen |
@textjs/font/banner | 8 | Schriftzug aus #, Katakana und Kyrillisch |
@textjs/font/block, lean | 8 | Konturen, aufrecht und geneigt |
@textjs/font/shadow, smshadow | 5, 4 | Schlagschatten |
@textjs/font/script, smscript | 7, 5 | Schreibschrift |
@textjs/font/mini | 4 | Winzig |
@textjs/font/bubble, digital | 4, 3 | Buchstaben in Kreisen und Kästen |
@textjs/font/ivrit | 6 | Hebräisch, von rechts nach links |
@textjs/font/term | 1 | Unveränderte Eingabe |
Jede Glyphe besteht aus druckbaren ASCII- oder Latin-1-Zeichen, sodass jedes Teilzeichen in der DevTools-Schrift Menlo genau eine Zelle belegt. @textjs/font/all exportiert sie alle sowie BUNDLED_FONTS für Galerien. Schriften werden beim ersten Rendern geparst, nicht beim Import.
Eigene Schriften
Jede FIGfont-Schrift funktioniert. Lade sie und parse sie anschließend:
import { parseFont } from "@textjs/font";const doom = parseFont(await (await fetch("/fonts/doom.flf")).text(), "Doom");Der Parser liest den Header, Kommentarzeilen, Hardblanks, Endmarkierungen, die 102 erforderlichen Zeichen und Zeichen mit dezimalen, oktalen oder hexadezimalen Code-Tags. TOIlet-Schriften im Format .tlf werden als reiner Text gerendert. Bevorzuge Schriften aus ASCII- oder Rahmenzeichen; Braille und Emoji sind in Menlo nicht eine Zelle breit.
Lizenzierung
Die mitgelieferten Schriften sind Byte für Byte die Schriften der FIGlet-2.2.5-Distribution und stehen unter der BSD-3-Klausel-Lizenz von FIGlet. Jede behält ihre Urheberangaben in ihren Kommentarzeilen, die zur Laufzeit als font.comment verfügbar sind. Beliebte Schriften ohne Erlaubnis zur Weiterverbreitung, etwa Doom, Larry 3D, ANSI Shadow und Calvin S, sind nicht enthalten.
Mit figlet abgeglichen
Die Testsuite reproduziert 273 Ausgaben, die mit der echten figlet-Binary in Version 2.2.5 aufgezeichnet wurden: jede mitgelieferte Schrift in jedem Layout-Modus, Zeilenumbruch, Ausrichtung, Rechts-nach-links-Text, Absatzmodus und FIGlets eigene Regressionseingabe. Alle stimmen exakt überein.