انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید


توزیع گنو/لینوکس اوبونتو ۲۰ ساله شد 🎉

نویسنده موضوع: آیا می‌خواهید یک نویسه را در ترمینال از راست به چپ چاپ کنید؟  (دفعات بازدید: 3304 بار)

0 کاربر و 6 مهمان درحال مشاهده موضوع.

آفلاین علی ۵۰۰

  • Hero Member
  • *
  • ارسال: 775
  • جنسیت : پسر
سلام
با مقداری تحقیق و مخلوط کردن کد، توانستم یک کد بنویسیم که علامت مساوی را از سمت راست به چپ در ترمینال ( چه در gnome terminal و چه در tty1 ) چاپ می‌کند. به عکس زیر دقت کنید:



این هم کد: ( این برنامه را می‌توانید در کامپایلر سی‌پلاس‌پلاس، مانند g++ کامپایل کنید. )

#include <iostream>
#include <cstdlib>
#include <unistd.h>
#include <sys/ioctl.h>

int main()
{
    system("clear");
   
    struct winsize w;
    ioctl(STDOUT_FILENO, TIOCGWINSZ, &w);

    int wRow = w.ws_row;
    int wColumns = w.ws_col;

    for ( int j = 1; j <= wRow; ++j )
    {
        for ( int i = wColumns; i > 0; --i )
        {
            std::cout << "\033[" << j << ";" << i << "H";
            std::cout << "=";
            std::cout << "\033[" << j << ";" << i - 1 << "H";
            std::cout << std::flush;
            usleep( 50000 );
        }
    }
   
    std::cout << std::endl;
}

منابع:
۱- http://stackoverflow.com/questions/1022957/getting-terminal-width-in-c/1022961#1022961
۲- https://en.wikipedia.org/wiki/ANSI_escape_code
۳- http://www.tldp.org/HOWTO/Bash-Prompt-HOWTO/c327.html
« آخرین ویرایش: 11 آبان 1395، 07:12 ب‌ظ توسط علی ۵۰۰ »

آفلاین asm2620

  • Jr. Member
  • *
  • ارسال: 59
  • جنسیت : پسر
امکان تغییر فونت و تتیپ فارسی وجود داره؟
میخوام یه سیستم عامل بنویسم دوست دارم فارسی باشه مثل "افق" که البته اون هسته داس داشت ولی واسه من میخوام هسته لینوکس داشته باشه.

آفلاین دانیال بهزادی

  • ناظر انجمن
  • *
  • ارسال: 19722
  • جنسیت : پسر
  • Urahara Kiesuke
    • وبلاگ
امکان تغییر فونت و تتیپ فارسی وجود داره؟
میخوام یه سیستم عامل بنویسم دوست دارم فارسی باشه مثل "افق" که البته اون هسته داس داشت ولی واسه من میخوام هسته لینوکس داشته باشه.
مگه اوبونتو فارسی نیست؟
اگه این ارسال بهت کمک کرد، دنبال دکمهٔ تشکر نگرد. به جاش تو هم به جامعهٔ آزادت کمک کن

آفلاین asm2620

  • Jr. Member
  • *
  • ارسال: 59
  • جنسیت : پسر
امکان تغییر فونت و تتیپ فارسی وجود داره؟
میخوام یه سیستم عامل بنویسم دوست دارم فارسی باشه مثل "افق" که البته اون هسته داس داشت ولی واسه من میخوام هسته لینوکس داشته باشه.
مگه اوبونتو فارسی نیست؟
مگه ترمینالش هم فارسی میشه؟

آفلاین دانیال بهزادی

  • ناظر انجمن
  • *
  • ارسال: 19722
  • جنسیت : پسر
  • Urahara Kiesuke
    • وبلاگ
اگه این ارسال بهت کمک کرد، دنبال دکمهٔ تشکر نگرد. به جاش تو هم به جامعهٔ آزادت کمک کن

آفلاین asm2620

  • Jr. Member
  • *
  • ارسال: 59
  • جنسیت : پسر
چرا نشه؟
چون رابط متنی هیچ سیستم‌عاملی فارسی نیست و نباید هم فارسی باشه؟

آفلاین علی ۵۰۰

  • Hero Member
  • *
  • ارسال: 775
  • جنسیت : پسر
چرا نشه؟
چون رابط متنی هیچ سیستم‌عاملی فارسی نیست و نباید هم فارسی باشه؟
سلام
یک نگاهی به این بنداز:
http://forum.ubuntu.ir/index.php/topic,140716.0.html

آفلاین asm2620

  • Jr. Member
  • *
  • ارسال: 59
  • جنسیت : پسر
چرا نشه؟
چون رابط متنی هیچ سیستم‌عاملی فارسی نیست و نباید هم فارسی باشه؟
سلام
یک نگاهی به این بنداز:
http://forum.ubuntu.ir/index.php/topic,140716.0.html
این تصویر طرف اومده فونت Gnome Terminal رو تغییر داده و راست به چپ کرده و توی vim فارسی تایپ کرده.
آیا خارج از محیط گرافیکی روی tty0 و نه روی gnome terminal این امکان وجود داره؟؟؟ آیا دستور هایی که تایپ میکنه فارسی هست و اون دستور ها هم فارسی پاسخ میدن؟ مثلا من مینویسم: (راهنما گنوم‌ترم) بعد این میاد فارسی برام دستور گنوم‌ترم رو توضیح میده!!

آفلاین علی ۵۰۰

  • Hero Member
  • *
  • ارسال: 775
  • جنسیت : پسر
چرا نشه؟
چون رابط متنی هیچ سیستم‌عاملی فارسی نیست و نباید هم فارسی باشه؟
سلام
یک نگاهی به این بنداز:
http://forum.ubuntu.ir/index.php/topic,140716.0.html
این تصویر طرف اومده فونت Gnome Terminal رو تغییر داده و راست به چپ کرده و توی vim فارسی تایپ کرده.
آیا خارج از محیط گرافیکی روی tty0 و نه روی gnome terminal این امکان وجود داره؟؟؟ آیا دستور هایی که تایپ میکنه فارسی هست و اون دستور ها هم فارسی پاسخ میدن؟ مثلا من مینویسم: (راهنما گنوم‌ترم) بعد این میاد فارسی برام دستور گنوم‌ترم رو توضیح میده!!
سلام
با نصب fbterm و اجرا کردن آن در محیط tty، توانایی دیدن نویسه‌های یونیکد، در tty مُیسره. (البته نویسه‌ها به هم نمی‌چسبن، برای چسباندن نویسه‌ها به هم، از vim همراه با خاصیّت راست به چپ، به صورت زیر استفاده کنید.)
:set rightleftبرای تغییر صفحه‌کلید در tty انگار چیزهایی در اینجا نوشته:
http://askubuntu.com/questions/155424/changing-tty-keyboard-layout-on-a-server
به عکس پیوست شده دقت کنید: ( این عکس محیط tty را نمایش می‌دهد. )
« آخرین ویرایش: 25 آبان 1395، 03:56 ب‌ظ توسط علی ۵۰۰ »

آفلاین علی ۵۰۰

  • Hero Member
  • *
  • ارسال: 775
  • جنسیت : پسر
نقل‌قول
آیا دستور هایی که تایپ میکنه فارسی هست و اون دستور ها هم فارسی پاسخ میدن؟ مثلا من مینویسم: (راهنما گنوم‌ترم) بعد این میاد فارسی برام دستور گنوم‌ترم رو توضیح میده!!
با دستور alias می‌شود برای دستورها نام دومی در نظر گرفت. این نام دوم می‌تواند حروف یونیکد ( مثل حروف فارسی یونیکد ) باشد. مثلاً می‌توان نوشت:
alias ب='ls'بعد تا زمانی که ترمینال را نبسته‌اید، می‌توانید از حرف « ب » به جای دستور « ls » استفاده کنید.
برای اینکه پاسخ نرم‌افزار شما فارسی باشه، فکر کنم بتوانید یک نرم‌افزار بنویسید که وقتی مثلاً نوشتید « برنامه راهنما »، آرگومان « برنامه » را همراه با آرگومان « راهنما » اجرا کند و متنی که به صورت فارسی با انکودینگ utf-8 نوشته شده را در خروجی استاندارد چاپ کند. البته اگر می‌خواهید نوشته‌ها درست نمایش داده بشوند، از ترمینالی استفاده کنید که از یونیکد و complex text layout (یا به طور خلاصه: CTL) پشتیبانی کند.

CTL قسمتی از یونیکد است و از آن در زبان‌هایی مثل عربی، فارسی و... استفاده می‌شود.
CJK قسمتی از یونیکد است و از آن در زبان‌هایی مثل چینی، ژاپنی و کره‌ای استفاده می‌شود.

اطلاعاتی در مورد الگوریتم (خوارزمی) دوجهته یونیکد در پیوند زیر موجود است:
http://unicode.org/reports/tr9/
« آخرین ویرایش: 26 آبان 1395، 05:16 ب‌ظ توسط علی ۵۰۰ »

آفلاین asm2620

  • Jr. Member
  • *
  • ارسال: 59
  • جنسیت : پسر
نقل‌قول
آیا دستور هایی که تایپ میکنه فارسی هست و اون دستور ها هم فارسی پاسخ میدن؟ مثلا من مینویسم: (راهنما گنوم‌ترم) بعد این میاد فارسی برام دستور گنوم‌ترم رو توضیح میده!!
با دستور alias می‌شود برای دستورها نام دومی در نظر گرفت. این نام دوم می‌تواند حروف یونیکد ( مثل حروف فارسی یونیکد ) باشد. مثلاً می‌توان نوشت:
alias ب='ls'بعد تا زمانی که ترمینال را نبسته‌اید، می‌توانید از حرف « ب » به جای دستور « ls » استفاده کنید.
برای اینکه پاسخ نرم‌افزار شما فارسی باشه، فکر کنم بتوانید یک نرم‌افزار بنویسید که وقتی مثلاً نوشتید « برنامه راهنما »، برنامهٔ « برنامه » را با آرگومان « راهنما » اجرا کند و متنی که به صورت فارسی با انکودینگ utf-8 نوشته شده را در خروجی استاندارد چاپ کند. البته اگر می‌خواهید نوشته‌ها درست نمایش داده بشوند، از ترمینالی استفاده کنید که از یونیکد و complex text layout (یا به طور خلاصه: CTL) پشتیبانی کند.

CTL قسمتی از یونیکد است و از آن در زبان‌هایی مثل عربی، فارسی و... استفاده می‌شود.
CJK قسمتی از یونیکد است و از آن در زبان‌هایی مثل چینی، ژاپنی و کره‌ای استفاده می‌شود.

اطلاعاتی در مورد الگوریتم (خوارزمی) دوجهته یونیکد در پیوند زیر موجود است:
http://unicode.org/reports/tr9/
این ها رو من خودم میدونم. بحث من اینه که وقتی از تنظیمات اوبونتو زبان فارسی رو انتخاب کنی فقط منو ها و رابط گرافیکی فارسی میشه و تاثیری روی ترمینال نداره.

آفلاین دانیال بهزادی

  • ناظر انجمن
  • *
  • ارسال: 19722
  • جنسیت : پسر
  • Urahara Kiesuke
    • وبلاگ
این ها رو من خودم میدونم. بحث من اینه که وقتی از تنظیمات اوبونتو زبان فارسی رو انتخاب کنی فقط منو ها و رابط گرافیکی فارسی میشه و تاثیری روی ترمینال نداره.
اون که دیگه دست خودته. bashrcات رو عوض کن، فارسی بشه :دی
اگه این ارسال بهت کمک کرد، دنبال دکمهٔ تشکر نگرد. به جاش تو هم به جامعهٔ آزادت کمک کن