获取字体中的所有可用字符

2023-12-24

我正在使用 Swift 3 开发 iOS 应用程序。 在此应用程序中,我列出了所有可用的字体(系统提供),但我也想列出它们的所有可用字符。

例如,我正在使用 Font Awesome,我希望用户能够从列表中选择任何字符/符号。我怎样才能做到这一点?

这就是我获取字体数组的方法。如何获取所选字体的所有字符的数组?

UIFont.familyNames.map({ UIFont.fontNames(forFamilyName: $0)}).reduce([]) { $0 + $1 }

对于每个 UIFont,您必须获取该字体的字符集。例如,我首先采用 UIFont。

let firsttFont = UIFont.familyNames.first

let first = UIFont(name: firsttFont!, size: 14)
let fontDescriptor = first!.fontDescriptor
let characterSet : NSCharacterSet = fontDescriptor.object(forKey: UIFontDescriptorCharacterSetAttribute) as! NSCharacterSet

然后,使用此扩展获取该 NSCharacterSet 的所有字符:

extension NSCharacterSet {
    var characters:[String] {
        var chars = [String]()
        for plane:UInt8 in 0...16 {
            if self.hasMemberInPlane(plane) {
                let p0 = UInt32(plane) << 16
                let p1 = (UInt32(plane) + 1) << 16
                for c:UTF32Char in p0..<p1 {
                    if self.longCharacterIsMember(c) {
                        var c1 = c.littleEndian
                        let s = NSString(bytes: &c1, length: 4, encoding: String.Encoding.utf32LittleEndian.rawValue)!
                        chars.append(String(s))
                    }
                }
            }
        }
        return chars
    }
}

(Ref: NSArray 来自 NSCharacterset https://stackoverflow.com/questions/15741631/nsarray-from-nscharacterset/15742659#15742659)

所以,最后,只需调用characterSet.characters获取所有字符(字符串中)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

获取字体中的所有可用字符 的相关文章

  • 是否可以将 Swifts 自动数值桥接复制到 (U)Int8/16/32/64 类型的 Foundation (NSNumber)?

    Question 是否可以将 Swifts 数值桥接复制到 Foundation sNSNumber参考类型 例如Int32 UInt32 Int64 and UInt64类型 具体来说 复制下面介绍的自动按分配桥接 这种解决方案的预期用法
  • 使用 UItableviewCell 实现 Google 地图

    我正在尝试在 UItableviewCell 组件内实现谷歌地图 我这样做的方法是在原型单元中定义 GMSMapView 然后使用 dequeueReusableCell 方法配置地图单元 但是 我尝试应用的任何更改都会失败 例如添加标记
  • 从xcode上触摸屏的坐标获取ImageView的像素数据?

    单击视图并从视图内的图像获取正确的像素数据似乎存在问题 func handleTap gestureRecognizer UIGestureRecognizer print You tapped at gestureRecognizer l
  • 如何对来自 WebView 的changeAttributes: delegate pass-through做出有意义的反应?

    WebView支持 通过WebEditingDelegate 一种让委托实现各种操作的自定义行为的机制WebView 或私人WebHTMLView 收到 当执行诸如以下操作时 void changeAttributes id sender
  • 如何从 ContentView 外部显示 SwiftUI 警报?

    我正在构建 Swift 应用程序 并试图找出如何显示警报 我有一个单独的 swift 文件正在执行一些计算 并且在某些条件下我希望它向用户显示警报 基本上告诉他们出了问题 然而 我见过的大多数例子都要求警报在ContentView或以其他方
  • 如何在 Swift 中从 UIColor 获取 RGB 代码(INT)[重复]

    这个问题在这里已经有答案了 我想在 Swift 中获取 UIColor 的 RGB 值 let swiftColor UIColor red 1 green 165 255 blue 0 alpha 1 println RGB Value
  • UIViewControllerAnimatedTransitioning:旋转更改后黑屏片段

    我已经创建了一个视图控制器转换 只要我不更改设备方向 一切都正常 图 1 显示了应有的屏幕 然后我切换到下一个视图控制器 在其中更改方向 现在我回到第一个视图控制器并再次切换方向 然后我得到的结果如图 2 所示 出现黑色边框 请不要介意屏幕
  • Swift - 元类型 .Type 和 .self 之间有什么区别?

    元类型有什么区别 Type and self在斯威夫特 Do self and Type返回一个struct 我明白那个 self可以用来检查dynamicType 你如何使用 Type 首先也是最重要的是查看 Apple 文档type o
  • 如何在button.addTarget操作中发送多个按钮?斯威夫特3

    如何将button和button2发送到我的pressButton2函数中 当用户触摸按钮2时 我需要更改按钮和按钮2的颜色 当我的 button2 addTarget 看起来像这样时 我收到错误 表达式列表中存在预期表达式 import
  • 根据一个数组对多个数组进行排序

    如何根据数组对一堆数组进行排序createdAt 例如 2015 11 02 19 19 35 0000 将它们组合成另一种类型 字典 以便在 tableView 中使用是否有益 如果有的话如何 var comment AnyObject
  • 在 SWIFT 中发送本地通知

    我将此代码添加到我的第一个 ViewController 中 Step 1 Ask permission from User let center UNUserNotificationCenter current center reques
  • 如何在 Swift 中“生成”闭包类型别名?

    为了使我的代码更易于阅读 我在 Swift 中对各种类型的闭包使用类型别名 我有以下基本的闭包集 public typealias FailureClosure error NSError gt Void public typealias
  • 有没有好的Python库可以生成和渲染图像格式的文本?

    我正在开发一个类似 CMS 的应用程序 用户应该能够按照他想要的方式创建菜单 理想情况下 每个菜单对象不是带有背景的文本 而是文本的图像 我设想通过以下两种方式之一 a 通过在一个 多个图像文件中渲染字体 并使用每个字母和给定单词的脚本 可
  • SwiftUI DisclosureGroup 单独展开每个部分

    我正在使用 Foreach 和 DisclosureGroup 来显示数据 每个部分都可以展开 折叠 然而 它们都在同时扩展 折叠 如何单独展开 折叠每个部分 struct TasksTabView View State private v
  • iOS 应用程序测试。应用程序安装失败。找不到代码签名[关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我尝试在多个 iOS 设备上安装我的应用程序 但这件事不让我这么做 我想知道 问题是什么以及我应该如何解决它 就我而言
  • WKWebView 截图

    我正在尝试捕获网络视图向用户显示的图像 以便我可以对网页进行一些颜色分析 当我尝试从其父级获取图像时 即使页面已呈现 我基本上也会得到一个白框 func makeImageSnapshot gt NSImage let imgSize se
  • iOS9 Sprite 套件问题

    一切都很顺利 直到我升级到 xCode 7 和 iOS 9 我当前的项目是一个 2D 平台游戏 自从升级以来 我就陷入了我们许多人似乎都面临的精灵套件错误 错误的困扰 我的问题是 每次游戏在模拟器或设备上运行时 所有精灵的 zPositio
  • 以编程方式更改自动布局约束后视图未更新

    事先我必须说 我实际上得到了我想要的可见效果 但不是以令人满意的方式 因为现在需要 打破 约束而不是正确更新 我有一个 ViewController 其中包含一个 UITableView 那个的高度tableView可以从 0 不可见 到它
  • watchOS 2 上的最大内存使用量?

    我没有找到任何有关 watchOS 2 中应用程序可用内存使用的信息 我目前正在为 watchOS 开发一个应用程序 并且在手表端使用 Core Data 当我将 189 个对象中的 166 个加载到数组时 应用程序崩溃 此时的内存使用量为
  • 在启动屏幕中执行代码已更新

    在原始启动屏幕中执行代码 https stackoverflow com questions 27642016 execute code in launch screen 现在默认的LaunchScreenXcode 项目中的文件已更改为

随机推荐