A Python library for easy Persian printing with advanced features and automatic dependency installation.
Project description
کتابخانه Persian Print
یک کتابخانه پایتون برای چاپ آسان متن فارسی با قابلیتهای پیشرفته و نصب خودکار وابستگیها.
ویژگیها
- چاپ صحیح متن فارسی با پشتیبانی از راست به چپ (RTL)
- رنگی کردن و استایلدهی به متن (پررنگ، زیرخطدار، رنگ پسزمینه)
- نصب خودکار وابستگیها بر اساس سیستم عامل (مناسب برای VS Code و Termux)
- API ساده و کاربرپسند برای توسعهدهندگان
نصب
برای نصب کتابخانه، میتوانید از pip استفاده کنید:
pip install persian_print
توجه: این کتابخانه به صورت خودکار وابستگیهای arabic-reshaper و python-bidi را در صورت نیاز نصب میکند.
مثالهای استفاده
چاپ متن فارسی ساده
برای چاپ متن فارسی، کافیست از تابع print_persian استفاده کنید:
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
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")
مثال کامل
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). با این حال، نمایش نهایی متن در ترمینال به عوامل زیر بستگی دارد:
- پشتیبانی ترمینال از RTL: همه ترمینالها به طور کامل از نمایش راست به چپ پشتیبانی نمیکنند. در برخی ترمینالها (به ویژه در ویندوز)، ممکن است نیاز به تنظیمات خاصی (مانند تغییر Code Page به UTF-8 با
chcp 65001در CMD یا PowerShell) باشد. - فونت ترمینال: فونت مورد استفاده در ترمینال شما باید از حروف فارسی پشتیبانی کند. فونتهایی مانند
Cascadia Code,Fira Code,Noto Sans Arabicمعمولاً عملکرد خوبی دارند. - سیستم عامل: در حالی که کتابخانه مستقل از سیستم عامل است، رفتار ترمینالها در سیستم عاملهای مختلف (ویندوز، لینوکس، macOS، اندروید) متفاوت است. در لینوکس و macOS معمولاً پشتیبانی بهتری از یونیکد و RTL وجود دارد.
توجه: اگر متن فارسی به صورت برعکس یا جدا از هم نمایش داده میشود، این مشکل معمولاً مربوط به تنظیمات ترمینال یا فونت آن است و نه عملکرد کتابخانه.
Pydroid3 (Android) Compatibility
برای استفاده از persian_print در Pydroid3 در اندروید، مطمئن شوید که کتابخانههای لازم را نصب کردهاید. میتوانید آنها را با استفاده از pip در ترمینال Pydroid3 نصب کنید:
pip install arabic-reshaper python-bidi
بسته به گونهای طراحی شده است که متن راست به چپ (RTL) را به درستی مدیریت کند، که پس از برآورده شدن وابستگیها باید در محیط Pydroid3 همانطور که انتظار میرود عمل کند. با این حال، همانند سایر سیستمعاملها، نمایش نهایی به قابلیتهای رندرینگ ترمینال Pydroid3 و فونتهای نصب شده بستگی دارد.
توسعه و مشارکت
مجوز
این پروژه تحت مجوز MIT منتشر شده است. برای جزئیات بیشتر به فایل LICENSE مراجعه کنید.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file persian_print-0.1.3.tar.gz.
File metadata
- Download URL: persian_print-0.1.3.tar.gz
- Upload date:
- Size: 4.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.0rc1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a3b04be7bdc08f247b29fc2379813ffa600557d136458d0d4878dfcc6ba59c7e
|
|
| MD5 |
aa7ad7a292fce9531d17c0b908bcc13f
|
|
| BLAKE2b-256 |
b18f591d0e4733dbc36f745ec193a4f56bea7a2cd0b49199ef836d848b7d2b5a
|
File details
Details for the file persian_print-0.1.3-py3-none-any.whl.
File metadata
- Download URL: persian_print-0.1.3-py3-none-any.whl
- Upload date:
- Size: 4.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.0rc1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
15f509644cf14fbefabc9c43b0690ae520241719eea3cb918eae942317f2e99e
|
|
| MD5 |
5c3ea46799ce53ada1cbac5f293a5be2
|
|
| BLAKE2b-256 |
99ea47bf6c067b99c3b8b16f349028495d137ade9f34394f615b46807dacd8ab
|