Таблица содержит идентификаторы и данные шрифтов, используемых в документе. Формат данных следующий:
В блоке количество шрифтов встречается два раза подряд. Это не ошибка, а особенность сериализации данных 1С. Индексы шрифтов и сами шрифты хранятся в двух разных коллекциях. Эти коллекции сериализуются порознь и, соответственно, каждая записывает в файл количество элементов. Естественно, эти количества должны совпадать.
Каждый шрифт в документе идентифицируется некоторым числом. Именно это число указывается, например, в свойствах ячеек. Эти числовые номера и идут в первой части таблицы шрифтов. Соответствующие этим номерам шрифты идут в той же последовательности, что и сами номера. Например, если в 3-й позиции массива номеров стоит значение 26, то соответствующий шрифт будет в 3-позиции массива структур LOGFONTA. Данный шрифт в документе идентифицируется числом 26.
Шрифты должны быть отсортированы в порядке возрастания их числовых идентификаторов.
Из структуры LOGFONTA имеют значение только поля lfFaceName (имя) и lfCharSet (набор символов). Впрочем, если задать другим свойствам структуры некоторое осмысленное значение, то это может повлиять на используемый 1С шрифт. Например, если в поле lfQuality установить флаг CLEARTYPE_QUALITY, то это приведет к принудительному использованию сглаживания ClearType для данного шрифта. Вообще говоря, это делать нежелательно.