.TH "HPFTODIT" "1" "مه ۲۰۲۵" "groff" "دستورهای کاربری" .SH "نام (NAME)" hpftodit \- ساخت فایلهای توصیف قلم برای استفاده در groff -Tlj4 .SH "خلاصه دستور (SYNOPSIS)" \fBhpftodit\fP [ \fIگزینهها\fP... ] \fIفایل_قلم_tfm\fP \fIجدول_تطبیق\fP \fIخروجی\fP .SH "توضیحات (DESCRIPTION)" دستور \fBhpftodit\fR فایلهای توصیف قلم groff را از قلمهای باینری متناظر HP LaserJet TFM ایجاد میکند. این فایل‌های توصیف قلم برای استفاده به همراه چاپگرهای سری LaserJet\~4 هیولت\-پاکارد (یا جدیدتر) به همراه درایور خروجی .BR grolj4 (1) در .BR groff (1) طراحی شده‌اند. .PP آرگومان .I فایل_قلم_tfm نام فایل TFM قلم است؛ از فایل‌های TFM اینتلی‌فونت (Intellifont) و تروتایپ (TrueType) پشتیبانی می‌شود، اما فایل‌های TFM مربوط به مجموعه‌های نماد (symbol set) پشتیبانی نمی‌شوند. .PP آرگومان .I جدول_تطبیق فایلی است که شناسه‌های نویسه ویژه .B groff را برای گلیف‌های موجود در قلم تعیین می‌کند؛ این فایل باید شامل توالی‌ای از خطوط به فرم زیر باشد: .RS .EX .IR "m u c1 c2 " "\&.\|.\|.\& [#" " comment" "]" .EE .RE که در آن .I m یک عدد صحیح ده‌دهی است که شماره MSL (فهرست اصلی نمادها / Master Symbol List) گلیف را مشخص می‌کند، .I u یک عدد صحیح در مبنای شانزده است که کد نویسه یونیکد آن را تعیین می‌کند، و .IR c1 ، .IR c2 "، .\|.\|." نام‌های گلیف آن در .B groff هستند (برای مشاهده فهرست، به .BR groff_char (7) مراجعه کنید). .PP این مقادیر می‌توانند با هر تعداد فاصله و/یا نویسه تب (tab) از یکدیگر جدا شوند. .PP مقدار یونیکد باید از ارقام هگزادسیمال بزرگ A\(enF استفاده کند و نباید دارای پیشوندهای .RB \[lq] 0x \[rq]، .RB \[lq] u \[rq] یا .RB \[lq] U+ \[rq] باشد. .PP مقادیر یونیکد متناظر با گلیف‌های ترکیبی تجزیه (decomposed) می‌شوند؛ به این صورت که .RB \[lq] u00C0 \[rq] به .RB \[lq] u0041_0300 \[rq] تبدیل می‌شود. .PP یک گلیف بدون شناسه نویسه ویژه .B groff اگر متناظر با یک مقدار یونیکد باشد می‌تواند به صورت .BI u XXXX نام‌گذاری شود، یا به‌عنوان یک گلیف بدون نام .RB \[lq] \-\-\- \[rq] در نظر گرفته شود. .PP اگر مقدار یونیکد داده‌شده در ناحیه استفاده اختصاصی (PUA) (0xE000\(en0xF8FF) باشد، گلیف به‌عنوان یک گلیف بدون نام گنجانده می‌شود. برای اطلاعات بیشتر درباره گلیف‌های بدون نام و نحوه دسترسی به آن‌ها، به .BR groff_diff (1) مراجعه کنید. .PP خطوط خالی و خطوطی که با .RB \[lq] # \[rq] آغاز می‌شوند نادیده گرفته می‌شوند. یک .RB \[lq] # \[rq] پس از یک یا چند نام .B groff آغازگر یک توضیح (کامنت) است. از آنجا که .RB \[lq] # \[rq] یک نام معتبر گلیف در .B groff است، در صورت وجود توضیح باید در ابتدای فهرست نام‌های .B groff قرار گیرد، مانند: .RS .EX 3 0023 # # number sign .EE .RE یا .RS .EX 3 0023 # sh # number sign .EE .RE در حالی که در حالت زیر: .RS .EX 3 0023 sh # # number sign .EE .RE اولین .RB \[lq] # \[rq] به‌عنوان آغاز توضیح تفسیر می‌شود. .PP خروجی در قالب .BR groff_font (5) در .I خروجی نوشته می‌شود که فایلی هم‌نام با نام مورد نظر برای قلم در .B groff است؛ اگر این عملوند برابر با .RB \[lq] \- \[rq] باشد، توصیف قلم در جریان خروجی استاندارد نوشته خواهد شد. .PP اگر گزینه .B \-i به‌کار رود، .B hpftodit به‌طور خودکار یک تصحیح ایتالیک، یک تصحیح ایتالیک چپ، و یک تصحیح زیرنویس برای هر گلیف تولید می‌کند (اهمیت این پارامترها در .BR groff_font (5) توضیح داده شده است). .SH "گزینه‌ها (OPTIONS)" گزینه .B \-\-help پیام راهنمای استفاده و گزینه‌های .B \-v و .B \-\-version اطلاعات نسخه را نمایش می‌دهند؛ پس از آن برنامه خارج می‌شود. .TP .B \-a گنجاندن گلیف‌هایی در فایل TFM که در .I جدول_تطبیق نیامده‌اند. به گلیفی با مقدار یونیکد متناظر، نام .RI u XXXX اختصاص می‌یابد؛ گلیفی بدون مقدار یونیکد به‌عنوان گلیف بدون نام \[lq]\-\^\-\^\-\[rq] گنجانده می‌شود. گلیفی با مقدار یونیکد در ناحیه استفاده اختصاصی (0xE000\(en0xF8FF) نیز به‌عنوان یک گلیف بدون نام گنجانده می‌شود. .IP این گزینه روش ساده‌ای برای افزودن گلیف‌های با نام یونیکد و گلیف‌های بدون نام به یک قلم بدون درج آن‌ها در فایل جدول تطبیق فراهم می‌کند، اما کنترل چندانی بر اینکه کدام گلیف‌ها در یک قلم معمولی و کدام در یک قلم ویژه قرار گیرند نمی‌دهد. حضور یا عدم حضور گزینه .B \-s تا حدودی بر گلیف‌های گنجانده‌شده اثر می‌گذارد: بدون آن، تنها مجموعه‌های نماد \[lq]متنی\[rq] (text) برای یافتن گلیف‌های منطبق جستجو می‌شوند؛ همراه با آن، تنها مجموعه‌های نماد \[lq]ریاضی\[rq] (mathematical) جستجو می‌شوند. با این حال، محدود کردن مجموعه‌های نماد جستجوشده تفکیک‌پذیری چندانی ندارد \(en بسیاری از گلیف‌ها در هر دو قلم معمولی و ویژه قرار می‌گیرند. معمولاً از گزینه .B \-a باید فقط به‌عنوان آخرین راهکار استفاده شود. .TP .B \-d تخلیه اطلاعات فایل TFM در جریان خروجی استاندارد؛ از این گزینه برای اطمینان از اینکه فایل TFM مطابقت مناسبی با قلم دارد و محتویات آن مناسب است استفاده کنید. این اطلاعات شامل مقادیر برچسب‌های مهم TFM و فهرستی از گلیف‌های موجود در فایل TFM است (بر پایه شماره MSL برای فایل‌های Intellifont TFM یا بر پایه مقدار یونیکد برای فایل‌های TrueType TFM). واحد اندازه‌گیری \[lq]DU\[rq] برای برخی برچسب‌ها نشان‌دهنده واحدهای طراحی (design units) است؛ ۸۷۸۲ واحد طراحی در هر em برای قلم‌های Intellifont و ۲۰۴۸ واحد طراحی در هر em برای قلم‌های TrueType وجود دارد. توجه داشته باشید که دسترسی‌پذیری یک گلیف به حضور آن در یک مجموعه نماد بستگی دارد؛ برخی فایل‌های TFM گلیف‌های بسیاری را فهرست می‌کنند اما تنها چند مجموعه نماد اندک دارند. .IP فهرست گلیف‌ها شامل نمایه گلیف در فایل TFM، مقدار MSL یا یونیکد، و مجموعه نماد و کد نویسه‌ای است که برای چاپ گلیف استفاده خواهد شد. اگر .I جدول_تطبیق داده شده باشد، نام‌های .B groff برای گلیف‌های منطبق ارائه می‌شوند. اگر فقط نمایه گلیف و مقدار MSL یا یونیکد داده شده باشد، گلیف در هیچ مجموعه نماد پشتیبانی‌شده‌ای ظاهر نمی‌شود و قابل چاپ نیست. .IP با گزینه .BR \-d ، آرگومان .I جدول_تطبیق اختیاری است، و .I خروجی در صورت ارائه نادیده گرفته می‌شود. .TP .BI \-i\~ n تولید یک تصحیح ایتالیک برای هر گلیف، به‌گونه‌ای که عرض آن به اضافه تصحیح ایتالیک آن برابر با .I n هزارمِ یک em به اضافه مقداری باشد که لبه راست کادر محاطی گلیف در سمت راست مبدأ آن قرار دارد. اگر نتیجه یک تصحیح ایتالیک منفی باشد، به‌جای آن از تصحیح ایتالیک صفر استفاده می‌شود. .IP همچنین یک تصحیح زیرنویس تولید می‌کند که برابر با حاصل‌ضرب تانژانت زاویه شیب (slant) قلم در چهار پنجم ارتفاع x (ارتفاع حروف کوچک) قلم است. اگر نتیجه یک تصحیح زیرنویس بزرگ‌تر از تصحیح ایتالیک باشد، به‌جای آن از تصحیح زیرنویسی برابر با تصحیح ایتالیک استفاده می‌شود. .IP همچنین یک تصحیح ایتالیک چپ برای هر گلیف برابر با .I n هزارمِ یک em به اضافه مقداری که لبه چپ کادر محاطی گلیف در سمت چپ مبدأ آن قرار دارد تولید می‌کند. تصحیح ایتالیک چپ می‌تواند منفی باشد. .IP این گزینه معمولاً فقط برای قلم‌های ایتالیک (مورب) یا مایل (oblique) مورد نیاز است؛ مقدار ۵۰ (0.05\~em) معمولاً یک انتخاب مناسب و معقول است. .TP .B \-q صرف‌نظر کردن از هشدارهای مربوط به گلیف‌های موجود در فایل جدول تطبیق که در فایل TFM یافت نشده‌اند. هرگز هشداری برای گلیف‌های بدون نام یا گلیف‌هایی که با مقادیر یونیکد خود نام‌گذاری شده‌اند صادر نمی‌شود. این گزینه هنگام ارسال خروجی .B hpftodit به جریان خروجی استاندارد مفید است. .TP .B \-s افزودن دستورالعمل .B special به فایل توصیف قلم، که بر ترتیب جستجوی مجموعه‌های نماد HP برای هر گلیف اثر می‌گذارد. بدون این گزینه، مجموعه‌های \[lq]متنی\[rq] پیش از مجموعه‌های نماد \[lq]ریاضی\[rq] جستجو می‌شوند. همراه با این گزینه، ترتیب جستجو برعکس خواهد شد. .SH "فایل‌ها (FILES)" .TP .I /usr/\:\%share/\:\%groff/\:\%1.23.0/\:\%font/\:\%devlj4/\:DESC دستگاه خروجی .B lj4 را توصیف می‌کند. .TP .IR /usr/\:\%share/\:\%groff/\:\%1.23.0/\:\%font/\:\%devlj4/ F قلم شناخته‌شده با نام .RI \~ F را بر روی دستگاه .B lj4 توصیف می‌کند. .TP .I /usr/\:\%share/\:\%groff/\:\%1.23.0/\:\%font/\:\%devlj4/\:\%generate/\:\%Makefile یک اسکریپت .BR make (1) است که از .BR hpftodit (1) برای آماده‌سازی فایل‌های توصیف قلم فوق در .B groff از روی داده‌های HP TFM استفاده می‌کند؛ در صورتی که فایل‌های TFM به‌روزرسانی شوند، می‌توان از آن برای بازتولید آن‌ها استفاده کرد. .TP .I /usr/\:\%share/\:\%groff/\:\%1.23.0/\:\%font/\:\%devlj4/\:\%generate/\:\%special\:.awk یک اسکریپت .BR awk (1) است که سنجه‌های ارتفاع مبتنی بر اینتلی‌فونت را برای چند گلیف در قلم .B S (ویژه) برای قلم TrueType CG Times مورد استفاده در HP LaserJet\~4000 و مدل‌های بعدی تصحیح می‌کند. .TP .I /usr/\:\%share/\:\%groff/\:\%1.23.0/\:\%font/\:\%devlj4/\:\%generate/\:\%special\:.map .TQ .I /usr/\:\%share/\:\%groff/\:\%1.23.0/\:\%font/\:\%devlj4/\:\%generate/\:\%symbol\:.map .TQ .I /usr/\:\%share/\:\%groff/\:\%1.23.0/\:\%font/\:\%devlj4/\:\%generate/\:text\:.map .TQ .I /usr/\:\%share/\:\%groff/\:\%1.23.0/\:\%font/\:\%devlj4/\:\%generate/\:\%wingdings.map نمایه‌های MSL و تخصیص‌های HP Unicode PUA را به شناسه‌های نویسه ویژه .B groff نگاشت می‌کنند. .SH "همچنین ببینید (SEE ALSO)" .BR groff (1)، .BR groff_diff (1)، .BR grolj4 (1)، .BR groff_font (5)