| DVISVGM(1) | dvisvgm Manual | DVISVGM(1) |
نام (NAME)
dvisvgm - تبدیل فایلهای DVI، EPS و PDF به قالب برداری SVG مبتنی بر XML
خلاصه دستور (SYNOPSIS)
dvisvgm [options] file[.dvi]
dvisvgm --eps [options] file1[.eps] file2[.eps] ...
dvisvgm --pdf [options] file[.pdf]
توضیحات (DESCRIPTION)
ابزار خط فرمانی dvisvgm فایلهای DVI تولیدشده توسط TeX/LaTeX را به قالب گرافیک برداری مقیاسپذیر مبتنی بر XML به نام SVG تبدیل میکند. این ابزار از نسخهٔ کلاسیک DVI ۲ و همچنین نسخهٔ ۳ (تولیدشده توسط pTeX در حالت عمودی) و نسخههای ۵ تا ۷ XeTeX که با عنوان XDV نیز شناخته میشوند، پشتیبانی میکند. افزون بر دستورات پایهای DVI، برنامهٔ dvisvgm بسیاری از بهاصطلاح specials را نیز ارزیابی و پردازش میکند که قابلیتهای قالب پایهٔ DVI را به میزان چشمگیری گسترش میدهند. برای بررسی دقیقتر، بخش Supported Specials در ادامه را ببینید.
از آنجا که استاندارد فعلی SVG 1.1 گرافیکهای چندصفحهای را تعریف نمیکند، dvisvgm برای هر صفحهٔ DVI یک فایل SVG جداگانه ایجاد میکند. به دلایل سازگاری، بهطور پیشفرض تنها صفحهٔ اول تبدیل میشود. برای انتخاب یک صفحهٔ دیگر یا توالی دلخواهی از صفحات، از گزینهٔ -p که در ادامه شرح داده شده است استفاده کنید.
قالب SVG یک قالب گرافیکی برداری است و از این رو dvisvgm تلاش میکند تا خطوط پیرامونی نشانهها (glyphها) را برای تمامی قلمهای ارجاعشده در یک بخش صفحهٔ DVI به توصیفهای مسیر مقیاسپذیر تبدیل کند. سریعترین راه برای دستیابی به این هدف، استخراج اطلاعات مسیر از فایلهای قلم برداری موجود در قالبهای PFB، TTF یا OTF است. اگر dvisvgm بتواند چنین فایلی را بیابد، تمامی اطلاعات پیرامونی لازم دربارهٔ نشانهها را از آن استخراج میکند.
با این حال، منبع اصلی پیشین TeX برای توصیف قلمها Metafont است که خروجی نقشهبیتی (بیتمپ) در قالب فایلهای GF تولید میکند. به همین دلیل همهٔ قلمهای قابل دسترسی TeX در قالبهای مقیاسپذیر موجود نیستند. در این موارد، dvisvgm تلاش میکند با ردگیری (tracing) بیتمپ نشانهها، خروجی Metafont را برداریسازی کند. نتایج به اندازهٔ همتایان PFB یا OTF (که بهصورت دستی بهینهسازی شدهاند) بینقص نیستند، اما با این وجود در بیشتر موارد بسیار رضایتبخش هستند.
هنگام اجرای dvisvgm بدون گزینهٔ --no-fonts، این ابزار عنصرهای font (<font>...</font>) ایجاد میکند تا دادههای قلم را درون فایلهای SVG جاسازی (embed) کند. متأسفانه، تنها تعداد اندکی از رندرکنندههای SVG از این عنصرها پشتیبانی میکنند. بیشتر مرورگرهای وب و برنامههای گرافیک برداری آنها را بهدرستی ارزیابی نمیکنند، بهطوری که بخشهای متنی گرافیک حاصل ممکن است ناهماهنگ به نظر برسند. برای ایجاد فایلهای SVG سازگارتر، میتوان گزینهٔ خط فرمانی --no-fonts را مشخص کرد تا عنصرهای قلم با مسیرهای گرافیکی ساده جایگزین شوند. بیشتر مرورگرهای وب (اما تنها تعداد کمی از رندرکنندههای مستقل SVG) از قلمهای WOFF و WOFF2 نیز پشتیبانی میکنند که میتوانند به جای قلمهای پیشفرض SVG به کار روند. گزینهٔ --font-format قابلیت تغییر قالبی که به قلمهای جاسازیشده اعمال میشود را فراهم میکند. با این حال، این ویژگی تنها برای فایلهای DVI یا فایلهای PDF تبدیلشده از طریق پردازشگر جدید PDF مبتنی بر mutool کار میکند (پایینتر را ببینید). متن موجود در فایلهای PostScript همواره به عنصرهای مسیر (path) تبدیل میشود.
گزینهها (OPTIONS)
برنامهٔ dvisvgm یک رابط خط فرمانی سازگار با POSIX با نامهای گزینهٔ کوتاه و بلند ارائه میدهد. آنها را میتوان پیش و/یا پس از نام فایل مورد نظر برای تبدیل وارد کرد. همچنین، ترتیب مشخص کردن گزینهها اهمیتی ندارد، به این معنی که میتوانید آنها را به هر ترتیبی بدون تغییر در رفتار dvisvgm اضافه کنید. برخی گزینهها پارامترهای اضافی میپذیرند یا به آنها نیاز دارند که مستقیماً به گزینهٔ کوتاه چسبانده میشوند یا با فاصله از آن جدا میشوند (مانند -v0 یا -v 0). گزینههای بلند به یک علامت مساوی اضافی (=) بین نام گزینه و آرگومان نیاز دارند، اما بدون هیچ فاصلهٔ خالی در اطراف آن (مانند --verbosity=0). چندین گزینهٔ کوتاه که انتظار پارامترهای بیشتری ندارند را میتوان پس از یک خط فاصله با هم ترکیب کرد (مانند -ejs به جای -e -j -s).
نامهای بلند گزینهها را میتوان با حذف نویسههای انتهایی نیز کوتاه کرد، تا زمانی که نام کوتاهشده همچنان بدون ابهام باشد. برای نمونه، گزینهٔ --exact-bbox میتواند به --exact، --exa یا --ex کوتاه شود. در صورت وجود اختصارهای مبهم، dvisvgm یک پیام خطا همراه با تمام نامهای گزینهٔ مطابقتیافته چاپ میکند.
-b, --bbox=fmt
پارامتر fmt یا یکی از مشخصکنندههای قالب فهرستشده در زیر را میپذیرد، یا توالیای از چهار مقدار طول جداشده با کاما یا فاصله شامل x1، y1، x2 و y2. مورد دوم، مختصات مطلق دو گوشهٔ قطری جعبهٔ محصورکننده را مشخص میکند. هر مقدار طول شامل یک عدد ممیز شناور و یک یکای طول اختیاری است (pt، bp، cm، mm، in، pc، dd، cc یا sp). در صورت حذف یکا، واحدهای پوینت TeX (pt) در نظر گرفته میشوند.
همچنین امکان ارائهٔ تنها یک مقدار طول l وجود دارد. در این حالت، کمینهٔ جعبهٔ محصورکننده محاسبه شده و با افزودن (-l,-l) به گوشهٔ بالا-چپ و (l,l) به گوشهٔ پایین-راست گسترش مییابد.
علاوه بر این، dvisvgm مشخصکنندههای قالب زیر را نیز پشتیبانی میکند:
اندازههای کاغذ بینالمللی DIN/ISO
اندازههای کاغذ آمریکای شمالی
اندازههای ویژهٔ جعبهٔ محصورکننده
| dvi | اندازهٔ صفحه ذخیرهشده در فایل DVI |
| min | کمینهترین/فشردهترین جعبهٔ محصورکننده را محاسبه میکند |
| none | هیچ جعبهٔ محصورکنندهای اختصاص داده نمیشود |
| papersize | اندازههای جعبه مشخصشده توسط papersize specials موجود در فایل DVI |
| preview | دادههای جعبهٔ محصورکننده محاسبهشده توسط بستهٔ preview (اگر در فایل DVI موجود باشد) |
جهتگیری صفحه (Page orientation)
نکته
گزینهٔ -b, --bbox تنها بر جعبهٔ محصورکننده تأثیر میگذارد و محتوای صفحه را تغییرشکل نمیدهد. از این رو، در صورت انتخاب یک قالب افقی، صفحه چرخانده نخواهد شد.
-B, --bitmap-format=fmt
| none | غیرفعال کردن پردازش تصاویر بیتمپ |
| jpeg | قالب JPEG رنگی |
| jpeggray | قالب JPEG در مقیاس خاکستری |
| png | قالب PNG در مقیاس خاکستری یا رنگی ۲۴ بیتی، بسته به فضای رنگ فعلی |
| pnggray | قالب PNG در مقیاس خاکستری |
| pngmono | قالب PNG سیاهوسفید |
| pngmonod | قالب PNG سیاهوسفید با ترامریزی (dithered) |
| png16 | قالب PNG با رنگ ۴ بیتی |
| png256 | قالب PNG با رنگ ۸ بیتی |
| png16m | قالب PNG با رنگ ۲۴ بیتی |
از آنجا که مجموعهٔ دستگاههای خروجی پشتیبانیشده میتواند میان نصبیات محلی مختلف Ghostscript متغیر باشد، ممکن است همهٔ قالبها در برخی محیطها در دسترس نباشند. اگر قالب خروجی انتخابشده نیازمند یک دستگاه خروجی باشد که به صورت محلی پشتیبانی نمیشود، dvisvgm با یک پیام خطای PostScript خارج میشود.
دو مشخصکنندهٔ قالب JPEG یک پارامتر اختیاری برای تنظیم سطح کیفیت IJG میپذیرند که باید مستقیماً پس از مشخصکنندهٔ قالب و جداشده با دونقطه بیاید، مانند --bitmap-format=jpeg:50. مقدار کیفیت یک عدد صحیح بین 0 و 100 است. مقادیر بالاتر منجر به کیفیت تصویر بهتر اما ضریب فشردهسازی کمتر و در نتیجه فایلهای بزرگتر میشوند. سطح کیفیت پیشفرض 75 است که در صورت تعیین نشدن پارامتر کیفیت یا تنظیم آن روی 0 اعمال میشود. -C, --cache[=dir]
-j, --clipjoin
--color
--colornames
--comments
--currentcolor[=color]
آرگومان اختیاری --currentcolor مقدار رنگ RGB مورد نظر برای جایگزینی را مشخص میکند و باید یا به صورت یک مقدار رنگ هگزادسیمال شش یا سه رقمی (https://www.w3.org/TR/css-color/#typedef-hex-color) که قبل از آن نویسه # قرار دارد مشخص شود؛ مانند #0000ff یا #00f برای آبی. در صورت حذف آرگومان اختیاری، رنگ سیاه به عنوان پیشفرض در نظر گرفته میشود.
--embed-bitmaps
این گزینه تنها بر بیتمپهای ارجاعدادهشده در فایلهای DVI/XDV تأثیر میگذارد، مثلاً از طریق \includegraphics یا دستور ویژه dvisvgm:img (پایین را ببینید). بیتمپهای موجود در فایلهای PostScript یا PDF همواره جاسازی میشوند. همچنین گزینه bitmap-format را ببینید.
-E, --eps
-e, --exact-bbox
این گزینه تنها بر پردازش فایلهای DVI تأثیر میگذارد. هنگام تبدیل فایلهای EPS یا PDF، از اطلاعات جعبه احاطهکننده ذخیرهشده در همان فایلها برای تعیین جعبه احاطهکننده SVG استفاده میشود.
-f, --font-format=format
قالبهای زیر پشتیبانی میشوند: SVG (پیشفرض)، TTF (TrueType)، WOFF، و WOFF2 (Web Open Font Format نگارش ۱ و ۲). بهطور پیشفرض، dvisvgm قلمهای بدون بهینهسازی نمایشی (unhinted) ایجاد میکند که ممکن است در دستگاههایی با وضوح تصویر پایین جلوه نامناسبی داشته باشند. بهمنظور بهبود کیفیت نمایش، میتوان قلمهای TrueType، WOFF یا WOFF2 تولیدشده را بهطور خودکار بهینهسازی نمایشی (autohint) کرد. این بهینهساز خودکار با افزودن ,autohint یا ,ah به قالب قلم فعال میشود؛ مثلاً --font-format=woff,autohint یا --fwoff,ah. این قابلیت نیازمند کتابخانه ttfautohint (https://freetype.org/ttfautohint) است. اگر این کتابخانه موجود نباشد یا یافت نشود، dvisvgm پیام هشدار مربوطهای صادر میکند.
گزینه --font-format تنها در صورتی در دسترس است که dvisvgm با پشتیبانی فعال از WOFF ساخته شده باشد.
-m, --fontmap=filenames
بهطور پیشفرض، نگاشتهای بازتعریفشده جایگزین موارد قبلی نمیشوند. با این حال، میتوان در ابتدای هر نام فایل یک مشخصکننده حالت اختیاری (+، -، یا =) قرار داد تا این رفتار تغییر کند:
+mapfile
-mapfile
=mapfile
اگر پیش از نخستین نام فایل در توالی نامها یک مشخصکننده حالت قرار گیرد، dvisvgm نگاشت قلم پیشفرض را بارگذاری کرده (بالا را ببینید) و سپس سایر فایلهای نگاشت را اعمال مینماید. در غیر این صورت، هیچیک از فایلهای نگاشت پیشفرض بهطور خودکار بارگذاری نخواهند شد.
مثالها: --fontmap=myfile1.map,+myfile2.map فایل myfile1.map و به دنبال آن myfile2.map را بارگذاری میکند که در آن تمام بازتعریفهای myfile2.map نادیده گرفته میشوند. --fontmap==myfile1.map,-myfile2.map فایل نگاشت پیشفرض و به دنبال آن myfile1.map و myfile2.map را بارگذاری میکند که در آن تمام بازتعریفهای myfile1.map جایگزین مدخلهای پیشین میشوند. پس از آن، تمامی تعاریف قلمهای مشخصشده در myfile2.map از درخت نگاشت قلم حذف میگردند.
برای کسب اطلاعات بیشتر پیرامون قالبهای فایل نگاشت و مشخصکنندههای حالت، کتابچههای راهنمای dvips (https://tug.org/texinfohtml/dvips.html) و dvipdfm (https://ctan.org/tex-archive/dviware/dvipdfm) را مشاهده کنید.
برنامه dvisvgm از هر دو قالب فایل نگاشت dvips و dvipdfm پشتیبانی میکند. این برنامه هر دو حالت را با دو دستور include گسترش میدهد که امکان بارگذاری سایر فایلهای نگاشت را درون یک فایل نگاشت فراهم میسازند. نحو به صورت زیر است:
#include [<modechar>] <filename|filepath> #includefirst [<modechar>] <filename|filepath>
آنها باید در یک خط جداگانه قرار گیرند و از ستون اول آن خط آغاز شوند؛ در غیر این صورت، نادیده گرفته میشوند. در حالی که حالت اول همواره تلاش میکند فایل مشخصشده را بگنجاند، #includefirst تنها یک بار اجرا میشود؛ بدین معنی که به محض اینکه یک فایل با موفقیت توسط این دستور گنجانده شد، تمامی خطوط بعدی #includefirst نادیده گرفته میشوند. این سازوکار میتواند برای گنجاندن یکی از چندین فایل جایگزین به کار رود، بهگونهای که نخستین فایل یافتشده بارگذاری میشود و بقیه نادیده گرفته میشوند.
پارامتر اختیاری <modechar> (که میتواند +، -، یا = باشد) چگونگی ادغام دادههای خواندهشده از فایل گنجاندهشده را با دادههای نگاشت موجود تعیین میکند. عملکرد آنها همانند مشخصکنندههای حالت شرحدادهشده در بالا است. اگر پارامتر <modechar> حذف شود، مقدار پیشفرض آن + خواهد بود.
نام فایل یا مسیر فایل در ادامه، فایل مورد نظر برای گنجاندن را مشخص میکند. در مورد نامهای فایل ساده (بدون مشخصکنندههای مسیر)، فایلها با استفاده از قابلیت جستجوی فایل TeX پیدا میشوند؛ بدین معنی که فایلهای موجود در ساختار درختی دایرکتوری TeX را میتوان بهآسانی اضافه کرد. مسیرهای نسبی نسبت به مکان فایل حاوی دستور #include محاسبه میشوند. مؤلفههای مسیر حتی در سیستمهای Windows نیز باید با اسلش رو به جلو (/) از هم جدا شوند.
مثالها: #include pdftex.map به دنبال pdftex.map در دایرکتوری کاری جاری و در ساختار درختی دایرکتوری TeX میگردد. از سوی دیگر، دستور #include ./pdftex.map تنها در همان دایرکتوری که فایل دربرگیرنده در آن قرار دارد، به دنبال pdftex.map میگردد.
--grad-segments=number
در حال حاضر، dvisvgm از مشهای وصلهٔ مثلثی با فرم آزاد (free-form) و شبکهای (lattice-form) و نیز مشهای وصلهٔ Coons و tensor-product پشتیبانی میکند. این موارد با تقسیم مساحت هر وصله به یک شبکهٔ n×n از بخشهای کوچکتر تقریب زده میشوند. حداکثر تعداد بخشها در هر سطر و ستون را میتوان با گزینهٔ --grad-segments تغییر داد.
--grad-simplify=delta
-h, --help[=mode]
مقادیر داخل کروشه پس از متن توضیحات، پارامتر پیشفرض گزینه را نشان میدهند. این مقادیر در صورتی اعمال میشوند که گزینهای با یک پارامتر اجباری استفاده نشود یا اگر یک پارامتر اختیاری حذف گردد. برای نمونه، گزینهٔ --bbox به یک پارامتر اندازه نیاز دارد که در صورت استفاده نشدن از --bbox مقدار پیشفرض آن min است. گزینهٔ --zip که بهطور پیشفرض اعمال نمیشود، یک پارامتر اختیاری برای سطح فشردهسازی میپذیرد. در صورت حذف آن، مقدار پیشفرض ذکرشده یعنی 9 استفاده میشود.
--keep
--libgs=path
به عنوان جایگزین، همچنین میتوان مسیر را به متغیر محیطی LIBGS اختصاص داد، مثلاً export LIBGS=/usr/local/lib/libgs.so.9 یا set LIBGS=\gs\gs9.25\bin\gsdll63.dll. اولویت LIBGS از گزینهٔ خط فرمان کمتر است، یعنی اگر --libgs داده شده باشد، dvisvgm متغیر LIBGS را نادیده میگیرد.
-L, --linkmark=style
علاوه بر این، آرگومان style میتواند یک شناسهٔ رنگ منفرد را برای برجستهسازی ناحیهٔ پیوند دادهشده با یک جعبهٔ بدون کادر پرشده با آن رنگ بپذیرد. یک شناسهٔ رنگ دوم اختیاری که با دونقطه جدا میشود، رنگ کادر را تعیین میکند.
مثالها: box:red یا box:#ff0000 جعبههای قرمزرنگی را دور نواحی پیوند دادهشده رسم میکنند. yellow:blue مستطیلهای پرشده با رنگ زرد و با کادرهای آبی ایجاد میکند.
-l, --list-specials
-M, --mag=factor
--message=text
خروجی گزینهٔ --message تحت تأثیر سطح پرگویی (verbosity level) مشخصشده قرار نمیگیرد، یعنی dvisvgm این متن را حتی با --verbosity=0 نیز چاپ میکند.
--no-merge
--no-mktexmf
-n, --no-fonts[=variant]
-c, --scale=sx[,sy]
-S, --no-specials[=names]
--no-styles
فهرست زیر پودمانهای بهینهساز موجود در حال حاضر را شرح میدهد.
list
none
all
collapse-groups
group-attributes
reassign-clippaths
remove-clippaths
simplify-text
simplify-transform
-o, --output=pattern
یک عدد اختیاری (۰-۹) که مستقیماً پس از علامت درصدِ یک متغیر عددی مشخص میشود، حداقل تعداد رقمهای ایجادشده را نشان میدهد. اگر مقداری از ارقام کمتری تشکیل شده باشد، آن عدد با صفر در ابتدا پر میشود. مثال: %3p ۳ رقم را برای شماره صفحه جاری اجبار میکند (۰۰۱، ۰۰۲ و غیره). بدون یک مشخصکننده صریح پهنا، %p به همان تعداد رقمهای %P رقم دریافت میکند.
اگر به کنترل بیشتری روی شمارهگذاری نیاز دارید، میتوانید از عبارات حسابی به عنوان بخشی از الگو استفاده کنید. نحو آن به صورت %(expr) است که در آن expr میتواند شامل جمع، تفریق، ضرب و تقسیم اعداد صحیح با اولویتهای عملگری متداول باشد. متغیرهای p و P به ترتیب شامل شماره صفحه جاری و تعداد کل صفحات هستند. برای نمونه، --output="%f-%(p-1)" نام فایلهایی ایجاد میکند که شمارهگذاری آنها به جای ۱ از ۰ آغاز میشود.
متغیرهای %hX شامل مقادیر درهمسازی (هش) متفاوتی هستند که از دادههای صفحه DVI و گزینههای ارائهشده در خط فرمان محاسبه شدهاند. %hd و %hc تنها در صورتی مقداردهی میشوند که گزینه --page-hashes وجود داشته باشد. در غیر این صورت، خالی خواهند بود. برای اطلاعات بیشتر، توضیحات گزینه --page-hashes را در زیر ببینید.
الگوی پیشفرض %f-%p.svg است اگر فایل DVI بیش از یک صفحه داشته باشد، و در غیر این صورت %f.svg است. بدین معنا که یک فایل DVI با نام foo.dvi در صورتی که سندی تکصفحهای باشد به foo.svg تبدیل میشود. در غیر این صورت، چندین فایل SVG مانند foo-01.svg، foo-02.svg و غیره تولید میشوند. در محیطهای Windows، علامت درصد نشاندهنده متغیرهای محیطی ارجاعزداییشده است، و از این رو باید با یک علامت درصد دوم محافظت شود، برای مثال --output=%%f-%%p.
-p, --page=ranges
به منظور حفظ سازگاری با نگارشهای پیشین، توالی پیشفرض صفحات 1 است. از این رو، اگر گزینه --page ذکر نشود، dvisvgm فقط صفحه نخست را تبدیل میکند و نه کل سند را. معمولاً، بازههای صفحه شامل دو عدد هستند که نخستین و آخرین صفحه برای تبدیل را مشخص میکنند. اگر تبدیل باید از صفحه ۱ آغاز شود، یا تا آخرین صفحه DVI ادامه یابد، عدد اول یا دوم بازه میتواند به ترتیب حذف شود. مثال: --page=-10 تمام صفحات تا صفحه ۱۰ را تبدیل میکند، --page=10- تمام صفحات با شروع از صفحه ۱۰ را تبدیل میکند. لطفاً توجه داشته باشید که مقادیر صفحه به شماره صفحات چاپشده روی صفحه مربوطه اشاره ندارند. در عوض، شمارش فیزیکی صفحات مد نظر است که در آن صفحه اول همواره شماره ۱ را دریافت میکند.
برای انتخاب آخرین صفحه، میتوان از عبارت %P به جای شماره صفحه صریح استفاده کرد. این عبارت با شماره آخرین صفحه جایگزین میشود. برای نمونه، --page=1,%P صفحه اول و آخر سند را تبدیل میکند.
افزون بر این، عبارات حسابی به صورت %(expr) به جای اعداد نیز معتبر هستند. مقادیر حاصل همواره به نزدیکترین عدد صحیح به سمت پایین گرد میشوند. برای اطلاعات بیشتر در مورد نحو و عملگرهای حسابی پشتیبانیشده، گزینه --output را ببینید. مثال: --page=%(P-2)- سه صفحه آخر را تبدیل میکند.
در انتهای توالی بازه، یک مشخصکننده پالایه اختیاری میتواند افزوده شود تا شماره صفحات خاصی را از توالی حذف کند. در حال حاضر، دو پالایه :even و :odd پشتیبانی میشوند که مقادیر پیشین را به ترتیب به اعداد زوج و فرد محدود میکنند. برای نمونه، --page=1-11,20:even معادل --page=2,4,6,8,10,20 است. -H, --page-hashes[=params]
بهعنوان جایگزین، الگوی خروجی میتواند حاوی متغیرهای %ho و %hc باشد. %ho به یک هش ۳۲ بیتی گسترش مییابد که نشاندهنده گزینههای خط فرمان دادهشدهای است که بر خروجی SVG تولیدشده تأثیر میگذارند، مانند --no-fonts و --precision. ترکیبهای متفاوتی از گزینهها و پارامترها منجر به هشهای متفاوتی میشوند. بدین ترتیب الگوی %f-%hd-%ho نامفایلهایی ایجاد میکند که بسته به دادههای DVI و گزینههای خط فرمان ارائهشده تغییر میکنند. متغیر %hc یک هش ترکیبی را ارائه میدهد که از دادههای DVI و گزینههای خط فرمان محاسبه شده است. طول آن با %hd یکسان است.
از آنجا که شماره صفحه بهطور پیشفرض بخشی از نام فایل نیست، صفحات مختلف DVI با محتوای یکسان، نام فایل یکسانی دریافت میکنند. از این رو، تنها صفحه نخست تبدیل شده و از بقیه صرفنظر میشود. برای ایجاد فایلهای جداگانه برای هر صفحه، میتوانید شماره صفحه را به الگوی خروجی اضافه کنید، مانند --output="%f-%p-%hc".
بهطور پیشفرض، dvisvgm از الگوریتم هش سریع XXH64 برای محاسبه مقادیر ارائهشده از طریق %hd و %hc استفاده میکند. هشهای ۶۴ بیتی باید برای اکثر اسناد با تعداد میانگین صفحات کافی باشند. بهعلاوه، میتوان از XXH32 و MD5 نیز استفاده کرد. الگوریتم مورد نظر توسط آرگومان params از گزینه --page-hashes مشخص میشود. این آرگومان یکی از رشتههای MD5، XXH32 و XXH64 را میپذیرد، که نامها میتوانند با حروف کوچک نیز داده شوند، مانند --page-hashes=md5. از نسخه 0.7.1، xxHash یک تابع هش ۱۲۸ بیتی آزمایشی ارائه میدهد که الگوریتم آن از نسخه 0.8 پایدار شده است. هنگام استفاده از نسخههای قبل از 0.8، مقادیر هش ۱۲۸ بیتی ممکن است بسته به نسخه xxHash استفادهشده تفاوت داشته باشند. در صورت در دسترس بودن API مربوطه، dvisvgm از تابع هش جدید پشتیبانی میکند و گزینه --page-hashes علاوه بر این مشخصکننده الگوریتم XXH128 را میپذیرد.
در نهایت، گزینه --page-hashes میتواند آرگومان دومی را بپذیرد که باید با یک کاما جدا شود. در حال حاضر، تنها دو پارامتر list و replace ارزیابی میشوند، مانند --page-hashes=md5,list یا --page-hashes=replace. هنگامی که list حضور دارد، dvisvgm هیچ تبدیلی انجام نمیدهد بلکه صرفاً مقادیر هش %hd و %hc صفحاتی را که با گزینه --page مشخص شدهاند، فهرست میکند. پارامتر replace برنامه dvisvgm را وادار میکند تا یک صفحه DVI را حتی در صورتی که فایلی با نام مقصد از قبل موجود باشد، تبدیل کند.
-P, --pdf
اگر نسخهای از Ghostscript کمتر از 10.01.0 یافت شود، dvisvgm از Ghostscript برای پردازش فایل PDF استفاده میکند. در این حالت، تبدیل با ایجاد یک دستور ویژه (special) منفرد pdffile تحقق مییابد که به گرداننده ویژه PostScript در dvisvgm فرستاده میشود. بنابراین، این گزینه تنها در صورتی در دسترس است که dvisvgm با پشتیبانی فعال از PostScript ساخته شده باشد، و نیازمند در دسترس بودن Ghostscript است. برای اطلاعات بیشتر گزینه --libgs را ببینید.
از نسخه 10.01.0 برنامه Ghostscript به بعد، به دلیل معرفی یک مفسر جدید PDF، این روش دیگر کار نخواهد کرد. از این رو، یک ماژول تبدیل جایگزین بر پایه mutool، ابزاری که بخشی از بسته MuPDF (https://mupdf.com) است، معرفی شده است. این ماژول بهطور خودکار فراخوانی میشود در صورتی که نتوان از Ghostscript استفاده کرد و یک فایل اجرایی فعال mutool در دایرکتوریای که بخشی از مسیر جستجوی سیستم است، موجود باشد.
بهعنوان جایگزین، میتوان از متغیر محیطی DVISVGM_PDF_PROC برای انتخاب پردازنده PDF استفاده کرد. مقادیر پشتیبانیشده فعلی gs و mutool هستند.
-d, --precision=digits
--progress[=delay]
-r, --rotate=angle
-R, --relative
--stdin
-s, --stdout
--tmpdir[=path]
به منظور جلوگیری از تداخل فایلهای ناشی از فراخوانیهای موازی dvisvgm، این برنامه فایلها را مستقیماً در دایرکتوری مشخصشده نمینویسد، بلکه علاوه بر آن زیرپوشهای با نام یکتا در آنجا ایجاد میکند که فایلهای موقت در آن قرار خواهند گرفت. این رفتار را میتوان با الحاق // یا \\ (در ویندوز) به انتهای نام دایرکتوری مشخصشده لغو کرد. برای مثال، --tmpdir=.// فایلهای موقت را مستقیماً در دایرکتوری کاری فعلی ایجاد میکند، در حالی که --tmpdir=. آنها را در یک زیرپوشه اختصاصی از دایرکتوری کاری فعلی قرار میدهد.
اگر پارامتر اختیاری path از گزینه --tmpdir حذف شود، dvisvgm مکان پوشه موقت سیستم را چاپ کرده و خارج میشود.
-a, --trace-all=[retrace]
نکته
این گزینه تنها زمانی تأثیر دارد که کَش قلم فعال باشد. بنابراین، --trace-all نمیتواند با گزینه --cache=none ترکیب شود.
-T, --transform=commands
S sx[,sy]
R angle[,x,y]
KX angle
KY angle
FH [y]
FV [x]
M m1,...,m6
نکته
تمام دستورات تبدیل گزینهٔ -T, --transform به ترتیبی که نوشته شدهاند اعمال میشوند. دستورات چندگانه را میتوان اختیاری با فاصله از هم جدا کرد. در این حالت کل رشتهٔ تبدیل باید درون نقلقول دوتایی (double quotes) قرار گیرد تا یکپارچه بماند. همهٔ پارامترها عبارتهایی از نوع ممیز شناور هستند. میتوانید اعداد ساده یا عبارتهای حسابی ترکیبشده با عملگرهای + (جمع)، - (تفریق)، * (ضرب)، / (تقسیم) یا % (باقیمانده) را با قواعد معمول تقدم و شرکتپذیری ارائه دهید. پرانتزها نیز قابل استفاده هستند.
علاوه بر این، برخی از ثابتهای از پیش تعریفشده فراهم شدهاند:
| ux | موقعیت افقی گوشهٔ بالا-چپ صفحه در واحد پوینت TeX |
| uy | موقعیت عمودی گوشهٔ بالا-چپ صفحه در واحد پوینت TeX |
| h | ارتفاع صفحه در واحد پوینت TeX (مقدار 0 در صورت استفاده از -bnone) |
| w | عرض صفحه در واحد پوینت TeX (مقدار 0 در صورت استفاده از -bnone) |
افزون بر این، میتوانید از ۹ ثابت طول pt، bp، cm، mm، in، pc، dd، cc و sp استفاده کنید، مانند 2cm یا 1.6in. بنابراین، گزینهٔ -TT1in,0R45 محتوای صفحه را ۱ اینچ به راست جابهجا کرده و پس از آن ۴۵ درجه حول مرکز صفحه میچرخاند.
برای تبدیلات منفرد، گزینههای کوتاهنویسی -c، -t و -r نیز در دسترس هستند. برخلاف دستورات --transform، ترتیب این گزینهها اهمیتی ندارد، به همین دلیل نمیتوان توالیهای تبدیل را با آنها مشخص کرد.
-t, --translate=tx[,ty]
-v, --verbosity=level
| 0 | هیچ پیامی در خروجی چاپ نمیشود |
| 1 | فقط پیامهای خطا |
| 2 | فقط پیامهای هشدار |
| 4 | فقط پیامهای اطلاعرسانی |
| 8 | فقط پیامهای کاربر (مثلاً ایجادشده توسط دستور ویژهٔ dvisvgm:message) |
نکته
با جمع کردن این مقادیر میتوانید دستهبندیها را با هم ترکیب کنید. سطح پیشفرض ۱۵ است، یعنی تمام پیامها چاپ میشوند.
-z, --zip[=level]
-Z, --zoom=factor
دستورهای ویژه پشتیبانیشده (SUPPORTED SPECIALS)
نرمافزار dvisvgm از چندین special command (دستور ویژه) پشتیبانی میکند که مجموعه دستورهای DVI را با دستورالعملهای اضافی برای ویژگیهایی چون رنگ، گرافیک و پیوندها غنی میسازد. اصطلاح special command، یا صرفاً special، از دستور \special{...} در TeX سرچشمه میگیرد که تقریباً هیچ کاری انجام نمیدهد. نرمافزار TeX فقط آرگومان این دستور را با استفاده از آپکد متناظر xxx به فایل DVI منتقل میکند، و بدین ترتیب اجرای آن را به درایور DVI واگذار مینماید. درایور سپس میتواند بسته به عبارتهای پشتیبانیشده، تصمیم به پردازش یا نادیده گرفتن آن بگیرد. پارامتر دستور \special در TeX درون آکولاد قرار میگیرد و میتواند شامل یک دنباله نویسه دلخواه باشد که دستورالعمل واقعی را نشان میدهد، برای مثال color Red.
شایان ذکر است که دستورهای ویژه تنها هنگام پردازش فایلهای DVI ارزیابی میشوند. فرمتهای PS/EPS و PDF چیزی از مفهوم دستورهای ویژه نمیدانند و بنابراین سازوکاری برای نمایش آنها ارائه نمیدهند.
به منظور ارزیابی دستورهای ویژه، dvisvgm چندین گرداننده (handler) اختصاصی را پیادهسازی میکند. هر گرداننده مسئول تمامی عبارتهای ویژه متعلق به یک مجموعه دستور یکسان است؛ یعنی دستورهایی که معمولاً – اما نه لزوماً – با یک پیشوند مشترک آغاز میشوند. برای نمونه، تمام دستورهای ویژه PDF با پیشوند pdf: آغاز میشوند، در حالی که مجموعه دستورهای ویژه TPIC شامل ۱۳ دستور مختلف بدون شناسه مشترک است. دستورهای ویژه PDF توسط گرداننده pdf در dvisvgm پردازش میشوند و دستورهای TPIC توسط گرداننده tpic. برای دریافت فهرستی از گردانندههای ویژه ارائهشده، از گزینه --list-specials استفاده کنید (به بالا مراجعه شود). فهرست زیر نمای کلی از مجموعههای ویژه در حال حاضر پشتیبانیشده را ارائه میدهد. از نام گردانندهها همچنین میتوان برای غیرفعال کردن پردازش مجموعههای خاصی از دستورهای ویژه استفاده کرد. برای اطلاعات بیشتر در این مورد، گزینه --no-specials را ببینید.
bgcolor
color
نرمافزار dvisvgm نحو رنگهای ویژه dvips را با دو اصلاحکننده اختیاری گسترش میدهد تا امکان تفکیک بین رنگهای پرکردن (fill) و خط دور (stroke) را فراهم سازد، یعنی رنگهایی که به ترتیب برای پر کردن نواحی محصور و رسم خطوط استفاده میشوند. اگر قبل از یکی از مشخصکنندههای رنگ، مانند نام رنگ یا مدل رنگی که پس از آن دنبالهای از مؤلفههای رنگ میآید، fill یا stroke قرار گیرد، تنها رنگ متناظر تغییر مییابد. بدون این اصلاحکنندهها هر دو رنگ تغییر میکنند. مثال: color push fill rgb 1 0 1 یک جفت رنگ جدید را در پشته رنگ قرار میدهد که در آن رنگ پرکردن روی magenta تنظیم شده و رنگ خط دور مقدار فعلی خود را حفظ میکند. color push rgb 1 0 1 یک جفت رنگ را در پشته قرار میدهد که هر دو رنگ آن روی magenta تنظیم شدهاند.
علاوه بر این، دستور ویژه جدید color set معرفی شده است. نحو آن مشابه با color push به همراه اصلاحکنندههای اختیاری fill و stroke است. این دستور به جای قرار دادن یک جفت رنگ جدید در پشته، بالاترین مورد روی پشته را اصلاح میکند. اگر پشته رنگ خالی باشد، رنگ پیشفرض (سیاه) fill/stroke تغییر مییابد.
dvisvgm
dvisvgm:raw text
پارامتر text همچنین میتواند حاوی عبارتهای {?x}، {?y}، {?color}، {?fillcolor}، {?strokecolor}، {?matrix}، {?pageno}، {?svgfile} و {?svgpath} باشد که به ترتیب به مختصات فعلی x و y، یک رشته هگز RGB از رنگ فعال فعلی fill و stroke، ماتریس تبدیل فعلی، شماره صفحه فعلی، و مسیر نسبی و مطلق فایل SVG در حال ایجاد گسترش مییابند. {?color} به همان رشته {?fillcolor} گسترش مییابد و همچنان برای سازگاری با نسخههای قدیمیتر dvisvgm که بین رنگهای fill و stroke تفاوتی قائل نبودند در دسترس است (اطلاعات مربوط به دستورهای ویژه رنگ را در زیر ببینید).
از آنجا که SVG از رنگهای CMYK پشتیبانی نمیکند، برای نمونه در مشخصههای fill و stroke، نرمافزار dvisvgm ماکروی {?cmyk(c,m,y,k)} را برای ایجاد یک رشته هگز RGB از یک رنگ CMYK ارائه میدهد. این ماکرو میتواند به جای ترکیبی از دستورهای ویژه color/PostScript و ماکروهای رنگ، برای درج مستقیم یک مقدار رنگی CMYK استفاده شود.
دنباله نویسه {?nl} به یک نویسه خط جدید گسترش مییابد. در نهایت، ساختارهایی به شکل {?(expr)} ارزیابی عبارتهای ریاضی را ممکن میسازند که میتوانند شامل عملیات پایهای حسابی از جمله باقیمانده تقسیم (modulo) باشند. همانند بالا، متغیرهای x و y نشاندهنده مختصات فعلی هستند. عملیات نامعتبر، مانند تقسیم بر صفر، منجر به پیام خطا در کنسول میشود. مثال: {?(-10*(x+2y)-5)} یک عبارت معتبر است و به رشته عددی متناظر گسترش مییابد.
dvisvgm:rawdef text
dvisvgm:rawset name ... dvisvgm:endrawset
dvisvgm:rawput name
dvisvgm:img width height file
پارامتر file میتواند یک نام فایل ساده یا یک مسیر نسبی یا مطلق از یک فایل باشد. بهطور پیشفرض، dvisvgm صرفاً پیوندهایی ایجاد میکند که به فایل تصویر ارجاع میدهند، به طوری که رندرکننده SVG نام فایل یا مسیر را نسبت به مکان فایل SVG تولیدشده ارزیابی میکند. اگر گزینه --embed-bitmaps داده شود، تصاویر JPEG و PNG درون سند SVG جاسازی میشوند. از آنجا که این امر نیازمند کدگذاری base64 دادههای تصویر است، فایلهای SVG حاصل میتوانند بسیار حجیم شوند.
dvisvgm:bbox lock
dvisvgm:bbox unlock
در ترکیب با دستور ویژه dvisvgm:raw، ماکروی {?bbox name} به چهار مقدار x، y، w و h (جداشده با فاصله) بسط مییابد که مختصات گوشه بالا سمت چپ، عرض و ارتفاع کادر محلی name را مشخص میکنند. اگر کادر name قبلاً تعریف نشده باشد، هر چهار مقدار برابر با صفر خواهند بود.
dvisvgm:bbox width height [depth] [transform]
این دستور ویژه قرار است همراه با dvisvgm:raw استفاده شود تا درگاه دید (viewport) صفحه را بهدرستی بهروزرسانی کند. بهطور پیشفرض، ابعاد کادر بدون تغییر تخصیص داده میشوند و بهویژه با دستورات تبدیل تغییر نمیکنند. برای اعمال ماتریس تبدیل جاری، اصلاحکننده اختیاری transform میتواند در انتهای عبارت دستور ویژه افزوده شود.
dvisvgm:bbox a[bs] x1 y1 x2 y2 [transform]
dvisvgm:bbox f[ix] x1 y1 x2 y2 [transform]
قطعهکد TeX زیر دو عنصر خام SVG را به خروجی اضافه کرده و کادر احاطهکننده را متناسب با آن بهروزرسانی میکند:
\special{dvisvgm:raw <circle cx='{?x}' cy='{?y}' r='10' stroke='black' fill='red'/>}%
\special{dvisvgm:bbox 10bp 10bp 10bp transform}%
\special{dvisvgm:bbox -10bp 10bp 10bp transform}
\special{dvisvgm:raw <path d='M50 200 L10 250 H100 Z' stroke='black' fill='blue'/>}%
\special{dvisvgm:bbox abs 10bp 200bp 100bp 250bp transform}
dvisvgm:currentcolor [on|off]
dvisvgm:message msg
em
html
papersize
دستور pdf:pagesize مشابه دستور ویژه papersize است (بالا را ببینید) که اندازه صفحه کنونی و تمام صفحات بعدی را تعیین میکند. به منظور اعمال واقعی این ابعاد بر فایلهای SVG تولیدشده، گزینه --bbox=papersize باید ارائه شود.
دستورات pdf:mapfile و pdf:mapline امکان تغییر درخت نگاشت فونت را در طول پردازش فایل DVI فراهم میکنند. این دستورات برای نمونه توسط CTeX استفاده میشوند. dvisvgm از هر دو قالب نگاشت قلم dvips و dvipdfm پشتیبانی میکند. برای کسب اطلاعات بیشتر درباره نحو و مفاهیم این دستور، مستندات \pdfmapfile را در راهنمای کاربر pdfTeX (https://ctan.org/pkg/pdftex) ببینید.
ps
از آنجا که PostScript زبانی نسبتاً پیچیده است، dvisvgm مفسر اختصاصی خود را برای PostScript پیادهسازی نکرده و به جای آن به Ghostscript (https://ghostscript.com) متکی است. اگر کتابخانه Ghostscript به باینری dvisvgm پیوند داده نشده باشد، در زمان اجرا به شکل پویا جستجو و بارگذاری میشود. در این حالت، dvisvgm در سیستمهای شبهیونیکس به دنبال libgs.so.X (نسخههای ABI پشتیبانیشده: 7، 8، 9)، در macOS به دنبال libgs.X.dylib و در ویندوز به دنبال gsdll32.dll یا gsdll64.dll میگردد. شما میتوانید با استفاده از متغیر محیطی LIBGS یا گزینه خط فرمان --libgs نامهای پیشفرض فایل را لغو و بازنویسی کنید. کتابخانه باید از طریق مسیر جستجوی ld (در شبهیونیکس) یا متغیر محیطی PATH (در ویندوز) در دسترس باشد. همچنین میتوان مسیر مطلق فایل را مشخص کرد. اگر کتابخانه یافت نشود، dvisvgm پردازش دستورات ویژه PostScript را غیرفعال کرده و یک پیام هشدار چاپ میکند. با استفاده از گزینه --list-specials بررسی کنید که آیا پشتیبانی از PostScript در دسترس است یا خیر، یعنی ورودی ps وجود دارد یا نه.
پردازشگر PostScript همچنین دادههای کادر احاطهکننده تولیدشده توسط بسته preview (https://ctan.org/pkg/preview) با گزینه tightpage را شناسایی و ارزیابی میکند. اگر چنین دادهای در فایل DVI وجود داشته باشد و dvisvgm با گزینه --bbox=preview فراخوانی شود، dvisvgm پهنا و ارتفاع کل فایل SVG را بر اساس مقادیر استخراجشده از دادههای پیشنمایش تنظیم میکند. علاوه بر این، پیامی حاوی پهنا، ارتفاع و عمق کادر بر حسب واحدهای پوینت تک به کنسول چاپ میکند. بهویژه، مقدار عمق (depth) میتواند توسط پسپردازشگرها خوانده شود تا برای نمونه، گرافیکهای SVG را با خط مبنای (baseline) متن پیرامون در اسناد HTML یا XSL-FO همتراز سازد. لطفاً توجه داشته باشید که کادرهای احاطهکننده SVG بر اساس یک پهنا و یک ارتفاع (کل) تعریف میشوند. بر خلاف TeX، فرمت SVG هیچ سازوکاری برای تفکیک ارتفاع و عمق، یعنی به ترتیب ابعاد عمودی بالاتر و پایینتر از خط مبنا، ارائه نمیدهد. از این رو، بهطور کلی امکان استخراج مقدار عمق از خود فایل SVG وجود ندارد.
اگر dvisvgm را با گزینه --bbox=min (پیشفرض) اجرا کنید و دادههای پیشنمایش در فایل DVI وجود داشته باشند، dvisvgm ابعاد پیشنمایش را اعمال نمیکند، بلکه کادر احاطهکنندهای را محاسبه میکند که محتویات صفحه را به صورت فشرده احاطه کند. مقادیر ارتفاع، عمق و پهنا که در کنسول نوشته میشوند، بر این اساس تطبیق خواهند یافت.
tpic
dvisvgm file
dvisvgm -p1-5 file
dvisvgm -p1- file
dvisvgm -p1,3 -O file
dvisvgm - < file.dvi
dvisvgm -z file
dvisvgm -p5 -z3 -ba4-l -o newfile file
dvisvgm --transform="R20,w/3,2h/5 T1cm,1cm S2,3" file
محیط (ENVIRONMENT)
برنامه dvisvgm از کتابخانه kpathsea برای یافتن فایلهایی که باز میکند استفاده میکند. از این رو، متغیرهای محیطی شرحدادهشده در مستندات این کتابخانه بر مبدل تأثیر میگذارند.
اگر dvisvgm بدون کتابخانه Ghostscript پیوند داده شده باشد و پشتیبانی از PostScript غیرفعال نشده باشد، کتابخانه مشترک Ghostscript هنگام اجرا از طریق dlopen() جستجو میشود. متغیر محیطی LIBGS میتواند برای تعیین مسیر و نام فایل کتابخانه استفاده شود.
نسخههای از پیش کامپایلشده ویندوز dvisvgm به یک نصب فعال از MiKTeX 2.9 یا بالاتر نیاز دارند. dvisvgm همراه با نسخه قابلحمل (portable) MiKTeX کار نمیکند زیرا به رابط COM مربوط به MiKTeX متکی است که تنها در یک نصب محلی در دسترس است. برای فعالسازی ارزیابی دستورات ویژه PostScript، باید فایل DLL اصلی Ghostscript یعنی gsdll32.dll موجود و از طریق مسیر جستجو قابلدستیابی باشد. ساختهای ۶۴بیتی ویندوز نیازمند فایل DLL شصت و چهار بیتی Ghostscript یعنی gsdll64.dll هستند. هر دو فایل DLL همراه با نصبکنندههای متناظر Ghostscript ارائه میشوند که از طریق https://ghostscript.com در دسترس هستند.
متغیر محیطی DVISVGM_COLORS رنگهای بهکاررفته برای برجستهسازی بخشهای مختلف خروجی پیامهای dvisvgm را مشخص میکند. این متغیر تنها زمانی ارزیابی میشود که گزینه --color داده شده باشد. مقدار DVISVGM_COLORS فهرستی از مدخلهای جداشده با دونقطه به صورت gg=BF است، که در آن gg نشاندهنده یکی از شاخصهای گروه رنگ فهرستشده در زیر است، و BF دو رقم هگزادسیمال هستند که رنگ پسزمینه (رقم اول) و رنگ متن/پیشزمینه (رقم دوم) را مشخص میکنند. مقادیر رنگ به صورت زیر تعریف شدهاند: 0=مشکی، 1=قرمز، 2=سبز، 3=زرد، 4=آبی، 5=سرخابی، 6=فیروزهای، 7=خاکستری، 8=قرمز روشن، 9=سبز روشن، A=زرد روشن، B=آبی روشن، C=سرخابی روشن، D=فیروزهای روشن، E=خاکستری روشن، F=سفید. بسته به ترمینال، ممکن است رنگها متفاوت باشند. به جای تغییر هر دو رنگ متن و پسزمینه، تغییر تنها یکی از آنها نیز ممکن است: علامت ستاره (*) به جای رقم هگزادسیمال نشاندهنده رنگ پیشفرض متن یا پسزمینه ترمینال است.
تمامی مدخلهای با ساختار نامعتبر در این فهرست بدون نمایش پیام نادیده گرفته میشوند.
| er | پیامهای خطا |
| wn | پیامهای هشدار |
| pn | پیامهای مربوط به شماره صفحه |
| ps | پیامهای اندازه صفحه |
| fw | اطلاعات مربوط به فایلهای نوشتهشده |
| sm | پیامهای وضعیت |
| tr | پیامهای ردیاب گلیف (glyph tracer) |
| pi | نشانگر پیشرفت |
مثال: er=01:pi=*5 رنگ پیامهای خطا (er) را به قرمز (1) روی مشکی (0)، و رنگ نشانگرهای پیشرفت (pi) را به فیروزهای (5) روی پسزمینه پیشفرض (*) تنظیم میکند.
متغیر DVISVGM_PDF_PROC امکان انتخاب پردازشگر PDF دلخواه را فراهم میکند. برای پردازش فایلهای PDF، dvisvgm به Ghostscript (نسخه < 10.01.0) یا mutool نیاز دارد. اگر DVISVGM_PDF_PROC تنظیم نشده باشد، dvisvgm تلاش میکند پردازشگرهای موجود را شناسایی کند. برای اطلاعات بیشتر گزینه --pdf را ببینید. جهت انتخاب یک پردازشگر PDF خاص، میتوانید DVISVGM_PDF_PROC را روی gs یا mutool تنظیم کنید که به ترتیب استفاده از Ghostscript و mutool را تحمیل میکند..SH "فایلها (FILES)"
مکان فایلهای زیر توسط کتابخانه kpathsea تعیین میشود. برای بررسی پیکربندی واقعی kpathsea میتوانید از ابزار kpsewhich استفاده کنید.
| *.enc | فایلهای کدگذاری قلم |
| *.fgd | فایلهای دادههای گلیف قلم (فایلهای کش ایجادشده توسط dvisvgm) |
| *.map | فایلهای نگاشت قلم |
| *.mf | فایلهای ورودی Metafont |
| *.pfb | فایلهای قلم PostScript Type 1 |
| *.pro | فایلهای سرآیند/پیشدرآمد PostScript |
| *.tfm | فایلهای متریک قلم TeX |
| *.ttf | فایلهای قلم TrueType |
| *.vf | فایلهای قلم مجازی |
همچنین ببینید (SEE ALSO)
tex(1), mf(1), mktexmf(1), grodvi(1), potrace(1) و مستندات info مربوط به kpathsea library.
منابع (RESOURCES)
صفحه اصلی پروژه
مخزن کد
گزارش باگها (BUGS)
لطفاً گزارش باگها را با استفاده از سامانه ردیابی باگ در GitHub (https://github.com/mgieseki/dvisvgm/issues) ارسال کنید.
نویسندگان (AUTHORS)
نوشتهشده توسط Martin Gieseking <martin.gieseking@uos.de>
کپیرایت و تکثیر (COPYRIGHT)
حق نشر © 2005-2026 متعلق به Martin Gieseking است. استفاده آزاد از این نرمافزار تحت شرایط «مجوز عمومی همگانی گنو» (GPL) نسخه ۳ یا (به انتخاب شما) هر نسخه بالاتر مجاز است.
| 2026-08-03 | dvisvgm 3.6.1 |