واضح آرشیو وب فارسی:سایت ریسک: نمایش مشکل دار نوشته های فارسی در فایل html icefall 21 آذر 1389, 07:55سلام به همه دوستان من یه سری فایل word دارم که ازشون save as گرفتم و در فرمت html ذخیرشون کردم. فونت نوشته ها b nazanin هستش. زمانی که فایل های html رو با مرورگرم باز می کنم، بعضی اعداد فارسی و برخی دیگر انگلیسی نمایش داده میشن. اما اگه فونت رو از b nazanin به مثلاً tahoma تغییر بدم این مشکل وجود نخواهد داشت و تمامی اعداد فارسی نشون داده میشن. من نمی خوام زیبایی فونت رو فدای این قضیه کنم. چطور می تونم فونت رو b nazanin داشته باشم و مشکل چپه چوپه شدن نوشته ها رو نداشته باشم. مرسی از شما راهنمای محترم.:rose: the_king 21 آذر 1389, 09:04سلام به همه دوستان من یه سری فایل word دارم که ازشون save as گرفتم و در فرمت html ذخیرشون کردم. فونت نوشته ها b nazanin هستش. زمانی که فایل های html رو با مرورگرم باز می کنم، بعضی اعداد فارسی و برخی دیگر انگلیسی نمایش داده میشن. اما اگه فونت رو از b nazanin به مثلاً tahoma تغییر بدم این مشکل وجود نخواهد داشت و تمامی اعداد فارسی نشون داده میشن. من نمی خوام زیبایی فونت رو فدای این قضیه کنم. چطور می تونم فونت رو b nazanin داشته باشم و مشکل چپه چوپه شدن نوشته ها رو نداشته باشم. مرسی از شما راهنمای محترم.:rose: به فایل word اصلی دسترسی دارید؟ می توانید با Find and Replace موجود در Microsoft Word در یک مرحله تمامی ارقام رو به فونت B Nazanin و Right To Left تبدیل کنید تا دیگه ارقام انگلیسی ای وجود نداشته باشد. در Microsoft Word ترکیب کلیدی کلید Ctrl + کلید H رو فشار دهید تا پنجره Find and Replace باز بشه. دکمه << More را فشار دهید تا همه دکمه ها قابل مشاهده باشند. در بخش Replace در مقابل عبارت Find What مقدار #^ رو بنویسید، #^ یک نشانه خاص برای ارقام است، یعنی می تواند هر کاراکتری بین 0 الی 9 باشد. بعد بروید سراغ Replace With ، مقابل اش مقدار &^r^ رو بنویسید. r^ کد RTL رو درج می کند تا نوشته بعدی راست به چپ درج گردد. &^ همان رقمی است که پیدا کردید که با اضافه این کد عینا درج می شود. اگر بعد از تبدیل به html با r^ به مشکل برخوردید حذف اش کنید. حالا در حالتی که چشمکزن Cursor روی Replace With قرار دارد، روی دکمه Format کلیک کنید و در بخش ...Font فونت B Nazanin را برای Complex Scripts انتخاب کنید. حالا دکمه Replace All را فشار دهید. icefall 21 آذر 1389, 09:59ممنون دوست عزیز تمام مراحل رو انجام دادم اما با یه مشکل مواجه شدم. اینکه اعداد برعکس شدند. مثلا عدد 1389 تبریل شد به 9831. همونطور که گفتید با حذف کد r^ این مشکل هم حل شد. بسیار ممنون. icefall 30 دي 1389, 10:38سلام یه سوال که به همین پست مربوطه. شما کدی رو که اعداد انگلیسی رو به فارسی تبدیل می کنه یادم دادید. میشه لطفا بفرمایید چطور میشه اعداد فارسی رو انگلیسی کرد؟ مرسی خیلی. the_king 30 دي 1389, 19:33سلام یه سوال که به همین پست مربوطه. شما کدی رو که اعداد انگلیسی رو به فارسی تبدیل می کنه یادم دادید. میشه لطفا بفرمایید چطور میشه اعداد فارسی رو انگلیسی کرد؟ مرسی خیلی. اون کدی که باعث فارسی شدن کاراکتر می شد، RTL ای بود که قبلش قرار می گرفت، اگه بجای RTL که با r^ مشخص می شد از کد LRT که با h^ مشخص میشه استفاده کنید، نوشته ها انگلیسی می شوند، یعنی در مثال قبلی بجای &^r^ از &^h^ استفاده کنید. icefall 02 بهمن 1389, 07:42سلام دوست عزیز بسیار ممنونم از راهنمایی تون یه مسئله گنگ برام باقی مونده. شما در اولین یادداشتی که اینجا گذاشتین، عنوان کردین: اگه به فایل word دسترسی دارین ازreplace استفاده کنید. داشتن فایل word چه لزومی داره وقتی میشه فایل html رو با ورد باز و ادیت کرد؟ و یه مشکل جدید: زمانی که از کد برای تبدیل اعداد از فارسی به اینگیلیش استفاده می کنم، یک سری از اعداد همچنان فارسی باقی می مونن و عده ای اصلاح پذیرن. لطفا به فایل پیوست شده ام نگاهی بندازین و کمکم کنین. خیلی مرسی دارم از شما. the_king 02 بهمن 1389, 11:02سلام دوست عزیز بسیار ممنونم از راهنمایی تون یه مسئله گنگ برام باقی مونده. شما در اولین یادداشتی که اینجا گذاشتین، عنوان کردین: اگه به فایل word دسترسی دارین ازreplace استفاده کنید. داشتن فایل word چه لزومی داره وقتی میشه فایل html رو با ورد باز و ادیت کرد؟ فایل html معادل نظیر به نظیر فایل doc نیست، چون فرمت html تو نمایش متن خیلی محدود تره، گفتم شاید منبع اصلی متن یک فایل word باشه. و یه مشکل جدید: زمانی که از کد برای تبدیل اعداد از فارسی به اینگیلیش استفاده می کنم، یک سری از اعداد همچنان فارسی باقی می مونن و عده ای اصلاح پذیرن. لطفا به فایل پیوست شده ام نگاهی بندازین و کمکم کنین. خیلی مرسی دارم از شما. دلیلش اینه که اون اعداد فارسی حقیقتا کاراکتر های Unicode عربی هستند، یعنی ٠١٢٣٤٥٦٧٨٩ که کلا ربطی به کاراکتر های 0123456789 ندارند. Microsoft Word این کاراکتر ها رو به عنوان عدد تفسیر نمی کنه و در نتیجه با اون کد #^ که برای پیدا کردن اعداد استفاده می کردیم پیدا نمی شوند. راه حل اینه که ابتدا این 10 کاراکتر رقم عربی رو دونه دونه به رقم انگلیسی تبدیل کنیم. یکبار Find & Replace برای تبدیل تمامی ٠ ها به 0 ، یکبار هم برای تبدیل تمامی ١ ها به 1 و ... یعنی جمعا باید 10 بار Find & Replace کرد. کار مسخره ای یه، خوشبختانه به کمک یک ماکرو اینکار خیلی ساده میشه : Sub Macro1() Dim i As Long For i = 0 To 9 Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = ChrW(1632 + i) .Replacement.Text = ChrW(48 + i) .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchKashida = False .MatchDiacritics = False .MatchAlefHamza = False .MatchControl = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll Next i End Sub برای اجرا کردن این ماکرو در منوی Microsoft Word روی دکمه دایره ای سمت چپ بالا کلیک کرده و Word Options را انتخاب کنید. حالا در بخش Popular تیک گزینه Show Developer tab in the Ribbon رو بزنید و OK کنید. حالا همواره در منوی بالای Microsoft Word بخش Developer مشاهده می شود. آن بخش را انتخاب کنید. روی آیکون Macros کلیک کنید. به عنوان نام ماکرو عبارتی مثل Macro1 رو بنویسید و روی دکمه Create کلیک کنید. حالا کد بالا را کپی کرده و در کد ماکرو جایگزین کنید. اکنون مجددا منوی Macro انتخاب کرده و روی Macro1 کلیک کنید و با دکمه Run اجرایش کنید. حالا می توانید مجددا با Find & Replace عبارت #^ (اعداد) را به &^h^ (انگلیسی) تغییر دهید. icefall 02 بهمن 1389, 11:44آقا مرسی. کمک خیلی بزرگی کردید به من. خدا خیرتون بده. فقط یه چیزی: آیا میشه عملیات تبدیل عبارت #^ (اعداد) به &^h^ (انگلیسی) رو هم در قالب یه ماکرو داشته باشم تا برای تک تک فایلهام از گزینه ی Find & Replace استفاده نکنم؟ چون تعداد فایلهام بسیار زیاده و نیاز به صرفه جویی در وقت برای این کار دارم. مرسی از شما. ************************************************** ************** تمام فایلهام قبلا html شده و من به ناچار همونها رو با نرم افزار word ویرایش می کنم. تا اینجای کار که مشکلی پیش نیومده امیدوارم تا آخر کار خوب پیش بره. ************************************************** ************** the_king 02 بهمن 1389, 23:09آقا مرسی. کمک خیلی بزرگی کردید به من. خدا خیرتون بده. فقط یه چیزی: آیا میشه عملیات تبدیل عبارت #^ (اعداد) به &^h^ (انگلیسی) رو هم در قالب یه ماکرو داشته باشم تا برای تک تک فایلهام از گزینه ی Find & Replace استفاده نکنم؟ چون تعداد فایلهام بسیار زیاده و نیاز به صرفه جویی در وقت برای این کار دارم. مرسی از شما. صد البته که می توانید، با Macro ها و کد نویسی میشه هر کار تکراری، پیچیده یا وقت گیر رو با چند کلیک انجام داد. به انتهای کد قبلی یک فرمان Find & Replace اضافه کردم که #^ را با &^h^ جایگزین کند : Sub Macro1() Dim i As Long For i = 0 To 9 Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = ChrW(1632 + i) .Replacement.Text = ChrW(48 + i) .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchKashida = False .MatchDiacritics = False .MatchAlefHamza = False .MatchControl = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll Next i Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "^#" .Replacement.Text = "^h^&" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchKashida = False .MatchDiacritics = False .MatchAlefHamza = False .MatchControl = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll End Sub سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 7478]