| DJVUSED(1) | DjVuLibre-3.5 | DJVUSED(1) |
نام (NAME)
djvused - ویرایشگر چندمنظوره اسناد DjVu
خلاصه دستور (SYNOPSIS)
djvused [گزینهها] djvufile
توضیحات (DESCRIPTION)
برنامه djvused ابزاری قدرتمند در خط فرمان برای دستکاری اسناد چندصفحهای، ایجاد یا ویرایش قطعات حاشیهنویسی (annotation chunks)، ایجاد یا ویرایش لایههای متن پنهان، محاسبه پیشهنگام تصاویر بندانگشتی (thumbnails) و موارد دیگر است. این برنامه ابتدا سند DjVu با نام djvufile را خوانده و تعدادی از دستورات djvused را اجرا میکند.
دستورات djvused میتوانند از یک فایل مشخص خوانده شوند (هنگامی که گزینه -f مشخص شده باشد)، از خط فرمان خوانده شوند (هنگامی که گزینه -e مشخص شده باشد)، یا از ورودی استاندارد خوانده شوند (حالت پیشفرض).
گزینهها (OPTIONS)
- -v
- باعث میشود djvused پیش از خواندن دستورات، یک اعلان (prompt) خط فرمان چاپ کند و پیامی کوتاه درباره نحوه اجرای هر دستور نمایش دهد. این گزینه برای اشکالزدایی اسکریپتهای djvused و همچنین وارد کردن تعاملی دستورات djvused از طریق ورودی استاندارد بسیار مفید است.
- -f scriptfile
- باعث میشود djvused دستورات را از فایل scriptfile بخواند.
- -e command
- باعث میشود djvused دستورات مشخصشده توسط آرگومان گزینه commands را اجرا کند. توصیه میشود دستورات djvused را در میان علامتهای نقلقول تکی (single quotes) قرار دهید تا از گسترش ناخواسته پوسته (shell expansion) جلوگیری شود.
- -s
- باعث میشود djvused فایل djvufile را پس از اجرای دستورات مشخصشده ذخیره کند. این کار مشابه اجرای دستور save بلافاصله پیش از پایان برنامه است.
- -u
- باعث میشود djvused متن پنهان و حاشیهنویسیها را بهجای کدگذاری کاراکترهای غیر ASCII با دنبالههای فرار هشتهشتی (octal escape sequences) برای سازگاری حداکثری، بهصورت UTF-8 چاپ کند. این گزینه برای ویرایش یا مشاهده دستی خروجی djvused مناسب است. این گزینه همچنین باعث ارسال نشانگر ترتیب بایت (BOM) مربوط به UTF-8 در ویندوز میشود.
- -n
- باعث میشود djvused دستورات ذخیرهسازی را نادیده بگیرد. این گزینه برای اشکالزدایی اسکریپتهای djvused بدون بازنویسی فایلها بر روی دیسک شما مفید است.
مثالهای DJVUSED (DJVUSED EXAMPLES)
روشهای متعددی برای استفاده از برنامه djvused وجود دارد. مثالهای زیر برخی از کاربردهای رایج این برنامه را نشان میدهند.
بهدست آوردن اندازه یک صفحه (Obtaining the size of a page)
دستور size عرض و ارتفاع صفحات انتخابشده را با استفاده از نحوی سازگار با HTML خروجی میدهد. به عنوان مثال، دستور زیر اندازه صفحه 3 از سند myfile.djvu را چاپ میکند.
- djvused myfile.djvu -e 'select 3; size'
استخراج متن پنهان (Extracting the hidden text)
دستور print-pure-txt متن مرتبط با یک صفحه یا سند را خروجی میدهد. برای نمونه، دستور پوسته زیر متن کل سند را خروجی میدهد. خطوط و صفحات با کاراکترهای کنترلی معمول تفکیک میشوند.
- djvused myfile.djvu -e 'print-pure-txt'
دستور print-txt خروجی جامعتری تولید میکند که ساختار و موقعیت اجزای متن را توصیف مینماید. نحو این خروجی جلوتر در همین صفحه راهنما شرح داده شده است. به عنوان مثال، دستور پوسته زیر اطلاعات گسترده متن را برای صفحه 3 از سند myfile.djvu خروجی میدهد.
- djvused myfile.djvu -e 'select 3; print-txt'
استخراج حاشیهنویسیها (Extracting the annotations)
دادههای حاشیهنویسی را میتوان با استفاده از دستور print-ant استخراج کرد. نحو دادههای حاشیهنویسی جلوتر در همین صفحه راهنما شرح داده شده است. برای نمونه، دستور پوسته زیر دادههای حاشیهنویسی را برای اولین صفحه از سند myfile.djvu خروجی میدهد.
- djvused myfile.djvu -e 'select 1; print-ant'
دستور print-ant تنها حاشیهنویسیهای ذخیرهشده در فایل مؤلفه انتخابشده را چاپ میکند. دستور print-merged-ant همچنین حاشیهنویسیها را از تمامی فایلهای مؤلفهای که توسط صفحه جاری به آنها ارجاع داده شده (با استفاده از قطعات INCL ) واکشی کرده و اطلاعات ادغامشده را چاپ میکند.
پشتیبانگیری/بازیابی حاشیهنویسیها و متن (Dumping/restoring annotations and text)
سه دستور output-txt، output-ant و output-all اسکریپتهای djvused تولید میکنند. برای نمونه، دستور پوسته زیر یک اسکریپت djvused با نام myfile.dsed تولید میکند که تمامی دادههای متنی و حاشیهنویسی موجود در سند myfile.djvu را بازسازی میکند.
- djvused myfile.djvu -e 'output-all' > myfile.dsed
اسکریپت myfile.dsed یک فایل متنی است که به آسانی قابل ویرایش است. دستور پوسته زیر سپس اطلاعات متنی و حاشیهنویسی را در فایل myfile.djvu بازسازی میکند.
- djvused myfile.djvu -f myfile.dsed -s
استخراج یک صفحه (Extracting a page)
هر دو دستور save-page و save-page-with یک فایل DjVu ایجاد میکنند که بیانگر فایل مؤلفه انتخابشده از یک سند است. به عنوان مثال، دستور پوسته زیر فایلی با نام p05.djvu حاوی صفحه 5 از سند myfile.djvu ایجاد میکند.
- djvused myfile.djvu -e 'select 5; save-page p05.djvu'
هر صفحه از یک سند ممکن است با استفاده از قطعات موسوم به شمول ( INCL ) دادههایی را از فایل مؤلفه دیگری وارد کند. دستور save-page در این حالت فایلی با ارجاعات حلنشده به دادههای واردشده تولید میکند. چنین فایلی سپس باید بخشی از یک سند چندصفحهای شود که دادههای مورد نیاز را در سایر فایلهای مؤلفه خود دارد. از سوی دیگر، دستور save-page-with تمام دادههای واردشده را در فایل خروجی کپی میکند. این فایل مستقیماً قابل استفاده است. با این حال، گردآوری چندین فایل از این دست در یک سند چندصفحهای ممکن است منجر به تکرار بیهوده دادهها شود.
محاسبه پیشهنگام تصاویر بندانگشتی (Pre-computing thumbnails)
دستور set-thumbnails تصاویر بندانگشتی ایجاد میکند که بعداً میتوانند توسط نمایشگرهای DjVu نمایش داده شوند. به عنوان مثال، دستور پوسته زیر تصاویر بندانگشتی به اندازه 64x64 پیکسل را برای تمامی صفحات فایل myfile.djvu محاسبه میکند.
- djvused myfile.djvu -e 'set-thumbnails 64' -s
دستورات DJVUSED (DJVUSED COMMANDS)
خطوط دستور ممکن است شامل صفر، یک یا چند دستور djvused و یک توضیح (کامنت) اختیاری باشند. دستورات چندگانه djvused باید با کاراکتر نقطه-ویرگول ';' از یکدیگر جدا شوند. توضیحات با کاراکتر '#' آغاز میشوند و تا انتهای خط دستور امتداد مییابند.
دستورات انتخاب (Selection commands)
اسناد چندصفحهای DjVu از تعدادی فایل مؤلفه (component files) تشکیل شدهاند. بیشتر فایلهای مؤلفه، یک صفحه خاص از سند را توصیف میکنند. برخی از فایلهای مؤلفه شامل اطلاعات مشترک میان چندین صفحه مانند دادههای تصویر مشترک، حاشیهنویسیهای مشترک یا تصاویر بندانگشتی هستند. بسیاری از دستورات djvused روی فایلهای مؤلفه انتخابشده عمل میکنند. در ابتدا تمامی فایلهای مؤلفه در حالت انتخاب قرار دارند. دستورات زیر برای تغییر این انتخاب کاربرد دارند.
- n
- تعداد کل صفحات موجود در سند را چاپ میکند.
- ls
- تمام فایلهای مؤلفه موجود در سند را فهرست میکند. هر خط شامل یک شماره صفحه اختیاری، یک حرف برای توصیف نوع فایل مؤلفه، اندازه فایل مؤلفه و شناسه فایل مؤلفه است. حروف نوع فایل مؤلفه شامل P، I، A و T به ترتیب نشاندهنده دادههای صفحه، دادههای تصویر مشترک، دادههای حاشیهنویسی مشترک و دادههای تصویر بندانگشتی هستند. شماره صفحات تنها برای فایلهای مؤلفهای فهرست میشوند که حاوی دادههای صفحه باشند. در صورت تنظیم بودن، عنوان اختیاری صفحه (به دستور set-page-title در ادامه مراجعه کنید) پس از شناسه فایل مؤلفه نمایش داده میشود.
- select [fileid]
- فایل مؤلفه مشخصشده توسط آرگومان fileid را انتخاب میکند. آرگومان fileid باید شماره صفحه یا شناسه یک فایل مؤلفه باشد. در صورتی که آرگومان fileid حذف شود، دستور select تمامی فایلهای مؤلفه را انتخاب میکند.
- فایل مؤلفه حاوی حاشیهنویسیهای مشترک را انتخاب میکند. در نرمافزار فعلی DjVu تنها از یک فایل مؤلفه از این دست پشتیبانی میشود. این فایل مؤلفه معمولاً بر خلاف صفحات خاص، شامل حاشیهنویسیهای مربوط به کل سند است. اگر چنین فایل مؤلفهای وجود نداشته باشد، یک پیام خطا نمایش داده میشود.
- یک فایل مؤلفه حاوی حاشیهنویسیهای مشترک ایجاد و انتخاب میکند. اگر چنین فایل مؤلفهای از قبل وجود داشته باشد، این دستور تنها آن را انتخاب میکند. در غیر این صورت، یک فایل مؤلفه حاشیهنویسی مشترک جدید ایجاد کرده و اطمینان حاصل میکند که توسط تمامی صفحات سند وارد شود.
- showsel
- فایلهای مؤلفه انتخابشده فعلی را با همان قالب دستور ls نمایش میدهد.
دستورات متن و حاشیهنویسی (Text and annotation commands)
- print-pure-txt
- متن ذخیرهشده در لایه متن پنهان صفحات انتخابشده را چاپ میکند. قابلیت مشابهی توسط برنامه djvutxt ارائه میشود. اطلاعات ساختاری گاهی با کاراکترهای کنترلی نشان داده میشوند. متن صفحات مختلف با کاراکترهای تعویض صفحه (form feed به صورت "\f") از هم جدا میشوند. خطوط با کاراکترهای خط جدید ("\n") تفکیک میگردند. ستونها، نواحی و پاراگرافها گاهی به ترتیب با کاراکترهای تب عمودی ("\013")، جداکننده گروه ("\035") و جداکننده واحد ("\037") تفکیک میشوند.
- print-txt
- اطلاعات تفصیلی متن پنهان را برای صفحات انتخابشده چاپ میکند. این اطلاعات ساختار متن روی صفحه سند را توصیف کرده و عناصر ساختاری را در تصویر صفحه مکانیابی میکند. نحو این خروجی جلوتر در همین صفحه راهنما شرح داده شده است.
- remove-txt
- اطلاعات متن پنهان را از فایلهای مؤلفه انتخابشده حذف میکند. برای نمونه، اجرای دستورات select و remove-txt تمام اطلاعات متن پنهان را از سند DjVu حذف میکند.
- set-txt [djvusedtxtfile]
- اطلاعات متن پنهان را در صفحات انتخابشده درج میکند. آرگومان اختیاری djvusedtxtfile نام فایلی را مشخص میکند که حاوی اطلاعات متن پنهان است. این فایل باید شامل دادههایی مشابه خروجی تولیدشده توسط دستور print-txt باشد. هنگامی که این آرگومان اختیاری حذف شود، برنامه اطلاعات متن پنهان را از خود اسکریپت djvused میخواند تا زمانی که به انتهای فایل یا خطی حاوی یک نقطه تکی برسد.
- output-txt
- یک اسکریپت djvused چاپ میکند که اطلاعات متن پنهان را برای صفحات انتخابشده بازسازی میکند. این اسکریپت بعداً میتواند با فراخوانی برنامه djvused همراه با گزینه -f ویرایش و اجرا شود.
- print-ant
- حاشیهنویسیهای فایل مؤلفه انتخابشده را چاپ میکند. دادههای حاشیهنویسی با استفاده از نحوی ساده که جلوتر در این سند توصیف شده، نشان داده میشوند.
- print-merged-ant
- حاشیهنویسیهای ذخیرهشده در فایلهای مؤلفه انتخابشده را با حاشیهنویسیهای واردشده از سایر فایلهای مؤلفه مانند فایل مؤلفه حاشیهنویسی مشترک ادغام میکند. دادههای حاشیهنویسی با استفاده از نحوی ساده که جلوتر در این سند توصیف شده، نشان داده میشوند.
- remove-ant
- اطلاعات حاشیهنویسی را از فایلهای مؤلفه انتخابشده حذف میکند. برای نمونه، اجرای دستورات select و remove-ant تمام اطلاعات حاشیهنویسی را از سند DjVu حذف میکند.
- set-ant [djvusedantfile]
- حاشیهنویسیها را در فایل مؤلفه انتخابشده درج میکند. آرگومان اختیاری djvusedantfile نام فایلی را مشخص میکند که حاوی دادههای حاشیهنویسی است. این فایل باید شامل دادههایی مشابه خروجی تولیدشده توسط دستور print-ant باشد. هنگامی که آرگومان اختیاری حذف شود، برنامه دادههای حاشیهنویسی را از خود اسکریپت djvused میخواند تا زمانی که به انتهای فایل یا خطی حاوی یک نقطه تکی برسد.
- output-ant
- یک اسکریپت djvused چاپ میکند که اطلاعات حاشیهنویسی را برای صفحات انتخابشده بازسازی میکند. این اسکریپت بعداً میتواند با فراخوانی برنامه djvused همراه با گزینه -f ویرایش و اجرا شود.
- print-meta
- بخش متادیتای حاشیهنویسیها را برای فایل مؤلفه انتخابشده چاپ میکند. این دستور زیرمجموعهای از اطلاعات چاپشده توسط دستور print-ant را با نحوی متفاوت نمایش میدهد. متادیتا به صورت جفتهای کلید-مقدار سازماندهی شدهاند. هر خط چاپشده شامل نام کلید مانند author، title و غیره است که پس از آن یک کاراکتر تب ("\t") و یک رشته داخل گیومه دوتایی نشاندهنده مقدار متادیتای کدگذاریشده با UTF-8 قرار دارد.
- remove-meta
- بخش متادیتای حاشیهنویسیها را از فایلهای مؤلفه انتخابشده حذف میکند.
- set-meta [djvusedmetafile]
- بخش متادیتای حاشیهنویسیهای فایل مؤلفه انتخابشده را تنظیم میکند. بخش باقیمانده حاشیهنویسیها دستنخورده باقی میماند. آرگومان اختیاری djvusedmetafile نام فایلی را مشخص میکند که حاوی متادیتا است. این فایل باید شامل دادههایی مشابه خروجی تولیدشده توسط دستور print-meta باشد. هنگامی که آرگومان اختیاری حذف شود، برنامه دادههای حاشیهنویسی را از خود اسکریپت djvused میخواند تا زمانی که به انتهای فایل یا خطی حاوی یک نقطه تکی برسد.
- print-xmp
- رشته متادیتای XMP موجود در قطعه حاشیهنویسی فایل مؤلفه انتخابشده را چاپ میکند. این دستور در واقع زیرمجموعهای از اطلاعات چاپشده توسط دستور print-ant را نمایش میدهد.
- remove-xmp
- برچسب XMP را از قطعه حاشیهنویسی فایل مؤلفه انتخابشده حذف میکند.
- set-xmp [xmpfile]
- بخش متادیتای XMP حاشیهنویسیهای فایل مؤلفه انتخابشده را تنظیم میکند. بخش باقیمانده حاشیهنویسیها دستنخورده باقی میماند. آرگومان اختیاری xmpfile نام فایلی حاوی متادیتای XMP با قالبی مشابه خروجی تولیدشده توسط دستور print-xmp است. هنگامی که آرگومان اختیاری حذف شود، برنامه دادههای حاشیهنویسی XMP را از خود اسکریپت djvused میخواند تا زمانی که به انتهای فایل یا خطی حاوی یک نقطه تکی برسد.
- output-all
- یک اسکریپت djvused چاپ میکند که هم اطلاعات متن پنهان و هم اطلاعات حاشیهنویسی را برای صفحات انتخابشده بازسازی میکند. این اسکریپت بعداً میتواند با فراخوانی برنامه djvused همراه با گزینه -f ویرایش و اجرا شود.
دستورات طرح کلی/نشانکها (Outline/bookmarks commands)
- print-outline
- طرح کلی (outline/bookmarks) سند را چاپ میکند. اگر سند فاقد طرح کلی باشد چیزی چاپ نمیشود.
- remove-outline
- طرح کلی را از سند حذف میکند.
- set-outline [djvusedoutlinefile]
- اطلاعات طرح کلی را در سند درج میکند. آرگومان اختیاری djvusedoutlinefile نام فایلی را مشخص میکند که حاوی اطلاعات طرح کلی است. این فایل باید شامل دادههایی مشابه خروجی تولیدشده توسط دستور print-outline باشد. هنگامی که آرگومان اختیاری حذف شود، برنامه اطلاعات طرح کلی را از اسکریپت djvused میخواند تا زمانی که به انتهای فایل یا خطی حاوی یک نقطه تکی برسد.
دستورات تصاویر بندانگشتی (Thumbnail commands)
- set-thumbnails sz
- تصاویر بندانگشتی به اندازه szxsz پیکسل را محاسبه کرده و در سند درج میکند. نمایشگرهای DjVu بعداً میتوانند این تصاویر بندانگشتی را بسیار کارآمد و بدون نیاز به دانلود دادههای هر صفحه نمایش دهند. اندازه معمول تصاویر بندانگشتی بین ۴۸ تا ۱۲۸ پیکسل است.
- remove-thumbnails
- تصاویر بندانگشتی پیشمحاسبهشده را از سند DjVu حذف میکند. سپس میتوان تصاویر بندانگشتی جدید را با استفاده از دستور set-thumbnails محاسبه کرد.
دستورات ذخیرهسازی (Save commands)
دستورات فوق تنها تصویر سند DjVu در حافظه را تغییر میدهند. دستورات زیر امکاناتی برای ذخیره دادههای تغییریافته در سیستمفایل فراهم میکنند.
- save
- سند تغییریافته DjVu را در همان فایل ورودی djvufile مشخصشده توسط آرگومانهای برنامه djvused ذخیره میکند. اگر فایل DjVu تغییری نکرده باشد، هیچ عملی انجام نمیشود. ارسال گزینه -s به برنامه djvused معادل اجرای دستور save پیش از خروج از برنامه است.
- save-bundled filename
- سند DjVu جاری را به صورت یک سند چندصفحهای یکپارچه (bundled) با نام filename ذخیره میکند. قابلیت مشابهی توسط برنامه djvmcvt ارائه میشود.
- save-indirect filename
- سند DjVu جاری را به عنوان یک سند چندصفحهای غیرمستقیم (indirect) ذخیره میکند. فایل نمایه (index file) سند غیرمستقیم با نام filename ذخیره خواهد شد. تمام فایلهای دیگر تشکیلدهنده سند غیرمستقیم در همان پوشه فایل نمایه ذخیره خواهند شد. قابلیت مشابهی توسط برنامه djvmcvt ارائه میشود.
- save-page filename
- فایل مؤلفه انتخابشده را در فایل DjVu با نام filename ذخیره میکند. فایل مؤلفه انتخابشده ممکن است دادههایی را از فایل مؤلفه دیگری با استفاده از قطعات موسوم به شمول ( INCL ) وارد کند. در این صورت، این دستور فایلی با ارجاعات حلنشده به دادههای واردشده تولید میکند. چنین فایلی سپس باید بخشی از یک سند چندصفحهای شود که حاوی دادههای لازم در سایر فایلهای مؤلفه است.
- save-page-with filename
- فایل مؤلفه انتخابشده را در فایل DjVu با نام filename ذخیره میکند. تمامی دادههای واردشده از سایر فایلهای مؤلفه نیز در فایل خروجی کپی میشوند. این دستور همواره یک فایل DjVu مستقیماً قابل استفاده تولید میکند. از سوی دیگر، گردآوری چندین فایل از این نوع در یک سند چندصفحهای ممکن است منجر به تکرار بیهوده دادهها شود.
دستورات متفرقه (Miscellaneous commands)
- help
- پیام راهنمایی شامل فهرست تمام دستورات پشتیبانیشده توسط djvused را نمایش میدهد.
- dump
- ساختار EA IFF 85 سند یا فایل مؤلفه انتخابشده را نمایش میدهد. قابلیت مشابهی توسط برنامه djvudump ارائه میشود.
- size
- عرض و ارتفاع صفحات انتخابشده را نمایش میدهد. ابعاد هر صفحه با استفاده از نحوی مناسب برای درج مستقیم در تگهای <EMBED...></EMBED> نمایش داده میشود. این دستور همچنین جهتگیری پیشفرض صفحه را در صورتی که با صفر متفاوت باشد نمایش میدهد.
- set-rotation [+-]rot
- جهتگیری پیشفرض صفحات انتخابشده را تغییر میدهد. جهتگیری به صورت یک عدد صحیح در محدوده 0..3 بیان میشود که نشاندهنده تعداد چرخشهای ۹۰ درجه در خلاف جهت عقربههای ساعت (پادساعتگرد) است. هنگامی که قبل از آرگومان علامت + یا - قرار گیرد، آرگومان rot تعداد چرخشهای ۹۰ درجه پادساعتگرد اضافی را که باید روی صفحه اعمال شوند مشخص میکند. در غیر این صورت، آرگومان rot نشاندهنده جهتگیری مطلق مورد نظر صفحه است. تنها صفحات DjVu قابل چرخش هستند. صفحاتی که به صورت یک تصویر خام IW44 نشان داده شدهاند را نمیتوان چرخاند.
- set-dpi dpi
- وضوح تصویر صفحه را بر حسب نقطه در اینچ (DPI) تنظیم میکند. آرگومان dpi باید در محدوده 25..6000 باشد.
- set-page-title title
- یک عنوان برای صفحه انتخابشده تعیین میکند. هنگامی که عناوین صفحات موجود باشند، نسخههای اخیر نمایشگرهای DjVuLibre این عناوین را به جای شماره صفحه نمایش میدهند و همچنین آنها را در گزینههای انتخاب صفحه میپذیرند. دستور ls میتواند برای مشاهده هم عناوین صفحات و هم شناسههای صفحات به کار رود. برای لغو عنوان یک صفحه، کافی است آن را برابر با شناسه همان صفحه قرار دهید.
قالبهای فایل DJVUSED (DJVUSED FILE FORMATS)
ابزار djvused از یک نحو ساده مبتنی بر پرانتز برای نمایش حاشیهنویسیها و متن پنهان استفاده میکند.
- این نحو، نحو بومی مورد استفاده در DjVu برای ذخیرهسازی حاشیهنویسیها است. برنامه djvused دادههای حاشیهنویسی را به سادگی با استفاده از الگوریتم bzz(1) فشردهسازی میکند.
- این نحو با نحو بومی مورد استفاده در DjVu برای ذخیرهسازی متن پنهان تفاوت دارد. برنامه djvused تبدیل میان نمایش باینری فشرده مورد استفاده DjVu و نحو پرانتزی به سادگی قابل ویرایش را انجام میدهد.
نحو عمومی (General syntax)
فایلهای djvused فایلهای متنی ASCII هستند. کاراکترهای مجاز در فایلهای djvused عبارتند از کاراکترهای قابل چاپ ASCII و کاراکترهای فاصله (space)، تب (tab)، بازگشت به ابتدای سطر (cr) و خط جدید (nl). استفاده از سایر کاراکترها نتایج نامشخصی به همراه دارد.
فایلهای djvused از دنبالهای از عبارات تشکیل شدهاند که با کاراکترهای خالی (فاصله، تب، cr یا nl) از یکدیگر جدا میشوند. چهار نوع عبارت وجود دارد: اعداد صحیح، نمادها، رشتهها و لیستها.
- اعداد صحیح (Integers):
- اعداد صحیح با یک یا چند رقم و با تفسیر معمول نشان داده میشوند.
- نمادها (Symbols):
- نمادها یا شناسهها، دنبالهای از کاراکترهای اسکی قابل چاپ هستند که یک نام یا کلمه کلیدی را نشان میدهند. کاراکترهای قابل قبول عبارتند از کاراکترهای حرفی-عددی، زیرخط «_»، کاراکتر خط تیره «-» و کاراکتر هش «#». نامها نباید با رقم یا کاراکتر خط تیره شروع شوند.
- رشتهها (Strings):
- رشتهها نشاندهنده دنبالهای دلخواه از بایتها هستند که معمولاً به عنوان دنبالهای از کاراکترهای کدگذاریشده با UTF-8 تفسیر میشوند. رشتهها در فایلهای djvused شبیه رشتهها در زبان C هستند. آنها در میان کاراکترهای گیومه دوتایی قرار میگیرند. دنبالههای خاصی از کاراکترها که با یک بکاسلش («\») آغاز میشوند، معنای ویژهای دارند. یک بکاسلش که پس از آن یکی از حروف "a", "b", "t", "n", "v", "f", "r", "\", بیاید به ترتیب نشاندهنده کاراکترهای اسکی BEL(007)، BS(008)، HT(009)، LF(010)، VT(011)، FF(012)، CR(013)، BACKSLASH(134) و DOUBLEQUOTE(042) است. یک بکاسلش که پس از آن یک تا سه رقم بیاید، نشاندهنده بایتی است که کد هشتهشتی آن توسط آن ارقام بیان شده است. تمامی سایر دنبالههای بکاسلش غیرمجاز هستند. تمام کاراکترهای غیرقابل چاپ اسکی باید اسکیپ (escape) شوند.
- لیستها (Lists):
- لیستها دنبالهای از عبارات هستند که با فاصلههای خالی از هم جدا شده و در میان پرانتز قرار میگیرند. تمام انواع عبارات در داخل یک لیست مجاز هستند، از جمله زیرلیستها.
نحو متن پنهان (Hidden text syntax)
بلوکهای سازنده نحو متن پنهان، لیستهایی هستند که هر یک از اجزای ساختاری متن پنهان را نشان میدهند. اجزای ساختاری شکل زیر را دارند:
- (type xmin ymin xmax ymax ... )
نماد type باید یکی از موارد page, column, region, para, line, word یا char باشد که در اینجا به ترتیب نزولی اهمیت فهرست شدهاند. اعداد صحیح xmin, ymin, xmax و ymax نشاندهنده مختصات مستطیلی هستند که موقعیت جزء ساختاری در صفحه را مشخص میکند. مختصات بر حسب پیکسل اندازهگیری میشوند و مبدأ آنها گوشه پایین سمت چپ صفحه است. عبارات باقیمانده در لیست یا یک رشته منفرد نشاندهنده متن کدگذاریشده مرتبط با این جزء ساختاری است، یا دنبالهای از اجزای ساختاری با نوع پایینتر است.
متن پنهان برای هر صفحه به سادگی با یک عنصر ساختاری منفرد از نوع page نشان داده میشود. سطوح مختلفی از اطلاعات ساختاری قابل قبول است. به عنوان مثال، مؤلفه سطح صفحه ممکن است تنها یک رشته در سطح صفحه مشخص کند، یا فقط فهرستی از خطوط را ارائه دهد، یا سلسلهمراتب کاملی تا سطح تکتک کاراکترها ارائه نماید.
نحو طرح کلی/نشانک (Outline/Bookmark syntax)
نحو طرح کلی یک لیست منفرد به شکل زیر است:
- (bookmarks ...)
اولین عنصر این لیست نماد bookmarks است. عناصر بعدی لیستهایی هستند که مدخلهای سطح بالای طرح کلی را نشان میدهند. هر مدخل طرح کلی با لیستی به شکل زیر نشان داده میشود:
- (title url ... )
رشته title عنوان مدخل طرح کلی است. رشته مقصد url میتواند یک URL دلخواه درصد-کدگذاریشده (percent-encoded) باشد، یا از کاراکتر هش ("#") تشکیل شده باشد که پس از آن نام یا شماره صفحه میآید، یا از کاراکتر علامت سؤال ("?") تشکیل شده باشد که پس از آن آرگومانهای سبک cgi میآید که توسط نمایشگر djvu تفسیر میشوند. عبارات باقیمانده در لیست، زیرمدخلهای این مدخل طرح کلی را توصیف میکنند.
نحو حاشیهنویسی (Annotation syntax)
حاشیهنویسیها با دنبالهای از عبارات حاشیهنویسی نشان داده میشوند. عبارات حاشیهنویسی زیر شناختهشده هستند:
- (background color)
- رنگ ناحیه نمایشگر اطراف تصویر DjVu را مشخص میکند. رنگها با نحو شانزدهشانزدهی X11 به صورت #RRGGBB نشان داده میشوند. به عنوان مثال، #000000 سیاه و #FFFFFF سفید است.
- (zoom zoomvalue)
- ضریب بزرگنمایی اولیه تصویر را مشخص میکند. آرگومان zoomvalue میتواند یکی از موارد stretch, one2one, width, page, یا متشکل از حرف d و به دنبال آن عددی در محدوده ۱ تا ۹۹۹ باشد که نشاندهنده ضریب بزرگنمایی است (مانند d300 یا d150 به عنوان مثال).
- (mode modevalue)
- حالت نمایش اولیه تصویر را مشخص میکند. آرگومان modevalue یکی از موارد color, bw, fore یا back. است.
- (align horzalign vertalign)
- نحوه تراز تصویر روی سطح نمایشگر را مشخص میکند. بهطور پیشفرض تصویر در مرکز قرار دارد. آرگومان horzalign میتواند یکی از موارد left, center یا right. باشد. آرگومان vertalign میتواند یکی از موارد top, center یا bottom. باشد.
- (maparea url comment area ...)
- یک ابرپیوند (hyperlink) برای مقصد مشخصشده تعریف میکند.
آرگومان url میتواند یکی از شکلهای زیر را داشته باشد:
- href
(url href target)
که در آن href رشتهای نشاندهنده مقصد و target رشتهای نشاندهنده فریم مقصد برای ابرپیوند است، همانطور که توسط تگ لنگر HTML یعنی <A> تعریف شده است. رشته مقصد href میتواند یک URL دلخواه درصد-کدگذاریشده باشد، یا از کاراکتر هش ("#") تشکیل شده باشد که پس از آن نام یا شماره صفحه میآید، یا از کاراکتر علامت سؤال ("?") تشکیل شده باشد که پس از آن آرگومانهای سبک cgi میآید که توسط نمایشگر djvu تفسیر میشوند. شماره صفحات ممکن است دارای علامت اختیاری برای نشان دادن جابهجایی صفحه باشند. برای نمونه رشتههای "#-1" و "#+1" میتوانند برای دسترسی به صفحه قبل و صفحه بعد استفاده شوند.
آرگومان comment رشتهای است که ممکن است هنگام قرار گرفتن نشانگر ماوس روی ابرپیوند توسط نمایشگر به کاربر نشان داده شود.
آرگومان area شکل و موقعیت ابرپیوند را مشخص میکند. شکلهای زیر شناسایی میشوند:
- (rect xmin ymin width
height)
(oval xmin ymin width height)
(poly x0 y0 x1 y1 ... )
(text xmin ymin width height)
(line x0 y0 x1 y1)
تمام پارامترها اعدادی هستند که مختصات را نشان میدهند. مختصات بر حسب پیکسل اندازهگیری میشوند و مبدأ آنها در گوشه پایین سمت چپ صفحه قرار دارد.
عبارات باقیمانده در لیست maparea نشاندهنده جلوه بصری مرتبط با ابرپیوند هستند.
مجموعه اول گزینهها نحوه رسم کادرها را برای نواحی ابرپیوند rect, oval, polygon یا text مشخص میکند.
- (none)
(xor)
(border color)
(shadow_in [thickness])
(shadow_out [thickness])
(shadow_ein [thickness])
(shadow_eout [thickness])
که در آن پارامتر color دارای نحو #RRGGBB است، همانطور که در بالا توضیح داده شد، و پارامتر thickness یک عدد صحیح در محدوده ۱ تا ۳۲ است. چهار گزینه آخر کادر فقط برای نواحی ابرپیوند rect پشتیبانی میشوند. اگرچه حالت پیشفرض کادر (xor) است، اما عاقلانه است که همیشه حالت کادر را صراحتاً تعیین کنید. گزینههای کادر برای نواحی line اعمال نمیشوند.
هنگامی که یک گزینه کادر مشخص شود، کادر زمانی قابل مشاهده میشود که کاربر ماوس را روی ابرپیوند حرکت دهد. میتوان کادر را با استفاده از گزینه زیر همواره نمایان ساخت:
- (border_avis)
دو گزینه زیر ممکن است با نواحی ابرپیوند rect استفاده شوند. کل ناحیه با استفاده از رنگ مشخصشده و میزان شفافیت (opacity) تعیینشده (۰ تا ۱۰۰، پیشفرض ۵۰) برجسته خواهد شد. برخی نمایشگرها (مانند djview4) از شفافیت در محدوده ۰ تا ۲۰۰ پشتیبانی میکنند که در آن ۲۰۰ نشاندهنده رنگ کاملاً کدر است.
- (hilite color)
(opacity op)
این گزینه اغلب با یک URL خالی به کار میرود تا صرفاً بخش خاصی از یک تصویر مورد تأکید قرار گیرد.
سه گزینه زیر میتوانند با نواحی خطی (line) برای مشخص کردن پیکان اختیاری در انتها، پهنای خط و رنگ خط استفاده شوند. حالت پیشفرض یک خط سیاه با پهنای ۱ و بدون پیکان است.
- (arrow)
(width w)
(lineclr color)
در نهایت، سه گزینه زیر را میتوان با نواحی متنی (text) به کار برد. رنگ پسزمینه پیشفرض شفاف است. رنگ متن پیشفرض سیاه است. گزینه pushpin مشخص میکند که متن با یک آیکون پونز کوچک نمادگذاری شده است. کلیک روی این آیکون، متن را آشکار میسازد.
- (backclr bkcolor)
(textclr txtcolor)
(pushpin)
- (metadata ... (key value) ... )
- مدخلهای متادیتا را تعریف میکند. هر مدخل با یک نماد key مشخص میشود که ماهیت مدخل متادیتا را نشان میدهد. رشته value نشاندهنده مقدار مرتبط با کلید متناظر است. دو مجموعه از کلیدها شایان توجه هستند: کلیدهای برگرفته از سیستم کتابشناسی BibTex، و کلیدهای برگرفته از متادیتای DocInfo در PDF. کلیدهای BibTex همیشه با حروف کوچک نوشته میشوند، مانند year, booktitle, editor, author و غیره. کلیدهای DocInfo با یک حرف بزرگ آغاز میشوند، مانند Title, Author, Subject, Creator, Produced, Trapped, CreationDate و ModDate. مقادیر مرتبط با دو کلید آخر باید تاریخهایی باشند که بر اساس استاندارد RFC 3339 بیان شدهاند.
محدودیتها (LIMITATIONS)
نسخه فعلی برنامه djvused تنها از انتخاب یک فایل مؤلفه یا تمام فایلهای مؤلفه پشتیبانی میکند. هیچ روشی برای انتخاب فقط چند فایل مؤلفه به طور همزمان وجود ندارد.
دستاندرکاران (CREDITS)
این برنامه در ابتدا توسط لئون بوتو (Léon Bottou) <leonb@users.sourceforge.net> نوشته شد و توسط یان لکان (Yann Le Cun) <profshadoko@users.sourceforge.net>، فلورین نیکسا (Florin Nicsa)، بیل ریمرز (Bill Riemers) <docbill@sourceforge.net> و افراد بسیار دیگری بهبود یافت.
همچنین ببینید (SEE ALSO)
djvu(1), djvutxt(1), djvmcvt(1), djvudump(1), bzz(1), رابط کاربری ایمکس برای djvused با نام djvu.el در مخزن GNU Elpa .
| 5/22/2005 | DjVuLibre-3.5 |