У меня есть идея использовать китайские иероглифы в качестве сущностей в моей похожей на ASCII roguelike консольной игре.Я использую python-tcod, но я не знаю, есть ли способ использовать китайские иероглифы в нем.
Я попытался установить китайские шрифты с помощью функции console_set_custom_font, которая хорошо работала при отображении английских символов, но не китайских.Они просто не отображаются.
libtcod.console_set_custom_font('GoJuOn.TTF', libtcod.FONT_TYPE_GREYSCALE)
libtcod.console_init_root(constants['screen_width'], constants['screen_height'], constants['window_title'], False, libtcod.RENDERER_SDL2)
Я пытался сделать своего персонажа похожим на 你 ,, но получил это.(Вы можете видеть, как персонаж движется по его полю и как он покрывает предметы.)
Например, вот как он работал раньше.
Исходный код взят из libtcod python tutorial
upd: я пытался использовать '你' .encode () с gb18030, gbk, gb2312, hz, cp950,кодировки bi0ghkscs, big5, iso2022_jp_2, но это дало мне вывод неправильных символов.Например, знак абзаца или тильда ('~') или несколько букв с точками над ним.
upd2: код, который я пытался использовать с другой кодировкой
player = Entity(0, 0, '你'.encode('gb18030'), libtcod.white, 'Player',
render_order=RenderOrder.ACTOR, blocks=True,
fighter=fighter_component, inventory=inventory_component, level=level_component)
Общий кодкоторое отображает char ('你' char - свойство char объекта)
def draw_entity(con, entity, fov_map, game_map):
if libtcod.map_is_in_fov(fov_map, entity.x, entity.y) or (entity.stairs and game_map.tiles[entity.x][entity.y].explored):
libtcod.console_set_default_foreground(con, entity.color)
libtcod.console_put_char(con, entity.x, entity.y, entity.char, libtcod.BKGND_NONE)