Решена. Для моих целей подходит взятие GetFontData для всего файла (тэг таблицы 0), и затем использование полученной информации как простого файла шрифта.
Выяснилась одна особенность, когда GetFontData получает шрифт из коллекции ttc, она просто обрезает первые несколько байтов, что приводит к ошибочности всех смещений внутри файла, ибо они отсчитываются от начала файла. Т.е. что бы это исправить нужно прочитать кол-во таблиц и в каждой из таблиц уменьшить смещение на разность размеров файлов (размер файла ttc можно получить передав в качестве тэга таблицы "ttcf" или 0x66637474). Документация по этим таблицам лежит тут
http://www.microsoft.com/typography/otspec/otff.htm#otttables