Skip to main content

Negar is a spell corrector and Persian text editor

Project description

Negar

Negar is an editor(=virastar in Persian) for Persian text. The project is initially inspired by virastar. Thank you Aziz for your great job.

Installation

PyPi

python-negar is available on PyPi:

$ pip install python-negar

Git

You can get latest stable changes from github server:

$ git clone https://github.com/shahinism/python-negar.git
$ cd python-negar
$ python setup.py install

Zip, Tarball

You can download the latest tarball.

*nix

Get the latest tarball & install:

$ wget -O python-negar-master.tar.gz https://github.com/shahinism/python-negar/archive/master.tar.gz
$ tar xvzf python-negar-master.tar.gz && cd python-negar-master
$ python setup.py install

Windows

Download latest zip archive.

https://github.com/shahinism/python-negar/archive/master.zip

Decompress it, and run the following command in root directory of python-negar

$ python setup.py install

Requirements

$ pip install regex

Usage

Calling by default options:

from negar.virastar import PersianEditor

test = r"""قابلیت های ویراستار ' نگار  ':
* جایگزینی
+ خط تیره های پیاپی نظیر (--) و (---) با معادل های استاندارد شان
+ سه نقطه ی پیاپی (...) با کاراکتر استانداردش در زبان فارسی
    + علایمی نظیر کتیشن فارسی با گیومه ؛  'نگار'
    + اعداد عربی '١٢٣٤٥٦٧٨٩٠' و انگلیسی '1234567890'  با معادل فارسی
    + کاراکتر های غیر فارسی نظیر ',;%يةك' با معادل های فارسی

* تنظیم فاصله
    + کلماتی که با 'ی' پسوند همراه هستند مانند 'همه ی ' -- و البته امکان جایگزینی آن با حمزه 'ء' ( در صورت انتخاب کاربر )
    + پرانتز ها  یا دیگر علایم ؛ ( نگار )
    + علائم نقطه‌گذاری ؛ بدون فاصله از قبل و با یک فاصله از بعد به استثنای اعداد اعشاری مانند 12.4
    + در پیشوند کلمات با نیم‌فاصله نظیر ' می شود '، ' میشود '، ' بی شک '، ' بیشک ' , ' خانه اش '، ' وظیفه شناس ' ، ' کمک تان '  و یا ' نمیرود '
    + در پسوند کلمات با نیم‌فاصله نظیر کتابها، خوشترین -- و البته امکان عدم تنظیم (در صورت انتخاب کاربر)

* جلوگیری از
    + استفاده ی بیش از یک علامت ؟؟؟؟ یا !!!
    + کشیـــــــــدگـــــــــــــــــی در کــــــــــــلمــــات
    + فضا های         خالی     بیش          از       حد"""

print(PersianEditor(text))

result:

قابلیت‌های ویراستار «نگار»:
* جایگزینی
+ خط تیره‌های پیاپی نظیر (–) و (—) با معادل‌های استانداردشان
+ سه نقطه‌ی پیاپی (…) با کاراکتر استانداردش در زبان فارسی
    + علایمی نظیر کتیشن فارسی با گیومه؛ «نگار»
    + اعداد عربی «۱۲۳۴۵۶۷۸۹۰» و انگلیسی «۱۲۳۴۵۶۷۸۹۰» با معادل فارسی
    + کاراکترهای غیر فارسی نظیر «، ؛ ٪یهک» با معادل‌های فارسی

* تنظیم فاصله
    + کلماتی که با «ی» پسوند همراه هستند مانند «همه‌ی» – و البته امکان جایگزینی آن با حمزه «ء» (در صورت انتخاب کاربر)
    + پرانتزها یا دیگر علایم؛ (نگار)
    + علائم نقطه‌گذاری؛ بدون فاصله از قبل و با یک فاصله از بعد به استثنای اعداد اعشاری مانند ۱۲.۴
    + در پیشوند کلمات با نیم‌فاصله نظیر «می‌شود»، «می‌شود»، «بی‌شک»، «بی‌شک»، «خانه‌اش»، «وظیفه‌شناس»، «کمک‌تان» و یا «نمی‌رود»
    + در پسوند کلمات با نیم‌فاصله نظیر کتاب‌ها، خوش‌ترین – و البته امکان عدم تنظیم (در صورت انتخاب کاربر)

* جلوگیری از
    + استفاده‌ی بیش از یک علامت؟ یا!
    + کشیدگی در کلمات
    + فضاهای خالی بیش از حد

Enabling extra features/args:

##
args = []
args.append('fix-english-quotes')
args.append('cleanup-spacing')
print(PersianEditor(text, *args))

Full list of args with description:

--fix-dashes                 Disable fix dashes feature
--fix-three-dots             Disable fix three dots feature
--fix-english-quotes         Disable fix english quotes feature
--fix-hamzeh                 Disable fix hamzeh feature
--hamzeh-with-yeh            Use 'Hamzeh' instead of 'yeh' for fix hamzeh feature
--fix-spacing-bq             Disable fix spacing braces and qoutes feature
--fix-arabic-num             Disable fix arabic num feature
--fix-english-num            Disable fix english num feature
--fix-non-persian-chars      Disable fix misc non persian chars feature
--fix-p-spacing              Disable fix prefix spacing feature
--fix-p-separate             Disable fix prefix separating feature
--fix-s-spacing              Disable fix suffix spacing feature
--fix-s-separate             Disable fix suffix separating feature
--aggresive                  Disable aggresive feature
--cleanup-kashidas           Disable cleanup kashidas feature
--cleanup-ex-marks           Disable cleanup extra marks feature
--cleanup-spacing            Disable cleanup spacing feature
--trim-lt-whitespaces        Disable Trim leading trailing whitespaces
--exaggerating_zwnj          Disable suffix separation as much as possible

GUI & CLI

There are two companions with this repository to support GUI and CLI, named negar-gui and negar-cli, respectively.

Both of them are available on PyPI.

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

python-negar-1.1.9.tar.gz (33.6 kB view details)

Uploaded Source

File details

Details for the file python-negar-1.1.9.tar.gz.

File metadata

  • Download URL: python-negar-1.1.9.tar.gz
  • Upload date:
  • Size: 33.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.10.4

File hashes

Hashes for python-negar-1.1.9.tar.gz
Algorithm Hash digest
SHA256 71357a8d20e88c73094093f304a7a1a266e968608d9ab634b540e13094159c47
MD5 59a8cf9db887895d7f0b2372c4d3df08
BLAKE2b-256 9783c60efc820ba7cba4ed0608852e18c4cd19acd8878a884643ddd94930a6d4

See more details on using hashes here.

Provenance

Supported by

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