c - 在 libharu 中使用 utf-8 时必须嵌入字体吗?
问题描述
是的,我还要问另一个问题。我只想用俄语文本生成一个 pdf,我发现 libharu-RELEASE_2_3_0 可以帮助我。通过代码:
HPDF_UseUTFEncodings(pdf);
HPDF_SetCurrentEncoder(pdf,"UTF-8");
detail_font_name = HPDF_LoadTTFontFromFile (pdf, "ttfont/arial.ttf", HPDF_TRUE);
/* add a new page object. */
page = HPDF_AddPage (pdf);
detail_font = HPDF_GetFont (pdf, detail_font_name, "UTF-8");
HPDF_Page_BeginText (page);
/* move the position of the text to top of the page. */
HPDF_Page_MoveTextPos(page, 10, 280);
HPDF_Page_SetFontAndSize (page, detail_font, 16);
HPDF_Page_MoveTextPos (page, 0, -20);
HPDF_Page_ShowText (page, "Об были вероломно программном чем");
它对我有用,但它将字体嵌入到pdf中。所以pdf尺寸太大,我想知道如何在不嵌入字体的情况下生成pdf。
如果我不能使用 utf-8 ,我怎样才能获得带有俄文文本的 pdf。这里有俄罗斯朋友吗?
这是同样的问题,但 在 libharu 中没有得到答案 utf8:嵌入字体真的有必要吗?
解决方案
“我想知道如何在不嵌入字体的情况下生成pdf。”
detail_font_name = HPDF_LoadTTFontFromFile (pdf, "ttfont/arial.ttf", HPDF_FALSE);
而已。
如果您不想使用 UTF8,那么您应该知道文本的编码,例如,如果您在源代码中硬编码,Visual Studio 很可能会将它们编码为 UTF8,那么您必须使用 UTF-8 .
如果动态加载文本,则应为文本指定正确的编码名称。
推荐阅读
- python-3.x - Python:唯一加权随机值
- ios - 合并:在 func 中将一个发布者转换为另一个发布者
- ios - 如何添加注释以从另一个视图控制器映射
- javascript - 使用 Javascript 中的多个 Promise 更新通用的全局数据结构
- git - 通过公司网络中的 git@github.com:xxx/yyy.git 进行 git 克隆
- c# - Firebase 在移动设备上登录失败
- android - 检测到盗版 Android 应用程序中添加的库?
- c++ - 浮点运算何时“无效”?
- vue.js - 将 .env 变量导入 Vuetify variables.scss
- r - 在箱线图中实现定义的值