grolj4(1) General Commands Manual grolj4(1)

grolj4 - درایور خروجی groff برای چاپگرهای HP LaserJet 4 و چاپگرهای سازگار

grolj4 [-l] [-c num-copies] [-d [n]] [-F font-directory] [-p paper-format] [-w line-width] [file ...]
grolj4 --help
grolj4 -v
grolj4 --version

این راه‌انداز خروجی GNU roff خروجیِ troff(1) را به قالب PCL5 مناسب برای چاپگر Hewlett-Packard LaserJet 4 ترجمه می‌کند. به‌طور معمول، grolj4 توسط groff(1) فراخوانی می‌شود، هنگامی که گزینه “-T lj4” به آن داده شده باشد. (در این نصب، ps دستگاه خروجی پیش‌فرض است.) برای ارسال هر یک از گزینه‌های نشان‌داده‌شده در بالا به grolj4، از گزینه -P در groff استفاده کنید. اگر هیچ آرگومان file داده نشود، یا اگر file برابر با “-” باشد، grolj4 جریان ورودی استاندارد را می‌خواند. این برنامه در جریان خروجی استاندارد می‌نویسد.

grolj4 از چهار سبک استاندارد پشتیبانی می‌کند: R (معمولی یا roman)، I (مورب یا italic)، B (توپر یا bold)، و BI (توپر-مورب یا bold-italic). قلم‌ها در خانواده‌های A، C، G، O، T، TN، U، و UC دسته‌بندی شده‌اند که در هر سبک دارای عضوهایی هستند. برای سهولت در داشتن مجموعه‌قلمی سازگار در groff، پرونده lj4.tmac (بخش “فایل‌ها (FILES)” در زیر را ببینید) از درخواست‌های ftr برای نگاشت مجدد نام‌های قلم H (“Helvetica”) به نام‌های U نشان‌داده‌شده در زیر استفاده می‌کند.

Arial Bold

Arial Bold Italic

Arial Italic

Arial Roman

Courier Bold

Courier Bold Italic

Courier Italic

Courier Roman

Garamond Halbfett

Garamond Kursiv Halbfett

Garamond Kursiv

Garamond Antiqua

CG Omega Bold

CG Omega Bold Italic

CG Omega Italic

CG Omega Roman

CG Omega Bold

CG Omega Bold Italic

CG Omega Italic

CG Omega Roman

CG Times Bold

CG Times Bold Italic

CG Times Italic

CG Times Roman

M Times Bold

M Times Bold Italic

M Times Italic

M Times Roman

Univers Bold

Univers Bold Italic

Univers Medium Italic

Univers Medium

Univers Condensed Bold

Univers Condensed Bold Italic

Univers Condensed Medium Italic

Univers Condensed Medium

قلم‌های زیر عضو هیچ خانواده‌ای نیستند.

Albertus Extra Bold

Albertus Medium

Antique Olive Bold

Antique Olive Italic

Antique Olive Roman

Clarendon

Coronet

Letter Gothic Bold

Letter Gothic Italic

Letter Gothic Roman

Marigold

قلم ویژه S (PostScript Symbol) است؛ SYMBOL (M Symbol) و WINGDINGS (Wingdings) نیز در دسترس هستند اما به‌طور پیش‌فرض سوار نشده‌اند.

grolj4 از قالب‌های کاغذ “A4”، “B5”، “C5”، “com10”، “DL”، “executive”، “legal”، “letter” و “monarch” پشتیبانی می‌کند. این موارد بدون توجه به بزرگی یا کوچکی حروف مطابقت داده می‌شوند. گزینه -p هرگونه تنظیم موجود در فایل توصیف دستگاه DESC را بازنویسی می‌کند. اگر هیچ‌کدام قالب کاغذی را مشخص نکنند، “letter” فرض می‌شود.

علاوه بر مواردی که در groff_font(5) مستند شده‌اند، grolj4 چهار دستورالعمل فایل توصیف قلم را شناسایی می‌کند.

وزن ضخامت خط (stroke weight) را روی n تنظیم می‌کند که یک عدد صحیح در محدوده -7 تا +7 است؛ مقدار پیش‌فرض 0 است.
سبک (style) را روی n تنظیم می‌کند که یک عدد صحیح در محدوده 0 تا 32767 است؛ مقدار پیش‌فرض 0 است.
پرچم بولی فاصله‌گذاری متناسب را روی n تنظیم می‌کند که می‌تواند 0 یا 1 باشد؛ مقدار پیش‌فرض 0 است.
خانواده قلم (typeface family) را روی n تنظیم می‌کند که یک عدد صحیح در محدوده 0 تا 65535 است؛ مقدار پیش‌فرض 0 است.

یک دستور رسم اضافی به‌عنوان افزونه‌ای برای دستورهای مستندشده در groff(7) شناسایی می‌شود.

\D'R dh dv'
یک خط‌کش یا مستطیل توپر (مستطیل سیاه توپر) رسم می‌کند که یک گوشه آن در موقعیت رسم، و گوشه قطری مقابل آن در موقعیت رسم +(dh,dv) قرار دارد که پس از آن موقعیت رسم در آن نقطه قرار خواهد گرفت. این دستور یک فرمان پر کردن مستطیل PCL تولید می‌کند، و بنابراین بر خلاف سایر دستورهای \D، روی چاپگرهایی که از HP-GL/2 پشتیبانی نمی‌کنند نیز کار خواهد کرد.

به‌طور اسمی، چاپگرهای سری HP LaserJet 4 و چاپگرهای جدیدتر دارای قلم‌های داخلی یکسانی هستند. ۴۵ قلم از ۰٫۲۵ تا ۹۹۹٫۷۵ پوینت در گام‌های ۰٫۲۵ پوینتی مقیاس‌پذیر هستند. قلم Lineprinter فقط در اندازه ۸٫۵ پوینت در دسترس است.

فایل‌های قلم LaserJet همراه با groff فرض می‌کنند که تمام چاپگرها از زمان LaserJet 4 یکسان هستند. با این حال، تفاوت‌هایی میان قلم‌ها در چاپگرهای پیشین و جدیدتر وجود دارد. چاپگر LaserJet 4 از فناوری Agfa Intellifont برای ۳۵ قلم از قلم‌های داخلی مقیاس‌پذیر استفاده می‌کرد؛ ۱۰ قلم مقیاس‌پذیر باقی‌مانده TrueType بودند. با شروع از چاپگرهای سری LaserJet 4000 معرفی‌شده در سال ۱۹۹۷، تمام قلم‌های داخلی مقیاس‌پذیر از نوع TrueType بوده‌اند. تعداد گلیف‌های قابل چاپ میان قلم‌های Intellifont و TrueType اندکی تفاوت دارد (به‌طور کلی، قلم‌های TrueType شامل گلیف‌های بیشتری هستند)، و تفاوت‌های جزئی در معیارهای گلیف وجود دارد. تفاوت‌های میان مدل‌های چاپگر در PCL 5 Comparison Guide (راهنمای مقایسه PCL 5) و PCL 5 Comparison Guide Addendum (ضمیمه راهنمای مقایسه PCL 5، برای چاپگرهای معرفی‌شده از حدود ۲۰۰۱ به بعد) شرح داده شده است.

چاپگرهای LaserJet با ترکیبی از یک مجموعه نماد ۲۵۶ گلیفی و یک نمایه (index) در داخل آن مجموعه نماد به یک گلیف ارجاع می‌دهند. بسیاری از گلیف‌ها در بیش از یک مجموعه نماد ظاهر می‌شوند؛ تمام ترکیب‌های مجموعه نماد و نمایه‌ای که به همان گلیف ارجاع می‌دهند معادل یکدیگر هستند. برای هر گلیف، hpftodit(1) فهرستی از مجموعه‌های نماد را جستجو می‌کند، و نخستین مجموعه‌ای را که حاوی گلیف باشد انتخاب می‌کند. کد چاپی تولیدشده توسط hpftodit یک عدد صحیح است که مقدار عددی مربوط به مجموعه نماد را در بایت(های) مرتبه‌بالا، و نمایه را در بایت مرتبه‌پایین کدگذاری می‌کند. برای شرح کامل ساختار فایل قلم به groff_font(5) مراجعه کنید؛ مجموعه‌های نماد با جزئیات بیشتر در PCL 5 Printer Language Technical Reference Manual (راهنمای مرجع فنی زبان چاپگر PCL 5) شرح داده شده‌اند.

دو قلم مقیاس‌پذیر Symbol و Wingdings به مجموعه‌های نماد ۲۵۶ گلیفی مقید شده‌اند؛ سایر قلم‌های مقیاس‌پذیر، و همچنین قلم Lineprinter، از مجموعه‌های نماد متعددی پشتیبانی می‌کنند که برای چاپ بیش از ۶۰۰ گلیف کافی است.

معیارهای تولیدشده توسط hpftodit فرض می‌کنند که فایل DESC حاوی مقادیر ۱۲۰۰ برای res و ۶۳۵۰ برای unitwidth است، یا هر ترکیبی (مانند ۲۴۰۰ و ۳۱۷۵) که برای آن res × unitwidth = 7620000 باشد. اگرچه چاپگرهای HP PCL 5 LaserJet از تفکیک‌پذیری داخلی ۷۲۰۰ واحد در هر اینچ پشتیبانی می‌کنند، اما برای موقعیت‌یابی از یک عدد صحیح علامت‌دار ۱۶ بیتی استفاده می‌کنند؛ اگر devlj4 بخواهد از کاغذ بزرگ‌اندازه (ledger) ایالات متحده (11 in × 17 in؛ in = اینچ) پشتیبانی کند، حداکثر تفکیک‌پذیری قابل استفاده 32767 ÷ 17، یا ۱۹۲۷ واحد در هر اینچ است که به سمت پایین به ۱۲۰۰ واحد در هر اینچ گرد می‌شود. اگر بزرگ‌ترین ابعاد مورد نیاز کاغذ کمتر باشد (مانند 8.5 in × 11 in، یا A5)، می‌توان مقدار res بزرگ‌تر (و unitwidth کوچک‌تر) مشخص کرد.

معیارهای قلم برای قلم‌های Intellifont توسط فایل‌های سنجه قلم برچسب‌دار (Tagged Font Metric یا TFM) ارائه می‌شدند که در اصل توسط Agfa/Compugraphic توسعه یافته بودند. فایل‌های TFM ارائه‌شده برای این قلم‌ها از بیش از ۶۰۰ گلیف پشتیبانی می‌کردند و شامل فهرست‌های گسترده‌ای از جفت‌های کرنینگ (kerning pairs) بودند.

برای سازگاری با توسعه‌دهندگانی که به فایل‌های TFM عادت کرده بودند، HP همچنین فایل‌های TFM را برای ۱۰ قلم TrueType ارائه‌شده در LaserJet 4 ارائه داد. فایل‌های TFM برای قلم‌های TrueType عموماً حاوی اطلاعات کمتری نسبت به TFMهای Intellifont بودند، از گلیف‌های کمتری پشتیبانی می‌کردند، و در بیشتر موارد، هیچ اطلاعاتی در مورد فاصله‌گذاری متناسب حروف (kerning) ارائه نمی‌دادند. تا زمانی که چاپگر LaserJet 4000 معرفی شد، بیشتر توسعه‌دهندگان به روش‌های دیگری برای به‌دست آوردن معیارهای قلم مهاجرت کرده بودند، و پشتیبانی از فایل‌های TFM جدید بسیار محدود بود. فایل‌های TFM ارائه‌شده برای قلم‌های TrueType در LaserJet 4000 فقط از مجموعه نماد ISO Latin-2 (8859-2) پشتیبانی می‌کنند، و شامل هیچ اطلاعات کرنینگی نیستند؛ در نتیجه، به جز در ابتدایی‌ترین اسناد، ارزش چندانی ندارند.

از آنجا که فایل‌های Intellifont TFM حاوی اطلاعات بسیار بیشتری هستند، حتی برای استفاده با قلم‌های TrueType در چاپگرهای جدیدتر عموماً نسبت به فایل‌های TrueType TFM ترجیح داده می‌شوند. معیارهای قلم‌های TrueType بسیار نزدیک، اگرچه نه کاملاً یکسان، به معیارهای قلم‌های قبلی Intellifont با همان نام‌ها هستند. اگرچه بیشتر خروجی‌ها با استفاده از معیارهای Intellifont روی چاپگرهای جدیدتر کاملاً قابل قبول است، اما تعداد اندکی از گلیف‌ها ممکن است طبق انتظار چاپ نشوند. تفاوت‌ها در معیارهای گلیف ممکن است به‌ویژه در پرانتزها، کروشه‌ها و آکولادهای ترکیبی مورداستفاده در eqn(1) محسوس باشد. یک اسکریپت واقع در /usr/share/groff/1.24.1/font/devlj4/generate می‌تواند برای تنظیم معیارهای این گلیف‌ها در قلم ویژه “S” جهت استفاده در چاپگرهایی که تمام قلم‌هایشان TrueType است، استفاده شود.

در زمانی که HP برای آخرین بار از فایل‌های TFM پشتیبانی کرد، تنها نسخه 1.0 از استاندارد یونیکد در دسترس بود. در نتیجه، بسیاری از گلیف‌هایی که فاقد نقطه کد (code point) تخصیص‌یافته بودند، توسط HP به ناحیه استفاده خصوصی (Private Use Area یا PUA) اختصاص یافتند. نسخه‌های بعدی استاندارد یونیکد شامل نقاط کد خارج از PUA برای بسیاری از این گلیف‌ها شدند. فایل‌های TrueType TFM ارائه‌شده توسط HP از تخصیص‌های PUA استفاده می‌کنند؛ فایل‌های TFM تولیدشده از فایل‌های قلم جدیدتر TrueType برای دسترسی به همان گلیف‌ها نیازمند مقادیر یونیکد بعدی هستند. در نتیجه، ممکن است به دو فایل نگاشت مختلف نیاز باشد: یکی برای فایل‌های TFM ارائه‌شده توسط HP، و دیگری برای فایل‌های TFM جدیدتر.

گزینه --help پیام راهنمای نحوه استفاده را نمایش می‌دهد، در حالی که -v و --version اطلاعات نسخه را نشان می‌دهند؛ همگی پس از آن خارج می‌شوند.

تعداد num-copies نسخه از هر صفحه قالب‌بندی می‌کند.
از حالت چاپ دورو n استفاده می‌کند: مقدار 1 صحافی در لبه بلند (پیش‌فرض)، و 2 صحافی در لبه کوتاه است.
دایرکتوری font-directory/devname را به ابتدای مسیر جستجو برای فایل‌های توصیف قلم و دستگاه اضافه می‌کند؛ name نام دستگاه است، که معمولاً lj4 می‌باشد.
سند را در جهت افقی (landscape) قالب‌بندی می‌کند.
قالب کاغذ را روی paper-format تنظیم می‌کند، که باید یک قالب کاغذ معتبر مطابق با توضیحات بالا باشد.
ضخامت پیش‌فرض خط را روی line-width هزارم یک em تنظیم می‌کند؛ مقدار پیش‌فرض 40 (0.04 em) است.

برنامه grolj4 در صورت اجرای موفق با وضعیت 0 خارج می‌شود؛ اگر نتواند آرگومان‌های خط فرمان خود را تفسیر کند با وضعیت 2 و در صورت مواجهه با خطا در حین عملیات با وضعیت 1 خارج می‌شود.

دایرکتوری‌هایی را فهرست می‌کند که باید در آن‌ها به دنبال دایرکتوری فایل‌های توصیف دستگاه و قلمِ دستگاه خروجی انتخاب‌شده گشت. ببینید: troff(1) و groff_font(5).

/usr/share/groff/1.24.1/font/devlj4/DESC
دستگاه خروجی lj4 را توصیف می‌کند.
/usr/share/groff/1.24.1/font/devlj4/F
قلم شناخته‌شده با نام  F روی دستگاه lj4 را توصیف می‌کند.
/usr/share/groff/1.24.1/tmac/lj4.tmac
ماکروهایی را برای استفاده با دستگاه خروجی lj4 تعریف می‌کند. هنگامی که دستگاه خروجی lj4 انتخاب شده باشد، این فایل به‌طور خودکار توسط troffrc بارگذاری می‌شود.

نقطه‌های کوچک.

HP PCL/PJL Reference: PCL 5 Printer Language Technical Reference Manual, Part I

hpftodit(1), groff(1), troff(1), groff_out(5), groff_font(5), groff_char(7)

2026-03-15 groff 1.24.1