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