تالار گفتگوی پارسی‌لاتک

زی‌پرشین XePersian => زی‌تک => نويسنده: فرشاد ترابی در مه 30, 2012, 12:55:20 pm

عنوان: انتخاب فونت برای اعداد فارسی
رسال شده توسط: فرشاد ترابی در مه 30, 2012, 12:55:20 pm
با سلام خدمت همه دوستان عزیز

در بسته زیپرشین امکانی هست به نام setdigitfont که با آن میتوان نسبت به انتخاب فونت برای اعداد متن استفاده کرد.
این دستور باعث می شه که تمامی اعدادی که در محیط ریاضی قرار دارند به فونت مورد نظر حروف چینی شوند.
اما اعدادی که در محیط ریاضی نیستند با فونت مورد نظر نوشته نمی شوند و از فونت پایه پیروی می کنند. آیا
این امکان وجود دارد که بتوان فونت تمامی اعدادی را که در متن هست چه در محیط ریاضی چه در محیطهای دیگر
کنترل کرد؟

با تشکر از همه


عنوان: پاسخ : انتخاب فونت برای اعداد فارسی
رسال شده توسط: هادی صفی‌اقدم در مه 30, 2012, 01:07:39 pm
تا جایی که من اطلاع دارم وجود نداره. (اگر هست دوستان بگن.)
ولی یک راهش اینه که اعداد داخل متن را هم به صورت داخل دلاری بنویسید.
عنوان: پاسخ : انتخاب فونت برای اعداد فارسی
رسال شده توسط: vafa در مه 30, 2012, 03:38:47 pm
با سلام خدمت همه دوستان عزیز

در بسته زیپرشین امکانی هست به نام setdigitfont که با آن میتوان نسبت به انتخاب فونت برای اعداد متن استفاده کرد.
این دستور باعث می شه که تمامی اعدادی که در محیط ریاضی قرار دارند به فونت مورد نظر حروف چینی شوند.
اما اعدادی که در محیط ریاضی نیستند با فونت مورد نظر نوشته نمی شوند و از فونت پایه پیروی می کنند. آیا
این امکان وجود دارد که بتوان فونت تمامی اعدادی را که در متن هست چه در محیط ریاضی چه در محیطهای دیگر
کنترل کرد؟

با تشکر از همه
بهترین راه حل این است که از یک قلم هم برای متن معمولی و هم برای قلم ریاضی استفاده کنید اما اگر بخواهید اعداد در متن معمولی، داخل محیط ریاضی باشند، احتمالاً بتوانید از دستور بدوی \XeTeXinterchartoks استفاده کنید تا اگر عددی در متن قرار می‌گیرد، بصورت خودکار داخل محیط ریاضی قرار بگیرد.
عنوان: پاسخ : انتخاب فونت برای اعداد فارسی
رسال شده توسط: فرشاد ترابی در مه 30, 2012, 05:12:19 pm
تا جایی که من اطلاع دارم وجود نداره. (اگر هست دوستان بگن.)
ولی یک راهش اینه که اعداد داخل متن را هم به صورت داخل دلاری بنویسید.

البته تنها راهش فعلا همینه ولی یک مشکل داره و اون اینه که تمامی شماره های اتوماتیک مثل شماره صفحه، شماره معادله، شماره فصل و ..
همه با فونت مبنا نوشته میشه و برای اینکه متن کلا یکسان بشه لازمه که تمامی شمارنده ها رو هم عوض کرد.
عنوان: پاسخ : انتخاب فونت برای اعداد فارسی
رسال شده توسط: هادی صفی‌اقدم در مه 30, 2012, 10:58:30 pm
بهترین راه حل این است که از یک قلم هم برای متن معمولی و هم برای قلم ریاضی استفاده کنید اما اگر بخواهید اعداد در متن معمولی، داخل محیط ریاضی باشند، احتمالاً بتوانید از دستور بدوی \XeTeXinterchartoks استفاده کنید تا اگر عددی در متن قرار می‌گیرد، بصورت خودکار داخل محیط ریاضی قرار بگیرد.
لطفا میشه نحوه‌ی استفاده را بفرمایید؟
با تشکر قبلی
عنوان: پاسخ : انتخاب فونت برای اعداد فارسی
رسال شده توسط: حسن ذاکری در مه 31, 2012, 12:27:01 am
لطفا میشه نحوه‌ی استفاده را بفرمایید؟
با تشکر قبلی

\documentclass{article}
\usepackage{xepersian}
\defpersianfont\Yas[Scale=3]{Yas}
\XeTeXinterchartokenstate=1
\newXeTeXintercharclass\Sp
\newXeTeXintercharclass\nums
\XeTeXcharclass `0\nums
\XeTeXcharclass `1\nums
\XeTeXcharclass `2\nums
\XeTeXcharclass `3\nums
\XeTeXcharclass `4\nums
\XeTeXcharclass `5\nums
\XeTeXcharclass `6\nums
\XeTeXcharclass `7\nums
\XeTeXcharclass `8\nums
\XeTeXcharclass `9\nums
\XeTeXcharclass `۰\nums
\XeTeXcharclass `۱\nums
\XeTeXcharclass `۲\nums
\XeTeXcharclass `۳\nums
\XeTeXcharclass `۴\nums
\XeTeXcharclass `۵\nums
\XeTeXcharclass `۶\nums
\XeTeXcharclass `۷\nums
\XeTeXcharclass `۸\nums
\XeTeXcharclass `۹\nums
\chardef\CharNormal=0
\newtoks\Num
\Num={\bgroup\Yas}
\newtoks\Nor
\Nor={\egroup}
\begin{document}
\XeTeXinterchartoks\nums\CharNormal=\Nor
\XeTeXinterchartoks\nums\nums={}
\XeTeXinterchartoks\CharNormal\nums=\Num
\XeTeXinterchartoks\nums 255 =\Nor
\XeTeXinterchartoks255\nums=\Num
سلام ۱ سلام۱ سلام ۱سلام
لام۱ست

\lr{a12sf3 4 s s3 4s}
\end{document}

البته این روش(ی که من نوشتم) خیلی پایدار نیست و می‌تونید به راحتی ایرادهایی توش پیدا کنید.
عنوان: پاسخ : انتخاب فونت برای اعداد فارسی
رسال شده توسط: vafa در ژوئن 04, 2012, 08:49:36 am
لطفا میشه نحوه‌ی استفاده را بفرمایید؟
با تشکر قبلی
برای شما بهتره که از بسته xesearch استفاده کنید (این بسته از اون دستور بدوی استفاده کرده و کار کردن باهاش برای کاربر عادی راحت‌تره):
\documentclass{article}
\renewcommand{\baselinestretch}{1.5}
\usepackage{xesearch}
\usepackage{xepersian}
\settextfont{XB Zar}
\SearchList{LatinNumbers}{$#1$}{0?,1?,2?,3?,4?,5?,6?,7?,8?,9?}
\SearchList{PersianNumbers}{$#1$}{۰?,۱?,۲?,۳?,۴?,۵?,۶?,۷?,۸?,۹?}
\SetMathCode{`۰}{\mathalpha}{OPERATORS}{`۰}
\SetMathCode{`۱}{\mathalpha}{OPERATORS}{`۱}
\SetMathCode{`۲}{\mathalpha}{OPERATORS}{`۲}
\SetMathCode{`۳}{\mathalpha}{OPERATORS}{`۳}
\SetMathCode{`۴}{\mathalpha}{OPERATORS}{`۴}
\SetMathCode{`۵}{\mathalpha}{OPERATORS}{`۵}
\SetMathCode{`۶}{\mathalpha}{OPERATORS}{`۶}
\SetMathCode{`۷}{\mathalpha}{OPERATORS}{`۷}
\SetMathCode{`۸}{\mathalpha}{OPERATORS}{`۸}
\SetMathCode{`۹}{\mathalpha}{OPERATORS}{`۹}
\begin{document}
این یک آزمایش است ۲۰۱۲ یا می‌توانم بنویسم 2012 این در حالی است که اعداد در متن باید با قلم زر نوشته شوند اما با قلم پارسی نوین نوشته می‌شوند.
\end{document}
عنوان: پاسخ : انتخاب فونت برای اعداد فارسی
رسال شده توسط: فرشاد ترابی در سپتامبر 22, 2012, 02:10:38 pm
من این متن را پردازش کردم با خطایی که در فایل پیوست است مواجه شدم. مشکل از کجاست؟
عنوان: پاسخ : انتخاب فونت برای اعداد فارسی
رسال شده توسط: vafa در سپتامبر 22, 2012, 02:42:37 pm
من این متن را پردازش کردم با خطایی که در فایل پیوست است مواجه شدم. مشکل از کجاست؟
بروز نبودن توزیع تک.