MLKitDigitalInkRecognition 框架参考

DigitalInkRecognitionModelIdentifier

class DigitalInkRecognitionModelIdentifier : NSObject

表示特定于语言、脚本和(可选)地区变体的数字墨水识别模型。

  • 此模型的 BCP 47 合规语言标记。

    声明

    Swift

    var languageTag: String { get }
  • 语言子标记,即此识别模型的 ISO 639 语言代码(由 2 个或 3 个字母组成),例如 "en" 表示英语。

    声明

    Swift

    var languageSubtag: String { get }
  • 文字子标记,即此识别模型中使用的脚本的四字母 ISO 15924 标准代码,例如 "Latn" 表示拉丁字母,"Arab" 表示阿拉伯文字。

    声明

    Swift

    var scriptSubtag: String? { get }
  • 地区子标记,即两个字母的 ISO 3166-1 Alpha 2 标准地区代码或由 UN M.49 标准定义的一组数字代码,例如 "DE" 表示德国,"002" 表示非洲。

    声明

    Swift

    var regionSubtag: String? { get }
  • 请改用 from(languageTag:)

  • 返回与以 BCP 47 格式的 languageTag 编码的语言、脚本(如有)和区域(如有)最匹配的模型标识符。

    系统会尽可能匹配,也就是说,它使用以下启发法返回与提供的 languageTag 最匹配的模型标识符:

  • 如果找不到所请求语言子标记的模型标识符,但后者是受支持的宏语言的一部分,则与该宏语言进行匹配,例如,"arb"(标准阿拉伯语)将匹配 "ar"(阿拉伯语)。

  • 如果未提供脚本,并且没有为请求的语言子标记隐式任何脚本,则与任何脚本匹配。

  • 如果提供或隐式脚本子标记是受支持脚本的子集,也应匹配后者,例如 "zh-Hant"(中文、繁体中文)将匹配 "zh-Hani"(中文、汉语)。

  • 如果未指定地区子标记,则针对任何地区进行匹配,首选同样未指定地区的模型标识符,例如 "ro"(罗马尼亚语)将匹配 "ro-RO"(罗马尼亚语、罗马尼亚)。

  • 如果指定了地区子标记但无法匹配,则匹配包含指定地区的区域,例如 "fr-DZ"(法语、阿尔及利亚)将与 "fr-002"(法语、非洲)匹配。

    如果找不到模型标识符,则返回 nil

  • 声明

    Swift

    class func from(languageTag: String) throws -> DigitalInkRecognitionModelIdentifier

    参数

    languageTag

    表示所请求语言的 IETF BCP 47 语言标记。

    error

    可选的错误消息对象,如果无法解析 languageTag,系统将填充此字段。

    返回值

    与所提供的语言标记完全匹配的模型标识符,或最佳匹配,如果未找到适当的模型标识符,则为 nil。如果无法解析语言标记,则也应设置为 nil

  • 返回与指定 languageTag 完全匹配的模型标识符。

    from(LanguageTag:) 的不同之处在于,它不会尝试解析 languageTag(因此不会生成错误),并且只会返回与 languageTag 完全匹配的模型标识符(如果存在)。

    声明

    Swift

    /*not inherited*/ init?(forLanguageTag languageTag: String)

    参数

    languageTag

    所请求模型标识符的 IETF BCP 47 语言标记。

    返回值

    与提供的 languageTag 完全匹配的 DigitalInkRecognitionModelIdentifier,如果未找到,则为 nil

  • 返回所有可用模型标识符的集合。

    声明

    Swift

    class func allModelIdentifiers() -> Set<DigitalInkRecognitionModelIdentifier>
  • 返回支持指定语言子标记的模型标识符集。

    例如,对于 "en",这将返回一组包含 enUs(英语,美国)、enUk(英语,英国)、enKe(英语、肯尼亚)等的模型标识符。

    如果找不到支持语言子标记的模型标识符,则返回空集。

    声明

    Swift

    class func modelIdentifiers(forLanguageSubtag languageSubtag: String) -> Set<DigitalInkRecognitionModelIdentifier>

    参数

    languageSubtag

    由 2 个或 3 个字母组成的 ISO 639 语言代码,例如 "en" 表示英语。

    返回值

    支持所提供的 languageSubtag 的一组模型标识符可以为空。

  • 返回支持指定脚本子标记的模型标识符集。

    例如,对于 "Latn",这将返回一组包含 enUs(英语、美国)、frFr(法语、法国)、guLatn(古吉拉特语、拉丁字母)等的模型标识符。

    此函数还会返回支持给定脚本子标记超集的模型标识符,例如,对于 Hant(Han,传统变体),此函数将返回 zh-Hani 识别模型,因为 HantHani(Han,传统变体和简体变体)的子集。

    如果找不到支持脚本子标记的模型标识符,则返回空集。

    声明

    Swift

    class func modelIdentifiers(forScriptSubtag scriptSubtag: String) -> Set<DigitalInkRecognitionModelIdentifier>

    参数

    scriptSubtag

    四个字母的 ISO 15924 标准代码,例如 "Latn" 表示拉丁字母,"Arab" 表示阿拉伯文字。

    返回值

    支持所提供的 scriptSubtag 的一组模型标识符可以为空。

  • 返回特定于指定区域子标记的模型标识符集。

    例如,对于 "CH",这将返回一组包含 deCh(德语,瑞士)、frCh(法语、瑞士)、itCh(意大利语,瑞士)和 rmCh(罗马什语,瑞士)的模型标识符。

    此函数还会返回特定于包含指定区域子标记或包含指定区域子标记的区域的模型标识符,例如,搜索 DZ(阿尔及利亚)将生成包含 fr-002(法语、非洲)识别模型的结果,反之亦然。

    如果找不到支持区域子标记的模型标识符,则返回空集。

    声明

    Swift

    class func modelIdentifiers(forRegionSubtag regionSubtag: String) -> Set<DigitalInkRecognitionModelIdentifier>

    参数

    regionSubtag

    两个字母的 ISO 3166-1 Alpha 2 标准区域代码或联合国 M.49 标准定义的一个数字代码,例如 "DE" 表示德国,"002" 表示非洲。

    返回值

    一组特定于所提供的 regionSubtag 的模型标识符可以为空。