MLKitDigitalInkRecognition 框架参考

DigitalInkRecognitionModelIdentifier

class DigitalInkRecognitionModelIdentifier : NSObject

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

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

    声明

    Swift

    var languageTag: String { get }
  • 语言子标签,即此识别模型的 2 个或 3 个字母的 ISO 639 语言代码,例如 "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(汉语,传统变体),此函数将返回 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 标准地区代码或 UN M.49 标准定义的数字代码,例如"DE"(德国)或 "002"(非洲)。

    返回值

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