Список установленных шрифтов - PullRequest
1 голос
/ 19 сентября 2019

Я работаю над приложением, в котором пользователь может устанавливать различные пользовательские шрифты.Приложение представляет пользователю список шрифтов, которые он может установить.(3 случайных шрифта предоставлены для этого примера)

enter image description here

Шрифты загружаются, когда пользователь открывает приложение, и шрифты динамически загружаются с помощью этой функции.,Пользовательские шрифты не добавляются в список info.plist.

func install_font(font_path : String) -> Bool
{
    let font_data = try! Data(contentsOf: URL(fileURLWithPath: font_path))

    if let provider = CGDataProvider.init(data: font_data as CFData)
    {
        var error: Unmanaged<CFError>?

        let font:CGFont = CGFont(provider)!

        if (!CTFontManagerRegisterGraphicsFont(font, &error))
        {
            print(error.debugDescription)
            return false
        }
        else
        {
            return true
        }
    }

    return false
}

До сих пор я использовал эту функцию, но при этом отображаются все шрифты: установленные и динамически загруженные.

func show_all_fonts()
{
    UIFont.familyNames.forEach({ familyName in
        let fontNames = UIFont.fontNames(forFamilyName: familyName)
        print(familyName, fontNames)
    })
}

Есть ли способ отобразить только установленные шрифты?Мне нужен метод, чтобы отличить установленные шрифты от динамически загружаемых шрифтов, чтобы я мог поставить галочку в ячейке таблицы для установленных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...