Skip to main content

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). با این حال، نمایش نهایی متن در ترمینال به عوامل زیر بستگی دارد:

  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 نصب کنید:

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

persian_print-0.1.3.tar.gz (4.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

persian_print-0.1.3-py3-none-any.whl (4.7 kB view details)

Uploaded Python 3

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

Hashes for persian_print-0.1.3.tar.gz
Algorithm Hash digest
SHA256 a3b04be7bdc08f247b29fc2379813ffa600557d136458d0d4878dfcc6ba59c7e
MD5 aa7ad7a292fce9531d17c0b908bcc13f
BLAKE2b-256 b18f591d0e4733dbc36f745ec193a4f56bea7a2cd0b49199ef836d848b7d2b5a

See more details on using hashes here.

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

Hashes for persian_print-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 15f509644cf14fbefabc9c43b0690ae520241719eea3cb918eae942317f2e99e
MD5 5c3ea46799ce53ada1cbac5f293a5be2
BLAKE2b-256 99ea47bf6c067b99c3b8b16f349028495d137ade9f34394f615b46807dacd8ab

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page