• Welcome to پارسی‌لاتک.
 
از تاریخ ۱۳۹۳/۸/۱۴ به دلیل ارائه خدمات بهتر به سایت جدید پرسش و پاسخ مهاجرت کرده‌ایم؛ از این رو امکان عضویت و ارسال پست در تالار غیرفعال شده است. لطفاً برای پرسیدن سوال‌های خود به سایت جدید مراجعه کنید.

ورود به سایت جدید

Main Menu

تک‌میکردوجهته ورژن ۰.۶.۶

نویسنده سیدرضی علوی‌زاده, جولای 10, 2010, 08:54:41 قبل از ظهر

« قبلی - بعدی »

هادی صفی‌اقدم

#30
سید رضی جان، اولا خسته نباشی چون تکمیکر خیلی بهتر شده است و ایشالله بهتر از این هم میشه.
مطابق فایل ضمیمه شده:
۱. متن فارسی تایپ کردم. \fo را که تایپ کردم به صورت Autocomplete بقیه اش را وارد کردم. داخل آکولادهای دستور footnote شروع به تایپ انگلیسی می کنم. به محض استفاده از دکمه spacebar از کیبورد، زبان به فارسی تغییر می کند.
۲. مورد دوم هم مثل همین
۳. مورد سوم: به صورت Autocomplete استفاده نکردم ولی مشکل تغییر زبان به فارسی باز پابرجاست

amir.khosroshahi

#31
باز هم ممنون از پیگیری‌تون.
نقل قول از: سیدرضی علوی‌زاده در جولای 14, 2010, 10:41:22 بعد از ظهر
(به‌علت طولانی بودن سوال در نقل قول تکرارش نکردم)
‎1‎- من اسم این رو مشکل نمی‌گذارم، کمبود می‌گذارم‎!‎
‎2‎- ‎3‎- ‎5‎- بررسی می‌کنم.
‎4‎- سیستم عاملتون چیه؟ ‎64‎ بیته؟ کامپیوترتون که ضعیف نیست.
چند زبان روی سیستمتون نصبه؟

۱- حق با شماست! دقیق‌تر این بود که بگویم یک feature request است.
۴- ویندوز ۷ ۳۲ بیتی. با پردازنده ۲ گیگاهرتز اینتل دو هسته‌ای. به نظر نمیاد ضعیف باشه چون تو نسخه‌های قبلی همین تک‌میکر مشکلی نبود. دو زبان نصبه: انگلیسی و فارسی.



محمد چهارسوقی

سلام

من فکر می کنم وقتی space bar میزنیم طبیعی هست که فارسی بشه چون درسته که در این حالت footnote باید بعدش کیبورد رو مثلا انگلیسی کرد ولی در خیلی از مواقع هست که آدم چیزهایی رو که می نویسه به دنبال هم هست و هیچ فاصله ای نیست مثل روابط ریاضی و یا مثلا در زیرنویس فقط یک کلمه می نویسه. در این صورت این خوبه که بعد یک فاصله کیبورد فارسی بشه تا آدم سرعتش بره بالا.

البته من نمی دونم استانداردش چی هست و آیا راهی بهتر از این هست یا نه چون به هر حال برای برگشت زبان از انگلیسی به فارسی باید یک نشانه ای گذاشت و من احساسم این هست که نشانه‌ای رو که در نظر میگیرن space bar است. البته من خیلی در این زمینه وارد نیستم.

من سالهاست از فارسی تک استفاده نکردم. ولی یادمه اونجا راحت می نوشتم. یادم نمیاد دقیقا چه اتفاقی اونجا می افتاد.

من در این زمینه خیلی آگاهی ندارم و فقط نظر ابتدایی خودم و نوشتم دوستان متخصص تر به بزرگواریشون ببخشند. :)

بای

سیدرضی علوی‌زاده

لینک دانلود مخصوص مکینتاش در پست اول قرار گرفت.
یک screen-shot هم ضمیمه کردم.

سیدرضی علوی‌زاده

نقل قول از: هادی صفی اقدم در جولای 15, 2010, 03:31:46 قبل از ظهر
سید رضی جان، اولا خسته نباشی چون تکمیکر خیلی بهتر شده است و ایشالله بهتر از این هم میشه.
مطابق فایل ضمیمه شده:
۱. متن فارسی تایپ کردم. \fo را که تایپ کردم به صورت Autocomplete بقیه اش را وارد کردم. داخل آکولادهای دستور footnote شروع به تایپ انگلیسی می کنم. به محض استفاده از دکمه spacebar از کیبورد، زبان به فارسی تغییر می کند.
۲. مورد دوم هم مثل همین
۳. مورد سوم: به صورت Autocomplete استفاده نکردم ولی مشکل تغییر زبان به فارسی باز پابرجاست
قبلا شما یک مشکل مشابه گزارش کرده بودید که من برای حل اون مشکل به این نتیجه رسیدم که برای دستوراتی که آرگومان دارند حافظه‌ مربوط به زبان قبلی رو پاک کنم تا تغییر زبان اتفاق نیفتد، اما متاسفانه حالتی را که از کامل کننده استفاده می‌کنیم پوشش نداده‌ام. بنابراین دوحالت اول باید اتفاق بیفتد ولی حالت سوم نه! که من دوباره تست کردم و اتفاق هم نیافتاد.

نقل قول از: محمد چهارسوقی در جولای 15, 2010, 11:53:42 قبل از ظهر
...
من سالهاست از فارسی تک استفاده نکردم. ولی یادمه اونجا راحت می نوشتم. یادم نمیاد دقیقا چه اتفاقی اونجا می افتاد.
...
تا اونجایی که یادمه تو فارسی‌تک چیزی به نام «تغییر زبان ورودی بصورت خودکار» نداشتیم.  ;)

نقل قول از: amir.khosroshahi در جولای 15, 2010, 11:35:09 قبل از ظهر
باز هم ممنون از پیگیری‌تون.
۱- حق با شماست! دقیق‌تر این بود که بگویم یک feature request است.
۴- ویندوز ۷ ۳۲ بیتی. با پردازنده ۲ گیگاهرتز اینتل دو هسته‌ای. به نظر نمیاد ضعیف باشه چون تو نسخه‌های قبلی همین تک‌میکر مشکلی نبود. دو زبان نصبه: انگلیسی و فارسی.

1- منم می‌خواستم این اصطلاح رو به کار ببرم ولی به قول معروف پارسی رو پاس داشتم.
در اولین تغییر زبان سرعت کمه! یا هر دفعه تغییر زبان به کندی صورت می‌گیره؟
من تغییر کوچکی در این بخش نسبت به ورژن قبل انجام دادم که در واقع نباید مشکلی ایجاد کنه.
سعی می‌کنم در اولین فرصت یک ورژن با روش قبل برای شما بفرستم تا تست کنید.

محمد چهارسوقی

سلام
راست میگید حق باشماست در فارسی تک تغییر زبان خودکار نداشتیم.  یا حداقل من استفاده نمی کردم.
چیزی که بود اگه درست یادم بیاد این بود که وقتی از انگلیسی به فارسی عوض می کردم خودش می رفت آخر مثلا $ و یا } یا یه همچین چیزی. مهم نیست خیلی.

به هر حال من اینجا بگم که منظورم این نبود که الان با تکمیکر راحت نیستم. به نظر من تکمیکری که در حال حاضر بیرون اومده و آقای رضی‌زاده زحمت کشیدن عالیه و ممنون که نسخه مک اون رو هم قرار دادید و خیلی عالی شد.

خسته نباشید.

هادی صفی‌اقدم

نقل قول از: سیدرضی علوی‌زاده در جولای 15, 2010, 04:47:16 بعد از ظهر
قبلا شما یک مشکل مشابه گزارش کرده بودید که من برای حل اون مشکل به این نتیجه رسیدم که برای دستوراتی که آرگومان دارند حافظه‌ مربوط به زبان قبلی رو پاک کنم تا تغییر زبان اتفاق نیفتد، اما متاسفانه حالتی را که از کامل کننده استفاده می‌کنیم پوشش نداده‌ام. بنابراین دوحالت اول باید اتفاق بیفتد ولی حالت سوم نه! که من دوباره تست کردم و اتفاق هم نیافتاد.
سید رضی جان، درست میگی. مورد سوم را من دوباره تست کردم ولی اتفاق نیفتاد. یا شانسی بوده یا من اشتباه کرده ام.

shfpr

با تشکر از زحمات شما مشکل من که مربوط به تغییر زبان بود حل شد. من از ویندوز 7 64 بیتی استفاده می کردم.

سیدرضی علوی‌زاده

نقل قول از: amir.khosroshahi در جولای 13, 2010, 07:40:10 بعد از ظهر
۶- وقتی بعد از اولین کلمه فارسی خط فاصله تایپ می‌کنید خط یک کاراکتر به سمت راست جابه‌جا می‌شود. البته باز هم در خروجی مشکلی نیست اما تکان خوردن خط در حین تایپ جالب نیست.
در آزمایشی که انجام دادم معلوم شد که متاسفانه باگ مربوط به Qt-4.6.2 است و ربطی به پچ دوجهته ندارد.
اما خوشبختانه در Qt-4.6.3 این مشکل حل شده است.
به همین دلیل سعی خواهم کرد به زودی نسخه کامپایل شده با آخرین ورژن Qt را بفرستم، اگر در این چند روز مشکل ذکر نشده‌ای به  ذهن دوستان رسید در اینجا مطرح کنند.

amir.khosroshahi

سلام مجدد،

یک مشکل هست که فکر می‌کنم در واقع حالت کلی مشکل شماره ۲ پست قبلی‌ام (در مورد پرانتزها) باشه. به خاطر همین گفتم شاید بد نباشه دوباره بگم:
وقتی که در یک خط حروفی رو به فارسی تایپ کرده‌ایم، و بعد زبان رو به انگلیسی سویچ می‌کنیم و شروع به انگلیسی تایپ کردن می‌کنیم، اتفاقی که ظاهرا میفته اینه که آخرین حرف‌های تایپ شده به زبان فارسی هم گاهی وقت‌ها به عنوان اولین حرف‌های تایپ‌شده انگلیسی در نظر گرفته می‌شوند و به سمت چپ و ابتدای حروف انگلیسی در حال تایپ برده می‌شوند. اون گاهی وقت‌هاش هم وقت‌هایی هست که آخرین حرف‌های تایپ شده به فارسی در واقع جزء حروف فارسی تعریف نشده باشند. مثل کاراکترهای زیر:
- پرانتز باز فارسی (
- پرانتز بسته فارسی )
- ویرگول فارسی ،
- نقطه .
- منها -
- ارقام فارسی ۱ ۲ ۳ ۴ .... (و نه انگلیسی 1 2 3 4 ...)
- علامت تعجب !
- جداکننده هزارگان فارسی ٬ (0x066B)
- ممیز فارسی ٫ (0x066C)
- گیومه باز و گیومه بسته فارسی « »
- فاصله
و نمادهای دیگه که برای این که پست خیلی طولانی نشه نیاوردمشون.

در مورد پرانتز و گیومه فارسی مشکل بدتر هم هست. چون علاوه بر این که جزء متن انگلیسی محسوب می‌شه، به همون دلیل جهتش هم عوض می‌شه. یک راهی که برای حل مشکل به ذهم می‌رسه (که امیدوارم خیلی پرت نباشه!) اینه که ملاک فارسی یا انگلیسی بودن حروف خود کاراکترها نباشند (چون کاراکتر مشترک هم داریم) بلکه زبون صفحه‌کلیدی باشه که کاراکترها با اون تایپ شده‌اند.

نمونه مشکل مثلا در مورد علامت تعجب:
حالت فعلی:
عجبwow!
نقل قولabc«
درست:
عجب!wow
نقل قول»abc

البته چون معمولا حروف فارسی و انگلیسی با فاصله از هم جدا می‌شند مشکل در مورد کاراکترهای غیر پرانتز خیلی پیش نمیاد و مشهود نیست.



سیدرضی علوی‌زاده

نقل قول از: amir.khosroshahi در جولای 21, 2010, 04:08:19 بعد از ظهر
...‎
وقتی که در یک خط حروفی رو به فارسی تایپ کرده‌ایم، و بعد زبان رو به انگلیسی سویچ می‌کنیم و شروع به انگلیسی تایپ کردن می‌کنیم، اتفاقی که ظاهرا میفته اینه که آخرین حرف‌های تایپ شده به زبان فارسی هم گاهی وقت‌ها به عنوان اولین حرف‌های تایپ‌شده انگلیسی در نظر گرفته می‌شوند و به سمت چپ و ابتدای حروف انگلیسی در حال تایپ برده می‌شوند‎‎‎. اون گاهی وقت‌هاش هم وقت‌هایی هست که آخرین حرف‌های تایپ شده به فارسی در واقع جزء حروف فارسی تعریف نشده باشند.‎‎‎
...‎‎‎
‎در‎‎‎‎‎‎‎ واقع این اتفاق که گفتید نتیجه طبیعیه الگوریتم دوجهتی استاندارد است. و اون کاراکترها که گفتید اکثرا جزء کاراکترهای ضعیف به حساب می‌آیند.

نقل قول از: amir.khosroshahi در جولای 21, 2010, 04:08:19 بعد از ظهر
...‎
یک راهی که برای حل مشکل به ذهم می‌رسه (که امیدوارم خیلی پرت نباشه!) اینه که ملاک فارسی یا انگلیسی بودن حروف خود کاراکترها نباشند (چون کاراکتر مشترک هم داریم) بلکه زبون صفحه‌کلیدی باشه که کاراکترها با اون تایپ شده‌اند.
...‎‎‎
بله ایده خوبیست.

نقل قول از: amir.khosroshahi در جولای 13, 2010, 07:40:10 بعد از ظهر
...
۳- جاماندن کاراکترهای کنترلی: وقتی $ یا \ یا Ctrl+. را تایپ می‌کنیم کاراکترهای کنترلی نامرئی به متن اضافه می‌شوند که درست است. اما موقع پاک کردن همراه با $ یا \ پاک نمی‌شوند. و باید backspaceهای بیشتری برای پاک کردن این کاراکترهای کنترلی زد که شهودی نیست.
‎...‎
‎‎مقصود شما استفاده از ‎Delete‎ است؟
چون کد مربوط به ‎Backspace‎ را مدتهاست به این‌صورت درآورده‌ام که کاراکترهای کنترلی را درنظر بگیرد! (بجز حالت ‎Ctrl+.‎‎‎)
و اگر مقصود ‌‎Backspace‎ است یک حالت ایجاد باگ را شرح دهید.
ممنون.
‎‎‎‎‎‎

amir.khosroshahi

#41
نقل قول از: سیدرضی علوی‌زاده در جولای 22, 2010, 12:41:33 بعد از ظهر
‎در‎‎‎‎‎‎‎ واقع این اتفاق که گفتید نتیجه طبیعیه الگوریتم دوجهتی استاندارد است. و اون کاراکترها که گفتید اکثرا جزء کاراکترهای ضعیف به حساب می‌آیند.
خیلی ممنون. اتفاقا این سوال را هم داشتم که آیا شما همان الگوریتم استاندارد دوجهته را پیاده‌سازی کرده‌اید، که جوابش را گرفتم! اما یک سوال دیگر این که چرا این اتفاق مثلا در Word یا Firefox (در ویرایشگر متن Gmail وقتی راست به چپ فعال باشد مثلا) نمی‌افتد؟ آیا آن‌ها الگوریتم استاندراد را پیاده‌سازی نکرده‌اند؟
نقل قول
مقصود شما استفاده از ‎Delete‎ است؟
چون کد مربوط به ‎Backspace‎ را مدتهاست به این‌صورت درآورده‌ام که کاراکترهای کنترلی را درنظر بگیرد! (بجز حالت ‎Ctrl+.‎‎‎)
و اگر مقصود ‌‎Backspace‎ است یک حالت ایجاد باگ را شرح دهید.
نه منظورم همان Backspace هست. اما دوباره که امتحان کردم دیدم حق باشماست. در واقع اتفاقی که میفتاد ناشی از همان مشکل تبدیل حروف متن فارسی به انگلیسی بود و مشکل جدیدی نیست. به این صورت اتفاق می‌افتد که اگر بعد از تایپ حروف فارسی یک فاصله بزنید و بعد \ یا $ را بزنید فاصله به سمت چپ می‌رود و $ یا \ به متن فارسی قبلی می‌چسبد. وقتی که با Backspace پاک می‌کنید آن فاصله هم باید پاک شود اما چون مکان نما سمت راست آن قرار گرفته (چون جزء حروف چپ به راست محسوب شده) این تصور را ایجاد می‌کند که داریم یک کاراکتر کنترلی مخفی را پاک می‌کنیم. در حالی که در واقع همان space را داریم پاک می‌کنیم.

ولی یک اتفاق دیگر هم میفتد که البته مستقل از بحث قبلی است: اگر بلافاصله پس از تایپ حروف فارسی  یک حرف انگلیسی بزنید و بعد بلافاصله آن را پاک کنید و زبان را دوباره فارسی کنید و شروع به تایپ کنید، حروف جدید به حروف قبلی نمی‌چسبند و مثل حالتی می‌شوند که بینشان نیم‌فاصله خورده باشد. البته در خروجی درست است.

راستی ببخشیدها! قصد من ایراد گرفتن نیست به هیچ وجه. بلکه چون خودم کاربر تک‌میکر دو جهته‌ی شما (البته نسخه Pi Day که به نظرم بهتر است!) هستم، دوست دارم در بهبود آن کمک کنم. و الا می‌دانم که پیاده‌سازی الگوریتم دو جهته به اندازه کافی سخت هست و وقت شما محدود. چه برسد به این که باید حالات خاص و پیچیدگی‌های لاتک را هم در نظر گرفت.

باز هم ممنون.
‎‎‎‎‎‎

سیدرضی علوی‌زاده

نقل قول از: amir.khosroshahi در جولای 22, 2010, 01:22:20 بعد از ظهر
خیلی ممنون. اتفاقا این سوال را هم داشتم که آیا شما همان الگوریتم استاندارد دوجهته را پیاده‌سازی کرده‌اید، که جوابش را گرفتم! اما یک سوال دیگر این که چرا این اتفاق مثلا در Word یا Firefox (در ویرایشگر متن Gmail وقتی راست به چپ فعال باشد مثلا) نمی‌افتد؟ آیا آن‌ها الگوریتم استاندراد را پیاده‌سازی نکرده‌اند؟
من حرفم را پس می‌گیرم، این یک باگ است و ربطی به الگوریتم دوجهته ندارد. فکر کنم Word2007 تغییراتی را در الگوریتم داده و به نظر میاد از ایده‌ای شبیه آنچه شما گفتید استفاده میکنه. و در FireFox هم نحوه رفتار مکان‌نما با روش استفاده شده در Word و Qt فرق دارد. (نمی‌دونم فرق‌های دیگه‌ای هم هست یا نه)
در ضمن الگوریتم دوجهته در موتور متن Qt پیاده‌سازی شده است و بجز در حالت "‎Like as Notepad+‎+‎‎" که مستقیما الگوریتم را تغییر داده‌ام در حالتهای دیگر مبنای کار همان الگوریتم استاندارد استفاده شده در Qt است که با استفاده از کاراکترهای کنترلی سعی کردم بهترش کنم.

نقل قول از: amir.khosroshahi در جولای 22, 2010, 01:22:20 بعد از ظهر
ولی یک اتفاق دیگر هم میفتد که البته مستقل از بحث قبلی است: اگر بلافاصله پس از تایپ حروف فارسی  یک حرف انگلیسی بزنید و بعد بلافاصله آن را پاک کنید و زبان را دوباره فارسی کنید و شروع به تایپ کنید، حروف جدید به حروف قبلی نمی‌چسبند و مثل حالتی می‌شوند که بینشان نیم‌فاصله خورده باشد. البته در خروجی درست است.‎‎‎‎‎‎
بله درسته، دلیلش اینه که کاراکتر LRM اضافه شده پاک نمیشه! فکر کنم راه‌حلش هم اینه که اگر زبان کیبورد و کاراکتر قبلی از یک جهت باشند باید کاراکترهای LRM اضافی پاک شوند.

نقل قول از: amir.khosroshahi در جولای 22, 2010, 01:22:20 بعد از ظهر
راستی ببخشیدها! قصد من ایراد گرفتن نیست به هیچ وجه. بلکه چون خودم کاربر تک‌میکر دو جهته‌ی شما (البته نسخه Pi Day که به نظرم بهتر است!) هستم، دوست دارم در بهبود آن کمک کنم. و الا می‌دانم که پیاده‌سازی الگوریتم دو جهته به اندازه کافی سخت هست و وقت شما محدود. چه برسد به این که باید حالات خاص و پیچیدگی‌های لاتک را هم در نظر گرفت.‎‎‎‎‎‎
یکی از خوبیهای دنیای Open Source همینه که در پیشرفت یک نرم‌افزار همه کاربرانش سهیم‌اند و هیچ‌وقت به یک شخص یا تیم خاص محدود نمیشه.
نکات خوب ورژن Pi Day از نظر شما چیه؟

سیدرضی علوی‌زاده


amir.khosroshahi

نقل قول از: سیدرضی علوی‌زاده در جولای 22, 2010, 08:46:30 بعد از ظهر
بله درسته، دلیلش اینه که کاراکتر LRM اضافه شده پاک نمیشه! فکر کنم راه‌حلش هم اینه که اگر زبان کیبورد و کاراکتر قبلی از یک جهت باشند باید کاراکترهای LRM اضافی پاک شوند.
آیا این در مورد کاراکترهای قبلی ضعیف هم کار درست می‌کنه؟
اگر به جای کاراکترها از زبون کیبورد برای تشخیص جهت استفاده بشه یک راه دیگه هم شاید این باشه که هر وقت زبان کیبورد عوض شد و چیزی تایپ شد قبل از تایپ اولین کاراکتر، کاراکتر LRM (یا RLM) تایپ بشه و هر وقت کاراکتری پاک شد و این‌ها قبلش بودند، این‌ها هم پاک شوند (یا برعکسش برای delete). و می‌توان با خیال راحت این کار را کرد چون حتما کاراکترهای قبلی با زبان جهت مخالف نوشته شده‌اند.

نقل قولنکات خوب ورژن Pi Day از نظر شما چیه؟
این که لااقل اون باگ تکون خوردن خط‌ها رو نداره! و مشکل کند بودن $ رو (لااقل برای من!) نداره.