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.

Canlı100×19 · booting Turbolog…tsx
preview://fonts:1
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/font

Kullanı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.

layoutfigletEtki
"default"-sYazı tipinin layout’u, genellikle birleştirilmiş
"full"-WTam genişlik; karakterler asla birbirine değmez
"fitted"-kKarakter aralığı ayarı; karakterler birbirine değene kadar yaklaştırılır
"smushed"-SSıkıştırılmış yazı tiplerinde bile yazı tipinin kurallarıyla birleştirme
"universal"-oSonraki karakterler öncekilerin üzerine biner
0–63-mAçı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 aktarmaSatırNotlar
@textjs/font/standard6FIGlet’in varsayılanı
@textjs/font/slant, smslant6, 5İtalik
@textjs/font/small5Kompakt
@textjs/font/big8Yunanca içerir
@textjs/font/banner8# ile harfler, Katakana ve Kiril
@textjs/font/block, lean8Dış çizgili, dik ve eğik
@textjs/font/shadow, smshadow5, 4Düşen gölge
@textjs/font/script, smscript7, 5El yazısı
@textjs/font/mini4Minik
@textjs/font/bubble, digital4, 3Daire ve kutu içinde harfler
@textjs/font/ivrit6İbranice, sağdan sola
@textjs/font/term1Girdi 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.

Bu sayfayı GitHub’da düzenle