فونٹس
@textjs/font: ES ماڈیولز کی صورت میں FIGlet فونٹس، بالکل figlet پروگرام جیسے لے آؤٹ کے ساتھ۔
@textjs/font، FIGfont 2 (.flf) فائلوں کو پارس کرتا ہے اور بالکل figlet پروگرام جیسا لے آؤٹ بناتا ہے۔ ہر فونٹ ایک ES ماڈیول ہے، اس لیے صرف وہی فونٹس ایپ کے ساتھ جاتے ہیں جنہیں آپ امپورٹ کرتے ہیں۔
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>;}انسٹالیشن
bun add @textjs/fontاستعمال
<FigletText> ایک فونٹ اور ایک اسٹرنگ لیتا ہے۔ قطاروں کی پیمائش سیل میں ہوتی ہے، اس لیے حروف flexbox لے آؤٹس میں کسی بھی دوسرے <Text> کی طرح فٹ ہوتے ہیں۔
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> بھی یہی فونٹس قبول کرتا ہے، جبکہ اس کے بلٹ اِن block اور compact حروف برقرار رہتے ہیں:
<AsciiFont text="Text.js" font={slant} color="accent" />React سے باہر، renderFiglet ہر قطار کے لیے ایک اسٹرنگ لوٹاتا ہے:
import { renderFiglet } from "@textjs/font";import { standard } from "@textjs/font/standard";renderFiglet(standard, "Hello", { layout: "full" });// [" _ _ _ _ ", " | | | | ___ | | | | ___ ", …]لے آؤٹ
افقی لے آؤٹ FIGlet کے فلیگز کے مطابق ہوتا ہے۔
layout | figlet | اثر |
|---|---|---|
"default" | -s | فونٹ کا لے آؤٹ، عموماً سمش شدہ |
"full" | -W | پوری چوڑائی؛ حروف کبھی نہیں چھوتے |
"fitted" | -k | کرننگ؛ حروف چھونے تک ایک دوسرے کے قریب آتے ہیں |
"smushed" | -S | فونٹ کے اصولوں کے مطابق سمشنگ، فٹڈ فونٹس کے لیے بھی |
"universal" | -o | بعد کے حروف پہلے کے حروف پر اوورلیپ ہوتے ہیں |
0–63 | -m | واضح طور پر متعین سمش موڈ |
افقی سمشنگ کے تمام چھ اصول نافذ ہیں: یکساں حرف، انڈراسکور، ہائیرارکی، مخالف جوڑا، بڑا X اور ہارڈبلینک۔
verticalLayout کئی لائنوں والے متن پر لاگو ہوتا ہے۔ FIGlet 2.2.5 لائنوں کو کبھی زیادہ قریب نہیں رکھتا، اس لیے ڈیفالٹ "full" ہے؛ "fitted"، "smushed" اور "universal" پانچ عمودی اصول نافذ کرتے ہیں، جن میں عمودی لائن سپرسمشنگ بھی شامل ہے، اور "default" فونٹ کے اصول استعمال کرتا ہے۔
ریپنگ اور الائنمنٹ
columns (یا renderFiglet میں width) پہلے لفظوں کے درمیان، پھر لفظ کے اندر متن کو ریپ کرتا ہے، بالکل وہیں جہاں figlet -w کرتا ہے۔ align کی قدر "left"، "center" یا "right" ہوتی ہے؛ چوڑائی کے بغیر، قطاریں سب سے چوڑی قطار کے اندر الائن ہوتی ہیں۔ ivrit جیسے دائیں سے بائیں فونٹس دائیں سے بائیں پرنٹ ہوتے ہیں اور دائیں جانب الائن ہوتے ہیں؛ اسے بدلنے کے لیے direction استعمال کریں۔
شامل فونٹس
| امپورٹ | قطاریں | معلومات |
|---|---|---|
@textjs/font/standard | 6 | FIGlet کا ڈیفالٹ |
@textjs/font/slant، smslant | 6، 5 | اٹالک |
@textjs/font/small | 5 | کمپیکٹ |
@textjs/font/big | 8 | یونانی حروف شامل |
@textjs/font/banner | 8 | # سے بنے حروف، کاتاکانا اور سیریلک |
@textjs/font/block، lean | 8 | آؤٹ لائن، سیدھے اور ترچھے |
@textjs/font/shadow، smshadow | 5، 4 | ڈراپ شیڈو |
@textjs/font/script، smscript | 7، 5 | جڑے ہوئے حروف |
@textjs/font/mini | 4 | بہت چھوٹے |
@textjs/font/bubble، digital | 4، 3 | دائروں اور خانوں میں حروف |
@textjs/font/ivrit | 6 | عبرانی، دائیں سے بائیں |
@textjs/font/term | 1 | ان پٹ جوں کا توں |
ہر گلف قابلِ پرنٹ ASCII یا Latin-1 ہے، اس لیے DevTools کے Menlo میں ہر ذیلی حرف بالکل ایک سیل ہے۔ @textjs/font/all ان سب کو ایکسپورٹ کرتا ہے، اور گیلریوں کے لیے BUNDLED_FONTS بھی فراہم کرتا ہے۔ فونٹس پہلے رینڈر پر پارس ہوتے ہیں، امپورٹ پر نہیں۔
حسب ضرورت فونٹس
کوئی بھی FIGfont کام کرتا ہے۔ اسے فیچ کریں، پھر پارس کریں:
import { parseFont } from "@textjs/font";const doom = parseFont(await (await fetch("/fonts/doom.flf")).text(), "Doom");پارسر ہیڈر، کمنٹ لائنیں، ہارڈبلینکس، اینڈ مارکس، 102 لازمی حروف اور اعشاری، آکٹل یا ہیکس میں کوڈ ٹیگ والے حروف پڑھتا ہے۔ TOIlet کے .tlf فونٹس سادہ متن کے طور پر رینڈر ہوتے ہیں۔ ASCII یا باکس بنانے والے حروف سے بنے فونٹس کو ترجیح دیں؛ Menlo میں بریل اور ایموجی کی چوڑائی ایک سیل نہیں ہوتی۔
لائسنسنگ
شامل فونٹس، FIGlet کے BSD 3-Clause لائسنس کے تحت، FIGlet 2.2.5 ڈسٹری بیوشن کے فونٹس کی بائٹ بہ بائٹ نقل ہیں۔ ہر فونٹ کے کریڈٹس اس کی کمنٹ لائنوں میں محفوظ ہیں، جو رن ٹائم پر font.comment کے طور پر دستیاب ہیں۔ دوبارہ تقسیم کی اجازت کے بغیر مقبول فونٹس، جیسے Doom، Larry 3D، ANSI Shadow اور Calvin S، شامل نہیں ہیں۔
figlet کے ساتھ تصدیق
ٹیسٹ سوئٹ اصل figlet 2.2.5 بائنری فائل سے ریکارڈ کردہ 273 آؤٹ پٹس دوبارہ چلاتا ہے: ہر لے آؤٹ موڈ میں ہر شامل فونٹ، ریپنگ، جسٹیفکیشن، دائیں سے بائیں متن، پیراگراف موڈ اور FIGlet کا اپنا ریگریشن ان پٹ۔ سب بالکل یکساں ہیں۔