I guess that the second value of these "libtcod.console_map_ascii_codes_to_font(292, 4, 0, 14)" and so on should be the maximum value of tiles cabable of being in the font row, not the amount of tiles you have there made. Try putting 32 there and do some work with the numbers.
I'm not sure if it will help but I think putting 32 there and mapping whole rows of font file can be helpful at least when the number of tiles increase.
Edit: You should basically map whole rows I think as I've done with my game:
libtcod.console_map_ascii_codes_to_font(160, 32, 0, 2)
libtcod.console_map_ascii_codes_to_font(192, 32, 0, 3)
libtcod.console_map_ascii_codes_to_font(224, 32, 0, 4)
libtcod.console_map_ascii_codes_to_font(256, 32, 0, 5)
.
.
.
libtcod.console_map_ascii_codes_to_font(256+32+32+32+32+32+32, 32, 0, 11)