
libexif -------
libexif هي مكتبة لتحليل بيانات EXIF وتحريرها وحفظها. تهدف إلى استبدال الكثير من التنفيذات المكررة في أدوات سطر الأوامر والبرامج ذات الواجهات الرسومية.
تدعم libexif تحليل بيانات EXIF وتحريرها وحفظها. بالإضافة إلى ذلك، توفر دعمًا لـ gettext. جميع وسوم EXIF الموصوفة في معيار EXIF 2.1 (ومعظمها من 2.2) مدعومة. كما أن العديد من ملاحظات الشركات المصنّعة من كاميرات Canon وCasio وEpson وFuji وNikon وOlympus وPentax وSanyo مدعومة أيضًا.
libexif مكتوبة بلغة C خالصة ولا تتطلب أي مكتبة إضافية. سيتم استخدام GNU gettext لترجمة اللغة، إذا كان متاحًا.
يمكن لـ libexif التعامل مع بعض ملاحظات الشركات المصنّعة فقط، وحتى تلك ليس بشكل جيد. هناك حاجة إلى المزيد من العمل. لاحظ أن libmnote قد تم دمجها مع libexif - لم تعد هناك حاجة إليها.
لقد وثّقنا واجهة برمجة تطبيقات libexif باستخدام doxygen، ونوفر النتائج على http://libexif.sourceforge.net/api/
توضح البرامج الاختبارية القصيرة في دليل test كيفية إنشاء بيانات EXIF صالحة من الصفر، وكيفية حفظ بيانات EXIF، وكيفية تحميل بيانات EXIF من البيانات الموجودة في الذاكرة. هناك أيضًا بعض البرامج الأمثلة البسيطة المتوفرة في دليل contrib/examples/. لا تتردد في الاتصال بنا على [email protected] إذا كانت لديك أي أسئلة حول كيفية استخدام libexif.
لربط libexif بحزمة خاصة بك، نوصي باستخدام أداة pkgconfig (انظر http://www.freedesktop.org/wiki/Software/pkg-config/ ولراحتك، توفر libexif كلاً من libexif-uninstalled.pc وتثبّت libexif.pc.
في الوقت الحالي، أعرف الواجهات الأمامية التالية لـ libexif:
إذا كنت ترغب في ترحيل برنامجك لاستخدام libexif أو إضافة دعم EXIF إليه، فلا تتردد في الاتصال بالمؤلفين.
أعرف المكتبات التالية التي تستخدم libexif أو استوحت منها:
يعتمد ما يجب فعله لبناء libexif على بيئتك حقًا. عادةً ما يتضمن البناء من الأرشيف المصدر (tar ball) الأوامر التالية:
./configure make sudo make install
عند البناء من مصدر مسحوب من CVS، سيكون هناك حاجة إلى شيء مثل ما يلي:
gettextize mv po/Makevars.template po/Makevars aclocal -I auto-m4 -I m4m autoheader libtoolize --force automake --add-missing autoconf ./configure make
أو ربما فقط:
autoreconf -i ./configure make
إلى جانب الوسائط القياسية، يقبل configure عدة وسائط خاصة بـ libexif:
--disable-docs To disable producing any documentation --enable-internal-docs Build internal code docs if Doxygen available --enable-ship-binaries To include Windows DLLs in 'make dist'
يمكن لبعض التطبيقات المتخصصة تقليل حجم الملف الثنائي لـ libexif عن طريق تعيين أحد الماكروين التاليين أو كليهما في متغير البيئة CPPFLAGS في وقت configure. يزيل كل منهما أنواعًا معينة من السلاسل النصية والثوابت من الملف الثنائي. التطبيقات التي تحتاج إلى الوصول إلى وسوم EXIF محددة ومعروفة وتعرف مسبقًا معنى بياناتها لا تحتاج إلى تلك السلاسل ويمكنها توفير مساحة كبيرة من خلال إزالتها.
-DNO_VERBOSE_TAG_STRINGS Names and descriptions of EXIF tags, debug messages, mandatory EXIF fields (disabling auto-tag-fixup) -DNO_VERBOSE_TAG_DATA Names of enumerated tag data contents
تتم ترجمات libexif بواسطة متطوعين يعملون بشكل مستقل، إما مباشرة مع مشروع libexif أو من خلال أحد موقعي تنسيق الترجمة، وهما مشروع الترجمة http://translationproject.org/domain/libexif.html وLaunchpad https://translations.edge.launchpad.net/ubuntu/precise/+source/libexif/+pots/libexif-12. يجب إجراء أي تحديثات لترجمات اللغات المنسقة من قبل مشروع الترجمة عبر موقعه على الويب، ولكن يمكن تحديث جميع اللغات الأخرى إما عبر Launchpad (المفضل) أو عن طريق إرسال التحديثات مباشرة إلى القائمة البريدية لمطوري libexif. حتى وقت كتابة هذا النص، يجب تحديث اللغات التالية عبر مشروع الترجمة: cs da de es fr it ja nl pl sk sv uk vi
إذا كنت مهتمًا بترجمة libexif إلى لغة جديدة، نوصي بالانضمام إلى إحدى مجموعات الترجمة المذكورة أعلاه والاستفادة من الأنظمة التي أنشأوها لمساعدتك. إخلاء مسؤولية الترجمة غير مطلوب لـ libexif في مشروع الترجمة؛ من خلال إجراء ترجمة، فأنت توافق ضمنيًا على توفيرها بموجب نفس شروط الترخيص المطبقة على بقية libexif (LGPL).
تمت كتابة libexif في الأصل بواسطة Curtis Galloway [email protected]. نظرًا لأن التصميم الأصلي لم يدعم التحرير والحفظ، أعاد Lutz Mueller [email protected] كتابة libexif من الصفر. منذ ذلك الحين، ساهم العديد من الأشخاص في libexif.
بعض الروابط التي قد ترغب في الاطلاع عليها إذا كنت مهتمًا بمزيد من المعلومات حول EXIF: