Нужны символы для отображения шахматных фигур

Пишу программу моделирующую игру в шахматы, хочу использовать символы для отображения шахматных фигур, однако в таблице ASCII только 255 символов, в которых нет и намёка на шахматы.


Пробовал копировать символы и писать что-то типа

std::cout<<"♞";

Но компилятор выдаёт просто знак вопроса.


Может есть расширенная таблица символов? Или можно использовать вставленные символы чтобы они отображались нормально?


Ответы (1 шт):

Автор решения: ТарасПрогер

Так консоль не дружит с Юникодом и шрифтами, можно, как вариант, создать свой символ на базе существующего (можно нарисовать) и вставить в wcout(специализированный для "широких" символов).

#include <io.h>
#include <fcntl.h>
#include <iostream>
using namespace std;



int main()
{
    _setmode(_fileno(stdout), _O_U16TEXT);
    std::wcout << L""; // сюда вставлять символ
}

Чтобы создать свой символ:

  1. Открыть редактор личных знаков(Eudcedit)
  2. Нарисовать или использовать уже существующий символ. Откройте "Правка" -> "Копировать знак". Ищите лошадь под номером U+265e
  3. Затем "Правка" -> "Сохранить знак"
  4. Перезапускаем компютер
  5. Копируем лошадку из программы "Таблица символов"
  6. Вставляем в код

введите сюда описание изображения

→ Ссылка