Интересные вопросы!
1. Поддержки "контекстного" отображения в библиотеке нет, придется фактически заполнять разными тайлами в зависимости от их смыслового окружения.
Можно упростить себе задачу опретелив набор тайлов с такими кодами, чтобы их можно было сконструировать механически. Например в случае углов стен у тайла может быть 8 соседей. Если закодировать наличие или отсутствие стен рядом восемью битами, то тайлсета из 256 значений хватит на все возможные случаи, а вычислить какой именно нужно использовать для конкретной ячейки будет тривиально, собрав его номер из отдельных бит.
1.1. Настройка символов-тайлсетов это глобальная конфигурация. Что в итоге было наконфигурировано к моменту отрисовки, то и будет использоваться. То есть ответ -- два одинаковых тайла.
2. Смотря что подразумевается под кодовой страницей, больно уж общий этот термин. Библиотека оперирует целым кодовым пространством Юникода (на самом деле наборами пространств, но об этом ниже), которое заполняется тайлсетами. Среди них неявно выделяется главный ("шрифт"), который в основном заведует отображением текста, и любое количество дополнительных, которые поштучно или целыми тайлсетами доопределяют недостающие символы для текста или предоставляют графические тайлы.
То есть если речь идет о различных тайлах
в дополнение к тексту -- тут полная свобода их доопределения и переопределения. Если под кодовыми страницами подразумеваются разные визуальные наборы не-текстового содержимого (например, разные тайлы пола и стен в зависимости от тематики конкретного уровня), то легко можно загрузить их все одновременно и адресовать по их индивидуальным кодам.
2. Если же речь идет о том, чтобы именно что печатать текст разными шрифтами одновременно, то тут немного похитрее. Как минимум надо как-то донести до библиотеки что вот эта "A" -- это другая "A", не выводить же текст как тайлы по вычисляемым номерам. Придется заполнить в настройках отдельные "шрифты" -- те самые отдельные таблицы Юникода, упомянутые выше.
Каждый "шрифт" настраивается отдельно и независимо друг от друга, посредством указания произвольно выбранного имени перед параметрами тайлсета, например
Код: Выделить всё
runic font: runic.png, size=8x16, codepage=437; runic 0x5E: runic_circumflex.png
А переключаются шрифты командой terminal_font (упущенной в документации) и тегом "[font=name]" в terminal_print, см.
Samples/MultipleFonts.cpp