جواب به سوال همیشگی "زیرنویس کردن بازی"

Aurlito

Gold User
Feb 16, 2008
3,044
1,511
نام
چوبک
سالهاست که میام بازیسنتر میبینم یکی یک تاپیک زده میگه "بیاید فلان بازی رو ترجمه کنیم، خودم وارد بازیش میکنم!"

و من همیشه جواب دادم "چگونه عزیز دل برادر، چگونه؟" من این چیزهایی رو که میگم از سر تجربه میگم چون خودم خواستم یک بار مکس پین 2 رو زیرنویسهش رو ترجمه کنم.

روی پی سی، دو تا رابط نرم افزاری گرافیک وجود داره. یکی OpenGL هست و یکی دیگه DirectX. و تا سال 2015 هیچکدوم ازین دوتا نمیتونستن فونتهای TrueType رو دیسپلی کنن. یعنی اصلا این دوتا قادر به این نیستن که متن دیسپلی کنن! همشون بسیار لو لول هستن و هیچکدومشون قابلیت دیسپلی کردن متن رو ندارن. البته DirectDraw یا همون GDI+ قابلیت دیسپلی متن رو داره، اما بازیها از Direct3D استفاده میکنن از DirectDraw!

حالا میگید "چوبک، پس بازیها چطوری متن نمایش میدن؟" جواب درینجاست: Bitmap Fonts. یعنی اینکه از هر کاراکتر الفبا یک تکسچر بسازی، و یک لایبرری بنویسی که دایرکت تری دی یا اوپن جی ال از تکسچر به عنوان متن استفاده کنن.

اما از سال 2015 هم دایرکت تری دی و هم اوپن جی (اولی 12، دومی 4.5) میتونن فونتهای TrueType رو دیسپلی کنن. نمیدونم دقیقا ایندو چیکار میکنن، اما تا جایی که میدونم، اوپن جی ال اینکار رو توسط لایبرری Freetype انجام میده. الان در انجین گودو به راحتی میشه یک فونت TrueType رو وارد بازی کرد، و فارسی نوشت.

اما هیچ بازی ای که قبل از سال 2015 عرضه شده به احتمال خیلی، خیلی، خیلی زیاد نمیتونید فارسی بنویسید توش. چون فونتهاش اصلا فونت نیستن، عکسن.

ولی یک کار میشه کرد. و اون استفاده از اسکریپت Unipers هست. یونیپرس یک اسکریپت (درینجا به معنی رسم الخط) فارسی هست که متون فارسی رو به اسکریپت لاتین مینویسه. بیشتر در مورد اطلاع کسب کنید:

UniPers: A New Alphabet for Persian

اولین نرم افزاری که من با سی شارپ نوشتم یک کانورتر یونیپرس واسه ویندوز بود:

Unipers Parser

البته نمیگم نمشه، اما حتما، حتما، حتما تحقیق کنید قبل ترجمه ی یک بازی.

و صد البته، دوبله همیشه کار موثقی هست.
 

کاربرانی که این گفتگو را مشاهده می‌کنند (کاربران: 0, مهمان: 1)

Top
رمز عبور خود را فراموش کرده اید؟