'\" t .\"*************************************************************************** .\" Copyright 2018-2023,2024 Thomas E. Dickey * .\" Copyright 1998-2016,2017 Free Software Foundation, Inc. * .\" * .\" Permission is hereby granted, free of charge, to any person obtaining a * .\" copy of this software and associated documentation files (the * .\" "Software"), to deal in the Software without restriction, including * .\" without limitation the rights to use, copy, modify, merge, publish, * .\" distribute, distribute with modifications, sublicense, and/or sell * .\" copies of the Software, and to permit persons to whom the Software is * .\" furnished to do so, subject to the following conditions: * .\" * .\" The above copyright notice and this permission notice shall be included * .\" in all copies or substantial portions of the Software. * .\" * .\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * .\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * .\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * .\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * .\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * .\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * .\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * .\" * .\" Except as contained in this notice, the name(s) of the above copyright * .\" holders shall not be used in advertising or otherwise to promote the * .\" sale, use or other dealings in this Software without prior written * .\" authorization. * .\"*************************************************************************** .\" .\" $Id: term.5,v 1.80 2024/06/15 20:23:33 tom Exp $ .TH term 5 2024-06-15 "ncurses 6.5" "File formats" .ie \n(.g \{\ .ds `` \(lq .ds '' \(rq .ds ' \(aq .ds ^ \(ha .\} .el \{\ .ie t .ds `` `` .el .ds `` "" .ie t .ds '' '' .el .ds '' "" .ds ' ' .ds ^ ^ .\} .ie n .ds CW R .el \{ .ie \n(.g .ds CW CR .el .ds CW CW .\} . .de bP .ie n .IP \(bu 4 .el .IP \(bu 2 .. . .SH "نام (NAME)" term \- قالب توصیف ترمینال کامپایل‌شده terminfo .\"SH SYNOPSIS .SH "توضیحات (DESCRIPTION)" دستور \fB\%tic\fP(1) توصیف نوع ترمینال .I \%term\%info را کامپایل می‌کند و \fB\%setupterm\fP(3NCURSES) آن را می‌خواند. یک توصیف کامپایل‌شده ممکن است در یک فایل یا در یک پایگاه داده که بالقوه شامل تعداد زیادی از چنین توصیف‌هایی است ذخیره شود. علاوه بر این، یک توصیف کامپایل‌شده می‌تواند به یکی از دو قالب باشد: یکی مشابه قالبی که توسط System\ V استفاده می‌شد، و دیگری قالبی جدیدتر و قابل گسترش که منحصراً توسط .I \%ncurses به کار گرفته می‌شود. .SS "محل ذخیره‌سازی (Storage Location)" توصیف‌های کامپایل‌شدهٔ .I \%term\%info در زیر دایرکتوری .IR \%/etc/terminfo قرار می‌گیرند. هنگام ساخت کتابخانه‌های .I \%ncurses یکی از دو پیکربندی زیر انتخاب می‌شود: .TP 5 .B "درخت دایرکتوری (directory tree)" یک طرح دو سطحی برای جلوگیری از جستجوی خطی در دایرکتوری بزرگ سیستمی یونیکس استفاده می‌شود: .IR \%/etc/terminfo/ c / name که در آن .I name نام ترمینال، و .I c اولین نویسه از .I name است. بنابراین، توصیف کامپایل‌شده نوع ترمینال \*(``act4\*('' در فایل .IR \%/etc/terminfo/a/act4 یافت می‌شود. نام‌های مترادف برای یک ترمینال یکسان، با پیوندهای چندگانه (links) به همان فایل کامپایل‌شده پیاده‌سازی می‌شوند. .TP 5 .B "پایگاه داده هش‌شده (hashed database)" با استفاده از API پایگاه داده برکلی (Berkeley database)، دو نوع رکورد ذخیره می‌شود: داده‌های .I \%term\%info با همان قالبی که در درخت دایرکتوری ذخیره می‌شود به همراه نام اولیه نوع ترمینال به عنوان کلید، و رکوردهایی که فقط شامل نام‌های مستعار اشاره‌کننده به نام اصلی هستند. .IP در صورتی که برای نوشتن پایگاه داده‌های هش‌شده ساخته شده باشد، .I \%ncurses همچنان می‌تواند پایگاه داده‌های .I \%term\%info سازمان‌یافته به صورت درخت دایرکتوری را بخواند، اما نمی‌تواند ورودی‌هایی را در درخت دایرکتوری بنویسد. این کتابخانه می‌تواند ورودی‌ها را در پایگاه داده هش‌شده بنویسد (یا بازنویسی کند). .IP کتابخانهٔ .I \%ncurses دو حالت را در متغیرهای محیطی .I \%TERMINFO و .I \%TERMINFO_DIRS با فرض درخت دایرکتوری برای ورودی‌هایی که با یک دایرکتوری موجود مطابقت دارند، و فرض پایگاه داده هش‌شده در غیر این صورت، تشخیص می‌دهد. .SS "قالب ذخیره‌سازی موروثی (Legacy Storage Format)" این قالب به گونه‌ای انتخاب شده است که در تمام سخت‌افزارها یکسان باشد. عرض بایت حداقل هشت بیت در نظر گرفته می‌شود، اما هیچ فرضی دربارهٔ ترتیب بیت‌ها (bit ordering) یا گسترش علامت (sign extension) انجام نشده است. .PP این فایل به شش بخش تقسیم می‌شود: .RS 5 .IP (a) 4 .IR header " (هدر)" ، .IP (b) .IR "terminal names" " (نام‌های ترمینال)" ، .IP (c) .IR "Boolean flags" " (پرچم‌های بولی)" ، .IP (d) .IR numbers " (اعداد)" ، .IP (e) .IR strings " (رشته‌ها)" ، و .IP (f) یک .IR "string table" " (جدول رشته‌ها)" . .RE .PP بخش \fIheader\fP فایل را آغاز می‌کند. این بخش شامل شش عدد صحیح کوتاه (short integer) در قالبی است که در زیر شرح داده شده است. این اعداد عبارتند از: .RS 5 .TP 5 (1) عدد جادویی (\fImagic number\fP) (هشت‌هشتی 0432)؛ .TP 5 (2) اندازهٔ بخش \fIterminal names\fP بر حسب بایت؛ .TP 5 (3) تعداد بایت‌های بخش \fIBoolean flags\fP؛ .TP 5 (4) تعداد اعداد صحیح کوتاه در بخش \fInumbers\fP؛ .TP 5 (5) تعداد آفست‌ها (اعداد صحیح کوتاه) در بخش \fIstrings\fP؛ .TP 5 (6) اندازهٔ \fIstring table\fP بر حسب بایت. .RE .PP قابلیت‌های موجود در بخش‌های \fIBoolean flags\fP، \fInumbers\fP و \fIstrings\fP به همان ترتیبی هستند که در فایل هدر .IR term.h تعریف شده‌اند. .PP اعداد صحیح کوتاه، علامت‌دار و در محدودهٔ \-32768 تا 32767 هستند و در قالب little-endian ذخیره می‌شوند. .PP اعداد در توصیف ترمینال، چه ورودی‌هایی در جدول \fInumbers\fP باشند و چه در جدول \fIstrings\fP، اعداد صحیح مثبت هستند. پرچم‌های بولی به عنوان اعداد صحیح مثبت یک بایتی در نظر گرفته می‌شوند. در هر مورد، آن اعداد صحیح مثبت نشان‌دهنده یک قابلیت ترمینال هستند. کامپایلر ترمینال .I \%tic از اعداد صحیح منفی برای مدیریت مواردی که یک قابلیت در دسترس نیست استفاده می‌کند: .bP اگر قابلیتی در این ترمینال وجود نداشته باشد، .I \%tic مقدار \-1 را در جدول مربوطه ذخیره می‌کند. .IP مقدار صحیح \-1 توسط دو بایت 0377 و 0377 نشان داده می‌شود. .br مقادیر بولی ناموجود با بایت 0 (نادرست / false) نشان داده می‌شوند. .bP اگر قابلیتی برای این ترمینال لغو شده باشد (canceled)، .I \%tic مقدار \-2 را در جدول مربوطه ذخیره می‌کند. .IP مقدار صحیح \-2 توسط دو بایت 0377 و 0376 نشان داده می‌شود. .br مقدار بولی \-2 با بایت 0376 نشان داده می‌شود. .br .bP سایر مقادیر منفی غیرمجاز هستند. .PP بخش \fIterminal names\fP بعد از \fIheader\fP می‌آید. این بخش شامل خط اول توصیف .I \%term\%info است که نام‌های مختلف ترمینال را که با نویسهٔ \*(``|\*('' از هم جدا شده‌اند فهرست می‌کند. بخش \fIterminal names\fP با یک نویسهٔ \s-1ASCII NUL\s+1 خاتمه می‌یابد. .PP بخش \fIBoolean flags\fP برای هر پرچم یک بایت دارد. قابلیت‌های بولی بسته به اینکه ترمینال از قابلیت مورد نظر پشتیبانی می‌کند یا خیر، 1 یا 0 (درست یا نادرست) هستند. .PP بین بخش \fIBoolean flags\fP و بخش \fInumber\fP، در صورت لزوم یک بایت null درج می‌شود تا اطمینان حاصل شود که بخش \fInumber\fP در یک بایت زوج شروع می‌شود. این یادگاری از معماری آدرس‌دهی کلمه‌ای PDP\-11 است که در ابتدا برای جلوگیری از وقفه‌ها (traps) ناشی از آدرس‌دهی یک کلمه در مرز بایت فرد طراحی شده بود. تمام اعداد صحیح کوتاه در مرز کلمهٔ کوتاه تراز (align) می‌شوند. .PP بخش \fInumbers\fP شبیه به بخش \fIBoolean flags\fP است. هر قابلیت دو بایت را اشغال می‌کند و به عنوان یک عدد صحیح کوتاه little-endian ذخیره می‌شود. .PP بخش \fIstrings\fP نیز مشابه است. هر قابلیت به صورت یک عدد صحیح کوتاه ذخیره می‌شود. مقدار قابلیت، یک شاخص (index) به درون \fIstring table\fP است. .PP بخش \fIstring table\fP آخرین بخش است. این بخش شامل تمامی مقادیر قابلیت‌های رشته‌ای ارجاع‌شده در بخش \fIstrings\fP است. هر رشته با نویسهٔ null خاتمه می‌یابد. نویسه‌های خاص در قالب نشانه‌گذاری \*^X یا \ec در شکل تفسیرشدهٔ خود ذخیره می‌شوند، نه نمایش چاپی. اطلاعات فاصله‌گذاری (padding) .BI $< nn > و اطلاعات پارامتر .B %x به صورت دست‌نخورده در شکل تفسیرنشده ذخیره می‌شوند. .SS "قالب ذخیره‌سازی گسترش‌یافته (Extended Storage Format)" بخش پیشین، قالب باینری متداول .I \%term\%info را شرح می‌دهد. با برخی تغییرات جزئی در آفست‌ها (بخش سازگاری را ببینید)، همان قالب باینری در تمام سیستم‌های مدرن یونیکس استفاده می‌شود. هر سیستم از مجموعه‌ای از پیش تعریف‌شده از قابلیت‌های بولی، عددی یا رشته‌ای استفاده می‌کند. .PP کتابخانه‌ها و برنامه‌های .I \%ncurses از قالب باینری گسترش‌یافتهٔ .I \%term\%info پشتیبانی می‌کنند که به کاربران اجازه می‌دهد قابلیت‌هایی را تعریف کنند که در زمان اجرا بارگذاری می‌شوند. این گسترش با استفاده از این واقعیت امکان‌پذیر شده است که سایر پیاده‌سازی‌ها خواندن داده‌های .I \%term\%info را هنگامی که به انتهای اندازهٔ ارائه‌شده در هدر می‌رسند، متوقف می‌کنند. .I \%ncurses اندازه را بررسی می‌کند و اگر به دلیل داده‌های از پیش تعریف‌شده از آن فراتر رود، به تجزیه بر اساس طرح خود ادامه می‌دهد. .PP ابتدا، هدر گسترش‌یافته را می‌خواند (۵ عدد صحیح کوتاه): .RS 5 .TP 5 (1) تعداد قابلیت‌های بولی گسترش‌یافته .TP 5 (2) تعداد قابلیت‌های عددی گسترش‌یافته .TP 5 (3) تعداد قابلیت‌های رشته‌ای گسترش‌یافته .TP 5 (4) تعداد آیتم‌ها در جدول رشته‌های گسترش‌یافته .TP 5 (5) اندازهٔ جدول رشته‌های گسترش‌یافته بر حسب بایت .RE .PP مقادیر تعداد و اندازه برای جدول رشته‌های گسترش‌یافته، هم شامل \fInames\fP (نام‌های) قابلیت‌های گسترش‌یافته و هم \fIvalues\fP (مقادیر) قابلیت‌های گسترش‌یافته است. .PP با استفاده از این تعدادها و اندازه‌ها، .I \%ncurses آرایه‌ها را تخصیص می‌دهد و داده‌ها را برای قابلیت‌های گسترش‌یافته به همان ترتیب اطلاعات هدر می‌خواند. .PP جدول رشته‌های گسترش‌یافته شامل مقادیری برای قابلیت‌های رشته‌ای است. پس از پایان این مقادیر، این جدول شامل نام‌های هر یک از قابلیت‌های گسترش‌یافته به ترتیب است: بولی، عددی، و رشته‌ای. .PP با ذخیره کردن توصیف‌های ترمینال به این روش، .I \%ncurses می‌تواند پایگاه داده‌ای مفید برای برنامه‌های موروثی فراهم کند و همزمان داده‌هایی را برای برنامه‌هایی که به اطلاعات بیشتری دربارهٔ نوع ترمینال نسبت به آنچه توسط X/Open Curses پیش‌بینی شده بود نیاز دارند، ارائه دهد. برای مرور کلی بر نحوهٔ استفادهٔ .I \%ncurses از این اطلاعات گسترش‌یافته، به \fB\%user_caps\fP(5) مراجعه کنید. .PP برنامه‌هایی که داده‌های ترمینال را دستکاری می‌کنند می‌توانند از تعاریف شرح داده‌شده در \fB\%terminfo_variables\fP(3NCURSES) استفاده کنند که نام‌های طولانی قابلیت‌ها را با اعضای یک ساختار .I \%TERMTYPE مرتبط می‌سازد. . .SS "قالب عددی گسترش‌یافته (Extended Number Format)" گاهی اوقات، اعداد صحیح علامت‌دار ۱۶ بیتی به اندازهٔ کافی بزرگ نیستند. .I \%ncurses نسخهٔ 6.1 با ایجاد چند تغییر در قالب موروثی، قالب جدیدی را معرفی کرد: .bP یک عدد جادویی متفاوت (هشت‌هشتی 01036) .bP تغییر نوع آرایهٔ \fInumber\fP از اعداد صحیح ۱۶ بیتی علامت‌دار به اعداد صحیح ۳۲ بیتی علامت‌دار. .PP برای حفظ سازگاری، کتابخانه همان ساختارهای داده را مشابه قالب‌های قبلی در اختیار کاربران مستقیم ساختار .I \%TERMTYPE قرار می‌دهد. با این حال، این کار نمی‌تواند اعداد گسترش‌یافته را در اختیار فراخوان‌ها قرار دهد. این کتابخانه از یک ساختار دادهٔ مشابه اما پنهان به نام .I \%TERMTYPE2 برای ارائه داده‌ها به توابع .I \%term\%info استفاده می‌کند. .SH "فایل‌ها (FILES)" .TP .I /etc/terminfo پایگاه داده توصیف ترمینال کامپایل‌شده .SH "سازگاری (PORTABILITY)" .SS setupterm توجه داشته باشید که ممکن است .B setupterm انتظار مجموعه‌ای از قابلیت‌ها را داشته باشد که با آنچه در واقعیت در فایل موجود است تفاوت دارد. یا ممکن است پایگاه داده از زمان کامپایل مجدد .B setupterm به‌روزرسانی شده باشد (که منجر به ورودی‌های ناشناختهٔ اضافی در فایل می‌شود) یا برنامه اخیراً و پس از به‌روزرسانی پایگاه داده بازکامپایل شده باشد (که منجر به ورودی‌های ناموجود می‌شود). روال .B setupterm باید برای هر دو احتمال آماده باشد \- به همین دلیل است که اعداد و اندازه‌ها در فایل گنجانده شده‌اند. همچنین، قابلیت‌های جدید باید همیشه در انتهای فهرست‌های قابلیت‌های بولی، عددی و رشته‌ای افزوده شوند. .SS "قالب باینری (Binary Format)" استاندارد X/Open Curses قالبی را برای پایگاه دادهٔ .I \%term\%info تعیین نمی‌کند. در System\ V .I curses از یک درخت دایرکتوری از فایل‌های باینری استفاده می‌شد؛ یک فایل به ازای هر توصیف ترمینال. .PP با وجود استفادهٔ مداوم از اعداد little-endian و قالبی که در غیر این صورت خود-توصیف (self-describing) است، تکیه بر سازگاری و جابجایی‌پذیری ورودی‌های باینری .I \%term\%info بین نسخه‌های تجاری یونیکس کار عاقلانه‌ای نیست. مشکل این است که حداقل سه نسخه از .I \%term\%info وجود دارد (تحت HP\-UX، AIX، و OSF/1) که هر کدام پس از SVr1 از .I \%term\%info مربوط به System\ V منشعب شدند، و قابلیت‌های الحاقی را به جدول رشته‌ها افزودند که (در قالب باینری) با الحاقات System\ V و X/Open Curses تداخل پیدا می‌کنند. برای بحث دقیق دربارهٔ مسائل سازگاری سورس .IR \%term\%info ، به \fB\%terminfo\fP(5) مراجعه کنید. .PP این پیاده‌سازی به طور پیش‌فرض با قالب باینری .I \%term\%info مورد استفاده در Solaris .I curses سازگار است، به جز در چند مورد جزئی کمتر استفاده‌شده که مشخص شد پیاده‌سازی سولاریس با X/Open Curses مطابقت ندارد. قالبی که توسط سایر نسخه‌های یونیکس استفاده می‌شود را می‌توان با ساخت .I \%ncurses با گزینه‌های پیکربندی مختلف تطبیق داد. .SS "کدهای جادویی (Magic Codes)" عدد جادویی در یک فایل باینری .I \%term\%info شامل ۱۶ بیت اول (دو بایت) است. علاوه بر قابل اطمینان‌تر ساختن بررسی این موضوع توسط کتابخانه که آیا یک فایل .I \%term\%info است یا خیر، ابزارهایی مانند \fIfile\fP(1) نیز از آن برای تشخیص قالب فایل استفاده می‌کنند. سیستم System\ V بیش از یک عدد جادویی تعریف کرده بود، از جمله 0433 و 0435 به عنوان دامپ صفحه (screen-dump) (\fB\%scr_dump\fP(5) را ببینید). این پیاده‌سازی از 01036 به عنوان ادامهٔ آن توالی استفاده می‌کند، اما با یک بایت مرتبه بالای متفاوت برای جلوگیری از سردرگمی. .SS "ساختار \fITERMTYPE\fP" دسترسی مستقیم به ساختار .I \%TERMTYPE برای برنامه‌های موروثی فراهم شده است. برنامه‌های قابل‌حمل باید از \fB\%tigetflag\fP(3NCURSES) و توابع مرتبط برای خواندن قابلیت‌های ترمینال استفاده کنند. .SS "نام‌های ترمینال با حروف کوچک و بزرگ ترکیبی (Mixed-case Terminal Names)" تعداد کمی از توصیف‌های ترمینال از حروف بزرگ در نام خود استفاده می‌کنند. اگر فایل‌سیستم زیربنایی تفاوت میان حروف بزرگ و کوچک را نادیده بگیرد، .I \%ncurses «اولین نویسه» از نام ترمینال را که به عنوان سطح میانی یک درخت دایرکتوری استفاده می‌شود، به صورت هگزادسیمال (دو نویسه‌ای) نشان می‌دهد. .SS "محدودیت‌ها (Limits)" کتابخانهٔ .I \%ncurses توصیف‌های ترمینال کامپایل‌شده را در سه قالب مرتبط ذخیره می‌کند که در زیربخش‌های زیر شرح داده شده‌اند: .bP .BR "قالب ذخیره‌سازی موروثی" " (Legacy Storage Format)" ، و .bP .BR "قالب ذخیره‌سازی گسترش‌یافته" " (Extended Storage Format)" ، و .bP .BR "قالب عددی گسترش‌یافته" " (Extended Number Format)" . .PP قالب ذخیره‌سازی موروثی و قالب عددی گسترش‌یافته از نظر انواع قابلیت‌های عددی که می‌توانند ذخیره کنند با یکدیگر تفاوت دارند (به عنوان مثال، اعداد صحیح ۱۶ بیتی در برابر ۳۲ بیتی). قالب ذخیره‌سازی گسترش‌یافته که توسط .I \%ncurses نسخهٔ 5.0 معرفی شد، داده‌هایی را به هر یک از این قالب‌ها اضافه می‌کند. .PP برخی از محدودیت‌ها اعمال می‌شوند: .bP کل ورودی‌های کامپایل‌شده در قالب موروثی نمی‌تواند از ۴۰۹۶ بایت تجاوز کند. .bP کل ورودی‌های کامپایل‌شده در قالب گسترش‌یافته نمی‌تواند از ۳۲۷۶۸ بایت تجاوز کند. .bP طول فیلد نام نمی‌تواند از ۱۲۸ بایت بیشتر باشد. .PP ورودی‌های کامپایل‌شده به ۳۲۷۶۸ بایت محدود هستند زیرا آفست‌ها به درون جدول رشته‌ها (\fIstrings table\fP) از اعداد صحیح دو بایتی استفاده می‌کنند. قالب موروثی می‌توانست از ورودی‌های ۳۲۷۶۸ بایتی پشتیبانی کند، اما به اندازهٔ ۴۰۹۶ بایت یک صفحهٔ حافظهٔ مجازی محدود شده بود. .SH "مثال‌ها (EXAMPLES)" در اینجا یک توصیف .I \%term\%info از Lear-Siegler ADM-3 آمده است؛ یک پایانهٔ اولیه محبوب و ساده. .PP .EX adm3a|lsi adm3a, am, cols#80, lines#24, bel=\*^G, clear=\e032$<1>, cr=\*^M, cub1=\*^H, cud1=\*^J, cuf1=\*^L, cup=\eE=%p1%{32}%+%c%p2%{32}%+%c, cuu1=\*^K, home=\*^\*^, ind=\*^J, .EE .PP دامپ هگزادسیمال توصیف ترمینال کامپایل‌شده آن (در قالب موروثی) در ادامه آمده است: .PP .if t .in +4n .ft \*(CW .TS Lp-1. 0000 1a 01 10 00 02 00 03 00 82 00 31 00 61 64 6d 33 ........ ..1.adm3 0010 61 7c 6c 73 69 20 61 64 6d 33 61 00 00 01 50 00 a|lsi ad m3a...P. 0020 ff ff 18 00 ff ff 00 00 02 00 ff ff ff ff 04 00 ........ ........ 0030 ff ff ff ff ff ff ff ff 0a 00 25 00 27 00 ff ff ........ ..%.\*... 0040 29 00 ff ff ff ff 2b 00 ff ff 2d 00 ff ff ff ff ).....+. ..\-..... 0050 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ 0060 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ 0070 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ 0080 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ 0090 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ 00a0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ 00b0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ 00c0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ 00d0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ 00e0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ 00f0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ 0100 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ 0110 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ 0120 ff ff ff ff ff ff 2f 00 07 00 0d 00 1a 24 3c 31 ....../. .....$<1 0130 3e 00 1b 3d 25 70 31 25 7b 33 32 7d 25 2b 25 63 >..=%p1% {32}%+%c 0140 25 70 32 25 7b 33 32 7d 25 2b 25 63 00 0a 00 1e %p2%{32} %+%c.... 0150 00 08 00 0c 00 0b 00 0a 00 ........ . .TE .ft .in .SH "نویسندگان (AUTHORS)" Thomas E. Dickey .br قالب گسترش‌یافتهٔ .I \%term\%info برای .I \%ncurses 5.0 .br پشتیبانی از پایگاه داده هش‌شده برای .I \%ncurses 5.6 .br پشتیبانی از اعداد گسترش‌یافته برای .I \%ncurses 6.1 .sp Eric S. Raymond .br مستندسازی قالب موروثی .I \%term\%info (مورد استفاده توسط .IR \%pcurses ). .SH "همچنین ببینید (SEE ALSO)" \fB\%ncurses\fP(3NCURSES)، \fB\%terminfo\fP(3NCURSES)، \fB\%terminfo\fP(5)، \fB\%user_caps\fP(5)