فونٹس

⁦@textjs/font⁩: ⁦ES⁩ ماڈیولز کی صورت میں FIGlet فونٹس، بالکل figlet پروگرام جیسے لے آؤٹ کے ساتھ۔

@textjs/font، ⁦FIGfont 2⁩ (.flf) فائلوں کو پارس کرتا ہے اور بالکل figlet پروگرام جیسا لے آؤٹ بناتا ہے۔ ہر فونٹ ایک ES ماڈیول ہے، اس لیے صرف وہی فونٹس ایپ کے ساتھ جاتے ہیں جنہیں آپ امپورٹ کرتے ہیں۔

لائیو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>;}

انسٹالیشن

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 کے فلیگز کے مطابق ہوتا ہے۔

layoutfigletاثر
"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/standard6FIGlet کا ڈیفالٹ
@textjs/font/slant، smslant6، 5اٹالک
@textjs/font/small5کمپیکٹ
@textjs/font/big8یونانی حروف شامل
@textjs/font/banner8# سے بنے حروف، کاتاکانا اور سیریلک
@textjs/font/block، lean8آؤٹ لائن، سیدھے اور ترچھے
@textjs/font/shadow، smshadow5، 4ڈراپ شیڈو
@textjs/font/script، smscript7، 5جڑے ہوئے حروف
@textjs/font/mini4بہت چھوٹے
@textjs/font/bubble، digital4، 3دائروں اور خانوں میں حروف
@textjs/font/ivrit6عبرانی، دائیں سے بائیں
@textjs/font/term1ان پٹ جوں کا توں

ہر گلف قابلِ پرنٹ 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 کا اپنا ریگریشن ان پٹ۔ سب بالکل یکساں ہیں۔

⁦GitHub⁩ پر اس صفحے میں ترمیم کریں