Как я могу получить доступ к файлу шрифта .suit в Lua / MacOS с помощью io.open? .ttf / .otf работает нормально, костюм не - PullRequest
0 голосов
/ 18 января 2019

Я конвертирую программу чтения шрифтов .ttf / .otf в Lua 5.2 из Windows в MacOS, а также хочу добавить поддержку файлов шрифтов .suit, которые включают шрифты ttf.

Обычные файлы .ttf / .otf теперь работают нормально, но чтение файла .suit уже не работает.

Есть идеи, как читать байты шрифта .suit в MacOS? Связано ли это с псевдонимом имени файла?

local input = assert(io.open("/Library/Fonts/Tahoma.ttf", "rb"))
local data=input:read("*all")
print(string.byte(data,1)) --prints the correct value 0
io.close(input)

local input = assert(io.open("/Library/Fonts/Maestro.suit", "rb"))
local data=input:read("*all")
print(string.byte(data,1))  --prints nothing
io.close(input)  

Верхняя часть (Tahoma) печатает правильное значение первого байта 0, в то время как нижняя часть ничего не печатает, хотя я бы ожидал значение 0.

Когда я использую string.len (data), он показывает правильное значение для Tahoma, но 0 для Maestro, хотя это должно быть что-то вроде 46k.

1 Ответ

0 голосов
/ 21 января 2019

См. https://apple.stackexchange.com/questions/8455 .suit - это не папка, но ее можно адресовать как папку. Чтобы открыть часть шрифта в файле .suit, используйте:

local file = io.open ("/ Library / Fonts / Maestro.suit / .. namedfork / rsrc", "rb")

...