همان طور که شما بهخوبی می دانید در نگارش زبان فارسی اعراب نگاشته نمی شود و این یک ضعف بزرگ در نگارش یک زبان است. در نگارش فارسی اعراب گزاری متن به دانش و تواناییهای خواننده واگزار می شود. اگر چه این کار برای فارسی زبانها نیز چندان آسان نیست، خواندن زبان فارسی برای افراد خارجیی که زبان فارسی را می آموزند و افراد فارسی زبانی که دور از ایران بزرگ شده اند تاقت فرسا و آزار دهنده است. انجام این کار برای یک ماشین تا مرز غیر ممکن دشوار و پیچیده است.
در نگارش قواعد تحلیل زبان فارسی من محدودیتهای زیادی داشتم چرا که نرم افزار اصلی یعنی eSpeak برای خواندن زبانهایی طراحی شده بود که با حروف لاتین نگاشته می شوند مثل زبان انگلیسی، در نگارش با حروف لاتین اعراب کلمات نیز نگاشته می شوند و eSpeak نیازی به تحلیل واژه ها برای درک اعراب آنها در اغلب زبانهای دیگر ندارد. برخی از زبانها همچون زبانهای شرق آسیا نیز از کاراکترهای ویژه ای برای هر واژه یا هر واژ استفاده می کنند که اغلب آنها توسط دولتهایشان یا سازمانهای مرتبط جمع آوری و طبقه بندی و منتشر شده اند. و از همه مهمتر دسترسی به آنها معمولا آزاد است. اما در مورد زبان فارسی یا چنین کاری نشده است یا اگر شده است، دسترسی به آنها آزاد نیست. البته این باعث تعجب است، چراکه بیشتر این فعالیتها پروژه های دولتی بوده است و طبیعتا باید استفاده از آنها برای عموم آزاد می گردید و کد آنها نیز برای استفاده و گسترش زبان فارسی در دنیای دیجیتال در اختیار دیگران قرار می گرفت که متاسفانه چنین نشده است، و همۀ دست آوردهای فرهنگی ممکن قربانی سرمایه گزاریهای کوتاه بینانه و انحصار طلبیهای بی معنا شده است...
eSpeak فارسی از چند تکنیک برای تحلیل اعراب گذاری واژه ها استفاده می کند.
هر چند که eSpeak تواناییهای منحصر بفردی دارد که دیگر نرم افزارها از آنها بی بهره هستند،اما متاسفانه eSpeak قادر به تحلیل نقش دستوری واژه ها در جمله نیست. شاید این نکته مهمترین ضعف eSpeak در نسخۀ فعلی است. که امیدوارم با مذاکراتی که با نویسندگان eSpeak انجام می گردد در آینده بر طرف شود. یا بتوانم شخصی را بیابم که در زبان C++ از مهارت کافی برخوردار باشد و بتواند eSpeak را طوری اصلاح کند که بدونه آسیب به دیگر کارکردهای آن دستوراتی را برای تحلیل واژه ها در جمله به آن اضافه کند. این ضعف در عمل باعث خواهد شد که برای مثال eSpeak فارسی قادر به درک تفاوت کشتی به معنی وسیلۀ حمل و نقل دریایی و فعل کشتی از مصدر کشتن نشود، و هر دو را در جمله با یک تلفظ بخواند. ما مجبوریم یک تلفظ را داشته باشیم و باید آن را که پر کاربردتر است انتخاب کنیم. معمولا یک فعل کاربرد بیشتری در جملات دارد تا یک نام.
هر چند تشخیص پیشوندها و پسوندها و بابهای عربی برای eSpeak مزایای زیادی را ایجاد می کند و حجم دیکشنری آن را کاهش داده و سرعت عمل آن را افزایش می دهد. اما گاهی نیز باعث تشخیص اشتباه واژه هایی می شود که اصولا پیشوند یا پسوند ندارند و یا از بابهای عربی ساخته نشده اند. اما eSpeak قادر به درک تفاوت آنها نیست. این گونه واژه ها را باید به دیکشنری eSpeak فارسی افزود. تعداد این گونه واژه ها بسیار کمتر از حجم واژه هایی است که eSpeak فارسی می تواند با کمک آن قواعد آنها را درست بخواند.