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

Разработайте решение в соответствии с тем, что вы хотите ...

Из класса, на который он вызван ...

получит две вещи, которые getResource / getResourceAsStream()
  1. Загрузитель класса
  2. Исходное местоположение

Итак, если вы сделаете

this.getClass().getResource("foo.txt");

, он попытается загрузить foo .txt из того же пакета, что и этот «класс», и с загрузчиком классов этого «класса». Если вы положили «/» спереди, вы абсолютно ссылаетесь на ресурс.

this.getClass().getResource("/x/y/z/foo.txt")

загрузит ресурс из загрузчика классов «this» и из пакета xyz (он должен быть в том же каталоге, что и классы в этом пакете).

Thread.currentThread().getContextClassLoader().getResource(name)

загружается загрузчиком контекстного класса, но не будет разрешать имя в соответствии с каким-либо пакетом (он должен быть абсолютно привязан)

System.class.getResource(name)

Будет загружен ресурс загрузчиком системного класса (он также должен быть абсолютно привязан, так как вы не сможете поместить что-либо в пакет java.lang (пакет System).

Просто взгляните на источник. Также указывает, что getResourceAsStream просто вызывает «openStream» по URL-адресу, возвращенному из getResource, и возвращает это.

0
задан JAng 21 January 2019 в 10:17
поделиться

1 ответ

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

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

0
ответ дан JAng 21 January 2019 в 10:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: