I'm trying to output text to the main window with unicode character like that
def initialize super 800, 800 self.caption = 'Chess' @font = Gosu::Font.new(self, Gosu.default_font_name, 100) end def draw text = "Chess \u2658".encode('utf-8') @font.draw(text, 100, 100, 10, 1, 1, Gosu::Color::BLACK) end
but the window displays only the 'Сhess' string without unicode symbol '♘' as supposed.
What I have tried so far:
I looked for similar problems on the Gosu forum, but I could not find anything.
You need to use a font that includes those Unicode characters or Gosu's internal font rendering code will return a 0 width image for drawing that character.
A font like: https://fontlibrary.org/en/font/chess
require "gosu" class Window < Gosu::Window def initialize(*args) super @font = Gosu::Font.new(28, name: "Chess.odf") end def draw @font.draw_text("♘\u2658", 10, 10, 10) end end Window.new(100, 100, false).show