commit | 360d891bba8f2f7c78e7ab16d29033f5845cb6dc | [log] [tgz] |
---|---|---|
author | Jungshik Shin <jshin@chromium.org> | Thu Mar 24 13:58:16 2016 -0700 |
committer | Jungshik Shin <jshin@chromium.org> | Thu Mar 24 14:05:44 2016 -0700 |
tree | 0176626937b5871d456666b90db0b617b48b4d98 | |
parent | fabbcfdb803fa2e60de02a71d85d727cfa7172a9 [diff] |
Hot fix for #510: Primes need to be angled. Transplan glyphs for U+203[2-4] (prime, double prime and triple prime) from NotoSerif* v3 to NotoSerif v2. v3 has upem of 1000, while v2 has upem of 2048. So, before transplating glyphs, the glyphs for three characters are scaled up by a factor of 2048/1000. In addition, htmx table was also updated (lsb and width). The following script was used to transplant glyphs and bump up the version number to 1.07 from 1.06. Note that only unhinted NotoSerif-*.ttf are updated and hinted NotoSerif*.ttf are left alone. ------ from os import path from nototools import fix_khmer_and_lao_coverage as merger from nototools import font_data from nototools import subset from fontTools import ttLib def make_version_str(revision): revision_int = int(revision) revision_frac = int(round((revision - revision_int) * 100)) return 'Version ' + str(int(revision)) + '.' + str(revision_frac).zfill(2) def bump_version(font_file): font = ttLib.TTFont(font_file) _VERSION_ID = 5 revision = font['head'].fontRevision version_str = make_version_str(revision) new_revision = float(int(round(revision*100)) + 1) / 100 new_version_str = make_version_str(new_revision) print " " + version_str + " => " + new_version_str font['head'].fontRevision = new_revision version_id = font_data.get_name_records(font)[_VERSION_ID] new_version_id = new_version_str + version_id[len(version_str):] font_data.set_name_record(font, _VERSION_ID, new_version_id, addIfMissing='win') font.save(font_file) V3_DIR = "v3_generated/scaled" V2_SRC_DIR = "v2_nohint" DEST_DIR = "v2_nohint_fixed" chars_to_transplant = {0x2032, 0x2033, 0x2034} for style in ["Regular", "Italic", "Bold", "BoldItalic"]: font_name = "NotoSerif-%s.ttf" % style v2font_path = path.join(V2_SRC_DIR, font_name) v3font_path = path.join(V3_DIR, font_name) v2dest_path = path.join(DEST_DIR, font_name) subset.subset_font(v2font_path, v2dest_path, exclude=chars_to_transplant) merger.merge_chars_from_bank(v2dest_path, v3font_path, v2dest_path, chars_to_transplant) bump_version(v2dest_path)
Noto's goal is to provide a beautiful reading experience for everyone and for all languages. With visual harmony when multiple languages share a page. With multiple styles and weights. Freely available to all.
Currently, Noto covers all major languages of the world and many others, including European, African, Middle Eastern, Indic, South and Southeast Asian, Central Asian, American, and East Asian languages. Several minority and historical languages are also supported.
Support for Simplified Chinese, Traditional Chinese, Japanese, and Korean was first added in July 2014.
You can preview and download the Noto fonts at http://www.google.com/get/noto
Noto fonts are open source. All fonts are published under the SIL Open Font License, Version 1.1. (Prior to September 29, 2015, Noto fonts other than CJK were published under the Apache License, Version 2.0.)
Use unhinted fonts for Android and Mac (Android and Mac ignore hinting information embedded in fonts). Use hinted fonts for other platforms.
All Noto fonts are included in this repository, except:
Tools used for testing fonts are in nototools.
Some source files are available in noto-source.
Development and user discussions happen on the noto-font Google Group.
2015-09-29: All Noto fonts now licensed under SIL Open Font License v1.1.
2015-06-08: The Noto project moved from Google Code to Github.
2015-04-20: Noto Sans CJK Version 1.002 released.
2015-03-30: Noto Sans Oriya and and a new design for Armenian fonts released.
2014-10-23: Experimental version of Noto Nastaliq Urdu released.
The Droid fonts are superseded by Noto. Noto began as Droid, and since renaming all updates are made to the Noto fonts. Today Noto gives better support to all languages covered by Droid fonts, with more characters and fewer bugs, and covers many more languages. Both Android and ChromeOS have switched to Noto, and we strongly recommend everyone to replace Droid with Noto.
Similarly, the Droid Sans Fallback font is superseded by Noto Sans CJK, available from noto-cjk.
Have fun!
Google Internationalization Team