| ISPELL(1) | General Commands Manual | ISPELL(1) |
نام (NAME)
ispell, buildhash, munchlist, findaffix, tryaffix, icombine, ijoin - غلطیاب و تصحیحکننده املایی تعاملی
خلاصه دستور (SYNOPSIS)
ispell
[فلگهای-عمومی]
[-M|-N]
[-Lزمینه]
[-V] فایلها
ispell
[فلگهای-عمومی]
-l
ispell
[فلگهای-عمومی]
[-f فایل] [-s]
[-a|-A]
ispell [-d فایل] [-w
نویسهها]
-c
ispell [-d فایل] [-w
نویسهها]
-e[e]
ispell [-d فایل] -D
ispell -v[v]
- فلگهای-عمومی:
- [-t] [-n] [-H] [-o] [-b] [-x] [-B] [-C] [-P] [-m] [-S] [-d فایل] [-p فایل] [-w نویسهها] [-W n] [-T نوع] [-kنام فهرست] [-F برنامه]
برنامههای کمکی:
buildhash [-s]
فایل-واژهنامه
فایل-وند
فایل-هش
buildhash -s تعداد
فایل-وند
- munchlist
- [-l
فایل-وند]
[-c
فایل-تبدیل]
[-T پسوند]
[-s فایل-هش] [-D] [-v] [-w نویسهها] [فایلها] - findaffix
- [-p|-s] [-f] [-c] [-m
حداقل] [-M
حداکثر] [-e
حذف]
[-t نویسه-تب] [-l کمینه] [فایلها]
tryaffix [-p|-s] [-c] فایل-گسترشیافته وند[+افزوده] ...
icombine [-T نوع] [-w نویسهها] [فایل-وند]
ijoin [-s|-u] گزینههای-join فایل۱ فایل۲
توضیحات (DESCRIPTION)
Ispell بر اساس برنامه spell از سیستم ITS الگوبرداری شده است (که در سیستمهای Twenex به نام ispell شناخته میشود). رایجترین نحوه استفاده بهصورت "ispell filename" است. در این حالت، ispell هر کلمهای را که در فرهنگ لغت وجود نداشته باشد در بالای صفحه نمایش میدهد و به شما امکان تغییر آن را میدهد. اگر در فرهنگ لغت کلمات مشابه و «نزدیک به خطا» وجود داشته باشد (کلماتی که فقط در یک حرف، یک حرف کم یا اضافه، جابهجایی دو حرف، یا نبود یک فاصله یا خط تیره تفاوت دارند)، آنها نیز در خطوط بعدی نمایش داده میشوند. علاوه بر «کلمات مشابه»، ispell ممکن است حدسهای دیگری را بر اساس راههای ساخت کلمه از ریشه شناختهشده نمایش دهد که در ابتدای هر حدس علامت سؤال قرار میگیرد. در نهایت، خط حاوی کلمه و خط قبلی آن در پایین صفحه چاپ میشوند. اگر ترمینال شما از قابلیت نمایش تصویر وارونه (Reverse Video) پشتیبانی کند، خود کلمه برجسته میشود. شما این امکان را دارید که کلمه را کاملاً جایگزین کنید یا یکی از کلمات پیشنهادی را برگزینید. دستورات بهصورت تکنویسهای به شرح زیر هستند (بزرگ یا کوچک بودن حروف نادیده گرفته میشود):
- R
- جایگزینی کامل کلمه دارای غلط املایی.
- Space
- پذیرش کلمه فقط برای این بار.
- A
- پذیرش کلمه برای ادامه این نشست کاری ispell.
- I
- پذیرش کلمه، با همان وضعیت حروف بزرگ موجود در فایل، و بهروزرسانی فرهنگ لغت شخصی.
- U
- پذیرش کلمه و افزودن نسخه با حروف کوچک (در واقع، تماماً حروف کوچک) به فرهنگ لغت شخصی.
- 0–n
- جایگزینی با یکی از کلمات پیشنهادی.
- L
- جستجوی کلمات در فرهنگ لغت سیستم (کنترلشده با گزینه کامپایل WORDS).
- X
- نوشتن و ذخیره ادامه این فایل، نادیده گرفتن غلطهای املایی، و شروع فایل بعدی.
- Q
- خروج فوری و بدون تغییر رها کردن فایل.
- !
- خروج موقت به پوسته (Shell escape).
- ^L
- ترسیم مجدد صفحه.
- ^Z
- تعلیق موقت ispell.
- ?
- نمایش صفحه راهنما.
اگر گزینه -M مشخص شود، یک منوی کوچک تکخطی در پایین صفحه این گزینهها را خلاصه میکند. در مقابل، گزینه -N میتواند برای پنهان کردن منوی کوچک استفاده شود. (منوی کوچک بهطور پیشفرض نمایش داده میشود اگر ispell با گزینه MINIMENU کامپایل شده باشد، اما این دو گزینه همیشه تنظیم پیشفرض را لغو میکنند).
اگر گزینه -L داده شود، عدد مشخصشده بهعنوان تعداد خطوط متن زمینه (Context) برای نمایش در پایین صفحه استفاده میشود (حالت پیشفرض این است که مقدار متن زمینه بهعنوان درصدی معین از اندازه صفحه محاسبه شود). مقدار متن زمینه تابع محدودیتهای اعمالشده توسط سیستم است.
اگر گزینه -V داده شود، نویسههایی که در مجموعه نویسههای قابل چاپ ۷ بیتی ANSI نیستند همیشه به سبک "cat -v" نمایش داده میشوند، حتی اگر ispell تشخیص دهد که این نویسهها در سیستم شما ISO Latin-1 معتبر هستند. این قابلیت هنگام کار با ترمینالهای قدیمیتر مفید است. بدون این گزینه، ispell نویسههای ۸ بیتی را در صورتی که بهعنوان نویسههای رشتهای برای نوع فایل انتخابی تعریف شده باشند، «همانطور که هست» نمایش میدهد.
حالت «عادی»، و همچنین گزینههای -l، -a و -A و حالت تعاملی (به زیر مراجعه کنید) گزینههای «عمومی» زیر را نیز در خط فرمان میپذیرند:
- -t
- فایل ورودی در قالب TeX یا LaTeX است.
- -n
- فایل ورودی در قالب nroff/troff است.
- -H
- فایل ورودی در قالب SGML/HTML است. (در واقع این گزینه باید -s میبود، اما به دلایل تاریخی آن گزینه قبلاً اشغال شده بود).
- -o
- فایل ورودی باید بهعنوان متن عادی در نظر گرفته شود. (این گزینه میتواند برای لغو DEFTEXFLAG استفاده شود).
- -b
- ایجاد فایل پشتیبان با افزودن ".bak" به نام فایل ورودی.
- -x
- حذف فایل پشتیبان پس از اتمام بررسی املایی.
- -B
- گزارش کلمات به هم چسبیده با فاصلههای جاافتاده بهعنوان خطای املایی.
- -C
- معتبر دانستن کلمات به هم چسبیده بهعنوان کلمات مرکب صحیح.
- -P
- تولید نکردن ترکیبهای اضافی ریشه/وند.
- -m
- ایجاد ترکیبهای ممکن ریشه/وند که در فرهنگ لغت وجود ندارند.
- -S
- مرتبسازی فهرست حدسها بر اساس درستی احتمالی.
- -d file
- مشخص کردن فایل فرهنگ لغت جایگزین. برای مثال، از -d deutsch برای انتخاب فرهنگ لغت آلمانی در یک نصب آلمانی استفاده کنید.
- -p file
- مشخص کردن فایل فرهنگ لغت شخصی جایگزین.
- -w chars
- مشخص کردن نویسههای اضافی که میتوانند بخشی از یک کلمه باشند.
- -W n
- مشخص کردن طول کلماتی که همیشه معتبر در نظر گرفته میشوند.
- -T type
- در نظر گرفتن یک نوع قالببندی مشخص برای تمامی فایلها.
گزینههای -H، -n، -t و -o مشخص میکنند که ispell در حالت ورودی HTML (-H)، nroff/troff (-n)، TeX/LaTeX (-t) یا متن عادی (-o) اجرا شود. (حالت پیشفرض توسط گزینه نصب DEFTEXFLAG کنترل میشود، اما معمولاً به دلایل تاریخی روی حالت nroff/troff قرار دارد). مگر اینکه توسط یکی از گزینههای انتخاب حالت لغو شود، حالت TeX/LaTeX در صورتی که فایل ورودی دارای پسوند ".tex" باشد بهطور خودکار انتخاب میشود، و حالت HTML در صورتی که فایل ورودی دارای پسوند ".html" یا ".htm" باشد بهطور خودکار انتخاب میگردد.
در حالت HTML، تگهای HTML محصور در نشانههای <> نادیده گرفته میشوند، مگر ساختار "ALT=" که در صورت نبود فاصله در اطراف علامت مساوی شناسایی شده و متن درون آن بررسی املایی میشود.
در حالت TeX/LaTeX، هر زمان که یک بکاسلش ("\") پیدا شود، ispell تا فاصله خالی یا جداکننده بعدی TeX/LaTeX رد میشود. برخی دستورات حاوی آرگومانهایی هستند که نباید بررسی شوند، مانند برچسبها و کلیدهای ارجاع که در دستور \cite یافت میشوند، زیرا حاوی آرگومانهای دلخواه و غیرکلمهای هستند. بررسی املایی در حالت ریاضی (Math mode) نیز غیرفعال میشود. بنابراین، برای مثال، با داشتن
برنامه ispell کلمه "Ckapter" را پیدا میکند اما "SCH" را بررسی نخواهد کرد. گزینه -t نویسه توضیح TeX یعنی "%" را تشخیص نمیدهد، بنابراین توضیحات (کامنتها) نیز بررسی املایی میشوند. همچنین نحو صحیح LaTeX را مفروض میداند. آرگومانهای دستورات کمکاربرد و برخی آرگومانهای اختیاری گاهی اوقات بهطور غیرضروری بررسی میشوند. اگر ispell با تعریف IGNOREBIB کامپایل شده باشد، کتابشناسی بررسی نخواهد شد. در غیر این صورت، کتابشناسی بررسی میشود اما کلید ارجاع بررسی نخواهد شد.
ارجاعات سیستم کتابشناسی tib (در صورت در دسترس بودن در سیستم شما)، یعنی متن بین ``[.'' یا ``<.'' و ``.]'' یا ``.>'' همیشه در حالت TeX/LaTeX نادیده گرفته میشوند.
گزینههای -b و -x کنترل میکنند که آیا ispell برای هر فایل ورودی یک فایل پشتیبان (.bak) باقی بگذارد یا خیر. فایل .bak حاوی متن پیش از تصحیح است. در صورت بروز خطاهای باز کردن یا نوشتن فایل، فایل .bak ممکن است برای اهداف بازیابی باقی بماند، حتی با وجود گزینه -x. حالت پیشفرض این گزینه توسط گزینه نصب DEFNOBACKUPFLAG کنترل میشود.
گزینههای -B و -C کنترل میکنند که ispell چگونه با کلمات به هم چسبیده، مانند "notthe" بهجای "not the" برخورد کند. اگر -B مشخص شود، چنین کلماتی بهعنوان خطا در نظر گرفته میشوند و ispell حالتهای مختلف را با درج یک فاصله یا خط تیره بهعنوان جایگزینهای ممکن فهرست میکند. اگر -C مشخص شود، کلمات به هم چسبیده بهعنوان کلمات مرکب معتبر در نظر گرفته میشوند، تا زمانی که هر دو جزء در فرهنگ لغت موجود باشند، و طول هر جزء حداقل به اندازه حداقل وابسته به زبان (بهطور پیشفرض ۳ نویسه) باشد. این قابلیت برای زبانهایی مانند آلمانی و نروژی که در آنها بسیاری از کلمات مرکب با الحاق ساخته میشوند مفید است. (توجه داشته باشید که کلمات مرکب ساختهشده از سه یا چند کلمه ریشه همچنان خطا در نظر گرفته میشوند). پیشفرض این گزینه وابسته به زبان است؛ در یک نصب چندزبانه ممکن است پیشفرض بسته به اینکه کدام فرهنگ لغت را انتخاب میکنید متفاوت باشد. هشدار: گزینه -C میتواند باعث شود ispell کلمات نامعتبر و غلطهای املایی را بهعنوان کلمه درست بشناسد. با احتیاط از آن استفاده کنید!
گزینههای -P و -m کنترل میکنند که چه زمانی ispell بهطور خودکار ترکیبهای پیشنهادی ریشه/وند را برای افزودن احتمالی به فرهنگ لغت شخصی شما تولید کند. (اینها همان مواردی در فهرست «حدسها» هستند که در ابتدای آنها علامت سؤال قرار دارد). اگر -P مشخص شود، چنین حدسهایی تنها در صورتی نمایش داده میشوند که ispell نتواند هیچ حالت ممکنی که با فرهنگ لغت فعلی مطابقت داشته باشد تولید کند. اگر -m مشخص شود، چنین حدسهایی همیشه نمایش داده میشوند. این میتواند در صورتی مفید باشد که فرهنگ لغت دارای فهرست کلمات محدودی باشد، یا فهرست کلماتی با پسوندهای کم داشته باشد. با این حال، هنگام استفاده از این گزینه باید مراقب باشید، زیرا میتواند حدسهایی تولید کند که منجر به کلمات نامعتبر میشوند. پیشفرض این گزینه توسط فایل فرهنگ لغت استفادهشده کنترل میشود.
گزینه -S رفتار عادی ispell در مرتبسازی فهرست کلمات جایگزین احتمالی را غیرفعال میکند. برخی افراد ممکن است این را ترجیح دهند، زیرا تا حدودی احتمال قرار گرفتن کلمه درست در شمارههای پایینتر را افزایش میدهد.
گزینه -d برای مشخص کردن یک فایل فرهنگ لغت هششده جایگزین، غیر از پیشفرض، استفاده میشود. اگر نام فایل حاوی "/" نباشد، مسیر دایرکتوری کتابخانه برای فایل فرهنگ لغت پیشفرض به ابتدای آن اضافه میشود؛ بنابراین، برای استفاده از یک فرهنگ لغت در دایرکتوری محلی باید از "-d ./xxx.hash" استفاده شود. این قابلیت برای امکانپذیر ساختن فرهنگهای لغت زبانهای دیگر مفید است. برخلاف نسخههای قبلی ispell، فرهنگ لغت /dev/null نامعتبر است، زیرا فرهنگ لغت حاوی جدول وندها است. اگر به یک فرهنگ لغت عملاً خالی نیاز دارید، یک فهرست تکورودی با یک رشته نامحتمل (مثلاً "qqqqq") ایجاد کنید.
گزینه -p برای مشخص کردن یک فایل فرهنگ لغت شخصی جایگزین استفاده میشود. اگر نام فایل با "/" شروع نشود، متغیر $HOME به ابتدای آن اضافه میشود. همچنین، متغیر پوسته WORDLIST میتواند تنظیم شود که فرهنگ لغت شخصی را به همان شیوه تغییر نام میدهد. خط فرمان هرگونه تنظیمات WORDLIST را لغو میکند. اگر نه گزینه -p و نه متغیر محیطی WORDLIST داده نشوند، ispell برای یافتن فرهنگ لغت شخصی هم در دایرکتوری جاری و هم در $HOME جستجو میکند، و در صورت پیدا نشدن، یکی در $HOME ایجاد میکند. نام ترجیحی با افزودن ".ispell_" به نام پایه فایل هش ساخته میشود. برای مثال، اگر از فرهنگ لغت انگلیسی استفاده کنید، فرهنگ لغت شخصی شما به نام ".ispell_english" نامگذاری میشود. با این حال، اگر فایل ".ispell_words" وجود داشته باشد، صرفنظر از فایل هش زبان انتخابشده، بهعنوان فرهنگ لغت شخصی استفاده خواهد شد. این ویژگی در درجه اول برای سازگاری با گذشته گنجانده شده است.
اگر گزینه -p مشخص نشود، برنامه ispell به دنبال فرهنگهای لغت شخصی هم در دایرکتوری جاری و هم در دایرکتوری خانگی میگردد. اگر فرهنگهای لغت در هر دو مکان وجود داشته باشند، با هم ادغام خواهند شد. اگر کلماتی به فرهنگ لغت شخصی اضافه شوند، در صورتی که قبلاً فرهنگی در آن مکان وجود داشته باشد در دایرکتوری جاری نوشته میشوند؛ در غیر این صورت در فرهنگ لغت موجود در دایرکتوری خانگی نوشته خواهند شد.
گزینه -w ممکن است برای مشخص کردن نویسههایی غیر از حروف الفبا که میتوانند در کلمات ظاهر شوند استفاده شود. برای مثال، -w "&" اجازه میدهد "AT&T" پذیرفته شود. خط زیرین (Underscore) در بسیاری از اسناد فنی مفید است. یک تمهید البته ابتدایی در این گزینه برای نویسههای بینالمللی ۸ بیتی وجود دارد. نویسههای غیرقابل چاپ را میتوان به روش معمول با درج یک بکاسلش به همراه کد نویسه در مبنای هشت (Octal) مشخص کرد؛ مانند "\014" برای پرش صفحه (Form feed). بهعنوان روش جایگزین، اگر "n" در رشته نویسهها ظاهر شود، (حداکثر) سه نویسه بعدی یک کد دهدهی (Decimal) بین ۰–۲۵۵ برای آن نویسه هستند. برای مثال، جهت گنجاندن زنگها و پرشهای صفحه در کلمات خود (کاری که البته احمقانه به نظر میرسد، اما مگر اکثر مثالهای آموزشی اینطور نیستند؟):
ارقام عددی غیر از سه رقم بعد از "n" صرفاً نویسههای عددی هستند. استفاده از "n" با هیچ چیزی تداخل ندارد زیرا حروف الفبای واقعی معنایی ندارند - حروف الفبا قبلاً پذیرفته شدهاند. برنامه Ispell معمولاً با ورودی حاصل از یک فایل استفاده میشود، به این معنی که حفظ توازن (Parity) برای نویسههای ۸ بیتی احتمالی از متن ورودی مشکلی ندارد. اگر گزینه -l را مشخص کنید و در عمل متنی را از ترمینال تایپ کنید، در صورتی که تنظیمات stty شما توازن را حفظ کنند، این کار ممکن است مشکلاتی ایجاد کند.
استفاده از -w با برخی نویسههای خاص امکانپذیر نیست. بهویژه، نویسه نشانگر پرچم برای زبان (تعریفشده در فایل وندها، اما معمولاً "/") هرگز نمیتواند به یک نویسه کلمهای تبدیل شود.
گزینه -W میتواند برای تغییر طول کلماتی که ispell همیشه بهعنوان کلمه معتبر میپذیرد استفاده شود. بهطور معمول، ispell تمام کلمات ۱ نویسهای را معتبر میداند، که معادل تعیین "-W 1" است. (پیشفرض این گزینه در واقع توسط گزینه نصب MINWORD کنترل میشود، بنابراین ممکن است در نصب شما متفاوت باشد). اگر میخواهید همه کلمات صرفنظر از طول با فرهنگ لغت بررسی شوند، ممکن است بخواهید "-W 0" را مشخص کنید. از سوی دیگر، اگر سند شما حاوی تعداد زیادی کلمات اختصاری سهحرفی است، میتوانید "-W 3" را مشخص کنید تا تمام کلمات سه حرفی یا کمتر پذیرفته شوند. صرفنظر از تنظیم این گزینه، ispell تنها کلماتی را که در فرهنگ لغت موجود هستند بهعنوان جایگزینهای پیشنهادی برای کلمات تولید میکند؛ این کار مانع از طولانی شدن بیش از حد فهرست میشود. بدیهی است که این گزینه میتواند بسیار خطرناک باشد، زیرا غلطهای املایی کوتاه ممکن است نادیده گرفته شوند. اگر زیاد از این گزینه استفاده میکنید، احتمالاً باید قبل از انتشار سند خود یک بررسی نهایی بدون این گزینه انجام دهید تا از خود در برابر خطاها محافظت کنید.
گزینه -T برای مشخص کردن نوع قالببندی پیشفرض جهت استفاده در تولید نویسههای رشتهای به کار میرود. این گزینه نوع پیشفرض تعیینشده از روی نام فایل را لغو میکند. آرگومان type میتواند یکی از نامهای یکتای تعریفشده در فایل وندهای زبان (مانند nroff) یا پسوند فایل شامل نقطه (مانند .tex) باشد. اگر هیچ گزینه -T مشخص نشود و هیچ نوعی از نام فایل قابل تشخیص نباشد، نوع نویسه رشتهای پیشفرض اعلامشده در فایل وندهای زبان استفاده خواهد شد.
گزینه -k برای بهبود رفتار برخی از فرمتزداها (deformatters) استفاده میشود. پارامتر name نام مجموعهکلیدواژه فرمتزدا را مشخص میکند (پایینتر را ببینید)، و پارامتر list فهرستی از یک یا چند کلیدواژه ارائه میدهد که باید به شکل ویژه با آنها رفتار شود. اگر list با یک علامت مثبت (+) شروع شود، به کلیدواژههای موجود اضافه میگردد؛ در غیر این صورت جایگزین فهرست کلیدواژههای فعلی میشود. به عنوان مثال، -ktexskip1 +bibliographystyle مورد "bibliographystyle" را به فهرست skip-1 در TeX اضافه میکند، در حالی که -khtmlignore pre,strong فهرست نادیدهگیری HTML را با "pre" و "strong" جایگزین مینماید. فهرستهای در دسترس عبارتند از:
- texskip1
- دستورات TeX/LaTeX که یک تکآرگومان میگیرند و نباید غلطیابی املایی شوند، مانند "bibliographystyle". پیشفرض عبارت است از "end"، "vspace"، "hspace"، "cite"، "ref"، "parbox"، "label"، "input"، "nocite"، "include"، "includeonly"، "documentstyle"، "documentclass"، "usepackage"، "selectlanguage"، "pagestyle"، "pagenumbering"، "hyphenation"، "pageref"، و "psfig"، به علاوه "bibliography" در برخی نصبها. این کلیدواژهها به حروف کوچک و بزرگ حساس هستند.
- texskip2
- دستورات TeX/LaTeX که دو آرگومان میگیرند و نباید غلطیابی املایی شوند، مانند "setlength". پیشفرض عبارت است از "rule"، "setcounter"، "addtocounter"، "setlength"، "addtolength"، و "settowidth". این کلیدواژهها به حروف کوچک و بزرگ حساس هستند.
- htmlignore
- تگهای HTML که متنهایی را مشخص میکنند که نباید تا رسیدن به تگ پایانی متناظر غلطیابی شوند. پیشفرض عبارت است از "code"، "samp"، "kbd"، "pre"، "listing"، و "address". این کلیدواژهها به حروف کوچک و بزرگ حساس نیستند. (توجه داشته باشید که محتوای داخل تگهای HTML، مانند =HREF، معمولاً بررسی نمیشود.)
- htmlcheck
- زیرفیلدهایی که حتی درون تگهای HTML نیز باید غلطیابی شوند. پیشفرض "alt" است، تا بخش =ALT در تگهای IMG غلطیابی شود. این کلیدواژهها به حروف کوچک و بزرگ حساس نیستند.
تمام فهرستهای کلیدواژه فوق را میتوان از طریق متغیرهای محیطی با همان نامها (اما با حروف بزرگ)، مانند TEXSKIP1، نیز تغییر داد. گزینه -k بر متغیرهای محیطی اولویت دارد (یا به آنها میافزاید)، و متغیرهای محیطی نیز بر پیشفرضهای داخلی اولویت دارند یا به آنها اضافه میشوند.
گزینه -F یک برنامه فرمتزدای خارجی را مشخص میکند. این برنامه باید دادهها را از ورودی استاندارد خود بخواند و در خروجی استاندارد بنویسد. برنامه باید دقیقاً به ازای هر نویسه ورودی، یک نویسه در خروجی تولید کند، در غیر این صورت ispell همگامسازی خود را از دست داده و فایل خروجی را خراب میکند. نویسههای فاصله خالی (بهویژه فاصلهها، تبها و خطوط جدید) و نویسههایی که باید غلطیابی شوند باید دستنخورده عبور داده شوند. نویسههایی که نباید غلطیابی شوند باید به فاصله خالی یا دیگر نویسههای غیرکلمهای تبدیل گردند. برای مثال، یک فرمتزدای HTML ممکن است تمام تگهای HTML را به فاصلههای خالی تبدیل کند، و همچنین تمام متنهای محصور میان تگهایی چون "code" یا "kbd" را خالی نماید.
گزینه -F روش ترجیحی برای فرمتزدایی فایلها برای ispell است، و در نهایت به تنها روش تبدیل خواهد شد.
اگر ispell بدون هیچ نام فایل یا سوییچ حالتی فراخوانی شود، وارد یک حالت تعاملی میشود که برای بررسی املای کلمات تکی توسط کاربر طراحی شده است. برنامه به طور مکرر روی خروجی استاندارد عبارت "word:" را نمایش میدهد و با "ok" (احتمالاً همراه با توضیحات)، "not found"، یا "how about" به همراه فهرستی از پیشنهادات پاسخ میدهد.
گزینه -l یا "list" در ispell برای تولید فهرستی از کلمات دارای غلط املایی از ورودی استاندارد استفاده میشود.
گزینه -a برای استفاده از طریق برنامههای دیگر با لولهکشی (pipe) در نظر گرفته شده است. در این حالت، ispell یک پیام شناسایی نسخه یکخطی چاپ میکند و سپس شروع به خواندن سطرهای ورودی مینماید. به ازای هر سطر ورودی، یک سطر در خروجی استاندارد برای هر کلمه غلطیابیشده در آن سطر نوشته میشود. اگر کلمه در فرهنگ لغت اصلی یا فرهنگ لغت شخصی شما یافت شود، آنگاه سطر فقط شامل یک '*' خواهد بود. اگر کلمه از طریق حذف وند (affix removal) یافت شود، سطر شامل یک '+'، یک فاصله، و ریشه کلمه خواهد بود. اگر کلمه از طریق ساخت کلمه مرکب (الحاق دو کلمه، که توسط گزینه -C کنترل میشود) پیدا شده باشد، سطر تنها شامل یک '-' خواهد بود.
اگر کلمه در فرهنگ لغت نباشد، اما مشابههای نزدیکی (near misses) وجود داشته باشد، سطر شامل یک '&'، یک فاصله، کلمه دارای غلط املایی، یک فاصله، تعداد مشابههای نزدیک، تعداد نویسهها میان ابتدای سطر و ابتدای کلمه دارای غلط املایی، یک دونقطه، یک فاصله دیگر، و فهرستی از مشابههای نزدیک که با کاما و فاصله از هم جدا شدهاند خواهد بود. پس از مشابههای نزدیک (و مشخصشده تنها با تعداد مشابههای نزدیک)، اگر کلمه با افزودن وندهای (نامعتبر) به یک ریشه شناختهشده قابل ساخت باشد، فهرستی از اشتقاقهای پیشنهادی قرار میگیرد که باز با کاما و فاصله جدا شدهاند. اگر هیچ مشابه نزدیکی وجود نداشته باشد، فرمت سطر یکسان است، با این تفاوت که '&' با '?' جایگزین میشود (و تعداد مشابههای نزدیک همیشه صفر است). اشتقاقهای پیشنهادی پس از مشابههای نزدیک به صورت زیر هستند:
(برای مثال، "re+fry-y+ies" برای رسیدن به "refries") که در آن هر pfx و sfx اختیاری یک رشته است. همچنین، بزرگنویسی هر مشابه نزدیک یا حدس مانند کلمه ورودی خواهد بود، مگر اینکه چنین بزرگنویسی نامعتبر باشد؛ در حالت اخیر هر مشابه نزدیک به درستی و بر اساس فرهنگ لغت بزرگنویسی میشود.
در نهایت، اگر کلمه در فرهنگ لغت ظاهر نشود و هیچ مشابه نزدیکی وجود نداشته باشد، سطر شامل یک '#'، یک فاصله، کلمه دارای غلط املایی، یک فاصله، و آفست نویسه از ابتدای سطر خواهد بود. هر جمله از متن ورودی با یک سطر خالی اضافی خاتمه مییابد، که نشان میدهد ispell پردازش سطر ورودی را به پایان رسانده است.
این سطرهای خروجی را میتوان به صورت زیر خلاصه کرد:
برای مثال، یک فرهنگ لغت فرضی شامل کلمات "fray"، "Frey"، "fry"، و "refried" ممکن است در پاسخ به دستور "echo 'frqy refries' | ispell -a -m -d ./test.hash" خروجی زیر را تولید کند:
(#) International Ispell Version 3.0.05 (beta), 08/10/91 & frqy 3 0: fray, Frey, fry & refries 1 5: refried, re+fry-y+ies
این حالت برای استفاده تعاملی در زمانی که میخواهید املای یک کلمه منفرد را بیابید نیز مناسب است.
گزینه -A دقیقاً مانند -a، عمل میکند، با این تفاوت که اگر یک سطر با رشته "&Include_File&" شروع شود، ادامه سطر به عنوان نام فایلی برای خواندن کلمات بعدی در نظر گرفته میشود. هنگامی که فایل گنجاندهشده به پایان برسد، ورودی به فایل اصلی بازمیگردد. گنجاندن فایلها میتواند تا ۵ سطح تو در تو باشد. رشته کلیدی را میتوان با متغیر محیطی INCLUDE_STRING تغییر داد (علامتهای &، در صورت وجود، باید لحاظ شوند).
در حالت -a، برنامه ispell سطرهایی از تککلمات را که با هر یک از نشانههای سطری که با '*' شروع شود به ispell میگوید که کلمه را در فرهنگ لغت کاربر درج کند (مشابه دستور I). سطری که با '&' شروع شود به ispell میگوید نسخه تماماً با حروف کوچک کلمه را در فرهنگ لغت کاربر درج نماید (مشابه دستور U). سطری که با '@' شروع شود باعث میشود ispell این کلمه را در آینده بپذیرد (مشابه دستور A). سطری که با '+' شروع شده و بلافاصله پس از آن tex یا nroff بیاید، باعث میشود ispell ورودیهای آینده را بر اساس قواعد نحوی آن قالببند پردازش کند. سطری که صرفاً شامل یک '+' باشد، ispell را در حالت TeX/LaTeX قرار میدهد (مشابه گزینه -t) و '-' برنامه ispell را به حالت nroff/troff بازمیگرداند (اما این دستورات منسوخ شدهاند). با این حال، نوع نویسه رشتهای (string character type) تغییر نمیکند؛ برای انجام این کار باید از دستور '~' استفاده شود. سطری که با '~' شروع شود باعث میشود ispell پارامترهای داخلی (به ویژه نوع نویسه رشتهای پیشفرض) را بر اساس نام فایل ارائهشده در ادامه سطر تنظیم کند. (یک پسوند فایل کافی است، اما نقطه باید گنجانده شود. به جای نام فایل یا پسوند، میتوان یک نام منحصربهفرد را، همانگونه که در فایل وند زبان آمده است، مشخص کرد.) با این حال، تجزیهکننده قالببند تغییر نمیکند؛ برای تغییر قالببند باید از دستور '+' استفاده شود. سطری که با '#' شروع شود باعث میشود فرهنگ لغت شخصی ذخیره گردد. سطری که با '!' شروع شود حالت مختصر (terse) را فعال میکند (پایینتر را ببینید)، و سطری با پیشوند '%' برنامه ispell را به حالت عادی (غیرمختصر) بازمیگرداند. سطری با پیشوند '`' حالت اصلاح مشروح (verbose-correction) را فعال میکند (پایین را ببینید)؛ این حالت را تنها میتوان با فعالسازی حالت مختصر با '%' غیرفعال کرد.
هر ورودی بعد از نویسههای پیشوندی '+'، '-'، '#'، '!'، '%'، یا '`' نادیده گرفته میشود، همانطور که هر ورودی پس از نام فایل در یک سطر '~' نادیده انگاشته میشود. برای امکان غلطیابی سطرهایی که با این نویسهها شروع میشوند، نویسه ابتدایی سطری که با '^' شروع شود قبل از ارسال به کد غلطیابی حذف میگردد. توصیه میشود که رابطهای برنامهنویسی برای محافظت از خود در برابر تغییرات آینده در ispell، به ابتدای هر سطر داده یک علامت پیکان رو به بالا (^) اضافه کنند.
برای خلاصهسازی این موارد:
- *
- افزودن به فرهنگ لغت شخصی
- @
- پذیرش کلمه، بدون افزودن به فرهنگ لغت
- #
- ذخیره فرهنگ لغت شخصی فعلی
- ~
- تنظیم پارامترها بر اساس نام فایل
- +
- ورود به حالت TeX
- -
- خروج از حالت TeX
- !
- ورود به حالت مختصر (terse)
- %
- خروج از حالت مختصر
- `
- ورود به حالت اصلاح مشروح (verbose-correction)
- ^
- غلطیابی املایی بقیه سطر
در حالت مختصر، برنامه ispell سطرهایی را که با '*'، '+'، یا '-' شروع میشوند (که همگی نشاندهنده کلمات صحیح هستند) چاپ نمیکند. این کار در صورتی که برنامه فراخواننده به هر حال کلمات صحیح را نادیده بگیرد، سرعت اجرا را به طور چشمگیری افزایش میدهد.
در حالت اصلاح مشروح، برنامه ispell کلمه اصلی را بلافاصله پس از نویسه نشانگر در سطرهای خروجی شروعشده با '*'، '+'، و '-' درج میکند، که تعامل را برای برخی برنامهها سادهتر میسازد.
گزینه -s تنها همراه با گزینههای -a یا -A و فقط در سیستمهای مشتقشده از BSD معتبر است. در صورت مشخص شدن، ispell پس از هر سطر ورودی، خود را با سیگنال SIGTSTP متوقف میکند. این برنامه تا زمانی که سیگنال SIGCONT را دریافت نکند ورودی بیشتری نخواهد خواند. این ممکن است برای برقراری ارتباط (handshaking) با برخی ویرایشگرهای متن مفید باشد.
گزینه -f تنها همراه با گزینههای -a یا -A معتبر است. اگر -f مشخص شود، ispell نتایج خود را به جای خروجی استاندارد در فایل دادهشده مینویسد.
گزینه -v باعث میشود ispell اطلاعات نسخه فعلی خود را در خروجی استاندارد چاپ کرده و خارج شود. اگر این سوییچ دو بار تکرار شود، ispell گزینههایی را که با آنها کامپایل شده است نیز چاپ خواهد کرد.
گزینههای -c، -e[1\n5]، و -D در ispell، در درجه اول برای استفاده توسط اسکریپت شل munchlist در نظر گرفته شدهاند. سوییچ -c باعث میشود فهرستی از کلمات از ورودی استاندارد خوانده شود. برای هر کلمه، فهرستی از ریشهها و وندهای احتمالی در خروجی استاندارد نوشته میشود. برخی از ریشهها نامعتبر خواهند بود و باید از طریق ابزارهای دیگر از خروجی فیلتر شوند؛ اسکریپت munchlist این کار را انجام میدهد. به عنوان مثال، دستور:
خروجی زیر را تولید میکند:
BOTHER BOTHE/R BOTH/R
سوییچ -e عکس -c است؛ این سوییچ پرچمهای وند را برای تولید فهرستی از کلمات بسط میدهد. برای مثال، دستور:
خروجی زیر را تولید میکند:
BOTH BOTHER
یک سطح بسط اختیاری نیز میتواند مشخص شود. سطح ۱ (-e1) همانند -e به تنهایی است. سطح ۲ باعث میشود ترکیب ریشه/وند اصلی به ابتدای سطر اضافه شود:
BOTH/R BOTH BOTHER
سطح ۳ باعث میشود چندین سطر خروجی داده شود، یکی برای هر کلمه تولیدشده، به طوری که ترکیب ریشه/وند اصلی و به دنبال آن کلمهای که ایجاد میکند قرار میگیرد:
BOTH/R BOTH BOTH/R BOTHER
سطح ۴ باعث میشود یک عدد ممیز شناور به انتهای هر یک از سطرهای سطح ۳ اضافه شود، که نسبت میان طول ریشه و طول کل تمام کلمات تولیدشده از جمله ریشه را نشان میدهد:
BOTH/R BOTH 2.500000 BOTH/R BOTHER 2.500000
سطح ۵ باعث میشود چندین سطر خروجی داده شود، یکی برای هر کلمه تولیدشده. اگر کلمه تولیدشده از هیچ وندی استفاده نکرده باشد، سطر فقط همان کلمه خواهد بود. اگر از یک یا چند وند استفاده شده باشد، ریشه اصلی و وندهایی که واقعاً استفاده شدهاند با یک علامت مثبت پیوند خورده و چاپ میشوند؛ سپس کلمه تولیدشده چاپ میشود:
BOTH BOTH+R BOTHER
در نهایت، فلگ -D باعث میشود جداول وند از فایل فرهنگ لغت در خروجی استاندارد تخلیه (dump) شوند.
برنامه ispell از بزرگنویسی صحیح کلمات در فرهنگ لغت و فرهنگ لغت شخصی شما آگاه است. علاوه بر تشخیص کلماتی که باید با حرف بزرگ شروع شوند (مانند George) و کلماتی که باید تماماً با حروف بزرگ باشند (مانند NASA)، میتواند کلماتی با بزرگنویسی "نامعمول" (مانند "ITCorp" یا "TeX") را نیز مدیریت کند. اگر کلمهای با بزرگنویسی نادرست نوشته شود، فهرست گزینههای ممکن شامل تمام بزرگنویسیهای قابل قبول خواهد بود. (بیش از یک حالت بزرگنویسی ممکن است قابل قبول باشد؛ به عنوان مثال، فرهنگ لغت من هم "ITCorp" و هم "ITcorp" را فهرست میکند.)
به طور معمول، این ویژگی برای شما غافلگیری ایجاد نمیکند، اما وضعیتی وجود دارد که باید از آن آگاه باشید. اگر از "I" برای افزودن کلمهای به فرهنگ لغت خود استفاده کنید که در ابتدای یک جمله قرار دارد (مثلاً اولین کلمه این پاراگراف اگر "normally" در فرهنگ لغت نبود)، آن کلمه به عنوان "نیازمند بزرگنویسی" علامتگذاری میشود. استفاده بعدی از این کلمه بدون حروف بزرگ (مثلاً کلمه داخل گیومه در جمله قبلی) توسط ispell به عنوان غلط املایی تلقی میشود، و نسخه با حروف بزرگ را پیشنهاد میدهد. سپس باید املای واقعی را با چشم مقایسه کنید و کلید "I" را برای افزودن گونه بدون حروف بزرگ به فرهنگ لغت شخصی خود فشار دهید. میتوانید با استفاده از "U" برای افزودن کلمه اصلی به جای "I"، از بروز این مشکل جلوگیری کنید.
قوانین مربوط به بزرگنویسی به شرح زیر است:
- (1)
- هر کلمهای میتواند مانند عناوین، تماماً با حروف بزرگ ظاهر شود.
- (2)
- هر کلمهای که در فرهنگ لغت به صورت تماماً با حروف کوچک وجود دارد، میتواند با حروف کوچک یا با حرف اول بزرگ (مانند ابتدای جمله) ظاهر شود.
- (3)
- هر کلمهای که دارای بزرگنویسی "عجیب" باشد (یعنی شامل هر دو نوع حروف کوچک و بزرگ باشد و حرف بزرگی غیر از حرف اول داشته باشد) باید دقیقاً همانگونه که در فرهنگ لغت آمده ظاهر شود، مگر مواردی که طبق قاعده (۱) مجاز است. اگر کلمه با تمام حروف کوچک قابل قبول باشد، باید به همین صورت در مدخل فرهنگ لغت ثبت شود.
buildhash
برنامه buildhash فایلهای فرهنگ لغت درهمسازیشده (hashed) را برای استفادههای بعدی توسط ispell میسازد. فهرست کلمات خام (همراه با پرچمهای پسوند/پیشوند) در dict-file داده میشود و پرچمهای وند توسط affix-file تعریف میگردند. خروجی درهمسازیشده در hash-file نوشته میشود. قالبهای این دو فایل ورودی در ispell(5) شرح داده شدهاند. گزینه -s (بیصدا / silent) از نمایش پیامهای وضعیت معمول که در خروجی خطای استاندارد نوشته میشوند جلوگیری میکند.
munchlist
اسکریپت پوسته munchlist برای کاهش حجم فایلهای فرهنگ لغت، بهویژه فرهنگ لغتهای شخصی، به کار میرود. همچنین این ابزار قادر به ترکیب فرهنگهای لغت از منابع گوناگون است. فایلهای دادهشده خوانده میشوند (در صورت عدم ارائه آرگومان، ورودی استاندارد)، به کمترین مجموعه ممکن از ریشهها و وندها که همان فهرست کلمات را تطبیق میدهند کاهش مییابند و در خروجی استاندارد نوشته میشوند.
ورودی munchlist شامل کلمات خام (مثلاً از فایلهای فرهنگ لغت شخصی شما) یا ترکیبهای ریشه و وند (احتمالاً تولیدشده در اجراهای پیشین munchlist) است. هر کلمه یا ترکیب ریشه/وند باید در یک خط مجزا قرار داشته باشد.
گزینه -D (اشکالزدایی / debug) فایلهای موقت را بهجای حذف کردن، با نامهای استاندارد باقی میگذارد تا بتوان اسکریپت را اشکالزدایی کرد. هشدار: در یک سیستم چندکاربره، این کار میتواند یک رخنه امنیتی باشد. برای جلوگیری از احتمال نابودی فایلهای مهم، اسکریپت را با کاربر ارشد (root) اجرا نکنید و متغیر MUNCHDEBUGDIR را روی نام پوشهای تنظیم کنید که فقط شما به آن دسترسی دارید.
گزینه -v (پرگو / verbose) باعث میشود پیامهای پیشرفت به stderr گزارش شوند تا نگران قفل شدن یا متوقف شدن munchlist نشوید.
اگر گزینه -s (حذف / strip) مشخص شود، کلماتی که در hash-file تعیینشده موجود هستند از فهرست کلمات حذف میشوند. این ویژگی میتواند برای فرهنگ لغتهای شخصی کاربردی باشد.
گزینه -l میتواند برای تعیین یک affix-file جایگزین جهت فشردهسازی و پردازش فرهنگهای لغت به زبانهایی غیر از انگلیسی استفاده شود.
گزینه -c میتواند برای تبدیل فرهنگهای لغتی که با یک فایل وند قدیمیتر ساخته شدهاند به کار رود، بدون اینکه خطر ورود تصادفی ترکیبهای ناخواسته وند به فرهنگ لغت وجود داشته باشد.
گزینه -T امکان تبدیل فرهنگهای لغت به قالب نویسه-رشتهای متعارف (canonical) را فراهم میکند. پسوند مشخصشده در فایل وند (سوییچ -l) جستجو میشود تا قالب نویسه-رشتهای استفادهشده برای فایل ورودی تعیین شود؛ خروجی همواره از قالب نویسه-رشتهای متعارف استفاده میکند. به عنوان مثال، فرهنگ لغتی که از فایلهای منبع TeX جمعآوری شده است را میتوان با تعیین -T tex به قالب متعارف تبدیل کرد.
گزینه -w به ispell پاس داده میشود.
findaffix
اسکریپت پوسته findaffix کمکی است برای نویسندگان توصیف زبانهای جدید جهت انتخاب وندها. فایلهای فرهنگ لغت دادهشده (در صورت عدم تعیین، ورودی استاندارد) برای یافتن پیشوندهای احتمالی (سوییچ -p) یا پسوندها (سوییچ -s، پیشفرض) بررسی میشوند. هر وند پرکاربرد همراه با تعداد دفعات تکرار آن و تخمینی از تعداد بایتهایی که در صورت افزودن آن به جدول زبان در فایل درهمسازی فرهنگ لغت صرفهجویی میشود نمایش داده میشود. تنها وندهایی فهرست میشوند که ریشههای معتبری (موجود در ورودی اصلی) تولید کنند.
اگر گزینه «-c» داده نشود، خطوط خروجی در قالب زیر خواهند بود:
- strip/add/count/bytes
که در آن strip رشتهای است که باید پیش از افزودن وند از کلمه ریشه حذف شود، add وندی است که باید اضافه شود، count تعداد دفعاتی است که این ترکیب strip/add ظاهر شده است، و bytes تخمینی از تعداد بایتهایی است که در صورت افزودن این ترکیب به فایل وند در فایل فرهنگ لغت خام صرفهجویی میشود. جداکننده فیلدها در خروجی، نویسه تب مشخصشده با سوییچ -t خواهد بود؛ حالت پیشفرض اسلش («/») است.
اگر گزینه -c («خروجی تمیز / clean output») داده شود، ظاهر خروجی از نظر بصری تمیزتر (اما برای پردازشهای بعدی دشوارتر) شده و به شکل زیر تغییر مییابد:
- -strip+add<tab>count<tab>bytes
که در آن strip، add، count و bytes همانند قبل هستند و <tab> نمایانگر نویسه تب اسکی است.
روشی که برای تولید وندهای احتمالی استفاده میشود، وندهای طولانیتری را نیز که دارای سرآیند یا تهآیند مشترک هستند تولید خواهد کرد. به عنوان مثال، دو کلمه «moth» و «mother» نه تنها جایگزینی بدیهی «+er»، بلکه «-h+her» و «-th+ther» (و بسته به مقدار min، احتمالاً حتی طولانیتر) را نیز تولید میکنند. برای جلوگیری از شلوغ شدن خروجی با چنین وندهایی، هر جفت وندی که دارای سرآیند مشترک (یا برای پیشوندها، رشته تهآیند مشترک) طولانیتر از elim نویسه (پیشفرض ۱) باشد، حذف میشود. اگر زبان شما دارای نویسههای رشتهای باشد، ممکن است بخواهید «elim» را روی مقداری بزرگتر از ۱ تنظیم کنید؛ معمولاً نیاز به این پارامتر هنگام بررسی خروجی اجرای findaffix مشخص خواهد شد.
به طور معمول، وندها بر اساس تخمین بایتهای صرفهجوییشده مرتب میشوند. سوییچ -f میتواند برای مرتبسازی وندها بر اساس بسامد و فراوانی تکرار استفاده شود.
جهت صرفهجویی در فضای فایل خروجی، وندهایی که کمتر از ۱۰ بار تکرار شدهاند حذف میشوند؛ این محدودیت را میتوان با سوییچ -l تغییر داد. سوییچ -M حداکثر طول وند را تعیین میکند (پیشفرض ۸). وندهای طولانیتر از این مقدار گزارش نخواهند شد. (این کار موجب صرفهجویی در فضای دیسک موقت شده و سرعت اجرای اسکریپت را افزایش میدهد.)
وندهایی که ساقههای کوتاهتر از ۳ نویسه تولید میکنند نادیده گرفته میشوند. (ساقه کلمهای است که پس از حذف رشته strip و پیش از افزودن رشته add به دست میآید.) این کار هم زمان اجرا و هم حجم فایل خروجی را کاهش میدهد. این محدودیت با سوییچ -m قابل تغییر است. حداقل طول ساقه را فقط در صورتی باید روی ۱ تنظیم کنید که زمان آزاد و فضای دیسک بسیار زیادی داشته باشید (در حدود چندین روز و صدها مگابایت).
اسکریپت findaffix برای استفادههای داخلی به یک نویسه جداکننده فیلد غیرفاصلهای نیاز دارد. به طور معمول، این نویسه یک اسلش («/») است، اما اگر اسلش به عنوان یک نویسه در فهرست کلمات ورودی وجود داشته باشد، میتوان نویسه متفاوتی را با سوییچ -t تعیین کرد.
فرهنگهای لغت Ispell پیش از تحویل به findaffix باید گسترش یابند؛ علاوه بر این، نویسههایی که در الفبای انگلیسی نیستند (در صورت وجود) باید به حروف کوچک تبدیل شوند.
tryaffix
اسکریپت پوسته tryaffix برای برآورد میزان اثربخشی یک پیشوند پیشنهادی (سوییچ -p) یا پسوند (سوییچ -s، پیشفرض) روی یک expanded-file مشخص استفاده میشود. در هر بار اجرای tryaffix تنها یک وند را میتوان آزمایش کرد، هرچند میتوان از چندین آرگومان برای توصیف شکلهای مختلف همان پرچم وند استفاده نمود (برای مثال، پرچم D در زبان انگلیسی بسته به اینکه آیا در انتهای کلمه E وجود دارد یا خیر، میتواند D یا ED را اضافه کند). هر کلمه در فرهنگ لغت گسترشیافته که به پسوند (یا پیشوند) انتخابشده ختم (یا شروع) میشود، پسوند (پیشوند) آن برداشته میشود؛ سپس فرهنگ لغت برای یافتن کلمات ریشهای که با کلمه خردشده تطابق دارند جستجو میشود. در حالت عادی، تمام ریشههای منطبق در خروجی استاندارد نوشته میشوند، اما اگر پرچم -c (شمارش / count) داده شود، تنها خلاصهای آماری از نتایج نوشته میشود. آمارهای ارائهشده شامل تعداد کلماتی است که وند به طور بالقوه روی آنها اعمال میشود و تخمینی از تعداد بایتهای فرهنگ لغت که پرچمی با استفاده از این وند صرفهجویی میکند. اگر پرچم کلماتی تولید کند که در حال حاضر توسط سایر پرچمهای وند تولید میشوند (مثلاً در انگلیسی، bathers میتواند توسط bath/X یا bather/S تولید شود)، مقدار تخمینی بالا خواهد بود.
فایل فرهنگ لغت، expanded-file، باید از قبل (با استفاده از سوییچ -e دستور ispell) گسترش یافته و مرتب شده باشد، و معمولاً اگر حروف بزرگ با دستور «tr» به حروف کوچک تبدیل شده باشند بهترین نتیجه حاصل میشود.
آرگومانهای affix مواردی هستند که برای تولید ریشههای آزمایشی باید از فایل فرهنگ لغت حذف شوند؛ برای انگلیسی، con (پیشوند) و ing (پسوند) نمونههایی از آن هستند. بخشهای addition آرگومان، حروفی هستند که پیش از افزودن وند از ریشه حذف میشدند. برای مثال، در انگلیسی وند ing معمولاً برای کلماتی که به حرف e ختم میشوند، آن را حذف میکند (مثلاً like تبدیل به liking میشود)، بنابراین میتوانیم دستور زیر را اجرا کنیم:
tryaffix ing ing+e
تا هر دو حالت پوشش داده شوند.
تمام اسکریپتهای پوسته شامل مستنداتی در قالب کامنت در ابتدای خود هستند؛ گاهی این کامنتها حاوی اطلاعات مفیدی فراتر از محدوده این صفحه راهنما هستند.
در صورت تمایل، میتوان ispell را به گونهای نصب کرد که تنها از متنهای محدوده اسکی (ASCII) پشتیبانی کند.
icombine
برنامه icombine یک ابزار کمکی برای munchlist است. این برنامه فهرستی از کلمات را در قالب فرهنگ لغت (ریشهها به همراه پرچمها) از ورودی استاندارد میخواند و فهرستی کاهشیافته در خروجی استاندارد تولید میکند که ریشههای مشترک موجود در مدخلهای مجاور را با یکدیگر ترکیب مینماید. ریشههای یکسانی که دارای پرچمهای متفاوتی هستند، پرچمهایشان با هم ادغام میشود و ریشههایی با حروف بزرگ و کوچک متفاوت به گونهای ترکیب میشوند که تنها اطلاعات مهم مربوط به بزرگی و کوچکی حروف حفظ شود. فایل اختیاری aff-file یک فایل زبان را مشخص میکند که مجموعههای نویسه استفادهشده و معانی پرچمهای مختلف را تعریف مینماید. سوییچ -T میتواند برای انتخاب بین انواع نویسههای رشتهای جایگزین، با ارائه یک پسوند ساختگی که در یک عبارت altstringtype یافت میشود، مورد استفاده قرار گیرد. سوییچ -w مشابه همین سوییچ در ispell است.
ijoin
برنامه ijoin یک پیادهسازی مجدد از join(1) است که خطوط طولانی و نویسههای ۸-بیتی را به درستی مدیریت میکند. سوییچ -s مشخص میکند که برنامه sort(1) استفادهشده برای آمادهسازی ورودی ijoin از مقایسههای علامتدار (signed) روی نویسههای ۸-بیتی استفاده میکند؛ سوییچ -u مشخص میکند که sort(1) از مقایسههای بدون علامت (unsigned) استفاده مینماید. تمام گزینهها و رفتارهای دیگر join(1) بر اساس صفحه راهنمای آن تا حد ممکن به طور دقیق بازتولید شدهاند، به جز اینکه ijoin از نویسه خط جدید (newline) به عنوان جداکننده فیلد پشتیبانی نمیکند. برای اطلاعات بیشتر به صفحه راهنمای join(1) مراجعه کنید.
محیط (ENVIRONMENT)
- DICTIONARY
- دیکشنری پیشفرض برای استفاده، در صورتی که گزینهٔ -d داده نشده باشد.
- ISPELL_CHARSET
- نوع فرمتکننده یا کدگذاری نویسه برای استفاده، در صورتی که با هیچ گزینهای انتخاب نشده باشد.
- WORDLIST
- نام فایل فرهنگ لغت شخصی
- INCLUDE_STRING
- کد برای گنجاندن فایل تحت گزینهٔ -A
- TMPDIR
- دایرکتوری مورد استفاده برای برخی فایلهای موقت munchlist
- MUNCHDEBUGDIR
- دایرکتوری مورد استفاده برای نگهداری خروجی گزینهٔ -D برنامهٔ munchlist.
- TEXSKIP1
- فهرست کلیدواژههای تکآرگومانی TeX که ispell باید از آنها صرفنظر کند.
- TEXSKIP2
- فهرست کلیدواژههای دوآرگومانی TeX که ispell باید از آنها صرفنظر کند.
- HTMLIGNORE
- فهرست کلیدواژههای HTML که مرز متنی را که نباید غلطیابی املایی شود مشخص میکنند.
- HTMLCHECK
- فهرست فیلدهای HTML که همیشه باید غلطیابی املایی شوند، حتی درون یک تگ.
فایلها (FILES)
- /usr/lib/ispell/english.hash
- دیکشنری هششده (بسته به سیستم، ممکن است در دایرکتوری محلی دیگری یافت شود).
- /usr/lib/ispell/english.aff
- فایل تعریف وندها (Affix) برای munchlist
- /usr/share/dict/words
- برای تابع Lookup.
- $HOME/.ispell_hashfile
- دیکشنری شخصی کاربر
- .ispell_hashfile
- دیکشنری شخصی ویژهٔ دایرکتوری
همچنین ببینید (SEE ALSO)
egrep(1), look(1), join(1), sort(1), sq(1), tib (در صورت وجود در سیستم شما), ispell(5), english(5)
اشکالات (BUGS)
ispell باید ساختار نحوی بیشتری از troff را بفهمد و با کلمات مخفف بهصورت هوشمندانهتری برخورد کند.
اگرچه فرهنگهای لغت شخصی کوچک پیش از نوشته شدن مرتب میشوند، ترتیب حروف بزرگ و کوچک برای یک کلمه تا حدی تصادفی است.
هنگامی که پرچم -x مشخص شده باشد، ispell هر فایل .bak موجود را حذف (unlink) خواهد کرد.
پرچمهای بسیار زیادی وجود دارد و بسیاری از آنها نامهای غیرقابلبهخاطرسپاری (غیر یادسپار) دارند.
پرچم -e باید به جای آرگومانهای عددی، آرگومانهای یادسپار را بپذیرد.
munchlist با دیکشنریهایی که حاوی نویسههای «غیرکلمهای» هستند بهخوبی رفتار نمیکند. چنین نویسههایی باید همراه با یک پیام هشدار از دیکشنری حذف شوند.
نویسنده (AUTHOR)
Pace Willisson (pace@mit-vax)، سال ۱۹۸۳، بر پایهٔ نسخهٔ اسمبلی PDP-10. آن نسخه توسط R. E. Gorin در سال ۱۹۷۱ نوشته شد و بعدها توسط W. E. Matson (۱۹۷۴) و W. B. Ackerman (۱۹۷۸) بازبینی شد.
گردآوری، بازبینی و بهبود برای Usenet توسط Walt Buehring، سال ۱۹۸۷.
نسخهٔ چندزبانه مبتنی بر جدول توسط Geoff Kuenning، سالهای ۱۹۸۷–۸۸.
فرهنگهای لغت بزرگ توسط Bob Devine (vianet!devine) ارائه شدهاند.
فهرست کامل مشارکتکنندگان طولانیتر از آن است که در اینجا آورده شود، اما همراه با سورسهای ispell در فایل "Contributors" توزیع شده است.
نسخه (VERSION)
نسخهٔ ispell توصیفشده در این صفحهٔ راهنما عبارت است از: International Ispell Version 3.4.06 30 Oct 2023.
| local |