Attempts at allowing unicode in imgui based widgets
Signed-off-by: falkTX <falktx@falktx.com>
This commit is contained in:
parent
b29c079266
commit
fde7b97fcc
1 changed files with 24 additions and 4 deletions
|
|
@ -122,15 +122,35 @@ struct ImGuiWidget::PrivateData {
|
||||||
{
|
{
|
||||||
#ifndef DGL_NO_SHARED_RESOURCES
|
#ifndef DGL_NO_SHARED_RESOURCES
|
||||||
using namespace dpf_resources;
|
using namespace dpf_resources;
|
||||||
static const ImWchar ranges[] = { 0x20, 0xFF, 0 }; /* FIXME unicode range not working.. */
|
|
||||||
ImFontConfig fc;
|
ImFontConfig fc;
|
||||||
fc.FontDataOwnedByAtlas = false;
|
fc.FontDataOwnedByAtlas = false;
|
||||||
fc.OversampleH = 1;
|
fc.OversampleH = 1;
|
||||||
fc.OversampleV = 1;
|
fc.OversampleV = 1;
|
||||||
fc.PixelSnapH = true;
|
fc.PixelSnapH = true;
|
||||||
io.Fonts->AddFontFromMemoryTTF((void*)dejavusans_ttf,
|
io.Fonts->AddFontFromMemoryTTF((void*)dejavusans_ttf, dejavusans_ttf_size, 13.0f * scaleFactor, &fc);
|
||||||
dejavusans_ttf_size,
|
|
||||||
13.0f * scaleFactor, &fc, ranges);
|
// extra fonts we can try loading for unicode support
|
||||||
|
static const char* extraFontPathsToTry[] = {
|
||||||
|
#if defined(ARCH_WIN)
|
||||||
|
// TODO
|
||||||
|
// "Meiryo.ttc",
|
||||||
|
#elif defined(ARCH_MAC)
|
||||||
|
// TODO
|
||||||
|
#elif defined(ARCH_LIN)
|
||||||
|
"/usr/share/fonts/opentype/noto/NotoSerifCJK-Regular.ttc",
|
||||||
|
#endif
|
||||||
|
};
|
||||||
|
|
||||||
|
fc.FontDataOwnedByAtlas = true;
|
||||||
|
fc.MergeMode = true;
|
||||||
|
|
||||||
|
for (size_t i=0; i<ARRAY_SIZE(extraFontPathsToTry); ++i)
|
||||||
|
{
|
||||||
|
if (rack::system::exists(extraFontPathsToTry[i]))
|
||||||
|
io.Fonts->AddFontFromFileTTF(extraFontPathsToTry[i], 13.0f * scaleFactor, &fc,
|
||||||
|
io.Fonts->GetGlyphRangesJapanese());
|
||||||
|
}
|
||||||
|
|
||||||
io.Fonts->Build();
|
io.Fonts->Build();
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue