tfmtodit(1) General Commands Manual tfmtodit(1)

tfmtodit - تطبیق فایلهای متریک قلم TeX برای استفاده با groff و grodvi

tfmtodit [-s] [-g gf-file] [-k skew-char] tfm-file map-file font-description
tfmtodit --help
tfmtodit -v
tfmtodit --version

دستور tfmtodit یک فایل توصیف قلم را برای استفاده با دستگاه خروجی dvi در groff(1) ایجاد می‌کند. آرگومان tfm-file نام فایل متریک قلم TeX برای این قلم است. فایل map-file شناسه‌های نویسه‌های معمولی یا ویژه groff را به اندیس‌های گلیف در قلم اختصاص می‌دهد؛ این فایل باید از دنباله‌ای از خطوط به فرم زیر تشکیل شده باشد:

i c1 ... cn
که در آن i موقعیت گلیف در قلم بر حسب ده‌دهی است، و c1 تا cn شناسه‌های گلیف به شکلی هستند که در توصیف‌های قلم groff به کار می‌روند. اگر گلیفی هیچ نامی در groff نداشته باشد اما در tfm-file موجود باشد، در فایل توصیف قلم groff به عنوان یک گلیف بدون نام قرار می‌گیرد. خروجی در قالب groff_font(5) در font-description نوشته می‌شود؛ فایلی که متناظر با نام مورد نظر برای قلم در groff نام‌گذاری شده است.

اگر قلم “ویژه” (special) باشد، به این معنی که groff باید هر زمان که گلیفی در قلم فعلی پیدا نشد آن را جستجو کند، از گزینه -s استفاده کرده و نام font-description را در دستورالعمل fonts در فایل DESC دستگاه خروجی مشخص کنید.

برای دستیابی به کیفیت مناسب در حروف‌چینی ریاضی، groff به اطلاعات متریک قلمی نیاز دارد که در tfm-file وجود ندارد. علت این امر آن است که TeX دارای قلم‌های ایتالیک ریاضی مجزا است، در حالی که groff از قلم‌های ایتالیک عادی برای ریاضیات استفاده می‌کند. اطلاعات اضافی مورد نیاز groff توسط دو آرگومان ماکروی math_fit در برنامه‌های Metafont برای قلم‌های Computer Modern ارائه می‌شود. در یک قلم متن (قلمی که در آن math_fit برابر false است)، برنامه Metafont معمولاً این دو آرگومان را نادیده می‌گیرد. می‌توان Metafont را طوری تنظیم کرد که این اطلاعات را با بارگذاری تعریف زیر پس از cmbase هنگام ایجاد cm.base، در فایل‌های GF (“generic font”) تولیدی خود قرار دهد:

def ignore_math_fit(expr left_adjustment,right_adjustment) =
    special "adjustment";
    numspecial left_adjustment*16/designsize;
    numspecial right_adjustment*16/designsize;
    enddef;
برای خانواده قلم‌های EC، تعریف زیر را پس از exbase بارگذاری کنید؛ همچنین می‌توانید وصله زدن محلی فایل exbase.mf را مد نظر قرار دهید:
def ignore_math_fit(expr left_adjustment,right_adjustment) =
    ori_special "adjustment";
    ori_numspecial left_adjustment*16/designsize;
    ori_numspecial right_adjustment*16/designsize;
    enddef;
تنها تفاوت نسبت به مثال پیشین، پیشوند “ori_” برای “special” و “numspecial” است. فایل GF ایجادشده با استفاده از این cm.base یا exbase.mf تغییریافته باید با گزینه -g مشخص شود؛ گزینه‌ای که نباید برای قلمی داده شود که math_fit در آن true است.

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

استفاده از gf-file تولیدشده توسط Metafont حاوی دستورهای “special” و “numspecial” برای دریافت اطلاعات متریک قلم اضافی.
نویسه مورب‌سازی (skew character) این قلم در موقعیت skew-char قرار دارد. آرگومان skew-char باید یک عدد صحیح باشد؛ می‌تواند بر حسب ده‌دهی، با صفر آغازین در هشت‌هشتی (octal)، یا با 0x آغازین در شانزده‌شانزدهی (hexadecimal) داده شود. هرگونه فاصله‌گذاری جفتی (kern) که مؤلفه دوم آن skew-char باشد، نادیده گرفته می‌شود.
افزودن دستورالعمل special به فایل توصیف قلم.

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

/usr/share/groff/1.24.1/font/devdvi/DESC
دستگاه خروجی dvi را توصیف می‌کند.
/usr/share/groff/1.24.1/font/devdvi/F
قلم شناخته‌شده با نام F را بر روی دستگاه dvi توصیف می‌کند.
/usr/share/groff/1.24.1/font/devdvi/generate/ec.map
/usr/share/groff/1.24.1/font/devdvi/generate/msam.map
/usr/share/groff/1.24.1/font/devdvi/generate/msbm.map
/usr/share/groff/1.24.1/font/devdvi/generate/tc.map
/usr/share/groff/1.24.1/font/devdvi/generate/texb.map
/usr/share/groff/1.24.1/font/devdvi/generate/texex.map
/usr/share/groff/1.24.1/font/devdvi/generate/texi.map
/usr/share/groff/1.24.1/font/devdvi/generate/texitt.map
/usr/share/groff/1.24.1/font/devdvi/generate/texmi.map
/usr/share/groff/1.24.1/font/devdvi/generate/texr.map
/usr/share/groff/1.24.1/font/devdvi/generate/texsy.map
/usr/share/groff/1.24.1/font/devdvi/generate/textex.map
/usr/share/groff/1.24.1/font/devdvi/generate/textt.map
اندیس‌های گلیف در قلم‌های TeX را به شناسه‌های نویسه‌های معمولی و ویژه groff نگاشت می‌کنند. فایل ec.map برای TREC، TIEC، TBEC، TBIEC، HREC، HIEC، HBEC، HBIEC، CWEC و CWIEC؛ فایل msam.map برای SA؛ فایل msbm.map برای SB؛ فایل tc.map برای TRTC، TITC، TBTC، TBITC، HRTC، HITC، HBTC، HBITC، CWTC و CWITC؛ فایل texb.map برای TB، HR، HI، HB و HBI؛ فایل texex.map برای EX؛ فایل texi.map برای TI و TBI؛ فایل texitt.map برای CWI؛ فایل texmi.map برای MI؛ فایل texr.map برای TR؛ فایل texsy.map برای S؛ فایل textex.map برای SC؛ و فایل textt.map برای CW به کار می‌رود.

groff(1), grodvi(1), groff_font(5)

2026-03-15 groff 1.24.1