Yazı tipleri
@textjs/font: figlet programıyla birebir aynı yerleşimi kullanan, ES modülü biçiminde FIGlet yazı tipleri.
@textjs/font, FIGfont 2 (.flf) dosyalarını ayrıştırır ve tam olarak figlet programı gibi yerleştirir. Her yazı tipi bir ES modülüdür, bu nedenle yalnızca içe aktardığınız yazı tipleri uygulamanıza dahil edilir.
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>;}Kurulum
bun add @textjs/fontKullanım
<FigletText> bir yazı tipi ve bir dize alır. Satırlar hücre cinsinden ölçülür, böylece harfler diğer <Text> bileşenleri gibi flexbox layout’larına yerleşir.
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>, yerleşik block ve compact harf biçimlerini koruyarak aynı yazı tiplerini kabul eder:
<AsciiFont text="Text.js" font={slant} color="accent" />React dışında renderFiglet, her satır için bir dize döndürür:
import { renderFiglet } from "@textjs/font";import { standard } from "@textjs/font/standard";renderFiglet(standard, "Hello", { layout: "full" });// [" _ _ _ _ ", " | | | | ___ | | | | ___ ", …]Layout
Yatay layout, FIGlet’in bayraklarını izler.
layout | figlet | Etki |
|---|---|---|
"default" | -s | Yazı tipinin layout’u, genellikle birleştirilmiş |
"full" | -W | Tam genişlik; karakterler asla birbirine değmez |
"fitted" | -k | Karakter aralığı ayarı; karakterler birbirine değene kadar yaklaştırılır |
"smushed" | -S | Sıkıştırılmış yazı tiplerinde bile yazı tipinin kurallarıyla birleştirme |
"universal" | -o | Sonraki karakterler öncekilerin üzerine biner |
0–63 | -m | Açıkça belirlenen birleştirme modu |
Altı yatay birleştirme kuralının tümü uygulanır: eşit karakter, alt çizgi, hiyerarşi, karşıt çift, büyük X ve hardblank.
verticalLayout çok satırlı metne uygulanır. FIGlet 2.2.5 satırları asla birbirine yaklaştırmaz, bu nedenle varsayılan değer "full" olur; "fitted", "smushed" ve "universal", dikey çizgi süper birleştirmesi dahil beş dikey kuralı uygular, "default" ise yazı tipinin kurallarını kullanır.
Satır kaydırma ve hizalama
columns (veya renderFiglet işlevindeki width), tam olarak figlet -w komutunun yaptığı noktalarda, önce sözcük aralarında, ardından sözcük içinde satır kaydırır. align, "left", "center" veya "right" değerini alır; genişlik belirtilmezse satırlar en geniş satırın içinde hizalanır. ivrit gibi sağdan sola yazı tipleri sağdan sola yazdırılır ve sağa hizalanır; bunu direction ile değiştirin.
Pakete dahil yazı tipleri
| İçe aktarma | Satır | Notlar |
|---|---|---|
@textjs/font/standard | 6 | FIGlet’in varsayılanı |
@textjs/font/slant, smslant | 6, 5 | İtalik |
@textjs/font/small | 5 | Kompakt |
@textjs/font/big | 8 | Yunanca içerir |
@textjs/font/banner | 8 | # ile harfler, Katakana ve Kiril |
@textjs/font/block, lean | 8 | Dış çizgili, dik ve eğik |
@textjs/font/shadow, smshadow | 5, 4 | Düşen gölge |
@textjs/font/script, smscript | 7, 5 | El yazısı |
@textjs/font/mini | 4 | Minik |
@textjs/font/bubble, digital | 4, 3 | Daire ve kutu içinde harfler |
@textjs/font/ivrit | 6 | İbranice, sağdan sola |
@textjs/font/term | 1 | Girdi olduğu gibi |
Her glif yazdırılabilir ASCII veya Latin-1 karakterlerinden oluşur, bu nedenle her alt karakter DevTools’taki Menlo yazı tipinde tam bir hücre kaplar. @textjs/font/all, tüm yazı tiplerini ve galeriler için BUNDLED_FONTS sabitini dışa aktarır. Yazı tipleri içe aktarılırken değil, ilk render sırasında ayrıştırılır.
Özel yazı tipleri
Her FIGfont çalışır. Önce getirin, ardından ayrıştırın:
import { parseFont } from "@textjs/font";const doom = parseFont(await (await fetch("/fonts/doom.flf")).text(), "Doom");Ayrıştırıcı; başlığı, yorum satırlarını, hardblank karakterlerini, bitiş işaretlerini, gerekli 102 karakteri ve ondalık, sekizlik veya onaltılık kodla etiketlenmiş karakterleri okur. TOIlet .tlf yazı tipleri düz metin olarak render edilir. ASCII veya kutu çizim karakterleriyle çizilmiş yazı tiplerini tercih edin; braille ve emoji, Menlo’da bir hücre genişliğinde değildir.
Lisanslama
Pakete dahil yazı tipleri, FIGlet’in BSD 3-Clause lisansı altındaki FIGlet 2.2.5 dağıtım yazı tiplerinin bayt bayt aynısıdır. Her biri katkıda bulunanların bilgilerini yorum satırlarında saklar; bu bilgilere çalışma zamanında font.comment ile erişilebilir. Doom, Larry 3D, ANSI Shadow ve Calvin S gibi yeniden dağıtım izni olmayan popüler yazı tipleri pakete dahil değildir.
figlet ile karşılaştırarak doğrulama
Test paketi, gerçek figlet 2.2.5 ikili dosyasından kaydedilen 273 çıktıyı yeniden üretir: her layout modunda pakete dahil her yazı tipi, satır kaydırma, iki yana yaslama, sağdan sola metin, paragraf modu ve FIGlet’in kendi regresyon girdisi. Hepsi tam olarak eşleşir.