Is Writeln capable of supporting Unicode?

Just set the console output codepage through the SetConsoleOutputCP() routine with codepage cp_UTF8. program Project1; {$APPTYPE CONSOLE} uses System.SysUtils,Windows; Const Text=”АБВГДЕЖЅZЗИІКЛМНОПҀРСТȢѸФХѾЦЧШЩЪЫЬѢѤЮѦѪѨѬѠѺѮѰѲѴ”; VAR NumWritten: DWORD; begin ReadLn; // Make sure Consolas font is selected try WriteConsole(GetStdHandle(STD_OUTPUT_HANDLE), PChar(Text), Length(Text), NumWritten, nil); SetConsoleOutputCP(CP_UTF8); WriteLn; WriteLn(‘АБВГДЕЖЅZЗИІКЛМНОПҀРСТȢѸФХѾЦЧШЩЪЫЬѢѤЮѦѪѨѬѠѺѮѰѲѴ’); except on E: Exception do Writeln(E.ClassName, ‘: ‘, E.Message); end; ReadLn; end. Outputs: … Read more