PHPackages                             abdal/phpian-render - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Image &amp; Media](/categories/media)
4. /
5. abdal/phpian-render

ActiveLibrary[Image &amp; Media](/categories/media)

abdal/phpian-render
===================

 Abdal Phpian Render is a comprehensive PHP package for fixing and improving the display of Persian texts in graphical environments. This package solves common text display issues in libraries such as GD Library, FPDF, and TCPDF, providing full Right-to-Left (RTL) support.

1.4.3(4mo ago)019GPL-2.0-or-laterPHPPHP ^8.1

Since Jan 3Pushed 4mo agoCompare

[ Source](https://github.com/ebrasha/abdal-phpian-render)[ Packagist](https://packagist.org/packages/abdal/phpian-render)[ RSS](/packages/abdal-phpian-render/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (2)Versions (11)Used By (0)

📦 Abdal Phpian Render
=====================

[](#-abdal-phpian-render)

[English](README.en.md) | [فارسی](README.md)

[![Abdal Phpian Render](shot.png)](shot.png)

📖 درباره پروژه
--------------

[](#-درباره-پروژه)

پروژه **Abdal Phpian Render** یک پکیج جامع PHP برای اصلاح و بهبود نمایش متون فارسی در محیط‌های گرافیکی است. این پکیج مشکلات رایج نمایش متن در کتابخانه‌هایی مانند GD Library، FPDF و TCPDF را حل می‌کند و پشتیبانی کامل از راست‌به‌چپ (RTL) را فراهم می‌آورد.

### 🎯 چرا این نرم‌افزار ساخته شد؟

[](#-چرا-این-نرم‌افزار-ساخته-شد)

هنگام کار با متون فارسی در محیط‌های گرافیکی PHP، مشکلات متعددی وجود دارد:

- **مشکل نمایش حروف**: حروف فارسی به صورت جداگانه و بدون اتصال نمایش داده می‌شوند
- **مشکل ترتیب نمایش**: در متون ترکیبی (فارسی + انگلیسی) ترتیب کلمات به درستی نمایش داده نمی‌شود
- **مشکل اعداد**: اعداد انگلیسی در متن فارسی ظاهر می‌شوند
- **مشکل علائم نگارشی**: پرانتز، براکت و سایر علائم در جهت اشتباه نمایش داده می‌شوند
- **از دست رفتن اعراب**: اعراب فارسی در فرآیند پردازش از بین می‌روند

این پکیج تمام این مشکلات را حل می‌کند و یک راه‌حل کامل و استاندارد برای رندر متون RTL ارائه می‌دهد.

✨ ویژگی‌ها و قابلیت‌ها
----------------------

[](#-ویژگی‌ها-و-قابلیت‌ها)

### 🔤 الگوریتم Reshaping

[](#-الگوریتم-reshaping)

- ✅ تبدیل حروف به اشکال چهارگانه (isolated, final, initial, medial)
- ✅ پشتیبانی کامل از حروف اختصاصی فارسی (پ، چ، گ، ژ)
- ✅ پشتیبانی از ترکیبات Lam-Alef فارسی (لا، لآ)
- ✅ حفظ اعراب در فرآیند reshaping

### 🔄 الگوریتم BiDi (Bidirectional)

[](#-الگوریتم-bidi-bidirectional)

- ✅ تشخیص خودکار ترتیب نمایش در متون ترکیبی (فارسی + انگلیسی)
- ✅ آینه‌سازی خودکار علائم نگارشی (پرانتز، براکت، آکولاد و...)
- ✅ مدیریت هوشمند علائم خنثی بر اساس context

### 🔢 تبدیل اعداد (Number Converter)

[](#-تبدیل-اعداد-number-converter)

- ✅ تبدیل اعداد انگلیسی به فارسی
- ✅ تبدیل خودکار اعداد فارسی به انگلیسی (برای محاسبات)

### 🔣 مدیریت اعراب (Diacritics Handler)

[](#-مدیریت-اعراب-diacritics-handler)

- ✅ استخراج و حفظ اعراب (فَتحه، ضَمّه، کَسره، تنوین و...)
- ✅ اعمال مجدد اعراب پس از reshaping
- ✅ جلوگیری از از دست رفتن اعراب در فرآیند پردازش

### 🛠️ توابع کمکی (Helper Functions)

[](#️-توابع-کمکی-helper-functions)

- ✅ `wordWrap()`: شکستن خط مخصوص متون RTL (جلوگیری از شکسته شدن ناقص کلمات)
- ✅ `isRTL()`: تشخیص خودکار زبان متن ورودی
- ✅ `reverse()`: معکوس کردن متن
- ✅ `clean()`: پاکسازی از کاراکترهای نامرئی و ناخواسته

### 📋 استانداردهای رعایت شده

[](#-استانداردهای-رعایت-شده)

- ✅ **PSR-12**: رعایت کامل استانداردهای کدنویسی PHP
- ✅ **Type Hinting**: استفاده کامل از type hints برای امنیت نوع داده
- ✅ **PHP 8.1+**: سازگاری کامل با نسخه‌های جدید PHP
- ✅ **Lightweight**: وابستگی سبک (فقط `symfony/polyfill-mbstring`)
- ✅ **Unit Tests**: تست‌های کامل با PHPUnit
- ✅ **Clean Code**: کد تمیز و قابل نگهداری

🚀 نصب و راه‌اندازی
------------------

[](#-نصب-و-راه‌اندازی)

### نصب از طریق Composer

[](#نصب-از-طریق-composer)

```
composer require abdal/phpian-render
```

یا اضافه کردن به `composer.json`:

```
{
    "require": {
        "abdal/phpian-render": "^1.4"
    }
}
```

📚 نحوه استفاده
--------------

[](#-نحوه-استفاده)

### استفاده پایه

[](#استفاده-پایه)

```
