.TH grops 1 "2026-03-15" "groff 1.24.1" .SH "نام (NAME)" grops \- پسپردازنده PostScript برای groff . . .\" ==================================================================== .\" Legal Terms .\" ==================================================================== .\" .\" Copyright 1989-2014 Free Software Foundation, Inc. .\" 2020-2024 G. Branden Robinson .\" .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. .\" .\" Permission is granted to copy and distribute modified versions of .\" this manual under the conditions for verbatim copying, provided that .\" the entire resulting derived work is distributed under the terms of .\" a permission notice identical to this one. .\" .\" Permission is granted to copy and distribute translations of this .\" manual into another language, under the above conditions for .\" modified versions, except that this permission notice may be .\" included in translations approved by the Free Software Foundation .\" instead of in the original English. . . .\" Save and disable compatibility mode (for, e.g., Solaris 10/11). .do nr *groff_grops_1_man_C \n[.cp] .cp 0 . .\" Define fallback for groff 1.23's MR macro if the system lacks it. .nr do-fallback 0 .if !\n(.f .nr do-fallback 1 \" mandoc .if \n(.g .if !d MR .nr do-fallback 1 \" older groff .if !\n(.g .nr do-fallback 1 \" non-groff *roff .if \n[do-fallback] \{\ . de MR . ie \\n(.$=1 \ . I \%\\$1 . el \ . IR \%\\$1 (\\$2)\\$3 . . .\} .rr do-fallback . . .\" This macro definition is poor style from a portability standpoint, .\" but it's a good test and demonstration of the standard font .\" repertoire for the devices where it has any effect at all, and so .\" should be retained. .de FT . if \\n[.$] .if !F \\$1 .ftr \\$1 R . if '\\*(.T'ps' .ft \\$1 . if '\\*(.T'pdf' .ft \\$1 .. . .\" ==================================================================== .SH "خلاصه دستور (SYNOPSIS)" .\" ==================================================================== . .SY grops .RB [ \-glm ] .RB [ \-b\~\c .IR brokenness-flags ] .RB [ \-c\~\c .IR num-copies ] .RB [ \-F\~\c .IR font-directory ] .RB [ \-I\~\c .IR inclusion-directory ] .RB [ \-p\~\c .IR paper-format ] .RB [ \-P\~\c .IR prologue-file ] .RB [ \-w\~\c .IR rule-thickness ] .RI [ file\~ .\|.\|.] .YS . . .P .SY grops .B \-\-help .YS . . .P .SY grops .B \-v .YS . .SY grops .B \%\-\-version .YS . . .\" ==================================================================== .SH "توضیحات (DESCRIPTION)" .\" ==================================================================== . درایور خروجی PostScript برای .I roff گنو، خروجی .MR \%troff 1 را به PostScript ترجمه می‌کند. . به‌طور معمول، .I grops توسط .MR groff 1 هنگامی که گزینه .RB \[lq] \-T\~ps \[rq] به آن داده شود فراخوانی می‌گردد. . (در این نصب، .B \%ps دستگاه خروجی پیش‌فرض است.) . از گزینه .B \-P در .I groff برای ارسال هر یک از گزینه‌های نشان‌داده‌شده در بالا به .I grops استفاده کنید. . اگر هیچ آرگومان .I file داده نشود، یا اگر .I file برابر \[lq]\-\[rq] باشد، .I grops جریان ورودی استاندارد را می‌خواند. . این برنامه خروجی را در جریان خروجی استاندارد می‌نویسد. . . .P هنگامی که با چندین آرگومان .I file فراخوانی شود، .I grops یک ساختار سند معتبر (منطبق بر قراردادهای ساختاردهی سند یا DSC) تولید نمی‌کند. . برای چاپ چنین خروجی به‌هم‌پیوسته‌ای، لازم است پردازش DSC در برنامه چاپ یا پیش‌نمایشگر غیرفعال شود. . . .P برای راهنمای نصب قلم‌ها برای .IR grops ، بخش \[lq]نصب قلم (Font installation)\[rq] را در ادامه ببینید. . . .\" ==================================================================== .SH "گزینه‌ها (OPTIONS)" .\" ==================================================================== . گزینه .B \-\-help پیام راهنمای استفاده را نمایش می‌دهد، در حالی که .B \-v و .B \%\-\-version اطلاعات نسخه را نشان می‌دهند؛ همگی پس از آن خارج می‌شوند. . . .TP 8n \" "-F dir" + 2n .BI \-b\~ n مشکلات مربوط به صف‌بندها (spoolers)، پیش‌نمایشگرها و چاپگرهای قدیمی‌تر را برطرف می‌کند. . به‌طور معمول، .I grops خروجی را در PostScript سطح زبان\~2 (%LanguageLevel\~2) تولید می‌کند که با نسخه 3.0 از قراردادهای ساختاردهی سند (Document Structuring Conventions) مطابقت دارد. . برخی از نرم‌افزارها و دستگاه‌ها نمی‌توانند چنین جریان داده‌ای را پردازش کنند. . مقدار .I n تعیین می‌کند که .I grops چه کارهایی انجام دهد تا خروجی آن برای چنین مصرف‌کنندگانی قابل قبول باشد. . اگر .I n برابر .B 0 باشد، .I grops هیچ راهکار دورزدنی را به کار نمی‌گیرد، که حالت پیش‌فرض است؛ این مقدار را می‌توان با تغییر دستورالعمل .B broken در پرونده .I DESC مربوط به .I grops تغییر داد. . . .IP مقدار 1 را اضافه کنید تا از تولید توضیحات .B %%Begin\%Document\%Setup و .B %%End\%Document\%Setup جلوگیری شود؛ این کار برای نسخه‌های اولیه TranScript لازم است که با هر چیزی بین توضیح .B %%End\%Prolog و اولین توضیح .B %%Page دچار سردرگمی می‌شوند. . . .IP مقدار 2 را اضافه کنید تا خطوط موجود در پرونده‌های گنجانده‌شده که با .B %!\& آغاز می‌شوند حذف گردند؛ این خطوط پیش‌نمایشگر .I pageview سان را دچار سردرگمی می‌کنند. . . .IP مقدار 4 را اضافه کنید تا خطوط موجود در پرونده‌های گنجانده‌شده که با .BR %%Page ، .B %%Trailer و .B %%End\%Prolog آغاز می‌شوند حذف گردند؛ این کار برای صف‌بندهایی لازم است که توضیحات .B %%Begin\%Document و .B %%End\%Document را درک نمی‌کنند. . . .IP مقدار 8 را اضافه کنید تا به‌جای .B %!PS\-Adobe\-3.0 عبارت .B %!PS\-Adobe\-2.0 به عنوان خط اول خروجی PostScript نوشته شود؛ این کار هنگام استفاده از Newsprint سان با چاپگری که نیاز به معکوس‌سازی ترتیب صفحات دارد لازم است. . . .IP مقدار 16 را اضافه کنید تا اطلاعات اندازه رسانه حذف شود (یعنی نه توضیح .B %%Document\%Media تولید شود و نه دستور PostScript به نام .BR setpagedevice ). . این رفتار .I groff نسخه 1.18.1 و قبل از آن بود؛ این کار برای چاپگرهای قدیمی‌تری که PostScript سطح زبان\~2 (%LanguageLevel\~2) را درک نمی‌کنند لازم است، و همچنین در صورتی که قرار باشد خروجی برای تولید یک پرونده EPS بیشتر پردازش شود ضروری است؛ زیربخش \[lq]پست‌اسکریپت کپسوله‌شده (Encapsulated PostScript)\[rq] را در ادامه ببینید. . . .TP .BI \-c\~ n تعداد .I n نسخه از هر صفحه خروجی می‌دهد. . . .TP .BI \-F\~ dir پوشه .RI dir /dev name را به ابتدای مسیر جستجو برای پرونده‌های توصیف قلم و دستگاه و پیش‌گفتارهای PostScript اضافه می‌کند؛ .I name نام دستگاه است، که معمولاً .B ps می‌باشد. . . .TP .B \-g کد PostScript برای حدس زدن طول صفحه تولید می‌کند. . این حدس تنها در صورتی درست است که ناحیه قابل چاپ به صورت عمودی در مرکز صفحه قرار گرفته باشد. . این گزینه به شما امکان می‌دهد اسنادی تولید کنید که بتوان آنها را بر روی هر دو قطع کاغذ U.S.\& letter و A4 بدون تغییر چاپ کرد. . . .TP .BI \-I\~ dir دایرکتوری .I dir را برای پرونده‌های نام‌برده‌شده در دنباله‌های گریز .B \[rs]X\[aq]ps: file\[aq] و .B \[rs]X\[aq]ps: import\[aq] جستجو می‌کند. . گزینه .B \-I را می‌توان بیش از یک بار مشخص کرد؛ هر .I dir به همان ترتیب مشخص‌شده جستجو می‌شود. . برای جستجوی پوشه کاری جاری پیش از سایر پوشه‌ها، .RB \[lq] "\-I .\&" \[rq] را در جایگاه مورد نظر اضافه کنید؛ در غیر این صورت در انتهای مسیر جستجو می‌شود. . . .TP .B \-l به‌جای حالت عمودی (portrait)، از جهت افقی (landscape) استفاده می‌کند. . . .TP .B \-m تغذیه دستی (manual feed) کاغذ را برای سند فعال می‌کند. . . .TP .BI \-p\~ fmt ابعاد فیزیکی رسانه خروجی را تنظیم می‌کند، که دستورالعمل‌های .BR \%papersize ، .BR \%paperlength و .B \%paperwidth را در پرونده .I DESC نادیده گرفته و جایگزین می‌کند. . آرگومان .I fmt می‌تواند هر آرگومان پذیرفته‌شده توسط دستورالعمل .B \%papersize باشد؛ .MR groff_font 5 را ببینید. . . .TP .BI \-P\~ prologue از پرونده .IR prologue ، که در مسیر جستجوی قلم .I groff یافت می‌شود، به عنوان پیش‌گفتار PostScript استفاده می‌کند، که پیش‌فرض (بخش \[lq]فایل‌ها (FILES)\[rq] در ادامه را ببینید) و متغیر محیطی .I GROPS_PROLOGUE را نادیده گرفته و جایگزین می‌کند. . . .TP .BI \-w\~ n خط‌ها (خط‌کش‌ها) را با ضخامت .IR n \~هزارم یک em رسم می‌کند. . ضخامت پیش‌فرض .B 40 (0.04\~em) است. . . .\" ==================================================================== .SH "کاربرد (USAGE)" .\" ==================================================================== . ورودی به .I grops باید در قالبی باشد که توسط .MR \%troff 1 خروجی داده می‌شود، همان‌طور که در .MR groff_out 5 توصیف شده است. . علاوه بر این، پرونده‌های توصیف دستگاه و قلم برای دستگاه مورداستفاده باید الزامات مشخصی را برآورده کنند. . تفکیک‌پذیری دستگاه باید یک مضرب صحیح از\~72 برابر .B sizescale باشد. . پرونده توصیف دستگاه باید شامل یک قالب کاغذ معتبر باشد؛ .MR groff_font 5 را ببینید. . هر پرونده توصیف قلم باید حاوی دستورالعملی به شکل زیر باشد . .RS .EX .RI internalname\~ psname .EE .RE . که بیان می‌کند نام PostScript قلم برابر .I psname است. . . .P یک پرونده توصیف قلم ممکن است حاوی یک دستورالعمل دیگر نیز باشد: . .RS .EX .RI encoding\~ enc-file .EE .RE . که مشخص می‌کند قلم PostScript باید با استفاده از کدگذاری توصیف‌شده در .I enc-file مجدداً کدگذاری شود؛ این پرونده باید متشکل از دنباله‌ای از خطوط به فرم زیر باشد . . .RS .EX .I pschar code .EE .RE . که در آن .I pschar نام کاراکتر در PostScript، و .I code موقعیت آن در کدگذاری است که به عنوان یک عدد صحیح ده‌دهی بیان می‌شود؛ مقادیر معتبر در محدوده 0 تا\~255 هستند. . خطوطی که با .B # شروع می‌شوند و خطوط خالی نادیده گرفته می‌شوند. . کد هر کاراکتر ارائه‌شده در پرونده توصیف قلم باید با کد آن کاراکتر در پرونده کدگذاری، یا با کد در کدگذاری پیش‌فرض قلم در صورتی که قلم PostScript قرار نیست مجدداً کدگذاری شود، مطابقت داشته باشد. . از این کد می‌توان همراه با دنباله گریز .B \[rs]N در .I \%troff برای انتخاب کاراکتر استفاده کرد، حتی اگر کاراکتر فاقد نام گلیف .I groff باشد. . هر کاراکتر در پرونده توصیف قلم باید در قلم PostScript وجود داشته باشد، و پهناهای مشخص‌شده در پرونده توصیف قلم باید با پهناهای استفاده‌شده در قلم PostScript مطابقت داشته باشد. . برنامه .I grops فرض می‌کند که کاراکتری با نام .I groff برابر .B space خالی است (هیچ علامتی بر روی صفحه ایجاد نمی‌کند)؛ این برنامه می‌تواند از چنین کاراکتری برای تولید خروجی کارآمدتر و فشرده‌تر PostScript بهره ببرد. . . .P برنامه .I grops قادر است تمامی گلیف‌های موجود در یک قلم PostScript را نمایش دهد؛ به 256 گلیف محدود نمی‌شود. . پرونده .I enc-file (یا کدگذاری پیش‌فرض در صورتی که پرونده کدگذاری مشخص نشده باشد) فقط ترتیب گلیف‌ها را برای 256 کاراکتر اول تعیین می‌کند؛ به تمامی گلیف‌های دیگر با بردارهای کدگذاری اضافی که .I grops در لحظه تولید می‌کند دسترسی پیدا می‌شود. . . .P برنامه .I grops می‌تواند قلم‌هایی را که برای رندر سند لازم هستند درون آن جاسازی کند؛ به این عمل \[lq]بارگیری\[rq] (downloading) گفته می‌شود. . چنین قلم‌هایی باید در قالب PFA باشند. . از .MR pfbtops 1 برای تبدیل یک قلم نوع\~1 در قالب PFB استفاده کنید. . قلم‌های قابل بارگیری باید در یک پرونده .I download فهرست شوند که شامل خطوطی به فرم زیر است . .RS .EX .I psname file .EE .RE . که در آن .I psname نام قلم در PostScript، و .I file نام پرونده حاوی آن است. . خطوط خالی و خطوطی که با .B # آغاز می‌شوند نادیده گرفته می‌شوند؛ فیلدها با نویسه تب (tab) از یکدیگر جدا می‌شوند. . پرونده .I file با استفاده از همان سازوکاری که برای پرونده‌های توصیف قلم .I groff به کار می‌رود جستجو می‌شود. . خود پرونده .I download نیز به همین صورت جستجو می‌شود؛ در حال حاضر، اولین پرونده منطبق یافت‌شده در مسیر جستجوی توصیف قلم و دستگاه استفاده می‌شود. . . .P اگر پرونده حاوی یک قلم قابل بارگیری یا سند واردشده با قراردادهای ساختاردهی سند Adobe مطابقت داشته باشد، آن‌گاه .I grops هرگونه توضیح موجود در پرونده‌ها را به اندازه کافی تفسیر می‌کند تا مطمئن شود خروجی خود برنامه نیز استاندارد است. . همچنین هرگونه منابع قلم مورد نیاز را که در پرونده .I download فهرست شده‌اند، و نیز منابع پرونده مورد نیاز را فراهم می‌کند. . علاوه بر این، می‌تواند وابستگی‌های متقابل منابع را مدیریت کند. . به عنوان مثال، فرض کنید یک قلم قابل بارگیری به نام Garamond دارید، و همچنین یک قلم قابل بارگیری به نام Garamond-Outline که به Garamond وابسته است (معمولاً به گونه‌ای تعریف می‌شود که فرهنگ لغت قلم Garamond را کپی کرده و PaintType را تغییر دهد)، در این صورت لازم است Garamond پیش از Garamond-Outline در سند PostScript ظاهر شود. . برنامه .I grops این فرآیند را به صورت خودکار انجام می‌دهد، مشروط بر اینکه پرونده قلم قابل بارگیری برای Garamond-Outline وابستگی خود به Garamond را از طریق قراردادهای ساختاردهی سند مشخص کرده باشد، به عنوان مثال با شروع شدن با خطوط زیر. . .RS .EX %!PS\-Adobe\-3.0 Resource\-Font %%DocumentNeededResources: font Garamond %%EndComments %%IncludeResource: font Garamond .EE .RE . در این مورد، هر دو قلم Garamond و Garamond-Outline باید در پرونده .I download فهرست شوند. . یک قلم قابل بارگیری نباید نام خود را در توضیح .B %%Document\%Supplied\%Resources بگنجاند. . . .P برنامه .I grops توضیحات .B %%Document\%Fonts را تفسیر نمی‌کند. . به‌جای آن، توضیحات .BR %%Document\%Needed\%Resources ، .BR %%Document\%Supplied\%Resources ، .BR %%Include\%Resource ، .BR %%Begin\%Resource و .B %%End\%Resource (یا احتمالاً توضیحات قدیمی .BR %%Document\%Needed\%Fonts ، .BR %%Document\%Supplied\%Fonts ، .BR %%Include\%Font ، .BR %%Begin\%Font و .B %%End\%Font ) باید استفاده شوند. . . .P رنگ‌های پیش‌فرض قلم‌مو (stroke) و پر کردن (fill) سیاه هستند. . برای رنگ‌های تعریف‌شده در فضای رنگی \[lq]rgb\[rq]، از .B setrgbcolor استفاده می‌شود؛ برای \[lq]cmy\[rq] و \[lq]cmyk\[rq]، از .BR setcmykcolor ؛ و برای \[lq]gray\[rq]، از .BR setgray . . دستور .B setcmykcolor یک دستور PostScript در سطح زبان\~2 (%LanguageLevel\~2) است و بنابراین در برخی از چاپگرهای قدیمی در دسترس نیست. . . .\" ==================================================================== .SS "تایپ‌فیس‌ها (Typefaces)" .\" ==================================================================== . سبک‌های نام‌گذاری‌شده با .BR R ، .BR I ، .B B و .B BI در موقعیت‌های قلم 1 تا\~4 سوار شده‌اند. . قلم‌های متنی در خانواده‌های .BR A ، .BR BM ، .BR C ، .BR H ، .BR HN ، .BR N ، .BR P و .B T گروه‌بندی شده‌اند، که هر یک دارای اعضایی در هر کدام از این سبک‌ها هستند. . . .RS .TP 8n \" BMBI + 2n + hand-tuned for PDF .B AR .FT AR AvantGarde-Book .FT . .TQ .B AI .FT AI AvantGarde-BookOblique .FT . .TQ .B AB .FT AB AvantGarde-Demi .FT . .TQ .B ABI .FT ABI AvantGarde-DemiOblique .FT . .TQ .B BMR .FT BMR Bookman-Light .FT . .TQ .B BMI .FT BMI Bookman-LightItalic .FT . .TQ .B BMB .FT BMB Bookman-Demi .FT . .TQ .B BMBI .FT BMBI Bookman-DemiItalic .FT . .TQ .B CR .FT CR Courier .FT . .TQ .B CI .FT CI Courier-Oblique .FT . .TQ .B CB .FT CB Courier-Bold .FT . .TQ .B CBI .FT CBI Courier-BoldOblique .FT . .TQ .B HR .FT HR Helvetica .FT . .TQ .B HI .FT HI Helvetica-Oblique .FT . .TQ .B HB .FT HB Helvetica-Bold .FT . .TQ .B HBI .FT HBI Helvetica-BoldOblique .FT . .TQ .B HNR .FT HNR Helvetica-Narrow .FT . .TQ .B HNI .FT HNI Helvetica-Narrow-Oblique .FT . .TQ .B HNB .FT HNB Helvetica-Narrow-Bold .FT . .TQ .B HNBI .FT HNBI Helvetica-Narrow-BoldOblique .FT . .TQ .B NR .FT NR NewCenturySchlbk-Roman .FT . .TQ .B NI .FT NI NewCenturySchlbk-Italic .FT . .TQ .B NB .FT NB NewCenturySchlbk-Bold .FT . .TQ .B NBI .FT NBI NewCenturySchlbk-BoldItalic .FT . .TQ .B PR .FT PR Palatino-Roman .FT . .TQ .B PI .FT PI Palatino-Italic .FT . .TQ .B PB .FT PB Palatino-Bold .FT . .TQ .B PBI .FT PBI Palatino-BoldItalic .FT . .TQ .B TR .FT TR Times-Roman .FT . .TQ .B TI .FT TI Times-Italic .FT . .TQ .B TB .FT TB Times-Bold .FT . .TQ .B TBI .FT TBI Times-BoldItalic .FT .RE . . .br .ne 3v .P یک قلم متنی دیگر عضو هیچ خانواده‌ای نیست. . . .RS .TP 8n \" BMBI (above) + 2n + hand-tuned for PDF .B ZCMI .FT ZCMI ZapfChancery-MediumItalic .FT .RE . . .P قلم‌های ویژه شامل موارد زیر هستند: .BR S ، قلم نماد (Symbol) در PostScript؛ .BR ZD ، قلم Zapf Dingbats؛ .B SS (نماد مایل / slanted symbol)، که شامل اشکال مایل حروف کوچک یونانی برگرفته از Symbol است؛ .BR EURO ، که یک گلیف یورو را برای استفاده در دستگاه‌های قدیمی فاقد آن فراهم می‌کند؛ و .BR ZDR ، یک نسخه معکوس‌شده از Zapf Dingbats (با نمادهای برعکس‌شده حول محور عمودی). . بیشتر گلیف‌ها در این قلم‌ها بی‌نام هستند و باید با استفاده از .B \[rs]N به آنها دسترسی پیدا کرد. . سه قلم آخر قلم‌های استاندارد PostScript نیستند، بلکه توسط .I groff ارائه شده و بنابراین در پرونده پیش‌فرض .I download گنجانده شده‌اند. . . .P علاوه بر این، .I grops از طرح‌واره نام‌گذاری تایپ‌فیس‌های شرق آسیا پشتیبانی می‌کند که با .MR grohtml 1 ، .MR gropdf 1 و .MR grotty 1 مشترک است. . . .RS .TP .B CSH چینی ساده‌شده، سبک Hei . .TQ .B CSS چینی ساده‌شده، سبک Song . .TQ .B CTH چینی سنتی، سبک Hei . .TQ .B CTS چینی سنتی، سبک Song . .TQ .B JPG ژاپنی، سبک گوتیك (Gothic) . .TQ .B JPM ژاپنی، سبک مینچو (Mincho) . .TQ .B KOG کره‌ای، سبک گوتیك (Gothic) . .TQ .B KOM کره‌ای، سبک مینچو (Mincho) .RE . . .\" ==================================================================== .SS "دستورات افزونه دستگاه (Device extension commands)" .\" ==================================================================== . برنامه .I grops دستورات افزونه دستگاه را که توسط درخواست .B \%device در .I groff یا دنباله گریز .B \[rs]X در .I roff تولید می‌شوند شناسایی می‌کند، اما تنها مواردی را تفسیر می‌کند که با برچسب .RB \[lq] ps: \[rq] آغاز شوند. . . .TP .BI "\[rs]X\[aq]ps: exec\~" code \[aq] .RS دستورات دلخواه PostScript در .I code را اجرا می‌کند. . موقعیت جاری در PostScript یعنی .I \%currentpoint پیش از اجرای .IR code ، روی موقعیت رسم .I groff در هنگام تفسیر دنباله گریز .B \[rs]X تنظیم می‌شود. . مبدأ مختصات در گوشه بالا و سمت چپ صفحه قرار دارد؛ مختصات .I x به سمت راست، و مختصات .I y به سمت پایین صفحه افزایش می‌یابند. . یک رویه .RB ( procedure\~ u ) تعریف شده است که واحدهای پایه .I groff را به دستگاه مختصات جاری تبدیل می‌کند (مشروط بر اینکه کاربر مقیاس را تغییر ندهد). . به عنوان مثال، . .RS .EX \&.nr x 1i \[rs]X\[aq]ps: exec \[rs]nx u 0 rlineto stroke\[aq] .EE .RE . یک خط افقی به طول یک اینچ رسم می‌کند. . آرگومان .I code ممکن است تغییراتی در وضعیت گرافیکی ایجاد کند، اما هر تغییری فقط تا انتهای صفحه باقی می‌ماند. . فرهنگ لغتی شامل تعاریف مشخص‌شده توسط دستورات .B def و .B mdef در بالای پشته فرهنگ لغت قرار دارد. . اگر کد شما تعاریفی را به این فرهنگ لغت اضافه کند، باید با استفاده از .RB \[lq] "\[rs]X\[aq]ps:\~mdef\~" .IB n \[aq]\c \[rq] برای آنها فضا تخصیص دهید. . هر تعریفی تنها تا پایان صفحه باقی می‌ماند. . اگر از دنباله گریز .B \[rs]Y همراه با آرگومانی که نام یک ماکرو است استفاده کنید، .I code می‌تواند در چندین خط گسترش یابد. . به عنوان مثال، . .RS .EX \&.nr x 1i \&.de y \&ps: exec \&\[rs]nx u 0 rlineto \&stroke \&.. \&\[rs]Yy .EE .RE . روش دیگری برای رسم یک خط افقی به طول یک اینچ است. . تنها یک بک‌اسلش قبل از .RB \[lq] nx \[rq]\[em]که تنها دلیل استفاده از یک ثبات در هنگام تعریف ماکروی .RB \[lq] y \[rq] است\[em]برای تبدیل اندازه مشخص‌شده توسط کاربر .RB \[lq] 1i \[rq] به واحدهای پایه .I groff است که به نوبه خود با رویه .B u به واحدهای PostScript تبدیل می‌شوند. . . .br .ne 3v .P برنامه .I grops کد PostScript مشخص‌شده توسط کاربر را در یک فرهنگ لغت محصور می‌کند، نه چیزی بیشتر. . به‌ویژه، کد درج‌شده را به ترتیب با .B save و .B restore شروع و پایان نمی‌دهد. . در صورت نیاز، این موارد باید توسط کاربر تأمین شوند. .RE . . .TP .BI "\[rs]X\[aq]ps: file\~" name \[aq] این دستور همانند دستور .B exec است به جز اینکه کد PostScript از پرونده .I name خوانده می‌شود. . . .TP .BI "\[rs]X\[aq]ps: def\~" code \[aq] یک تعریف PostScript موجود در .I code را در پیش‌گفتار قرار می‌دهد. . به ازای هر دستور .B \[rs]X باید حداکثر یک تعریف وجود داشته باشد. . تعاریف طولانی را می‌توان بین چندین دستور .B \[rs]X تقسیم کرد؛ تمامی آرگومان‌های .I code به سادگی با خطوط جدید جدا شده و به هم متصل می‌شوند. . تعاریف در فرهنگ لغتی قرار می‌گیرند که هنگام اجرای یک دستور .B exec به صورت خودکار روی پشته فرهنگ لغت قرار می‌گیرد. . اگر از دنباله گریز .B \[rs]Y با آرگومانی که نام یک ماکرو است استفاده کنید، .I code می‌تواند در چندین خط گسترش یابد. . . .TP .BI "\[rs]X\[aq]ps: mdef\~" "n code" \[aq] همانند .BR def ، به جز اینکه .I code می‌تواند حداکثر تا .IR n \~تعریف را در بر گیرد. . برنامه .I grops باید بداند که .I code شامل چه تعداد تعریف است تا بتواند یک فرهنگ لغت PostScript با اندازه مناسب برای نگهداری آنها ایجاد کند. . . .TP .BI "\[rs]X\[aq]ps: import\~" "file llx lly urx ury width\~"\c .RI [ height ]\c .B \[aq] یک تصویر گرافیکی PostScript را از پرونده .I file وارد می‌کند. . آرگومان‌های .IR llx ، .IR lly ، .IR urx و .I ury کادر احاطه‌کننده (bounding box) گرافیک را در دستگاه مختصات پیش‌فرض PostScript مشخص می‌کنند. . همگی باید اعداد صحیح باشند: .I llx و .I lly مختصات .I x و .I y گوشه پایین و سمت چپ گرافیک هستند؛ .I urx و .I ury مختصات .I x و .I y گوشه بالا و سمت راست گرافیک هستند؛ .I width و .I height اعداد صحیحی هستند که پهنا و ارتفاع مورد نظر گرافیک را بر حسب واحدهای پایه .I groff مشخص می‌کنند. . . .IP گرافیک به گونه‌ای مقیاس‌بندی می‌شود که دارای این پهنا و ارتفاع باشد و به گونه‌ای انتقال می‌یابد که گوشه پایین و سمت چپ گرافیک در موقعیت مرتبط با دستور .B \[rs]X قرار گیرد. . اگر آرگومان ارتفاع حذف شود، به صورت یکنواخت در محورهای .I x و .I y مقیاس‌بندی می‌شود تا پهنای مشخص‌شده را داشته باشد. . . .IP محتویات دستور .B \[rs]X توسط .I \%troff تفسیر نمی‌شوند، بنابراین فضای عمودی برای گرافیک به صورت خودکار اضافه نمی‌گردد، و آرگومان‌های .I width و .I height مجاز به داشتن نشانگرهای مقیاس متصل نیستند. . . .IP اگر پرونده PostScript با قراردادهای ساختاردهی سند Adobe مطابقت داشته باشد و حاوی یک توضیح .B %%Bounding\%Box باشد، آن‌گاه کادر احاطه‌کننده می‌تواند به صورت خودکار از درون ورودی .I groff با استفاده از درخواست .B psbb استخراج شود. . . .IP برای توصیف ماکروی .BR PSPIC ، که رابطی سطح‌بالا و راحت را برای گنجاندن گرافیک‌های PostScript فراهم می‌کند، .MR groff_tmac 5 را ببینید. . . .TP .B \[rs]X\[aq]ps: invis\[aq] .TQ .B \[rs]X\[aq]ps: endinvis\[aq] هیچ خروجی برای متن و دستورات رسمی که بین این دستورات .B \[rs]X محصور شده‌اند تولید نمی‌شود. . این دستورات برای استفاده در زمانی در نظر گرفته شده‌اند که خروجی .I \%troff پیش از پردازش با .I grops پیش‌نمایش داده می‌شود؛ اگر پیش‌نمایشگر قادر به نمایش برخی کاراکترها یا سازه‌های دیگر نباشد، می‌توان از کاراکترها یا سازه‌های جایگزین دیگری با محصور کردن آنها بین این دستورات .B \[rs]X برای پیش‌نمایش استفاده کرد. . . .RS .P به عنوان مثال، .I \%gxditview قادر به نمایش یک کاراکتر مناسب .B \[rs][em] نیست زیرا قلم‌های استاندارد X11 آن را ارائه نمی‌دهند؛ این مشکل را می‌توان با درخواست زیر برطرف ساخت. . . .IP .EX \&.char \[rs][em] \[rs]X\[aq]ps: invis\[aq]\[rs] \[rs]Z\[aq]\[rs]v\[aq]-.25m\[aq]\[rs]h\[aq].05m\[aq]\c \[rs]D\[aq]l .9m 0\[aq]\[rs]h\[aq].05m\[aq]\[aq]\[rs] \[rs]X\[aq]ps: endinvis\[aq]\[rs][em] .EE . . .P در این حالت، .I \%gxditview قادر به نمایش کاراکتر .B \[rs][em] نیست و خط را رسم می‌کند، در حالی که .I grops کاراکتر .B \[rs][em] را چاپ می‌کند و خط را نادیده می‌گیرد (این کد از قبل در پرونده .I Xps.tmac وجود دارد، که در صورت پیش‌نمایش سندی که برای .I grops در نظر گرفته شده با .IR \%gxditview ، بارگیری می‌شود). .RE . . .br .ne 3v .P اگر رویه PostScript با نام .B BPhook از طریق یک دستور افزونه دستگاه .RB \[lq] "ps:\~def" \[rq] یا .RB \[lq] "ps:\~mdef" \[rq] تعریف شده باشد، در آغاز هر صفحه (پیش از اینکه هر چیزی توسط .I groff رسم یا نوشته شود) اجرا می‌گردد. . برای مثال، برای اینکه کلمه \[lq]DRAFT\[rq] را با رنگ خاکستری روشن زیر محتویات صفحه قرار دهید، می‌توانید از موارد زیر استفاده کنید. . .RS .EX \&.de XX ps: def /BPhook { gsave .9 setgray clippath pathbbox exch 2 copy .5 mul exch .5 mul translate atan rotate pop pop /NewCenturySchlbk-Roman findfont 200 scalefont setfont (DRAFT) dup stringwidth pop \-.5 mul \-70 moveto show grestore } def \&.. \&.devicem XX .EE .RE . . .P یا، برای اینکه خطوط و چندضلعی‌ها با کلاهک‌های خطی مربعی (square linecaps) و اتصالات فارسی (mitered linejoins) رسم شوند، به‌جای کلاهک‌ها و اتصالات گرد که به صورت معمول توسط .I grops استفاده می‌شوند، از دستورات زیر استفاده کنید. . .RS .EX \&.de XX ps: def /BPhook { 2 setlinecap 0 setlinejoin } def \&.. \&.devicem XX .EE .RE . (کلاهک‌های خطی مربعی، برخلاف کلاهک‌های خطی متصل .RB (\[lq] "0 setlinecap" \[rq])، حتی اگر خطوط به صورت ناپیوسته رسم شوند گوشه‌های دقیقی را در جدول‌های کادربندی‌شده ایجاد می‌کنند.) . . .\" ==================================================================== .SS "پست‌اسکریپت کپسوله‌شده (Encapsulated PostScript)" .\" ==================================================================== . خود برنامه .I grops اطلاعات کادر احاطه‌کننده (bounding box) را تولید نمی‌کند. . اسکریپت زیر، .IR groff2eps ، یک پرونده EPS تولید می‌کند. . . .RS .P .EX #!/bin/sh groff \-P\-b16 "$1" > "$1".ps gs \-dNOPAUSE \-sDEVICE=bbox \-\- "$1".ps 2> "$1".bbox sed \-e "/\[ha]%%Orientation/r $1.bbox" \[rs] \-e "/\[ha]%!PS\-Adobe\-3.0/s/$/ EPSF\-3.0/" "$1".ps > "$1".eps rm "$1".ps "$1".bbox .EE .RE . . .P سپس می‌توانید از .RB \[lq] "groff2eps foo" \[rq] برای تبدیل پرونده .I foo به .I foo.eps استفاده کنید. . . .\" ==================================================================== .SS "تروتایپ و سایر قالب‌های قلم (TrueType and other font formats)" .\" ==================================================================== . برای استفاده از قلم‌های TrueType با .IR grops ، ابتدا آنها را به قالب Type\~42 تبدیل کنید، که یک بسته‌بند (wrapper) PostScript معادل با قالب PFA توصیف‌شده در .MR pfbtops 1 است. . روش‌های متعددی برای تولید یک بسته‌بند Type\~42 وجود دارد؛ برخی از آنها شامل استفاده از یک مفسر PostScript مانند Ghostscript هستند\[em]ببینید .MR gs 1 . . . .P نرم‌افزار .UR https://fontforge.org FontForge .UE بیشتر قالب‌های قلم برداری (outline font) را تبدیل می‌کند. . در اینجا نحوه آماده‌سازی Roboto Slab Serif برای استفاده با .I groff آمده است. . . .RS 4 .P .EX MAP=/usr/\:\%share/\:\%groff/\:\%1.24.1/\:\%font/devps/generate/text.map TTF=/usr/share/fonts/truetype/roboto/slab/RobotoSlab\-Regular.ttf BASE=$(basename \[dq]$TTF\[dq]) INT=${BASE%.ttf} PFA=$INT.pfa AFM=$INT.afm GFN=RSR DIR=$HOME/.local/groff/font mkdir \-p \[dq]$DIR\[dq]/devps fontforge \-lang=ff \-c \[dq]Open(\[rs]\[dq]$TTF\[rs]\[dq]);\[rs] \tGenerate(\[rs]\[dq]$DIR/devps/$PFA\[rs]\[dq]);\[dq] afmtodit \[dq]$DIR/devps/$AFM\[dq] \[dq]$MAP\[dq] \ \[dq]$DIR/devps/$GFN\[dq] printf \[dq]$BASE\[rs]t$PFA\[rs]n\[dq] >> \[dq]$DIR/devps/download\[dq] .EE .RE . . .P برنامه‌های .I fontforge و .I afmtodit ممکن است بسته به ویژگی‌های پرونده قلم هشدارهایی ایجاد کنند. . قلم را به صورت زیر آزمایش کنید. . . .RS 4 .P .EX printf \[dq].ft RSR\[rs]nHello, world!\[rs]n\[dq] | groff \-F \ \[dq]$DIR\[dq] > hello.ps .EE .RE . . .P هنگامی که مطمئن شدید قلم به درستی کار می‌کند، ممکن است بخواهید هر یک از سبک‌های مرتبط موجود را نیز تولید کنید (به عنوان مثال، Roboto Slab همچنین دارای سبک‌های \[lq]Bold\[rq]، \[lq]Light\[rq] و \[lq]Thin\[rq] است) و .I GROFF_FONT_PATH را در محیط خود تنظیم کنید تا شامل پوشه‌ای باشد که قلم‌های تولیدشده را در آن نگهداری می‌کنید، تا نیازی به استفاده از گزینه .B \-F نباشد. . . .\" ==================================================================== .SH "نصب قلم (Font installation)" .\" ==================================================================== . جهت راحتی شما، .I groff اسکریپت .IR install\-font.bash را ارائه می‌دهد؛ یک اسکریپت شل که به صورت تعاملی در پیکربندی قلم‌ها برای استفاده با قالب‌بند .I troff گنو و درایور خروجی .I grops کمک می‌کند. . بخش \[lq]فایل‌ها (FILES)\[rq] در ادامه را ببینید. . . .P در ادامه یک راهنمای گام‌به‌گام برای نصب قلم در .I grops آمده است. . . .IP \[bu] 3n قلم خود را به قالبی تبدیل کنید که برای .I groff قابل درک باشد. . این یک قلم PostScript نوع\~1 در قالب PFA یا یک قلم PostScript نوع\~42، به همراه یک پرونده AFM است. . یک پرونده PFA به صورت زیر آغاز می‌شود. . .RS .RS \" two RS calls to get inboard of IP indentation .EX %!PS\-AdobeFont\-1.0: .EE .RE . یک پرونده PFB نیز شامل همین رشته است، که با چند بایت غیرقابل چاپ همراه است. . اگر قلم شما در قالب PFB است، از برنامه .MR pfbtops 1 مربوط به .I groff برای تبدیل آن به PFA استفاده کنید. . برای قلم‌های TrueType و سایر قالب‌ها، ما .I fontforge را توصیه می‌کنیم، که می‌تواند بیشتر قالب‌های قلم برداری را تبدیل کند. . یک پرونده قلم نوع\~42 به صورت زیر آغاز می‌شود. . .RS .EX %!PS\-TrueTypeFont .EE .RE . این یک قالب بسته‌بندی برای قلم‌های TrueType است. . چاپگرهای قدیمی PostScript ممکن است از آنها پشتیبانی نکنند (به این معنا که ممکن است یک مفسر درونی قلم TrueType نداشته باشند). . در مراحل زیر، ما استفاده از قلم .UR https://ctan.org/tex\-archive/fonts/brushscr BrushScriptX-Italic .UE موجود در مخزن CTAN را در قالب PFA در نظر می‌گیریم. .RE \" now restore left margin . . .IP \[bu] پرونده AFM را با استفاده از برنامه .MR afmtodit 1 به یک پرونده توصیف قلم .I groff تبدیل کنید. . برای مثال، . .RS .RS \" two RS calls to get inboard of IP indentation .EX $ \c .B afmtodit BrushScriptX\-Italic.afm text.map BSI .EE .RE . پرونده متریک قلم ادوبی .I BrushScriptX\-Italic.afm را به پرونده توصیف قلم .I groff با نام .I BSI تبدیل می‌کند. .RE \" now restore left margin . . .IP اگر یک خانواده قلم دارید که سبک‌های معمولی ایستاده (roman)، پررنگ (bold)، مورب (italic) و پررنگ-مورب (bold-italic) را ارائه می‌دهد (که در آن \[lq]italic\[rq] ممکن است \[lq]oblique\[rq] یا \[lq]slanted\[rq] باشد)، توصیه می‌کنیم به ترتیب از حروف .BR R ، .BR B ، .B I و .B BI به عنوان پسوند نام خانواده قلم در .I groff استفاده کنید تا قابلیت‌های انتخاب خانواده و سبک قلم در .I groff فعال شوند. . یک مثال، پشتیبانی درونی .I groff از قلم Times است: نام خانواده قلم به صورت .B T خلاصه می‌شود، و نام‌های قلم .I groff بنابراین عبارتند از .BR TR ، .BR TB ، .B TI و .BR TBI . . با این حال، در مثال ما، قلم BrushScriptX تنها در یک سبک در دسترس است: italic. . . .IP \[bu] پرونده(های) توصیف قلم .I groff را در یک زیرپوشه .I devps درون مسیر جستجویی که .I groff برای توصیف‌های دستگاه و قلم به کار می‌برد نصب کنید. . مدخل .I GROFF_FONT_PATH را در بخش \[lq]محیط (ENVIRONMENT)\[rq] از .MR \%troff 1 برای مقدار جاری مسیر جستجوی قلم مشاهده کنید. . اگرچه .I groff مستقیماً از پرونده‌های AFM استفاده نمی‌کند، اما ایده خوبی است که آنها را در کنار پرونده‌های توصیف قلم آن ذخیره کنید. . . .IP \[bu] قلم‌ها را در پرونده .I devps/download ثبت کنید تا بتوان آنها را برای جاسازی در پرونده‌های PostScript که .I grops تولید می‌کند پیدا کرد. . تنها اولین پرونده .I download یافت‌شده در مسیر جستجوی قلم خوانده می‌شود. . اگر تردید دارید، پرونده پیش‌فرض .I download را (بخش \[lq]فایل‌ها (FILES)\[rq] در ادامه را ببینید) در اولین پوشه مسیر جستجوی قلم کپی کرده و قلم‌های خود را در آنجا اضافه کنید. . نام قلم PostScript مورداستفاده توسط .I grops در فیلد .B internalname در پرونده توصیف قلم .I groff ذخیره می‌شود. . (این نام لزوماً شباهتی به نام پرونده قلم ندارد.) . خط زیر را به پرونده .I download اضافه می‌کنیم. . .RS .RS \" two RS calls to get inboard of IP indentation .EX BrushScriptX\-Italic\[->]BrushScriptX\-Italic.pfa .EE .RE \" but only one to get back to it . یک نویسه تب (tab)، که به صورت \[->] نمایش داده شده است، فیلدها را جدا می‌کند. .RE \" now restore left margin . . .IP \[bu] انتخاب و جاسازی قلم جدید را آزمایش کنید. . .RS .RS \" two RS calls to get inboard of IP indentation .EX printf "\[rs]\[rs]f[BSI]Hello, world!\[rs]n" \ | groff \-T ps >hello.ps see hello.pdf .EE .RE .RE \" now restore left margin . . .\" ==================================================================== .SH "قلم‌های قدیمی (Old fonts)" .\" ==================================================================== . نسخه‌های 1.19.2 و قبل‌تر .I groff حاوی توصیفاتی از مجموعه کمی متفاوتی از 35 قلم پایه سطح 2 پست‌اسکریپت بودند که توسط Adobe تعریف شده بودند. . مجموعه قدیمی‌تر شامل 314 گلیف و مجموعه بزرگ‌تری از جفت‌های کرنینگ (kerning pairs) است؛ مجموعه جدیدتر تنها دارای 229 گلیف است، اما علامت یورو را شامل می‌شود. . برای سازگاری رو به عقب، این توصیف‌های قلم قدیمی نیز در پوشه .I /usr/\:\%share/\:\%groff/\:\%1.24.1/\:\%oldfont/\:\%devps نصب شده‌اند. . . .P برای استفاده از آنها، اطمینان حاصل کنید که .I grops قلم‌ها را پیش از قلم‌های پیش‌فرض سیستم (با همان نام‌ها) پیدا کند: یا گزینه خط فرمان .B \-F را به .I grops بدهید، . .RS .EX $ \c .B groff \-Tps \-P\-F \-P/usr/\:\%share/\:\%groff/\:\%1.24.1/\:\%oldfont \c \&.\|.\|. .EE .RE . یا این پوشه را هنگام اجرای دستور به متغیر محیطی مسیر جستجوی توصیف قلم و دستگاه در .I groff اضافه کنید، . .RS .EX $ \c .B GROFF_FONT_PATH=\:/usr/\:\%share/\:\%groff/\:\%1.24.1/\:\%oldfont \[rs] .RS .B groff \-Tps \c \&.\|.\|. .RE .EE .RE . هنگامی که دستور اجرا می‌شود. . . .\" ==================================================================== .SH "وضعیت خروج (Exit status)" .\" ==================================================================== . برنامه .I \%grops در صورت اجرای موفق با .RB وضعیت\~ 0 خارج می‌شود، اگر برنامه نتواند آرگومان‌های خط فرمان خود را تفسیر کند با .RB وضعیت\~ 2 خارج می‌شود، و در صورتی که حین عملیات با خطایی مواجه شود با .RB وضعیت\~ 1 خارج می‌شود. . . .br .ne 3v .\" ==================================================================== .SH "محیط (ENVIRONMENT)" .\" ==================================================================== . .TP .I GROFF_FONT_PATH فهرستی از پوشه‌ها که در آنها پوشه پرونده‌های توصیف قلم و دستگاه برای دستگاه خروجی انتخاب‌شده جستجو می‌شود. . .MR \%troff 1 و .MR groff_font 5 را ببینید. . . .TP .I GROPS_PROLOGUE اگر این متغیر روی .I foo تنظیم شده باشد، آن‌گاه .I grops به‌جای پرونده پیش‌گفتار پیش‌فرض .IR prologue ، از پرونده .I foo (در مسیر قلم) استفاده می‌کند. . گزینه .B \-P این متغیر محیطی را نادیده گرفته و جایگزین می‌کند. . . .TP .I SOURCE_DATE_EPOCH یک برچسب زمانی (بیان‌شده به ثانیه از مبدأ زمان یونیکس) برای استفاده به عنوان برچسب زمان ایجاد خروجی به‌جای زمان جاری. . این زمان با استفاده از .MR gmtime 3 و .MR asctime 3 به قالبی قابل خواندن توسط انسان تبدیل شده و در یک توضیح PostScript ثبت می‌شود. . . .TP .I TZ منطقه زمانی مورداستفاده در هنگام تبدیل زمان جاری به قالبی خوانا توسط انسان؛ .MR tzset 3 را ببینید. اگر از .I SOURCE_DATE_EPOCH استفاده شود، همواره با استفاده از ساعت هماهنگ جهانی (UTC) به قالبی خوانا تبدیل می‌شود. . . .\" ==================================================================== .SH "فایل‌ها (FILES)" .\" ==================================================================== . .TP .I /usr/\:\%share/\:\%groff/\:\%1.24.1/\:\%font/\:\%devps/\:DESC دستگاه خروجی .B ps را توصیف می‌کند. . . .TP .IR /usr/\:\%share/\:\%groff/\:\%1.24.1/\:\%font/\:\%devps/ F قلم شناخته‌شده با نام .RI \~ F را بر روی دستگاه .B ps توصیف می‌کند. . . .TP .I /usr/\:\%share/\:\%groff/\:\%1.24.1/\:\%font/\:\%devps/\:\%download قلم‌های موجود برای جاسازی در سند PostScript (یا بارگیری روی دستگاه) را فهرست می‌کند. . . .TP .I /usr/\:\%share/\:\%groff/\:\%1.24.1/\:\%font/\:\%devps/\:\%prologue پیش‌گفتار پیش‌فرض PostScript است که به ابتدای هر پرونده خروجی اضافه می‌شود. . . .TP .I /usr/\:\%share/\:\%groff/\:\%1.24.1/\:\%font/\:\%devps/\:text.enc طرح کدگذاری مورداستفاده توسط بیشتر قلم‌های PostScript نوع\~1 را توصیف می‌کند؛ دستورالعمل .B \%encoding پرونده‌های توصیف قلم برای دستگاه .B ps به آن ارجاع می‌دهد. . . .TP .I /usr/\:\%share/\:\%groff/\:\%1.24.1/\:\%tmac/\:ps.tmac ماکروهایی را برای استفاده با دستگاه خروجی .B ps تعریف می‌کند. . هنگامی که دستگاه خروجی .B ps انتخاب شود، به طور خودکار توسط .I troffrc بارگیری می‌شود. . . .TP .I /usr/\:\%share/\:\%groff/\:\%1.24.1/\:\%tmac/\:pspic.tmac ماکروی .B PSPIC را برای جاسازی تصاویر در یک سند تعریف می‌کند؛ .MR groff_tmac 5 را ببینید. . به طور خودکار توسط .I troffrc بارگیری می‌شود. . . .TP .I /usr/\:\%share/\:\%groff/\:\%1.24.1/\:\%tmac/psold.tmac گلیف‌های جایگزینی را برای قلم‌های متنی که فاقد پوشش کامل مجموعه کاراکترهای ISO\~Latin-1 هستند فراهم می‌کند؛ با استفاده از آن، .I groff می‌تواند گلیف‌هایی مانند eth (\[Sd]) و thorn (\[Tp]) تولید کند که چاپگرهای قدیمی‌تر PostScript به صورت بومی از آنها پشتیبانی نمی‌کنند. . . .TP .I /usr/\:\%share/\:\%doc/\:\%groff\-1.24.1/\:\%examples/\:install\-font\:.bash این اسکریپت، که توسط Peter Schaffter، نویسنده بسته ماکروی .IR mom ، ارائه شده و مدت‌هاست در وب‌سایت او در دسترس است، به در دسترس قرار دادن قلم‌های TrueType .RI ( .ttf )، OpenType .RI ( .otf ) و PostScript نوع\~1 .RI ( .pfa ، .IR .pfb ) برای .I groff کمک می‌کند. . . .IP به پوشه آن بروید و دستور .RB \[lq] "bash install\-font.bash \-H" \[rq] را برای توصیفی مشابه صفحه راهنما در مورد ویژگی‌ها و نحوه کارکرد آن اجرا کنید. . . .P برنامه .I grops پرونده‌های موقت را با استفاده از الگوی .RI \[lq] grops XXXXXX\[rq] ایجاد می‌کند؛ .MR groff 1 را ببینید. . . .\" ==================================================================== .SH "همچنین ببینید (SEE ALSO)" .\" ==================================================================== . .UR http://\:partners\:.adobe\:.com/\:public/\:developer/\:en/\:ps/\:5001\:.DSC_Spec\:.pdf مشخصات قراردادهای ساختاردهی سند زبان PostScript (DSC) .UE . . .P .MR afmtodit 1 , .MR groff 1 , .MR \%troff 1 , .MR pfbtops 1 , .MR groff_char 7 , .MR groff_font 5 , .MR groff_out 5 , .MR groff_tmac 5 . . .\" Clean up. .rm FT . .\" Restore compatibility mode (for, e.g., Solaris 10/11). .cp \n[*groff_grops_1_man_C] .do rr *groff_grops_1_man_C . . .\" Local Variables: .\" fill-column: 72 .\" mode: nroff .\" End: .\" vim: set filetype=groff textwidth=72: