我的问题似乎太简单了,但是我搜索并阅读了很多代码都没有成功。
我如何使用 MuPDF 可用的字体(非内置字体)以使用该字体呈现 EPUB 文档?
我尝试按以下方式加载我的字体但没有成功:
// just after creating fz_context...
// registering my custom system font installation function
fz_install_load_system_font_funcs(m_ctx, [](fz_context *ctx, const char *name, int bold, int italic, int needs_exact_metrics) -> fz_font* {
reinterpret_cast<const unsigned char*>(ba.constData()), ba.length(), 0, 0);
fz_font *f = nullptr;
fz_try(ctx)
{
// ignore any argument just for test...
f = fz_new_font_from_file(ctx, "Ubuntu", "/Users/seyedmahdimousavi/Library/Fonts/Ubuntu-R.ttf", 0, 0);
//f = fz_new_font_from_file(ctx, nullptr, "/Users/seyedmahdimousavi/Library/Fonts/Ubuntu-R.ttf", 0, 1);
} fz_catch(ctx) {
return NULL;
}
return f;
}, nullptr, nullptr);
// call it
fz_font *ff = fz_load_system_font(m_ctx, "Ubuntu", 0, 0, 0);
我为 epub 文档应用了以下样式:
* {font-family: "default", "Ubuntu" ! important; }
通过以下电话:
fz_try(m_ctx)
{
fz_set_user_css(m_ctx, myCssText);
}
fz_catch(m_ctx)
{
//...
}
非常感谢
您可以在用户 CSS 中使用@font-face 声明来为 EPUB 引擎定义和加载自定义字体。