mdview2: поддержка кодировок CP866/CP1251/KOI8-R/UTF-8 (F8)
- Детекция при открытии (BOM + эвристика по первым 4 КБ). - 8-битные (CP866/CP1251/KOI8-R) — общий индекс/кэш, переключение мгновенным ремапом глифов [128-255] на отрисовке по attr (структурные глифы — рамка/HR/маркеры — не ремапятся). - UTF-8 — отдельный набор: декодирование в CP866 (кириллица + ходовые символы: стрелки/галка/буллет/тире/кавычки/box), свой индекс/кэш. - Два набора (docset_t g_doc[2]) со свапом «живых» глобалов; второй строится ЛЕНИВО при первом F8-переходе в него (build-on-demand). - F8: цикл CP866→CP1251→KOI8R→UTF8; метка в меню видна только когда переключение возможно; во время сборки 8-бит первичного F8 крутит 8-бит. - F1-справка: секция Encoding; меню разбито на блоки (F1/F8/F10). - Фикс: g_doc обязан быть инициализирован (SDCC z80 не обнуляет статики надёжно) — иначе мусорный built вёл к показу неинициализированного набора. - Убрана отладка времени обработки из статус-бара. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -35,8 +35,10 @@ $(DISK_TMP):
|
||||
$(README_DISK): README.MD | $(DISK_TMP)
|
||||
iconv -c -f UTF-8 -t CP866 README.MD > $@ || true
|
||||
|
||||
# UTF8TEST.MD кладётся на диск КАК ЕСТЬ (в UTF-8, без перекодировки) —
|
||||
# это тестовый вход для проверки UTF-8 рендеринга (Фаза 2 кодировок).
|
||||
floppy: $(EXAMPLE).exe $(README_DISK)
|
||||
python3 $(MAKE_DISK) $(FLOPPY_IMG) $(EXAMPLE).exe $(README_DISK)
|
||||
python3 $(MAKE_DISK) $(FLOPPY_IMG) $(EXAMPLE).exe $(README_DISK) UTF8TEST.MD
|
||||
@echo
|
||||
@echo "Floppy ready: $(FLOPPY_IMG)"
|
||||
@echo "Run: cd $(MAME_DIR) && ./run_mame.sh"
|
||||
|
||||
Reference in New Issue
Block a user