کتابخانه رایگان جاوااسکریپت برای تجزیه و رندر کردن فونت‌ها

کتابخانه منبع باز جاوااسکریپت برای پردازش فونت که از تجزیه و رندر کردن فونت‌های TrueType و OpenType به‌صورت مستقیم در مرورگر پشتیبانی می‌کند.

در حوزه توسعه وب و نرم‌افزار، تایپوگرافی نقش حیاتی در شکل‌گیری تجربه کلی کاربر ایفا می‌کند. برای دستکاری و رندر کردن قلم‌ها به‌صورت کارآمد، توسعه‌دهندگان به کتابخانه‌های قدرتمندی تکیه می‌کنند که فرآیند را ساده می‌سازند. یکی از این کتابخانه‌ها Typr.js است، یک کتابخانه جاوااسکریپت قدرتمند که به‌طور خاص برای تجزیه و رندر کردن قلم‌ها طراحی شده است. این کتابخانه به‌گونه‌ای سبک طراحی شده تا امکان ادغام سریع در پروژه‌های وب را فراهم کند. این کتابخانه از تمام مرورگرهای وب اصلی شامل Chrome، Firefox، Safari و Edge پشتیبانی می‌کند. این امر رندر ثابت قلم‌ها را در پلتفرم‌ها و دستگاه‌های مختلف تضمین می‌کند.

Typr.js یک کتابخانه قدرتمند منبع باز جاوااسکریپت است که به توسعه‌دهندگان نرم‌افزار یک راه‌حل سبک و چندمنظوره برای کار با انواع مختلف فایل‌های قلم ارائه می‌دهد. این کتابخانه امکان تجزیه و رندر فونت‌های TrueType و OpenType را به‌صورت مستقیم در مرورگر فراهم می‌کند و نیاز به پردازش سمت سرور را از بین می‌برد. این باعث می‌شود Typr.js ابزاری بی‌نظیر برای طراحان وب و توسعه‌دهندگانی باشد که به دنبال بهینه‌سازی تایپوگرافی در وب‌سایت‌های خود هستند. این کتابخانه به‌طور کامل از پیاده‌سازی ویژگی‌های دسترس‌پذیری مانند مقیاس‌گذاری متن، تنظیم فاصله حروف و بارگذاری قلم سفارشی پشتیبانی می‌کند و به کاربران با نیازهای مختلف و موارد دیگر خدمت می‌رساند.

Typr.js بسیار آسان برای استفاده است و می‌تواند در انواع برنامه‌های وب مورد استفاده قرار گیرد، از رندر ساده متن تا پروژه‌های پیچیده‌تر مرتبط با تایپوگرافی. این کتابخانه ویژگی‌های ساده‌سازی مانند بارگذاری و مدیریت فونت‌ها در صفحات وب، تجزیه و تحلیل و استخراج معیارهای مختلف از فونت‌ها، دستکاری و استایل‌دهی آسان به متن آنلاین، پشتیبانی از بین‌المللی‌سازی و بومی‌سازی، تایپوگرافی پیشرفته و موارد دیگر را پشتیبانی می‌کند. مجموعه ویژگی‌های غنی، وزن سبک و سازگاری با مرورگرهای مختلف، آن را به ابزاری ارزشمند برای بهبود تایپوگرافی در وب تبدیل می‌کند.

Previous Next

شروع کار با Typr.js

روش پیشنهادی برای نصب Typr.js استفاده از npm است. لطفاً از فرمان زیر برای افزودن وابستگی maven در پروژه خود استفاده کنید.

نصب Typr.js از طریق npm

 npm install @fredli74/typr --save-dev

همچنین می‌توانید به‌صورت دستی نصب کنید؛ فایل‌های آخرین نسخه را مستقیماً از مخزن GitHub دانلود کنید.

بارگذاری و مدیریت قلم‌ها از طریق API جاوااسکریپت

پروژه منبع باز Typr.js پشتیبانی کامل برای بارگذاری و مدیریت فونت‌ها در برنامه‌های جاوااسکریپت فراهم کرده است. این کتابخانه فرآیند بارگذاری و مدیریت فونت‌ها در صفحات وب را ساده می‌کند. از فرمت‌های مختلف فونت از جمله TrueType (TTF)، OpenType (OTF) و Web Open Font Format (WOFF) پشتیبانی می‌کند و به توسعه‌دهندگان امکان می‌دهد فونت‌های سفارشی را به‌صورت یکپارچه در پروژه‌های خود ادغام کنند. با ارائه یک رابط مدیریت فونت راحت، Typr.js به توسعه‌دهندگان اجازه می‌دهد بارگذاری فونت‌ها را به‌صورت کارآمد کنترل کرده و زیرمجموعه‌های فونت را برای بهینه‌سازی عملکرد اولویت‌بندی کنند.

افزودن تجزیه‌گر جدول SVG برای تجزیه قلم رنگی SVG

Typr.SVG = {};
Typr.SVG.parse = function(data, offset, length)
{
  var bin = Typr._bin;
  var obj = { entries: []};

  var offset0 = offset;

  var tableVersion = bin.readUshort(data, offset);  offset += 2;
  var svgDocIndexOffset = bin.readUint(data, offset);  offset += 4;
  var reserved = bin.readUint(data, offset); offset += 4;

  offset = svgDocIndexOffset + offset0;

  var numEntries = bin.readUshort(data, offset);  offset += 2;

  for(var i=0; i < numEntries ; i++)
  {
    var startGlyphID = bin.readUshort(data, offset);  offset += 2;
    var endGlyphID = bin.readUshort(data, offset);  offset += 2;
    var svgDocOffset = bin.readUint(data, offset);  offset += 4;
    var svgDocLength = bin.readUint(data, offset); offset += 4;

    var svg = bin.readASCII(data, offset0 + svgDocOffset + svgDocIndexOffset, svgDocLength);

    for(var f=startGlyphID; f<=endGlyphID; f++){
      obj.entries[f] = svg;
    }
  }

  return obj;

}

اعمال قالب‌بندی و استایل متن از طریق API جاوااسکریپت

کتابخانه منبع باز Typr.js کار را برای توسعه‌دهندگان نرم‌افزار آسان می‌کند تا انواع مختلف قالب‌بندی متن را در برنامه‌های جاوااسکریپت اعمال کنند. با Typr.js، توسعه‌دهندگان می‌توانند به‌سادگی متن را در صفحات وب دستکاری و استایل دهند. این کتابخانه مجموعه گسترده‌ای از توابع چیدمان متن، مانند شکست خط، تراز متن و هفن‌گذاری را فراهم می‌کند و امکان کنترل دقیق نحوه نمایش متن را می‌دهد. علاوه بر این، کتابخانه از گزینه‌های متنوع استایل‌گذاری متن شامل فاصله حروف، فاصله کلمات و تزئینات متن پشتیبانی می‌کند و به توسعه‌دهندگان اجازه می‌دهد متنی زیبا و قابل خواندن ایجاد کنند.

اعمال قالب‌بندی و استایل متن در برنامه‌های جاوااسکریپت

// Assume that Typr.js library is already loaded

// Define the target element where the text will be formatted and styled
const targetElement = document.getElementById('myTextElement');

// Load and parse the font file using Typr.js
Typr.loadFont('path/to/font.ttf', (font) => {
  // Font loading is complete
  
  // Apply the loaded font to the target element
  targetElement.style.fontFamily = font.name.fontFamily;

  // Set text content for the target element
  targetElement.textContent = 'Hello, Typr.js!';

  // Apply text styling
  targetElement.style.fontSize = '24px';
  targetElement.style.letterSpacing = '2px';
  targetElement.style.wordSpacing = '4px';
  targetElement.style.textDecoration = 'underline';

  // Additional text layout adjustments
  targetElement.style.textAlign = 'center';
  targetElement.style.lineHeight = '1.5';
  targetElement.style.textJustify = 'inter-word';
});

کرنینگ و لیگاتورها از طریق API جاوااسکریپت

Typr.js به توسعه‌دهندگان نرم‌افزار اجازه می‌دهد از ویژگی‌های پیشرفته تایپوگرافی مانند کرنینگ و لیگچرها بهره‌برداری کنند تا جذابیت بصری متن را افزایش دهند. کرنینگ فاصله بین جفت‌های خاصی از حروف را تنظیم می‌کند تا خوانایی کلی بهبود یابد، در حالی که لیگچرها توالی‌های حروف را با گزینه‌های بصری جذاب جایگزین می‌کنند. با استفاده از این ویژگی‌ها، توسعه‌دهندگان می‌توانند تایپوگرافی دقیق‌تر و هماهنگ‌تری را در وب به دست آورند.

 فارسی