Since we're talking about prettier graphics, I have to note that with BearLibTerminal it is easy to use square tiles alongside 'normal' rectangular fonts:
1. Choose a font so that tile size is a multiple of character size, e. g. default font is 8x16 and tiles are 16x16.
2. Load tiles to separate indices with arbitrary offset so they will not overlap with font characters, e. g. terminal.set("300: tilesets/tiles.png, size=16x16")
3. Use tile indices with the offset you just specified, e. g. healing potion is now 300+24 instead of 24.
4. Voila.
Note: tileset offsets/indices are arbitrary but they and characters are in the same code space (Unicode). As long as your game text is in ASCII, any number above 128 will do (because you will not use them for text anyway), but if you plan to use various characters like β or Ω, it is better to place graphical tiles in the special Unicode Private Use Area: 0xE000-0xF8FF.