.\" This man page was generated by the Netpbm tool 'makeman' from HTML source. .\" Do not hand-hack it! If you have bug fixes or improvements, please find .\" the corresponding HTML page on the Netpbm website, generate a patch .\" against that, and send it to the Netpbm maintainer. .TH "Pamtogif User Manual" 0 "09 June 2021" "netpbm documentation" .SH "نام (NAME)" pamtogif \- تبدیل یک تصویر Netpbm به یک تصویر GIF .UN synopsis .SH "خلاصه دستور (SYNOPSIS)" \fBpamtogif\fP [\fB-interlace\fP] [\fB-sort\fP] [\fB-mapfile=\fP\fImapfile\fP] [\fB-transparent=\fP[\fB=\fP]\fIcolor\fP] [\fB-alphacolor=\fP\fIcolor\fP] [\fB-comment=\fP\fItext\fP] [\fB-noclear\fP] [\fB-nolzw\fP] [\fB-aspect=\fP\fIfraction\fP] [\fB-verbose\fP] [\fInetpbmfile\fP] .PP همه گزینه‌ها را می‌توان به کوتاه‌ترین پیشوند یکتای آن‌ها خلاصه کرد. می‌توانید به جای یک خط تیره از دو خط تیره برای تعیین یک گزینه استفاده کنید. همچنین می‌توانید میان نام گزینه و مقدار آن از فاصله (white space) یا علامت مساوی استفاده نمایید. .UN description .SH "توضیحات (DESCRIPTION)" .PP این برنامه بخشی از .BR "Netpbm" (1)\c \& است. .PP \fBpamtogif\fP یک تصویر Netpbm را به عنوان ورودی خوانده و یک فایل GIF به عنوان خروجی تولید می‌کند. .PP این برنامه فقط تصاویر GIF تکی ایجاد می‌کند. برای ترکیب چندین تصویر GIF در یک GIF متحرک، از .UR http://www.lcdf.org/gifsicle \fBgifsicle\fP .UE \& (که بخشی از بسته Netpbm نیست) استفاده کنید. .PP \fBpamtogif\fP فایل GIF را یا با فرمت اصلی GIF87 یا فرمت جدیدتر GIF89 ایجاد می‌کند. این برنامه زمانی GIF89 تولید می‌کند که خروجی نیازمند ویژگی‌های معرفی‌شده در GIF89، یعنی شفافیت یا کامنت‌ها باشد. در غیر این صورت، GIF87 ایجاد می‌کند. برنامه‌های بسیار قدیمی نمایش GIF احتمالاً قادر به شناسایی GIF89 نیستند. خروجی زمانی نیازمند شفافیت است که ورودی حاوی اطلاعات شفافیت باشد یا شما گزینه \fB-transparent\fP را مشخص کرده باشید. همچنین زمانی که گزینه \fB-comment\fP را تعیین کنید، خروجی نیازمند کامنت خواهد بود. .PP \fBpamtogif\fP یک تصویر GIF با یک بلوک تصویری منفرد تولید می‌کند، به این معنی که تصویر نمی‌تواند بیش از ۲۵۶ رنگ داشته باشد (حاوی یک جدول رنگ منفرد با حداکثر اندازه ۲۵۶ است). اگر تصویری که می‌خواهید تبدیل کنید رنگ‌های بیشتری از این مقدار دارد (\fBppmhist\fP می‌تواند این موضوع را مشخص کند)، می‌توانید از \fBpnmquant\fP برای کاهش آن به ۲۵۶ رنگ استفاده نمایید؛ یا از روش پیچیده‌تر اما سریع‌ترِ شرح داده شده ذیل گزینه \fB-mapfile\fP بهره ببرید. .PP اگر تصویر ورودی شما یک PAM دارای اطلاعات شفافیت باشد، \fBpamtogif\fP یک مدخل در جدول رنگ GIF را به طور ویژه برای پیکسل‌های شفاف اختصاص می‌دهد، بنابراین حداکثر می‌توانید ۲۵۵ رنگ کدر (غیرشفاف) داشته باشید. در مقابل، اگر از گزینه \fB-transparent\fP استفاده کنید، یکی از رنگ‌های ورودی شفاف می‌شود، بنابراین محدودیت همچنان ۲۵۶ خواهد بود. .PP \fBpamtogif\fP اطلاعات شفافیت را در ورودی از روی مقادیر \fBRGB_ALPHA\fP، \fBGRAYSCALE_ALPHA\fP یا \fBBLACKANDWHITE_ALPHA\fP در tuple type تشخیص می‌دهد. این موضوع برای هر تصویری که اطلاعات شفافیت داشته و توسط یکی از برنامه‌های Netpbm مربوط به پردازش تصویر تولید شده باشد، صادق است. از سوی دیگر، اگر یک فایل PAM دارید که به روش دیگری ایجاد شده است، اما می‌دانید صفحه‌ها (planes) معنایی معادل همین انواع تاپل دارند، می‌توانید با تغییر نوع تاپل به صورت متناسب پیش از ارسال به \fBpamtogif\fP، آن را وادار به پردازش اطلاعات شفافیت کنید. برای تغییر نوع تاپل می‌توانید از \fBpamstack\fP استفاده نمایید. .PP \fBpamtogif\fP در Netpbm نسخه 10.37 (دسامبر ۲۰۰۶) معرفی شد. در نسخه‌های قدیمی‌تر Netpbm، از \fBppmtogif\fP استفاده کنید. .UN options.SH "گزینه‌ها (OPTIONS)" .PP علاوه بر گزینه‌های مشترک میان تمام برنامه‌های مبتنی بر libnetpbm (به‌ویژه \fB-quiet\fP؛ رجوع کنید به .UR index.html#commonoptions گزینه‌های مشترک .UE \&)، \fBpamtogif\fP گزینه‌های خط فرمان زیر را به رسمیت می‌شناسد: .TP \fB-interlace\fP تولید یک فایل GIF درهم‌بافته (interlaced). .TP \fB-sort\fP تولید یک فایل GIF با نگاشت رنگی (color map) مرتب‌شده بر اساس یک ترتیب قابل پیش‌بینی. .sp این گزینه نگاشت رنگی مرتب‌شده‌ای را که بخشی از قالب GIF است تولید \fIنمی‌کند\fP. آن نوع نگاشت رنگی مرتب، موردی است که در آن رنگ‌ها بر اساس میزان اهمیتشان مرتب شده‌اند و سرآیند GIF به نمایشگر اعلام می‌کند که به این شیوه مرتب شده است. هدف آن این است که اگر نمایشگر قادر به نمایش تمام رنگ‌ها نبود، بتواند از رنگ‌های کمتری نسبت به رنگ‌های موجود در نگاشت رنگ استفاده کند. .sp آنچه این گزینه تولید می‌کند یک نگاشت رنگ مرتب‌شده بر اساس مقدار قرمز، سپس سبز، و سپس آبی است. این ویژگی می‌تواند در تحلیل تصاویر GIF، به‌ویژه تصاویری که با دو نسخه مختلف از برنامه ساخته شده‌اند، مفید باشد زیرا برخی از تغییرات متغیر را حذف می‌کند. .TP \fB-mapfile=\fP\fImapfile\fP .sp استفاده از رنگ‌های موجود در فایل \fImapfile\fP برای ایجاد نگاشت رنگ در فایل GIF، به جای رنگ‌های موجود در \fInetpbmfile\fP. \fImapfile\fP می‌تواند هر فایل PPM باشد؛ تنها چیزی که اهمیت دارد رنگ‌های درون آن است. اگر رنگ‌های موجود در \fInetpbmfile\fP با رنگ‌های موجود در \fImapfile\fP مطابقت نداشته باشند، \fBpamtogif\fP آن‌ها را با «بهترین تطابق» معادل‌سازی می‌کند. شما می‌توانید با استفاده از \fBpnmremap\fP برای تغییر رنگ‌های ورودی به رنگ‌های موجود در فایل نگاشت، نتیجه بسیار بهتری به دست آورید. .sp فایل \fImapfile\fP یک فایل پالت نیست، بلکه صرفاً تصویری است که می‌خواهید از رنگ‌های آن استفاده کنید. ترتیب رنگ‌ها در پالت GIF هیچ ارتباطی با محل ظاهر شدن آن‌ها در تصویر \fImapfile\fP ندارد، و تکرار رنگ‌ها در تصویر نیز بی‌اهمیت است. .sp عمق (depth) فایل نگاشت باید با تعداد مؤلفه‌های رنگ در ورودی مطابقت داشته باشد (که لزوماً با عمق ورودی یکسان نیست -- ممکن است ورودی علاوه بر مؤلفه‌های رنگ، یک صفحه شفافیت نیز داشته باشد). اگر فایل نگاشت شما این‌گونه نیست، یا \fIاحتمالاً\fP نیست، ورودی خود را با استفاده از همان فایل نگاشت از طریق \fBpnmremap\fP پردازش کنید تا مطابق شود. .sp شما می‌توانید از \fB-mapfile\fP برای سرعت بخشیدن به تبدیل تصویری استفاده کنید که از قبل به دلیل پردازش قبلی تصویرتان، یک فایل نگاشت برای آن دارید. برای مثال، معمول است که با تصویری که بیش از ۲۵۶ رنگ دارد شروع کنید و رنگ‌های آن را به مجموعه‌ای از ۲۵۶ رنگ با استفاده از \fBpnmquant\fP نگاشت مجدد نمایید تا \fBpamgtogif\fP بتواند آن را تبدیل کند (یک GIF تنها می‌تواند ۲۵۶ رنگ داشته باشد؛ \fBpamtogif\fP بدون \fB-mapfile\fP روی هر تصویری که بیش از این تعداد رنگ داشته باشد با شکست مواجه می‌شود). هنگامی که این کار را انجام می‌دهید، \fBpnmquant\fP پالتی برای انجام کوانتیزه‌سازی رنگ تولید می‌کند، سپس \fBpamtogif\fP یک پالت یکسان از تصویر کوانتیزه‌شده ایجاد می‌کند. می‌توانید با یک بار تولید پالت، در محاسبات صرفه‌جویی کنید: .nf \f(CW $ pnmcolormap 256 myimage.ppm >/tmp/colormap.ppm $ pamtogif myimage.ppm -mapfile=/tmp/colormap.ppm >output.gif \fP .fi .TP \fB-transparent=\fP\fIcolor\fP \fBpamtogif\fP رنگ مشخص‌شده را به عنوان شفاف در تصویر GIF علامت‌گذاری می‌کند. .sp اگر \fB-transparent\fP را مشخص نکنید، \fBpamtogif\fP هیچ رنگی را به عنوان شفاف علامت‌گذاری نمی‌کند (به جز مواردی که با اطلاعات شفافیت در فایل ورودی مشخص شده باشند). .sp رنگ (\fIcolor\fP) را همان‌طور که برای .UR libnetpbm_image.html#colorname آرگومان تابع کتابخانه‌ای \fBpnm_parsecolor()\fP .UE \& شرح داده شده است مشخص کنید. .sp اگر رنگی که مشخص می‌کنید در تصویر وجود نداشته باشد، \fBpamtogif\fP در عوض رنگی در تصویر را انتخاب می‌کند که نزدیک‌ترین رنگ به مورد مشخص‌شده باشد. نزدیکی به عنوان فاصله دکارتی بین رنگ‌ها در فضای RGB اندازه‌گیری می‌شود. اگر چندین رنگ فاصله یکسانی داشته باشند، \fBpamtogif\fP یکی از آن‌ها را به‌صورت دلخواه انتخاب می‌کند. .sp با این حال، اگر پیش از مشخص کردن رنگ یک «=» قرار دهید، برای نمونه \fB-transparent==red\fP، تنها همان رنگ دقیق شفاف خواهد شد. اگر آن رنگ در تصویر ظاهر نشود، هیچ شفافیتی وجود نخواهد داشت. در این حالت \fBpamtogif\fP یک پیام اطلاع‌رسانی صادر می‌کند. .sp هنگامی که \fB-transparent\fP را مشخص می‌کنید، \fBpamtogif\fP اطلاعات صریح شفافیت («کانال آلفا») در تصویر ورودی را نادیده می‌گیرد. .TP \fB-alphacolor=\fP\fIcolor\fP این گزینه رنگ پیش‌زمینه را برای پیکسل‌های شفاف مشخص می‌کند. یک نمایشگر ممکن است در صورتی که تصمیم بگیرد اجازه «دیده شدن از پسِ» رنگ دیگر را ندهد، از رنگ پیش‌زمینه برای یک پیکسل شفاف استفاده کند. مقدار پیش‌فرض سیاه است. .sp این گزینه فقط برای پیکسل‌هایی اعمال می‌شود که در GIF شفاف هستند زیرا در ورودی Netpbm شفاف بوده‌اند. اگر یک پیکسل GIF به دلیل گزینه \fB-transparent\fP شفاف باشد، رنگ پیش‌زمینه همان رنگ مشخص‌شده توسط آن گزینه است. .sp توجه داشته باشید که در GIF، تمام پیکسل‌های شفاف رنگ پیش‌زمینه یکسانی دارند. (در نگاشت رنگ GIF فقط یک ورودی برای پیکسل‌های شفاف وجود دارد). .sp رنگ (\fIcolor\fP) را همان‌طور که برای .UR libnetpbm_image.html#colorname آرگومان تابع کتابخانه‌ای \fBpnm_parsecolor()\fP .UE \& شرح داده شده است مشخص کنید. .TP \fB-comment=\fP\fItext\fP قراردادن یک یادداشت در خروجی GIF با متن یادداشت \fItext\fP. .sp بدون این گزینه، هیچ یادداشتی در خروجی قرار نخواهد گرفت. .sp توجه داشته باشید که در یک پوسته خط فرمان، اگر \fItext\fP شامل نویسه‌هایی (مانند فاصله) باشد که باعث شود پوسته آن را چندین آرگومان تلقی کند، باید از علامت‌های نقل‌قول در اطراف آن استفاده کنید: .nf $ pamtogif -comment "this is a comment" xxx.gif .fi .TP \fB-noclear\fP .sp این گزینه باعث می‌شود که خروجی حاوی هیچ کد پاک‌سازی (clear code) در فرمت GIF نباشد. .sp در GIF، جریان داده هم‌گام با پیشروی خود، کدهایی را تعریف می‌کند که نمایانگر رشته‌هایی از پیکسل‌ها هستند. جریان شامل تعاریف کدها به همراه ارجاعات به آن کدهاست که پیکسل‌های تصویر را توصیف می‌کنند. GIF حداکثر تعداد کدهایی را که می‌توان تعریف کرد مشخص می‌کند؛ هنگامی که جریان به آن تعداد تعریف رسید، می‌تواند یا برای ادامه تصویر صرفاً از همان‌ها استفاده کند یا یک کد پاک‌سازی درج کند که تمام کدهای رشته را حذف کرده تا جریان بتواند تعریف کدهای جدید را از نو آغاز کند. .sp رایج‌ترین انتخاب بدون شک استفاده از کد پاک‌سازی است. این کار معمولاً منجر به یک جریان داده کوچکتری می‌شود زیرا مجموعه‌ای از رشته‌های پیکسلی که در یک تصویر رخ می‌دهند در بخش‌های مختلف تصویر متفاوت هستند. تقریباً هیچ رمزگذار GIF جریانی تولید نمی‌کند که از کد پاک‌سازی استفاده نکند. .sp اما این تصور نیز ممکن است که یک جریان بدون استفاده از کد پاک‌سازی حجم کمتری داشته باشد، زیرا از بازتعریف مداوم همان کدهای رشته توسط جریان جلوگیری می‌کند. حتی می‌تواند از وضعیت کوبش (thrashing) جلوگیری کند که در آن جریان به‌طور مداوم مجموعه‌ای از رشته‌ها را تعریف می‌کند که هرگز دوباره پیش از رسیدن به بیشینه مجاز استفاده نمی‌شوند. .sp حالت پیش‌فرض استفاده از کدهای پاک‌سازی است. .sp این گزینه در Netpbm 10.82 (مارس ۲۰۱۸) جدید بود. پیش از آن، برنامه همیشه از کدهای پاک‌سازی استفاده می‌کرد. .TP \fB-nolzw\fP .sp این گزینه عمدتاً اهمیت تاریخی دارد -- به استفاده از یک حق اختراع مربوط می‌شود که اکنون منقضی شده است. .sp این گزینه باعث می‌شود که خروجی GIF و در نتیجه \fBpamtogif\fP از فشرده‌سازی LZW (Lempel-Ziv) استفاده نکند. در نتیجه، فایل تصویر بزرگ‌تر خواهد بود و پیش از انقضای حق اختراع، نیازی به پرداخت حق امتیاز به دارنده حق اختراع LZW نبود. به بخش مجوز (LICENSE) در ادامه مراجعه کنید. .sp روش LZW روشی برای ترکیب اطلاعات چندین پیکسل در یک کد GIF واحد است. با گزینه \fB-nolzw\fP، برنامه \fBpamtogif\fP برای هر پیکسل یک کد GIF ایجاد می‌کند، بنابراین هیچ فشرده‌سازی انجام نمی‌دهد و از LZW استفاده نمی‌کند. با این حال، هر رمزگشای GIF، چه از یک فشرده‌گشای LZW استفاده کند یا نه، این قالب فشرده‌نشده را به‌درستی رمزگشایی خواهد کرد. یک فشرده‌گشای LZW این مورد را به عنوان حالت خاصی از فشرده‌سازی LZW در نظر می‌گیرد..sp توجه داشته باشید که اگر فردی از یک فشرده‌گشای LZW مانند نمونهٔ موجود در \fBgiftopnm\fP یا تقریباً هر برنامه نمایش گرافیکی دیگری برای پردازش خروجی \fBpamtogif -nolzw \fP استفاده کند، در واقع در حال استفاده از حق ثبت اختراع LZW است. با این حال دارنده این حق اختراع، تمایل بسیار کمتری به اعمال آن بر رمزگشایی نسبت به رمزگذاری نشان داده است. .TP \fB-aspect=\fP\fIfraction\fP این نسبت ابعاد پیکسل‌های تصویر است. تنها اثر آن، ثبت این اطلاعات در GIF برای استفاده توسط هر برنامه‌ای است که GIF را تفسیر می‌کند. توجه داشته باشید که این ویژگی GIF به‌ندرت استفاده می‌شود و اکثر رمزگشاهای GIF این اطلاعات را نادیده گرفته و فرض می‌کنند پیکسل‌ها مربعی هستند. .sp پیکسل‌ها در یک تصویر Netpbm دارای نسبت ابعاد نیستند؛ همواره یک تناظر یک‌به‌یک میان پیکسل‌های GIF و پیکسل‌های Netpbm برقرار است. .sp نسبت ابعاد حاصل تقسیم پهنا بر ارتفاع است. فرمت GIF نسبت‌های ابعاد از 0.25 (1:4) تا 4 (4:1) را با گام‌های 1/64 مجاز می‌داند. \fBpamtogif\fP یک تعمیم طبیعی از GIF را پیاده‌سازی می‌کند که نسبت ابعاد را تا 4 14/64 مجاز می‌سازد. اگر مقداری خارج از این محدوده مشخص کنید، \fBpamtogif\fP با شکست مواجه می‌شود. \fBpamtogif\fP مقدار \fIfraction\fP را به نزدیک‌ترین 1/64 گرد می‌کند. .sp پیش‌فرض مربعی است (1.0). .sp این گزینه در Netpbm 10.38 (مارس ۲۰۰۷) تازه بود. پیش از آن، پیکسل‌ها همواره مربعی بودند. .TP \fB-verbose\fP این گزینه باعث می‌شود \fBpamtogif\fP اطلاعاتی را درباره فرایند تبدیل و تصویری که تولید می‌کند نمایش دهد. .UN seealso .SH "همچنین ببینید (SEE ALSO)" .BR "giftopnm" (1)\c \&, .BR "pnmremap" (1)\c \&, .BR "ppmtogif" (1)\c \&, \fBgifsicle\fP .UR http://www.lcdf.org/gifsicle http://www.lcdf.org/gifsicle .UE \&, .BR "pnm" (1)\c \&, .BR "pam" (1)\c \&. .UN history .SH "تاریخچه (HISTORY)" .PP دستور \fBpamtogif\fP در Netpbm 10.37 (دسامبر ۲۰۰۶) جدید بود. این ابزار جایگزین \fBppmtogif\fP شد که از سال ۱۹۸۹ تصاویر GIF را برای کاربران Pbmplus/Netpbm ایجاد می‌کرد. .PP تغییر ظاهری اصلی در تبدیل از \fBppmtogif\fP به \fBpamtogif\fP این بود که \fBpamtogif\fP می‌توانست از اطلاعات شفافیت («کانال آلفا») در ورودی PAM استفاده کند، در حالی که در \fBppmtogif\fP، کاربر باید ماسک شفافیت را در یک تصویر جداگانه شبه-PGM (از طریق گزینه \fB-alpha\fP) ارائه می‌داد. .PP جف پوسکانزر (Jef Poskanzer) ابزار \fBppmtogif\fP را در سال ۱۹۸۹ نوشت، و این برنامه همواره یکی از ارکان Pbmplus/Netpbm بوده است زیرا GIF فرمت تصویری بسیار محبوبی است. جف رمزگذاری LZW را بر پایه GIFENCOD اثر دیوید رولی (David Rowley) <\fImgardi@watdcsu.waterloo.edu\fP> پیاده‌سازی کرد. جف فایل GIFCOMPR.C مربوط به GIFENCOD را تقریباً به‌طور کامل گنجاند. رولی نیز به نوبه خود، کد فشرده‌سازی LZW را از \fBcompress\fP کلاسیک یونیکس اقتباس کرده بود که از روش‌های شرح‌داده‌شده در IEEE Computer، ژوئن ۱۹۸۴ استفاده می‌کرد. .PP ابزار \fBppmtogif\fP متعلق به جف به‌طور مشهودی فاقد قابلیت استفاده از یک ماسک شفافیت بود. شما می‌توانستید پیکسل‌های شفاف را در یک GIF ایجاد کنید، اما فقط با گزینه \fB-transparent\fP، که به کاربر امکان می‌داد تعیین کند تمام پیکسل‌های دارای یک رنگ خاص در ورودی، شفاف باشند. برایان هندرسون (Bryan Henderson) در ژوئیه ۲۰۰۱ گزینه \fB-alpha\fP را اضافه کرد تا بتوانید تصویری از یک ماسک ارائه دهید که دقیقاً مشخص می‌کند کدام پیکسل‌ها باید شفاف باشند، و آن پیکسل‌ها می‌توانستند رنگی مشابه سایر پیکسل‌های کدر داشته باشند. .PP برایان هندرسون در اکتبر ۲۰۰۱ بخش مهم دیگری از کد و کارایی را اضافه کرد: قابلیت تولید یک GIF بدون استفاده از حق اختراع LZW -- یک GIF فشرده‌نشده. این موضوع در آن زمان برای افراد زیادی بسیار مهم بود زیرا حق اختراع GIF همچنان معتبر بود، و این قابلیت به آن‌ها اجازه می‌داد تصویری بسازند که هر نمایش‌دهنده GIF بتواند بدون حق امتیاز (royalty-free) آن را نمایش دهد. برایان برای این کار از کدهای موجود در \fBdjpeg\fP متعلق به Independent JPEG Group استفاده کرد. .PP هیچ کدی از نسخه اصلی جف در \fBpamtogif\fP وجود ندارد، اما جف ممکن است به دلیل روش تکامل آن، همچنان حق نشر (copyright) آن را در اختیار داشته باشد. تقریباً تمام کد \fBpamtogif\fP توسط برایان هندرسون نوشته شده و به مالکیت عمومی (public domain) واگذار شده است. .UN license.SH "مجوز (LICENSE)" .PP اگر از \fBpamtogif\fP بدون گزینهٔ \fB-nolzw\fP استفاده کنید، در حال استفاده از حق اختراع روش فشرده‌سازی LZW هستید که متعلق به Unisys است. این حق اختراع منقضی شده است (در سال ۲۰۰۳ در ایالات متحده و در سال ۲۰۰۴ در سایر نقاط جهان)، بنابراین اکنون اهمیتی ندارد. در زمان معتبر بودن حق اختراع، بیشتر افرادی که از \fBpamtogif\fP و برنامه‌های مشابه استفاده می‌کردند، بدون داشتن مجوزی از Unisys این کار را انجام می‌دادند. Unisys معمولاً ۵۰۰۰ دلار برای مجوز استفاده‌های جزئی از این حق اختراع درخواست می‌کرد. Unisys هرگز حق اختراع را علیه کاربران جزئی اعمال نکرد. .PP شایعات حاکی از آن است که IBM نیز دارای حق اختراعی بوده یا هست که \fBpamtogif\fP را پوشش می‌دهد. .PP یک جایگزین برای قالب GIF که برای استفاده از آن هرگز به هیچ حق اختراعی نیاز نبوده، قالب PNG است. .SH "منبع سند (DOCUMENT SOURCE)" این صفحهٔ راهنما توسط ابزار Netpbm به نام \(aqmakeman\(aq از روی منبع HTML تولید شده است. مستندات اصلی در نشانی زیر قرار دارد: .IP .B http://netpbm.sourceforge.net/doc/pamtogif.html .PP