Стандартное описание пропорционального точечного шрифта. Сначала
массивы на каждый символ (для моего размера - в среднем uint16_t *
50. Шрифт - полный Arial Unicode MS, поэтому много тысяч символов.
Это примерно 90% файла. Потом описание диапазонов символов, т.е. с
какого по какой в юникоде, ссылки на каждый символ (массив) и
ссылка на следующий диапазон - такая пачка фактически на каждый
язык. Ну и в конце структурка с общими параметрами шрифта и ссылкой
на первый диапазон. Расстояние - просто по текстовому файлу. То есть, примерно 25Мб текста это массивы с символами, а дальше строчки со ссылками на них. Соответственно, самые "нижние" по файлу символы обрабатываются нормально, а всё, что выше ссылок на >2.5Мб к моменту ссылки оно уже не помнит. Раньше просто ругалось, а теперь предлагает перед строчками со ссылками напихать строчек с объявлением всех массивов через extern без иниализации ( а это еще 2Мб и нужна какая-то автоматизация, вручную это нереально) - это чтобы ошибки убрать, остаются варнинги про неиспользование, но, вроде как-то собирается, если при оптимизации "неиспользованные" массивы не выкинет... Кстати, если нужно несколько размеров текста, то на каждый размер - свой файл. Но конечно, всё это было извращением и тяжелым наследием 8-биток. Почти любой АРМ способен на ходу рендерить векторный шрифт, нужно только библиотечку откуда-нибудь выковырять, желательно не линуксовую... В общем, это всё уже сразу по 3-м причинам неактуально, но сам факт, что кейл смотрит на файл через 3-метровую щёлочку, настораживает. А вдруг, он ещё что-то делает через дырочку, а самое главное, вобще - через "странное отвестьице для маленьких жучков"?