Litery greckie w konsoli

0

Mam pytanie ...
Czy jest sposób na wyświetlenie omegi w konsoli?
Próbowałem już wpisywać unicode korzystać ze zmiennych wchar_t ale bez skutku. Wyświetla mi co najwyżej jakies dziwne krzaczki. Prosze o pomoc.

0

Przydałoby się podać kompilator. To działa w Visualu:

#include <iostream>
#include <fcntl.h>
#include <io.h>

int main()
{
    _setmode(_fileno(stdout), _O_U16TEXT);
    std::wcout << L"\x039d\x03af\x03c8\x03bf\x03bd ";
    std::wcout << L"\x03b1\x03bd\x03bf\x03bc\x03ae\x03bc\x03b1\x03c4\x03b1 ";
    std::wcout << L"\x03bc\x03b7 ";
    std::wcout << L"\x03bc\x03cc\x03bd\x03b1\x03bd ";
    std::wcout << L"\x03cc\x03c8\x03b9\x03bd";
    std::wcout << std::endl;
    _setmode(_fileno(stdout), _O_TEXT);

    return 0;
}

δουπα.png

Ale pod MinGW może być problem...

0
Azarien napisał(a):

Ale pod MinGW może być problem...

Nie jest to co prawda MinGW, ale podzbiór jego narzędzi.
Zrzut ekranu 2012-12-20 2040.png

0

Czyli widze ze nie da rady tak?

0

Mi chodzi tylko o omege
Dużą czy małą? Ω czy ω?

#include <Windows.h>

int main()
{
    HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
    DWORD written;

    WriteConsoleW(hStdOut, L"\x03a9", 1, &written, NULL);
    WriteConsoleW(hStdOut, L"\x03c9", 1, &written, NULL);

    return 0;
}

Ale to z kolei ma wszelką szansę nie zadziałać przy przekierowaniu wyjścia do pliku (WriteConsole pisze bezpośrednio na ekran).

A, i czcionka konsoli musi być ustawiona na TrueType (czyli nie "czcionki rastrowe" a np. Lucida Console albo Consolas). Inaczej nic z tego.

1 użytkowników online, w tym zalogowanych: 0, gości: 1