void make_default_theme(bool p_hidpi, Ref<Font> p_font) { Ref<Theme> t; t.instance(); Ref<StyleBox> default_style; Ref<Texture> default_icon; Ref<BitmapFont> default_font; if (p_font.is_valid()) { default_font = p_font; } else if (p_hidpi) { default_font = make_font2(_hidpi_font_height, _hidpi_font_ascent, _hidpi_font_charcount, &_hidpi_font_charrects[0][0], _hidpi_font_kerning_pair_count, &_hidpi_font_kerning_pairs[0][0], _hidpi_font_img_width, _hidpi_font_img_height, _hidpi_font_img_data); } else { default_font = make_font2(_lodpi_font_height, _lodpi_font_ascent, _lodpi_font_charcount, &_lodpi_font_charrects[0][0], _lodpi_font_kerning_pair_count, &_lodpi_font_kerning_pairs[0][0], _lodpi_font_img_width, _lodpi_font_img_height, _lodpi_font_img_data); } Ref<BitmapFont> large_font = default_font; fill_default_theme(t, default_font, large_font, default_icon, default_style, p_hidpi ? 2.0 : 1.0); Theme::set_default(t); Theme::set_default_icon(default_icon); Theme::set_default_style(default_style); Theme::set_default_font(default_font); }
void editor_register_fonts(Ref<Theme> p_theme) { /* Droid Sans */ Ref<DynamicFontData> DroidSans; DroidSans.instance(); DroidSans->set_font_ptr(_font_DroidSans, _font_DroidSans_size); DroidSans->set_force_autohinter(true); //just looks better..i think? Ref<DynamicFontData> DroidSansFallback; DroidSansFallback.instance(); DroidSansFallback->set_font_ptr(_font_DroidSansFallback, _font_DroidSansFallback_size); DroidSansFallback->set_force_autohinter(true); //just looks better..i think? Ref<DynamicFontData> DroidSansJapanese; DroidSansJapanese.instance(); DroidSansJapanese->set_font_ptr(_font_DroidSansJapanese, _font_DroidSansJapanese_size); DroidSansJapanese->set_force_autohinter(true); //just looks better..i think? Ref<DynamicFontData> DroidSansArabic; DroidSansArabic.instance(); DroidSansArabic->set_font_ptr(_font_DroidSansArabic, _font_DroidSansArabic_size); DroidSansArabic->set_force_autohinter(true); //just looks better..i think? Ref<DynamicFontData> DroidSansHebrew; DroidSansHebrew.instance(); DroidSansHebrew->set_font_ptr(_font_DroidSansHebrew, _font_DroidSansHebrew_size); DroidSansHebrew->set_force_autohinter(true); //just looks better..i think? Ref<DynamicFontData> DroidSansThai; DroidSansThai.instance(); DroidSansThai->set_font_ptr(_font_DroidSansThai, _font_DroidSansThai_size); DroidSansThai->set_force_autohinter(true); //just looks better..i think? /* Source Code Pro */ Ref<DynamicFontData> dfmono; dfmono.instance(); dfmono->set_font_ptr(_font_source_code_pro, _font_source_code_pro_size); //dfd->set_force_autohinter(true); //just looks better..i think? MAKE_DROID_SANS(df, int(EditorSettings::get_singleton()->get("interface/font_size")) * EDSCALE); p_theme->set_default_theme_font(df); //Ref<BitmapFont> doc_font = make_font(_bi_font_doc_font_height,_bi_font_doc_font_ascent,0,_bi_font_doc_font_charcount,_bi_font_doc_font_characters,p_theme->get_icon("DocFont","EditorIcons")); //Ref<BitmapFont> doc_title_font = make_font(_bi_font_doc_title_font_height,_bi_font_doc_title_font_ascent,0,_bi_font_doc_title_font_charcount,_bi_font_doc_title_font_characters,p_theme->get_icon("DocTitleFont","EditorIcons")); //Ref<BitmapFont> doc_code_font = make_font(_bi_font_doc_code_font_height,_bi_font_doc_code_font_ascent,0,_bi_font_doc_code_font_charcount,_bi_font_doc_code_font_characters,p_theme->get_icon("DocCodeFont","EditorIcons")); MAKE_DROID_SANS(df_title, int(EDITOR_DEF("text_editor/help/help_title_font_size", 18)) * EDSCALE); MAKE_DROID_SANS(df_doc, int(EDITOR_DEF("text_editor/help/help_font_size", 16)) * EDSCALE); p_theme->set_font("doc", "EditorFonts", df_doc); p_theme->set_font("doc_title", "EditorFonts", df_title); Ref<DynamicFont> df_code; df_code.instance(); df_code->set_size(int(EditorSettings::get_singleton()->get("interface/source_font_size")) * EDSCALE); df_code->set_font_data(dfmono); MAKE_FALLBACKS(df_code); p_theme->set_font("source", "EditorFonts", df_code); Ref<DynamicFont> df_doc_code; df_doc_code.instance(); df_doc_code->set_size(int(EDITOR_DEF("text_editor/help/help_source_font_size", 14)) * EDSCALE); df_doc_code->set_font_data(dfmono); MAKE_FALLBACKS(df_doc_code); p_theme->set_font("doc_source", "EditorFonts", df_doc_code); //replace default theme Ref<Texture> di; Ref<StyleBox> ds; fill_default_theme(p_theme, df, df_doc, di, ds, EDSCALE); }