مروری بر Text layout framework در فلش CS5 و فال حافظ آنلاین

با ارائه نرم‌افزار Flash player 10، تیم طراحی شرکت Adobe در بخش محصول InDesign، موتور جدیدی را برای پردازش متن در محصولات مبتنی بر فلش شرکت Adobe و با نام Flash Text Engine  یا FTE طراحی نمودند. (کلاسهای آن در مسیر flash.text.engine.* موجود هستند)
این موتور پردازش جدید که کاملا از پایه طراحی شده و شامل یک اینترفیس سطح پایین بود، به API جدیدی نیاز داشت تا به عنوان یک رابط سطح بالا بر روی آن عمل نماید. این API سطح بالا، همان Text Layout Framework  یا TLF است که همراه با نرم‌افزار فلش CS5 ارائه شده است. (البته امکان طراحی API های مبتنی بر FTE توسط شرکتهای دیگر نیز وجود دارد)
از جمله قابلیت‌های TLF می‌توان به موارد زیر اشاره نمود:
  – تایپ متنها در هر دو جهت RTL و LTR و افقی و عمودی
  – پشتیبانی از زبانهایی مانند عربی، عبری، هندی، آسیای شرقی و …
  – امکان وجود اشیاء DisplayObject ضمیمه شده در متن
  – چیدمان، نمایش و ویرایش متنها به صورت چند ستونی
  – اضافه شدن به فلش CS4 با کامپوننت TextLayout
  – تنظیمات متعددی برای تغییر ویژگیهای تایپوگرافیک متن
  – امکان استفاده از تگهای TLF-Markup برای قالب‌بندی (مشابه HTML)
  – همچنین سیستم TLF هم اکنون به صورت Open source و تحت مجوز MPL قابل دسترس می‌باشد.
طبق اطلاعات راهنمای TLF، این قابلیت در نرم‌افزار فلش به سه (کامپوننت) فایل SWC تقسیم شده که وظایف هر کدام به شرح زیراست:
  – textLayout_core.swc: این کامپوننت حاوی هسته سیستم TLF است و وظایف آن ذخیره سازی متن، ساخت دربرگیرنده آن (container) و نمایش متن به عنوان DisplayObject می‌باشد.
  – textLayout_conversion.swc: وظیفه آن مدیریت تغییر ات پویا در متن بوده و در صورتی که متن مستقیما در SWF ثبت شده باشد (ایستا) از آن استفاده نمی‌شود.
  – textLayout_edit.swc: مدیریت قابلیت ویرایش پویا شامل انتخاب و تغییر متن و همچنین قابلیت Undo.
مثال بسیار جامعی در وبسایت شرکت Adobe وجود دارد که با Flex طراحی شده و در رابطه با امکاناتی است که از طریق سیستم TLF قابل دسترس هستند. پیشنهاد می‌کنم حتما این ویرایشگر متن TLF را ببینید.

مسلما یکی از خوشایندترین قابلیتهای TLF، سازگاری کامل با قلمهای فارسی و یونیکد است. با وجود این قابلیت در نرم‌افزار محبوب فلش، امکان توسعه پروژه‌های فارسی تحت وب، مانند CMS های فلش به سادگی امکان پذیر می‌شود.

بنده نیز در همین رابطه با استفاده از TLF، یک برنامه آزمایشی برای گرفتن فال حافظ آنلاین طراحی نموده‌ام که نتیجه جالبی داشته است.

ضمنا به خاطر داشته باشید که پس از استفاده از کنترل TLF در پروژه فلش، Preloader پیش‌فرضی برای بارگذاری بخشهای swc های مربوطه، به فایل swf اضافه می‌شود که برای غیر فعال نمودن آن و استفاده از بارگذار شخصی می‌بایست به تنظیمات ActionScript3 در Publish Setting مراجعه نموده و Custom preloader را انتخاب نمایید.

پیوندها:
سورس، مثالها و وبلاگ TLF در سایت Adobe
صفحه پروژه TLF در سایت Sourceforge

پ.ن: کلاسهای TLF بر مبنای الگوی MVC طراحی شده‌اند.

About محمد شمس

برنامه‌نویس، طراح انیمیشن و علاقمند به هوش مصنوعی

5 Comments

  1. ممنون از مطالب جالبت… و ممنون از سمپل فال حافظ.
    در این مورد پیشنهاد میدم سایت دُرج رو حتما نگاه کنید که کل اون با تکنولوژی Flex 4 و البته MS WCF کار شده و تمام متون با استفاده از TLF هستش… فال حافظ هم داره… البته این پروِژه هم همچنان در حال توسعه هستش، ولی فکر میکنم در نوع خودش پروژه نو و جالبی باشه که مورد توجه قرار بگیره…
    آدرسش: http://dorj.ir
    موفق باشی

  2. سلام

    وبسایت جالبی بود. برنامه های قدیمی درج را دیده بودم، اما فکر نمیکردم اینقدر پیشرفت کرده باشند.

  3. عالی! هنوز سراغش نرفتم ولی فکر کنم یکم دیر ارائه شد. کاشکی یکی دو سال قبل این ویژگی رو اضافه می کرده ن. بعد از خرید مکرومدیا توسط ادوبی انتظار داشتم زودتر این اتفاق بیوفته.
    ممنون.

  4. بله درسته، ارائه شدن آن خیلی طول کشید.
    البته شرکت Adobe خدمات بسیار خوبی به نرم‌افزار فلش ارائه کرده است. (مثلا متحول کردن برنامه نویسی آن)

  5. فال حافظ رو جالب درست کردید
    این که برای منبع اطلاعات XML پروژه از یک فایل به صورت باینری استفاده کردید برای جالب بود
    انشاء الله موفق و پیروز باشید

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *


7 × 7 =