.TH hunspell 1 "2026-04-30" .LO 1 .SH "نام (NAME)" hunspell \- غلط‌یاب املایی، ریشه‌یاب و تحلیل‌گر صرفی .SH "خلاصه دستور (SYNOPSIS)" hunspell [\-1aDGHhLlmnOrstvwX] [\-\-check\-url] [\-\-check\-apostrophe] [\-d dict[,dict2,...]] [\-\-help] [\-i enc] [\-p dict] [\-vv] [\-\-version] [text/OpenDocument/TeX/LaTeX/HTML/SGML/XML/nroff/troff file(s)] .SH "توضیحات (DESCRIPTION)" برنامه .I Hunspell بر اساس برنامه .I Ispell الگوبرداری شده است. متداول‌ترین شیوه استفاده «hunspell» یا «hunspell filename» است. بدون پارامتر نام فایل، hunspell ورودی استاندارد را بررسی می‌کند. نوشتن «cat» و «exsample» در دو سطر ورودی، منجر به نمایش یک ستاره (به معنی اینکه «cat» یک کلمه صحیح است) و یک خط حاوی اصلاحات می‌شود: .PP .RS .nf $ hunspell -d en_US Hunspell 1.2.3 * & exsample 4 0: example, examples, ex sample, ex-sample .fi .RE .PP کلمات درست با «*»، «+» یا «-» و کلمات ناشناخته با «#» یا «&» در خطوط خروجی علامت‌گذاری می‌شوند (به پایین مراجعه کنید). (بستن ورودی استاندارد در یونیکس/لینوکس با Ctrl-d و در ویندوز با Ctrl-Z Enter یا Ctrl-C انجام می‌شود.) .PP با مشخص کردن پارامترهای نام فایل، .I hunspell هر کلمه از فایل‌ها را که در واژه‌نامه موجود نباشد در بالای صفحه نمایش داده و به شما اجازه ویرایش آن را می‌دهد. اگر مواردی نزدیک به کلمه (near misses) در واژه‌نامه وجود داشته باشد، آن‌ها نیز در خطوط بعدی نمایش داده می‌شوند. در نهایت، سطری که کلمه در آن قرار دارد و سطر قبلی آن در پایین صفحه چاپ می‌شوند. اگر پایانه شما از قابلیت معکوس‌سازی رنگ (reverse video) پشتیبانی کند، خود کلمه برجسته (highlight) می‌شود. شما این گزینه را دارید که کلمه را به‌طور کامل جایگزین کنید، یا یکی از کلمات پیشنهادی را انتخاب نمایید. فرمان‌ها نویسه‌های تکی هستند به شرح زیر (حساسیت به حروف بزرگ و کوچک نادیده گرفته می‌شود): .PP .RS .IP R جایگزینی کامل کلمه دارای غلط املایی. .IP Space پذیرش کلمه فقط برای این بار. .IP A پذیرش کلمه برای ادامه این نشست .IR hunspell . .IP I پذیرش کلمه با وضعیت حروف بزرگ/کوچک همان‌طور که در فایل آمده است، و به‌روزرسانی واژه‌نامه شخصی. .IP U پذیرش کلمه و افزودن نسخه‌ای از آن با حروف تماماً کوچک به واژه‌نامه شخصی. .IP S درخواست یک ریشه و یک کلمه الگو و ذخیره آن‌ها در واژه‌نامه شخصی. ریشه با وندهای کلمه الگو نیز پذیرفته خواهد شد. .IP 0-\fIn\fR جایگزینی با یکی از کلمات پیشنهادی. .IP X نوشتن باقی‌مانده این فایل با نادیده گرفتن غلط‌های املایی، و شروع فایل بعدی. .IP Q خروج فوری و دست‌نخورده باقی گذاشتن فایل. .IP ^Z تعلیق اجرای hunspell. .IP ? نمایش صفحه راهنما. .RE .SH "گزینه‌ها (OPTIONS)" .IP \fB\-1\fR بررسی تنها فیلد اول در هر سطر (جداکننده = tab). .IP \fB\-a\fR گزینه .B \-a برای استفاده از سایر برنامه‌ها از طریق لوله (pipe) در نظر گرفته شده است. در این حالت، .I hunspell یک پیام تک‌خطی برای شناسایی نسخه چاپ کرده و سپس شروع به خواندن سطرهای ورودی می‌کند. به ازای هر سطر ورودی، برای هر کلمه‌ای که املا‌یش در آن سطر بررسی می‌شود، یک سطر در خروجی استاندارد نوشته می‌شود. اگر کلمه در واژه‌نامه اصلی یا واژه‌نامه شخصی شما یافت شود، آن سطر فقط حاوی «*» خواهد بود. اگر کلمه از طریق حذف وندها یافت شود، سطر شامل «+»، یک فاصله، و کلمه ریشه خواهد بود. اگر کلمه از طریق ترکیب کلمات (الحاق دو کلمه) پیدا شود، سطر فقط شامل «\-» خواهد بود. .IP "" اگر کلمه در واژه‌نامه نباشد، اما مواردی نزدیک به آن موجود باشد، سطر شامل یک «&»، یک فاصله، کلمه دارای غلط املایی، یک فاصله، تعداد موارد نزدیک، تعداد نویسه‌های بین ابتدای سطر و ابتدای کلمه دارای غلط املایی، یک دونقطه، یک فاصله دیگر، و فهرستی از موارد نزدیک جدا شده با کاما و فاصله خواهد بود. .IP "" همچنین، وضعیت بزرگی و کوچکی حروف در هر مورد نزدیک یا حدس زده شده مانند کلمه ورودی تنظیم می‌شود، مگر اینکه چنین وضعیتی غیرمجاز باشد؛ در حالت دوم، وضعیت بزرگی و کوچکی هر مورد نزدیک بر اساس واژه‌نامه به‌درستی تنظیم می‌شود. .IP "" در نهایت، اگر کلمه در واژه‌نامه وجود نداشته باشد و هیچ موردی نزدیک به آن هم یافت نشود، سطر شامل یک «#»، یک فاصله، کلمه دارای غلط املایی، یک فاصله، و فاصله نویسه‌ای از ابتدای سطر خواهد بود. هر جمله از متن ورودی با یک خط خالی اضافی پایان می‌یابد که نشان می‌دهد .I hunspell پردازش سطر ورودی را به پایان رسانده است. .IP "" این خطوط خروجی را می‌توان به شکل زیر خلاصه کرد: .RS .IP OK: * .IP Root: + .IP Compound: \- .IP Miss: & : , , ... .IP None: # .RE .IP "" برای نمونه، یک واژه‌نامه ساختگی حاوی کلمات «fray»، «Frey»، «fry» و «refried» ممکن است در پاسخ به دستور «echo 'frqy refries' | hunspell \-a» خروجی زیر را تولید کند: .RS .nf (#) Hunspell 0.4.1 (beta), 2005-05-26 & frqy 3 0: fray, Frey, fry & refries 1 5: refried .fi .RE .IP "" این حالت همچنین برای استفاده تعاملی، زمانی که می‌خواهید املای یک کلمه را بیابید نیز مناسب است (البته این رفتار پیش‌فرض hunspell بدون -a نیز هست). .IP "" هنگامی که در حالت .B \-a قرار دارد، .I hunspell سطرهایی از کلمات منفرد را نیز که با هر یک از نشانه‌های '*'، '&'، '@'، '+'، '\-'، '~'، '#'، '!'، '%'، '`' یا '^' پیشوند شده باشند، می‌پذیرد. سطری که با '*' آغاز می‌شود به .I hunspell می‌گوید که کلمه را در واژه‌نامه کاربر درج کند (مشابه دستور I). سطری که با '&' آغاز می‌شود به .I hunspell می‌گوید که نسخه‌ای با حروف تماماً کوچک از کلمه را در واژه‌نامه کاربر درج کند (مشابه دستور U). سطری که با '@' آغاز می‌شود باعث می‌شود .I hunspell این کلمه را در آینده بپذیرد (مشابه دستور A). سطری که با '+' شروع شده و بلافاصله پس از آن .B tex یا .B nroff بیاید، باعث می‌شود .I hunspell ورودی‌های بعدی را طبق نحو آن قالب‌بند پردازش کند. سطری که صرفاً شامل یک '+' باشد، .I hunspell را در حالت TeX/LaTeX قرار می‌دهد (مشابه گزینه .BR \-t ) و «\-» برنامه .I hunspell را به حالت nroff/troff بازمی‌گرداند (اما این دستورها منسوخ شده‌اند). با این حال، نوع نویسه رشته (string character type) تغییر .I نمی‌کند؛ برای انجام این کار باید از دستور '~' استفاده شود. سطری که با '~' آغاز می‌شود باعث می‌شود .I hunspell پارامترهای داخلی (به‌ویژه نوع نویسه رشته پیش‌فرض) را بر اساس نام فایل داده‌شده در ادامه سطر تنظیم کند. (پسوند فایل کافی است، اما نقطه باید قید شود. به جای نام یا پسوند فایل، می‌توان یک نام یکتا، همان‌طور که در فایل وند زبان فهرست شده است، مشخص کرد.) با این حال، تجزیه قالب‌بند تغییر .I نمی‌کند؛ برای تغییر قالب‌بند باید از دستور '+' استفاده شود. سطری با پیشوند '#' باعث ذخیره واژه‌نامه شخصی خواهد شد. سطری با پیشوند '!' حالت خلاصه .RI ( terse ) را فعال می‌کند (به پایین مراجعه کنید)، و سطری با پیشوند '%' برنامه .I hunspell را به حالت عادی (غیرخلاصه) بازمی‌گرداند. سطری با پیشوند '`' حالت اصلاح با جزئیات (verbose-correction) را فعال می‌کند (به پایین مراجعه کنید)؛ این حالت فقط با فعال کردن حالت خلاصه از طریق '%' غیرفعال می‌شود..IP "" هر ورودی پس از نویسه‌های پیشوند «+»، «\-»، «#»، «!»، «%» یا «`» نادیده گرفته می‌شود، همان‌طور که هر ورودی پس از نام فایل در یک خط «~» نادیده گرفته می‌شود. برای امکان‌پذیر ساختن غلط‌یابی املایی خطوطی که با این نویسه‌ها آغاز می‌شوند، در خطی که با «^» شروع می‌شود، پیش از ارسال به کد غلط‌یاب، این نویسه حذف می‌گردد. توصیه می‌شود که رابط‌های برنامه‌نویسی برای محافظت از خود در برابر تغییرات آینده در .IR hunspell ابتدای هر خط داده یک علامت پیکان رو به بالا (^) قرار دهند. .IP "" خلاصه‌ای از این موارد: .IP "" .RS .IP * افزودن به واژه‌نامه شخصی .IP @ پذیرش کلمه، اما قرار ندادن آن در واژه‌نامه .IP # ذخیره واژه‌نامه شخصی فعلی .IP ~ تنظیم پارامترها بر اساس نام فایل .IP + ورود به حالت TeX .IP \- خروج از حالت TeX .IP ! ورود به حالت terse .IP % خروج از حالت terse .IP "`" ورود به حالت verbose-correction .IP ^ غلط‌یابی املایی ادامه خط .fi .RE .IP "" در حالت .I terse برنامه .I hunspell خطوطی را که با «*»، «+» یا «\-» شروع می‌شوند چاپ نخواهد کرد، که همگی نشان‌دهنده کلمات درست هستند. این امر سرعت اجرا را به‌طور قابل توجهی بهبود می‌بخشد، به‌ویژه زمانی که برنامهٔ اجراکننده در هر صورت قصد نادیده گرفتن کلمات درست را دارد. .IP "" در حالت .I verbose-correction برنامه .I hunspell کلمهٔ اصلی را بلافاصله پس از نویسهٔ نشانگر در خطوط خروجی که با «*»، «+» و «\-» شروع می‌شوند می‌آورد، که این امر تعامل را برای برخی برنامه‌ها ساده‌تر می‌کند. .IP \fB\-\-check\-apostrophe\fR بررسی و اجبار آپاستروف‌های یونیکد (U+2019)، در صورتی که واژه‌نامهٔ املایی آپاستروف ASCII یا Unicode را به عنوان یک نویسهٔ واژه‌ای تعیین کرده باشد (بخش‌های WORDCHARS، ICONV و OCONV در hunspell(5) را ببینید). .IP \fB\-\-check\-url\fR بررسی URLها، نشانی‌های رایانامه و مسیرهای دایرکتوری. .IP \fB\-D\fR نمایش مسیر شناسایی‌شدهٔ واژه‌نامهٔ بارگذاری‌شده، مسیر جستجو و واژه‌نامه‌های موجود. .IP \fB\-d\ dict,dict2,...\fR تنظیم واژه‌نامه‌ها بر اساس نام پایهٔ آن‌ها همراه با مسیر یا بدون آن. مثالی از نحو: .PP \-d en_US,en_geo,en_med,de_DE,de_med .PP واژه‌نامه‌های en_US و de_DE واژه‌نامه‌های پایه هستند؛ آن‌ها از جفت‌فایل‌های aff و dic تشکیل شده‌اند: en_US.aff، en_US.dic و de_DE.aff، de_DE.dic. واژه‌نامه‌های en_geo، en_med و de_med واژه‌نامه‌های خاص هستند: واژه‌نامه‌هایی بدون فایل وند (affix). واژه‌نامه‌های خاص افزونه‌های اختیاریِ واژه‌نامه‌های پایه هستند و معمولاً شامل اصطلاحات خاص‌حوزه (پزشکی، حقوقی و غیره) می‌باشند. هیچ قرارداد نام‌گذاری برای واژه‌نامه‌های خاص به جز پسوند «.dic» وجود ندارد: یک واژه‌نامه بدون فایل وند به افزونه‌ای برای واژه‌نامهٔ پایهٔ پیشین تبدیل می‌شود (ترتیب درست در فهرست پارامترها برای ارائه پیشنهادات مناسب لازم است). نخستین مورد از فهرست پارامترهای \-d باید یک واژه‌نامهٔ پایه باشد. .IP \fB\-G\fR فقط کلمات یا خطوط درست را چاپ می‌کند. .IP \fB\-H\fR فایل ورودی در قالب SGML/HTML است. .IP \fB\-h,\ \-\-help\fR راهنمای کوتاه. .IP \fB\-i\ enc\fR تنظیم کدگذاری ورودی. .IP \fB\-L\fR چاپ خطوط حاوی کلمات دارای غلط املایی. .IP \fB\-l\fR گزینهٔ «list» برای تولید فهرستی از کلمات دارای غلط املایی از ورودی استاندارد استفاده می‌شود. .IP \fB\-m\fR تحلیل کلمات متن ورودی (همچنین به hunspell(5) دربارهٔ تحلیل صرفی مراجعه کنید). بدون داده‌های صرفی واژه‌نامه، پرچم‌های وندهای اَشکال کلمه را برای استفادهٔ توسعه‌دهندگان واژه‌نامه نمایش می‌دهد. .IP \fB\-n\fR فایل ورودی در قالب nroff/troff است. .IP \fB\-O\fR فایل ورودی در قالب OpenDocument (یا ODF یا Flat ODF) است. اگر برنامه unzip نصب نیست، پیش از استفاده از این گزینه آن را نصب کنید. .IP \fB\-P\ password\fR تنظیم گذرواژه برای واژه‌نامه‌های رمزگذاری‌شده. .IP \fB\-p\ dict\fR تنظیم مسیر واژه‌نامهٔ شخصی. واژه‌نامه پیش‌فرض به تنظیمات محلی (locale) بستگی دارد. متغیرهای محیطی زیر جستجو می‌شوند: LC_ALL، LC_MESSAGES و LANG. اگر هیچ‌یک تنظیم نشده باشند، واژه‌نامه شخصی پیش‌فرض $HOME/.hunspell_default خواهد بود. هنگامی که .I \-d یا متغیر محیطی .I DICTIONARY تنظیم شده باشد، واژه‌نامه شخصی برابر با .BR $HOME/.hunspell_dicname خواهد بود. .IP \fB\-r\fR هشدار دربارهٔ کلمات نادر، که خطاهای املایی بالقوه نیز به شمار می‌روند. .IP \fB\-s\fR ریشه‌یابی کلمات متن ورودی (همچنین به hunspell(5) دربارهٔ ریشه‌یابی مراجعه کنید). این عمل به داده‌های واژه‌نامه بستگی دارد. .IP \fB\-t\fR فایل ورودی در قالب TeX یا LaTeX است. .IP \fB\-v,\ \-\-version\fR چاپ شماره نسخه. .IP \fB\-vv\fR چاپ شماره نسخهٔ سازگار با ispell(1). .IP \fB\-w\fR چاپ کلمات دارای غلط املایی (= خطوط) از ورودیِ تک‌کلمه/خط. .IP \fB\-X\fR فایل ورودی در قالب XML است..SH "مثال‌ها (EXAMPLES)" .TP .B hunspell example.html غلط‌یابی املایی تعاملی یک فایل HTML با واژه‌نامه پیش‌فرض. .TP .B hunspell \-d en_US example.html غلط‌یابی املایی تعاملی یک فایل HTML با واژه‌نامه en_US. .TP .B hunspell \-d en_US,en_US_med medical.txt غلط‌یابی املایی تعاملی با چندین واژه‌نامه. .TP .B hunspell *.odt غلط‌یابی املایی تعاملی اسناد ODF. .TP .B hunspell \-l *.odt فهرست کردن واژه‌های نادرست اسناد ODF. .TP .B hunspell \-l *.odt | sort | uniq >unrecognized ذخیره واژه‌های ناشناخته اسناد ODF (با حذف موارد تکراری). .TP .B hunspell -p unrecognized_but_good *.odt غلط‌یابی املایی تعاملی اسناد ODF با استفاده از فهرست واژه‌های ذخیره‌شده و کاهش‌یافته پیشین به عنوان یک واژه‌نامه شخصی، برای افزایش سرعت غلط‌یابی املایی. .TP .SH "محیط (ENVIRONMENT)" .TP .B DICTIONARY مشابه .I \-d. .TP .B DICPATH مسیر واژه‌نامه. .TP .B WORDLIST معادل .I \-p. .SH "فایل‌ها (FILES)" واژه‌نامه پیش‌فرض به تنظیمات محلی (locale) بستگی دارد. متغیرهای محیطی زیر بررسی می‌شوند: LC_ALL،‏ LC_MESSAGES و LANG. اگر هیچ‌کدام تنظیم نشده باشند، موارد جایگزین زیر استفاده می‌شوند: .BI /usr/share/myspell/default.aff مسیر فایل وند (affix) پیش‌فرض. ببینید: hunspell(5). .PP .BI /usr/share/myspell/default.dic مسیر فایل واژه‌نامه پیش‌فرض. ببینید: hunspell(5). .PP .BI $HOME/.hunspell_default. مسیر پیش‌فرض واژه‌نامه شخصی. .SH "همچنین ببینید (SEE ALSO)" .B hunspell (3), hunspell(5) .SH "نویسندگان (AUTHORS)" نویسنده برنامه اجرایی Hunspell،‏ László Németh است. برای کتابخانه Hunspell،‏ hunspell(3) را ببینید. .PP این راهنما بر اساس راهنمای Ispell است. ببینید: ispell(1).