Forráskód Böngészése

Replace editor font to NotoSans for Latin, Arabic, Hebrew, Thai

volzhs 8 éve
szülő
commit
a4a4f6dada

+ 5 - 0
COPYRIGHT.txt

@@ -145,6 +145,11 @@ Comment: DroidSans font
 Copyright: 2008, The Android Open Source Project
 License: Apache-2.0
 
+Files: ./thirdparty/fonts/NotoSans*.ttf
+Comment: Noto Sans font
+Copyright: 2012, Google Inc.
+License: OFL-1.1
+
 Files: ./thirdparty/fonts/source_code_pro.otf
 Comment: Source Code Pro font
 Copyright: 2010, 2012, Adobe Systems Incorporated

+ 39 - 39
editor/editor_fonts.cpp

@@ -65,52 +65,52 @@ static Ref<BitmapFont> make_font(int p_height, int p_ascent, int p_valign, int p
 	return font;
 }
 
-#define MAKE_FALLBACKS(m_name)               \
-	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);
-
-#define MAKE_DROID_SANS(m_name, m_size) \
-	Ref<DynamicFont> m_name;            \
-	m_name.instance();                  \
-	m_name->set_size(m_size);           \
-	m_name->set_font_data(DroidSans);   \
+#define MAKE_FALLBACKS(m_name)          \
+	m_name->add_fallback(FontArabic);   \
+	m_name->add_fallback(FontHebrew);   \
+	m_name->add_fallback(FontThai);     \
+	m_name->add_fallback(FontJapanese); \
+	m_name->add_fallback(FontFallback);
+
+#define MAKE_DEFAULT_FONT(m_name, m_size) \
+	Ref<DynamicFont> m_name;              \
+	m_name.instance();                    \
+	m_name->set_size(m_size);             \
+	m_name->set_font_data(DefaultFont);   \
 	MAKE_FALLBACKS(m_name);
 
 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> DefaultFont;
+	DefaultFont.instance();
+	DefaultFont->set_font_ptr(_font_NotoSansUI_Regular, _font_NotoSansUI_Regular_size);
+	DefaultFont->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> FontFallback;
+	FontFallback.instance();
+	FontFallback->set_font_ptr(_font_DroidSansFallback, _font_DroidSansFallback_size);
+	FontFallback->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> FontJapanese;
+	FontJapanese.instance();
+	FontJapanese->set_font_ptr(_font_DroidSansJapanese, _font_DroidSansJapanese_size);
+	FontJapanese->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> FontArabic;
+	FontArabic.instance();
+	FontArabic->set_font_ptr(_font_NotoNaskhArabicUI_Regular, _font_NotoNaskhArabicUI_Regular_size);
+	FontArabic->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> FontHebrew;
+	FontHebrew.instance();
+	FontHebrew->set_font_ptr(_font_NotoSansHebrew_Regular, _font_NotoSansHebrew_Regular_size);
+	FontHebrew->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?
+	Ref<DynamicFontData> FontThai;
+	FontThai.instance();
+	FontThai->set_font_ptr(_font_NotoSansThaiUI_Regular, _font_NotoSansThaiUI_Regular_size);
+	FontThai->set_force_autohinter(true); //just looks better..i think?
 
 	/* Source Code Pro */
 
@@ -119,7 +119,7 @@ void editor_register_fonts(Ref<Theme> p_theme) {
 	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);
+	MAKE_DEFAULT_FONT(df, int(EditorSettings::get_singleton()->get("interface/font_size")) * EDSCALE);
 
 	p_theme->set_default_theme_font(df);
 
@@ -127,9 +127,9 @@ void editor_register_fonts(Ref<Theme> p_theme) {
 	//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_DEFAULT_FONT(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);
+	MAKE_DEFAULT_FONT(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);

+ 10 - 2
thirdparty/README.md

@@ -51,9 +51,13 @@ Files extracted from upstream source:
 
 ## fonts
 
-- Upstream: ?
+### Noto Sans
 
-TODO.
+- Upstream: https://github.com/googlei18n/noto-fonts
+- Version: 1.06
+- License: OFL-1.1
+
+Use UI font if exists, because it has tight vertial metrix and good for UI.
 
 ### Adobe Source Code Pro Regular
 
@@ -61,6 +65,10 @@ TODO.
 - Version: 2.030
 - License: OFL-1.1
 
+### DroidSans*.ttf
+
+- Upstream: ?
+
 
 ## freetype
 

BIN
thirdparty/fonts/DroidSans.ttf


BIN
thirdparty/fonts/DroidSansArabic.ttf


BIN
thirdparty/fonts/DroidSansHebrew.ttf


+ 92 - 0
thirdparty/fonts/LICENSE.Noto.txt

@@ -0,0 +1,92 @@
+This Font Software is licensed under the SIL Open Font License,
+Version 1.1.
+
+This license is copied below, and is also available with a FAQ at:
+http://scripts.sil.org/OFL
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font
+creation efforts of academic and linguistic communities, and to
+provide a free and open framework in which fonts may be shared and
+improved in partnership with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded,
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply to
+any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software
+components as distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to,
+deleting, or substituting -- in part or in whole -- any of the
+components of the Original Version, by changing formats or by porting
+the Font Software to a new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed,
+modify, redistribute, and sell modified and unmodified copies of the
+Font Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components, in
+Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the
+corresponding Copyright Holder. This restriction only applies to the
+primary font name as presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created using
+the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.

BIN
thirdparty/fonts/NotoNaskhArabicUI_Regular.ttf


BIN
thirdparty/fonts/NotoSansHebrew_Regular.ttf


BIN
thirdparty/fonts/DroidSansThai.ttf → thirdparty/fonts/NotoSansThaiUI_Regular.ttf


BIN
thirdparty/fonts/NotoSansUI_Regular.ttf