Unicode Codepoint为long?

时间:2015-10-18 16:03:11

标签: unicode

我正在使用一个库,要求我将Unicode代码点应用为long。 我正在使用C ++。

我不确定我是否正确行事。我已经看过这个论坛和谷歌,我只是无法理解答案。没有什么能直接回答这个问题。

在我的代码中,我使用一个函数从包含字体度量的对象中获取字形ID。

例如

int FontMetrics->GetGlyphID(long unicode_codepoint).

理论上我应该可以做这样的事情。只是一个简单的静态演员。但是我的函数返回零,因为我正确地应用了unicode代码点。我只是不确定如何。我的示例下面是正确的还是有另一种正确的方法吗?我正在使用C ++而不是C。

char my_character = 'a';

int GlyphID = FontMetrics->GetGlyphID( (long)my_character) )

1 个答案:

答案 0 :(得分:1)

您正确地转换为unicode long(至少对于ASCII)。如果我们查看PoDoFo的API,我们看到的是:

  

虚拟长PoDoFo :: PdfFontMetrics :: GetGlyphId(长     lUnicode)const

     

获取当前字体中的unicode字符的字形ID。

     

参数lUnicode:unicode字符值

     

返回:字符的glyhph(sic)id,如果找不到字形,则返回0。

所以我最好的猜测是你没有正确设置当前的字体。为什么不向我们提供无效的代码的最小,完整和可验证的示例