موضوع مقاله: متن دوسویه | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # متن دوسویه | مقدمه: متن دوسویه به متنی گفته می‌شود که شامل هر دو جهت نگارش باشد، یعنی هم راست‌به‌چپ باشد و هم چپ‌به‌راست. | ## بخش 1: متن دوسویه | چنین متنی معمولاً دارای گونه‌های مختلف الفبا است، اما ممکن است بوستروفیدن نیز باشد. برخی سامانه‌های نوشتاری جهان از جمله الفبای فارسی، خط عربی و الفبای عبری، به شکل راست به چپ نوشته می‌شوند که در آن‌ها نوشته‌ها در سمت راست صفحه‌ها آغاز می‌گردند و در سمت چپ پایان می‌یابند و از این جهت با اکثر زبان‌های جهان که چپ‌به‌راست هستند متفاوتند. هنگامی که متن راست‌به‌چپ با متن چپ‌به‌راست در یک بند ترکیب شوند (مثلا یک متن فارسی با یک متن انگلیسی)، هر کدامشان با جهت خودشان نوشته خواهند شد که به چنین متنی متن دوسویه می‌گویند. برای نمونه، نام سارا در عبری (שרה) از راست به چپ به صورت شین (ש) رِش (ר) هه (ה) هجی می‌شود اما برخی مرورگرهای وب ممکن است این متن عبری را برعکس نمایش دهند. پشتیبانی یونیکد پشتیبانی از متن دوسویه به توانایی یک برنامهٔ رایانه‌ای در نمایش درست متن دوسویه گفته می‌شود. رایانه‌های نخستین تنها برای پشتیبانی از یک نوع خط طراحی شده بودند که معمولاً چپ‌به‌راست و تنها بر مبنای الفبای لاتین بود. افزودن کدبندی‌های نویسهٔ تازه، موجب شد برخی از خط‌های چپ‌به‌راست دیگر نیز پشتیبانی شوند، اما از نوشتارهای راست‌به‌چپ مانند فارسی یا عبری به این سادگی پشتیبانی نمی‌شد و ترکیب اینگونه نوشتارها عملی نبود. | ## بخش 2: متن دوسویه | نوشتارهای راست‌به‌چپ نخستین بار در کدبندی‌هایی مانند ایزو/آی‌ئی‌سی ۸۸۵۹-۶ و ایزو/آی‌ئی‌سی ۸۸۵۹-۸ معرفی شدند که حروف را معمولاً به همان ترتیب خواندن و نوشتن ذخیره می‌کردند. برعکس‌کردن ترتیب نمایش کاراکترهای چپ‌به‌راست که به راست‌به‌چپ شدن آن‌ها منجر می‌شود به سادگی امکان‌پذیر است، اما چنین کاری به قیمت ناتوانی در نمایش صحیح نوشتارهای چپ‌به‌راست (لاتین) تمام خواهد شد. با پشتیبانی از متن دوسویه، امکان ترکیب نوشتارهای گوناگون در یک صفحه، بدون توجه به سوی نوشتاریشان، فراهم آمده. به ویژه استاندارد یونیکد که مبانی پشتیبانی کامل از متن دوسویه را فراهم می‌آورد و قوانین مشخصی برای کدبندی و نمایش ترکیب نوشتارهای چپ‌به‌راست و راست‌به‌چپ دارد. در کدبندی یونیکد، تمام نویسه‌ها به جز نشانه‌های سجاوندی، به ترتیبی که نوشته می‌شوند ذخیره می‌گردند. با این حال، نشانه‌های سجاوندی ممکن است هم در نوشتارهای چپ‌به‌راست نمایان شوند و هم راست‌به‌چپ؛ به این نویسه‌ها، نویسه‌های ضعیف می‌گویند زیرا شامل هیچگونه اطلاعاتی در مورد جهت‌شان نیستند و تصمیم‌گیری در مورد جهت آن‌ها بر عهدهٔ نرم‌افزار خواهد بود. گاهی اوقات بر اثر اشتباه در الگوریتمی که برای تشخیص جهت نویسه‌های ضعیف به کار می‌رود، شاهد خطاهایی در نمایش هستیم. | ## بخش 3: متن دوسویه | این الگوریتم‌ها جهت نویسه‌های ضعیف را با توجه به نویسه‌های قوی چپ‌به‌راست و راست‌به‌چپ تعیین می‌کنند. یک نویسهٔ ضعیف که بین دو نویسهٔ قوی هم‌سو جای بگیرد، جهت آن‌ها را به ارث خواهد برد. نویسهٔ ضعیفی که بین دو نویسهٔ قوی با سوهای متفاوت جای داشته باشد، سوی نوشتار اصلی را به ارث خواهد برد (در یک سند راست‌به‌چپ، این نویسه راست‌به‌چپ خواهد شد و در یک سند چپ‌به‌راست، چپ‌به‌راست). اگر پس از یک نویسهٔ ضعیف، نویسهٔ ضعیف دیگری وجود داشته باشد، الگوریتم به دنبال نخستین نویسهٔ قوی همسایه خواهد گشت. از نشانه‌های یا می‌توان در کنار نویسهٔ ضعیف محصورشده استفاده کرد تا سوی نوشتاری آن‌ها را به ارث برد. برای نمونه، برای نمایش صحیح در کنار یک نمانامِ انگلیسی (چپ‌به‌راست) در یک متن عربی (راست‌به‌چپ)، اگر از پس نماد نشان تجاری یک نویسهٔ چپ‌به‌راست نیامده‌باشد، یک نشانهٔ LRM را پس از نماد می‌گذارند. اگر LRM افزوده نشود، نویسهٔ ضعیف در همسایگی یک نویسهٔ قوی چب‌به‌راست و یک نویسهٔ قوی راست‌به‌چپ جای خواهد گرفت؛ از آنجایی که در یک متن چپ‌به‌راست هستیم، این نویسه هم راست‌به‌چپ تصور می‌شود و به صورت نادرستی نمایش می‌یابد. | ## جمع‌بندی | سامانه‌های نوشتاری که از متن دوسویه استفاده می‌کنند برخی سامانه‌های نوشتاری را می‌توان از هر دو سو نوشت.