HarfBuzz language_from_string Python 内省方法不接受 str
HarfBuzz language_from_string Python introspection method doesn't accept str
我刚刚开始使用 HarfBuzz,并已切换到使用 GObject Introspection interface to explore its API. Everything has been easy so far, but I'm a bit confused with language_from_string
,它具有以下文档字符串:
language_from_string(str:list) -> HarfBuzz.language_t
即在 IPython 中,我做:
from gi.repository import HarfBuzz
?HarfBuzz.language_from_string
在原版 Python 中,您可以将最后一行替换为:print(HarfBuzz.language_from_string.__doc__)
(或类似的)
如果我用字符串调用这个方法,例如:
HarfBuzz.language_from_string('en')
我明白了
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: Item 0: Must be number, not str
返回,而如果我先转换为代码点列表:
en = HarfBuzz.language_from_string(list(map(ord, 'en')))
错误消失了,我得到了一些有用的东西。例如我能做到:
HarfBuzz.language_to_string(en)
我得到了预期的 en
,在一个字符串中。
HarfBuzz Issue #91 与此方法有关,但似乎不相关。
你必须在 python3 中像 HarfBuzz.language_from_string(b'en')
(字符串但以 b 为前缀)那样调用它,因为与 py2 不同,在 py3 中字符串不再只是字节序列。
您知道任何 gi API 可以在 python3 中获得字符串的实际 python 表示吗?如果是这样,请告诉我,否则这是 HarfBuzz 方面的预期。
我刚刚开始使用 HarfBuzz,并已切换到使用 GObject Introspection interface to explore its API. Everything has been easy so far, but I'm a bit confused with language_from_string
,它具有以下文档字符串:
language_from_string(str:list) -> HarfBuzz.language_t
即在 IPython 中,我做:
from gi.repository import HarfBuzz
?HarfBuzz.language_from_string
在原版 Python 中,您可以将最后一行替换为:print(HarfBuzz.language_from_string.__doc__)
(或类似的)
如果我用字符串调用这个方法,例如:
HarfBuzz.language_from_string('en')
我明白了
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: Item 0: Must be number, not str
返回,而如果我先转换为代码点列表:
en = HarfBuzz.language_from_string(list(map(ord, 'en')))
错误消失了,我得到了一些有用的东西。例如我能做到:
HarfBuzz.language_to_string(en)
我得到了预期的 en
,在一个字符串中。
HarfBuzz Issue #91 与此方法有关,但似乎不相关。
你必须在 python3 中像 HarfBuzz.language_from_string(b'en')
(字符串但以 b 为前缀)那样调用它,因为与 py2 不同,在 py3 中字符串不再只是字节序列。
您知道任何 gi API 可以在 python3 中获得字符串的实际 python 表示吗?如果是这样,请告诉我,否则这是 HarfBuzz 方面的预期。