Metadata-Version: 2.4
Name: persian_print
Version: 0.1.3
Summary: A Python library for easy Persian printing with advanced features and automatic dependency installation.
Author-email: Manus Agent <agent@manus.im>
License: MIT
Project-URL: Homepage, https://github.com/manus-agent/persian_print
Project-URL: Bug Tracker, https://github.com/manus-agent/persian_print/issues
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Text Processing
Classifier: Natural Language :: Persian
Requires-Python: >=3.7
Description-Content-Type: text/markdown
Requires-Dist: arabic-reshaper
Requires-Dist: python-bidi

# کتابخانه Persian Print

یک کتابخانه پایتون برای چاپ آسان متن فارسی با قابلیت‌های پیشرفته و نصب خودکار وابستگی‌ها.

## ویژگی‌ها

- چاپ صحیح متن فارسی با پشتیبانی از راست به چپ (RTL)
- رنگی کردن و استایل‌دهی به متن (پررنگ، زیرخط‌دار، رنگ پس‌زمینه)
- نصب خودکار وابستگی‌ها بر اساس سیستم عامل (مناسب برای VS Code و Termux)
- API ساده و کاربرپسند برای توسعه‌دهندگان

## نصب

برای نصب کتابخانه، می‌توانید از pip استفاده کنید:

```bash
pip install persian_print
```

**توجه:** این کتابخانه به صورت خودکار وابستگی‌های `arabic-reshaper` و `python-bidi` را در صورت نیاز نصب می‌کند.

## مثال‌های استفاده

### چاپ متن فارسی ساده

برای چاپ متن فارسی، کافیست از تابع `print_persian` استفاده کنید:

```python
from persian_print import print_persian

print_persian("سلام دنیا! این یک متن فارسی است.")
print_persian("چاپ فارسی آسان شد!")
```

### چاپ متن رنگی و استایل‌دار

تابع `colored_print` به شما امکان می‌دهد متن را با رنگ‌های مختلف، استایل‌های (مانند پررنگ یا زیرخط‌دار) و حتی رنگ پس‌زمینه چاپ کنید.

**رنگ‌ها:** `black`, `red`, `green`, `yellow`, `blue`, `magenta`, `cyan`, `white`, `reset`
**استایل‌ها:** `normal`, `bold`, `underline`
**رنگ‌های پس‌زمینه:** `black`, `red`, `green`, `yellow`, `blue`, `magenta`, `cyan`, `white`, `default`

```python
from persian_print import colored_print

# چاپ متن قرمز
colored_print("این یک متن قرمز است.", color="red")

# چاپ متن سبز و پررنگ
colored_print("این یک متن سبز و پررنگ است.", color="green", style="bold")

# چاپ متن آبی با پس‌زمینه زرد و زیرخط‌دار
colored_print("متن آبی با پس‌زمینه زرد و زیرخط‌دار.", color="blue", background="yellow", style="underline")

# ترکیب چند ویژگی
colored_print("ترکیب رنگ، استایل و پس‌زمینه.", color="white", background="magenta", style="bold")
```

### مثال کامل

```python
from persian_print import print_persian, colored_print

print_persian("به کتابخانه Persian Print خوش آمدید!")
print_persian("این کتابخانه به شما کمک می‌کند تا متن فارسی را به راحتی در ترمینال چاپ کنید.")

print("\n--- مثال‌های رنگی کردن متن ---")
colored_print("متن قرمز", color="red")
colored_print("متن سبز و پررنگ", color="green", style="bold")
colored_print("متن آبی با پس‌زمینه زرد", color="blue", background="yellow")
colored_print("متن زیرخط‌دار", style="underline")
colored_print("متن پررنگ و زیرخط‌دار", style="bold", style="underline")
colored_print("متن سفید با پس‌زمینه آبی", color="white", background="blue")

print("\n--- تست راست به چپ (RTL) ---")
print_persian("سلام، چگونه اید؟")
print_persian("این یک جمله فارسی برای تست RTL است.")
colored_print("متن فارسی رنگی", color="cyan")
```

## نکات مهم برای نمایش صحیح در ترمینال

کتابخانه `persian_print` متن فارسی را به درستی برای نمایش آماده می‌کند (تغییر شکل حروف و اعمال الگوریتم Bidi). با این حال، نمایش نهایی متن در ترمینال به عوامل زیر بستگی دارد:

1.  **پشتیبانی ترمینال از RTL:** همه ترمینال‌ها به طور کامل از نمایش راست به چپ پشتیبانی نمی‌کنند. در برخی ترمینال‌ها (به ویژه در ویندوز)، ممکن است نیاز به تنظیمات خاصی (مانند تغییر Code Page به UTF-8 با `chcp 65001` در CMD یا PowerShell) باشد.
2.  **فونت ترمینال:** فونت مورد استفاده در ترمینال شما باید از حروف فارسی پشتیبانی کند. فونت‌هایی مانند `Cascadia Code`, `Fira Code`, `Noto Sans Arabic` معمولاً عملکرد خوبی دارند.
3.  **سیستم عامل:** در حالی که کتابخانه مستقل از سیستم عامل است، رفتار ترمینال‌ها در سیستم عامل‌های مختلف (ویندوز، لینوکس، macOS، اندروید) متفاوت است. در لینوکس و macOS معمولاً پشتیبانی بهتری از یونیکد و RTL وجود دارد.

**توجه:** اگر متن فارسی به صورت برعکس یا جدا از هم نمایش داده می‌شود، این مشکل معمولاً مربوط به تنظیمات ترمینال یا فونت آن است و نه عملکرد کتابخانه.

## Pydroid3 (Android) Compatibility

برای استفاده از `persian_print` در Pydroid3 در اندروید، مطمئن شوید که کتابخانه‌های لازم را نصب کرده‌اید. می‌توانید آن‌ها را با استفاده از pip در ترمینال Pydroid3 نصب کنید:

```bash
pip install arabic-reshaper python-bidi
```

بسته به گونه‌ای طراحی شده است که متن راست به چپ (RTL) را به درستی مدیریت کند، که پس از برآورده شدن وابستگی‌ها باید در محیط Pydroid3 همانطور که انتظار می‌رود عمل کند. با این حال، همانند سایر سیستم‌عامل‌ها، نمایش نهایی به قابلیت‌های رندرینگ ترمینال Pydroid3 و فونت‌های نصب شده بستگی دارد.

## توسعه و مشارکت

## مجوز

این پروژه تحت مجوز MIT منتشر شده است. برای جزئیات بیشتر به فایل `LICENSE` مراجعه کنید.


