From 0eb6c644b282440d3e83aaa4db6db2c48be46f8c Mon Sep 17 00:00:00 2001 From: Juan Linietsky Date: Mon, 30 May 2016 19:41:32 -0300 Subject: changed font system to use fallbacks this way more than 64k characters can be used --- tools/editor/editor_fonts.cpp | 68 +++++++++++++++++++++++-------- tools/editor_fonts/DroidSans.ttf | Bin 0 -> 190044 bytes tools/editor_fonts/DroidSansArabic.ttf | Bin 0 -> 35908 bytes tools/editor_fonts/DroidSansFallback.ttf | Bin 0 -> 3640264 bytes tools/editor_fonts/DroidSansHebrew.ttf | Bin 0 -> 23076 bytes tools/editor_fonts/DroidSansJapanese.ttf | Bin 0 -> 1173140 bytes tools/editor_fonts/DroidSansThai.ttf | Bin 0 -> 36028 bytes tools/editor_fonts/droid_sans.ttf | Bin 6314324 -> 0 bytes 8 files changed, 51 insertions(+), 17 deletions(-) create mode 100644 tools/editor_fonts/DroidSans.ttf create mode 100644 tools/editor_fonts/DroidSansArabic.ttf create mode 100644 tools/editor_fonts/DroidSansFallback.ttf create mode 100644 tools/editor_fonts/DroidSansHebrew.ttf create mode 100644 tools/editor_fonts/DroidSansJapanese.ttf create mode 100644 tools/editor_fonts/DroidSansThai.ttf delete mode 100644 tools/editor_fonts/droid_sans.ttf (limited to 'tools') diff --git a/tools/editor/editor_fonts.cpp b/tools/editor/editor_fonts.cpp index e04dce294a..9bc24e6ca8 100644 --- a/tools/editor/editor_fonts.cpp +++ b/tools/editor/editor_fonts.cpp @@ -65,23 +65,62 @@ static Ref make_font(int p_height,int p_ascent, int p_valign, int p_ } + +#define MAKE_DROID_SANS(m_name,m_size) \ + Ref m_name;\ + m_name.instance();\ + m_name->set_size(m_size);\ + m_name->set_font_data(DroidSans);\ + m_name->add_fallback(DroidSansFallback);\ + m_name->add_fallback(DroidSansJapanese);\ + m_name->add_fallback(DroidSansArabic);\ + m_name->add_fallback(DroidSansHebrew);\ + m_name->add_fallback(DroidSansThai); + + + void editor_register_fonts(Ref p_theme) { - Ref dfd; - dfd.instance(); - dfd->set_font_ptr(_font_droid_sans,_font_droid_sans_size); - dfd->set_force_autohinter(true); //just looks better..i think? + /* Droid Sans */ + + Ref DroidSans; + DroidSans.instance(); + DroidSans->set_font_ptr(_font_DroidSans,_font_DroidSans_size); + DroidSans->set_force_autohinter(true); //just looks better..i think? + + Ref DroidSansFallback; + DroidSansFallback.instance(); + DroidSansFallback->set_font_ptr(_font_DroidSansFallback,_font_DroidSansFallback_size); + DroidSansFallback->set_force_autohinter(true); //just looks better..i think? + + Ref DroidSansJapanese; + DroidSansJapanese.instance(); + DroidSansJapanese->set_font_ptr(_font_DroidSansJapanese,_font_DroidSansJapanese_size); + DroidSansJapanese->set_force_autohinter(true); //just looks better..i think? + + Ref DroidSansArabic; + DroidSansArabic.instance(); + DroidSansArabic->set_font_ptr(_font_DroidSansArabic,_font_DroidSansArabic_size); + DroidSansArabic->set_force_autohinter(true); //just looks better..i think? + + Ref DroidSansHebrew; + DroidSansHebrew.instance(); + DroidSansHebrew->set_font_ptr(_font_DroidSansHebrew,_font_DroidSansHebrew_size); + DroidSansHebrew->set_force_autohinter(true); //just looks better..i think? + + Ref 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 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? - Ref df; - df.instance(); - df->set_size(int(EditorSettings::get_singleton()->get("global/font_size"))); - df->set_font_data(dfd); - + MAKE_DROID_SANS(df,int(EditorSettings::get_singleton()->get("global/font_size"))); p_theme->set_default_theme_font(df); @@ -89,15 +128,10 @@ void editor_register_fonts(Ref p_theme) { // Ref 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 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")); - Ref df_title; - df_title.instance(); - df_title->set_size(int(EDITOR_DEF("help/help_title_font_size",18))); - df_title->set_font_data(dfd); + MAKE_DROID_SANS(df_title,int(EDITOR_DEF("help/help_title_font_size",18))); + + MAKE_DROID_SANS(df_doc,int(EDITOR_DEF("help/help_font_size",16))); - Ref df_doc; - df_doc.instance(); - df_doc->set_size(int(EDITOR_DEF("help/help_font_size",16))); - df_doc->set_font_data(dfd); p_theme->set_font("doc","EditorFonts",df_doc); p_theme->set_font("doc_title","EditorFonts",df_title); diff --git a/tools/editor_fonts/DroidSans.ttf b/tools/editor_fonts/DroidSans.ttf new file mode 100644 index 0000000000..767c63ad00 Binary files /dev/null and b/tools/editor_fonts/DroidSans.ttf differ diff --git a/tools/editor_fonts/DroidSansArabic.ttf b/tools/editor_fonts/DroidSansArabic.ttf new file mode 100644 index 0000000000..660e2a9916 Binary files /dev/null and b/tools/editor_fonts/DroidSansArabic.ttf differ diff --git a/tools/editor_fonts/DroidSansFallback.ttf b/tools/editor_fonts/DroidSansFallback.ttf new file mode 100644 index 0000000000..206621fc6c Binary files /dev/null and b/tools/editor_fonts/DroidSansFallback.ttf differ diff --git a/tools/editor_fonts/DroidSansHebrew.ttf b/tools/editor_fonts/DroidSansHebrew.ttf new file mode 100644 index 0000000000..8d77e3e4cf Binary files /dev/null and b/tools/editor_fonts/DroidSansHebrew.ttf differ diff --git a/tools/editor_fonts/DroidSansJapanese.ttf b/tools/editor_fonts/DroidSansJapanese.ttf new file mode 100644 index 0000000000..412fa3de05 Binary files /dev/null and b/tools/editor_fonts/DroidSansJapanese.ttf differ diff --git a/tools/editor_fonts/DroidSansThai.ttf b/tools/editor_fonts/DroidSansThai.ttf new file mode 100644 index 0000000000..f849baeff9 Binary files /dev/null and b/tools/editor_fonts/DroidSansThai.ttf differ diff --git a/tools/editor_fonts/droid_sans.ttf b/tools/editor_fonts/droid_sans.ttf deleted file mode 100644 index a117feac85..0000000000 Binary files a/tools/editor_fonts/droid_sans.ttf and /dev/null differ -- cgit v1.2.3