Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Noto fonts go universal! Download pan-Unicode, merged Noto fonts according to time of usage (current, ancient) or geographical region (South Asia, SE Asia, Africa-MiddleEast, Europe-Americas).

NotificationsYou must be signed in to change notification settings

satbyy/go-noto-universal

Repository files navigation

Noto Fonts go universal! Did you ever want "one font for all languages"? Download pan-Unicode,NotoFonts merged according to the time of usage (current,ancient) or geographical region (Africa-MiddleEast, Europe-Americas, South Asia, SE Asia).

We offer two types of combined fonts:

  1. Time-based:
    • GoNotoKurrent covers pretty much all the scripts in current, widespread use all over theworld. This is designed to be a "good enough" font for modern, living scripts without beingexhaustive.
    • GoNotoAncient covers all the historical, obsolete and liturgical scripts.
  2. Region-based:
    Choose a single font based on where you live or whichever region you're interested in:Africa - Middle East, East Asia, Europe - Americas, South Asia or South East Asia.

Seecaveats too.

Download

If you simply want touse the fonts, go toReleases pageand download what you need. If you're unsure what to download, you probably needGoNotoKurrent-Regular.ttf1. If you want better support for emoji and symbols, tryGoNotoCurrent-Regular.ttf. Abold variant of the font is also available (-Bold.ttf).

Development builds are available fromGitHubActions page. Click on any workflow with greencheckmark ✅ (pipeline passed) and under "Artifacts", download "GoNotoTemporalFonts.zip" and"GoNotoRegionalFonts.zip" (login required).

NOTE: Even if there are no regular commits to this repo, the CI pipeline builds new Go Notofonts everyday, pulling the latest Noto Fonts from upstream (using a scheduled cron). So, downloadthe "Artifacts" from the "Actions" page to get the best features and bug fixes from Noto Fonts.

Build

If you want tobuild the fonts yourself, create a virtual environment (venv) and run the scriptyou want:

python3 -m venv venv_fontysource venv_fonty/bin/activate./temporal_fonts.sh  # generates GoNotoAncient.ttf and GoNotoCurrent.ttf./regional_fonts.sh  # generates GoNoto[AfricaMiddleEast|EuropeAmericas|...].ttfdeactivate

Font generation can take 15 to 30 min, depending on your computer's capabilities.

Each script is designed to be reentrant, so you can run it multiple times without altering theworking state of the repository or downloading stuff again and again.

Latest CI status:

Regional fonts

Temporal fonts

Dependencies

fonttools is automatically fetched and used. The mainprograms we use arepyftmerge,pyftsubset andttx.

Coverage

Temporal Fonts

Temporal, i.e., time-based fonts are:

  • Go Noto Kurrent -- combines 80+ Noto Fonts of scripts which are in current, daily usage. It isa superset of all the "Regional Fonts" (see below) excluding historical orspecialty fonts. It includes support for Chinese, Japanese and Korean (CJK) too, using theUnihanIICore subset.
  • Go Noto Ancient -- combines 70+ Noto Fonts of ancient, historical or liturgical scripts whichare not used widely today. This font is probably useful for research or scholarly purposes orlanguage enthusiasts. This font does not support any CJK.

Each of these fonts includes Noto Sans (Regular), Noto Sans Symbols, Noto Sans Symbols 2, Noto SansMath and Noto Music so that notations, symbols and emoji are not missed out.

Serif variants of these are also included but their Unicode coverage is not as good as Sans Serif(lack of upstream Noto Serif fonts).

The exact fonts which are combined are too long to list here but can be seen from the source code.

Regional Fonts

These fonts are merged/combined as per the regions defined in theUnicode Standard(pdf). Chapter numbersbelow refer to that spec.

Go Noto fontCoverage
GoNotoEuropeAmericas.ttf"Europe" - ch. 7, 8, "Americas" - ch 20, "Notational Systems" - ch 21
GoNotoAfricaMiddleEast.ttf"Middle East" - ch. 9, 10, 11 and "Africa" - ch. 19
GoNotoSouthAsia.ttf"South and Central Asia" - ch. 12 and 13
GoNotoAsiaHistorical.ttf"South and Central Asia" - ch. 14 and 15
GoNotoSouthEastAsia.ttf"Southeast Asia" - ch. 16 and "Indonesia and the Philippines" - ch 17
GoNotoCJKCore.ttfUnihanCore2020 subset of CJK (~20K ideographs). UseNoto CJK for full coverage
GoNotoEastAsia.ttf"East Asia" - ch 18. everything other than Han (CJK)

Each of the above fonts includes LGC (Latin-Greek-Cyrillic) as default, same coverage asNoto Sans Regular. Each one also includes Noto Sans Math, Noto Music, Noto Sans Symbols and Noto Sans Symbols2 to give you bonus coverage of beautiful notations, symbols and emoji :)

Go Noto South Asia

Following are included: Bengali, Chakma, Devanagari (Hindi, Marathi, Nepali, etc), Gondi, Gujarati,Gunjala Gondi, Gurmukhi, Kannada, Lepcha, Limbu, Malayalam, Masaram Gondi, Meetei Mayek, Mro,Nag Mundari, Newa, Ol Chiki, Oriya, Punjabi (Gurmukhi), Saurashtra, Sinhala, Tamil, Tangsa, Telugu,Thaana, Tibetan, Toto, Wancho, Warang Citi.

Urdu (Noto Naskh Arabic), though not written in an Indic script and not part of "South Asia"chapters in the Unicode spec, is included for practical reasons. Noto Nastaliq Urdu would be moreappropriate but it is too big to fit in the merged font.

Go Noto Asia Historical

Following are included: Ahom, Bhaiksuki, Brahmi, Dives Akuru, Dogra, Grantha, Indic Siyaq Numbers,Kaithi, Kharoshthi, Khojki, Khudawadi, Mahajani, Makasar, Modi, Multani, Nag Mundari, Nandinagari,Old Sogdian, Old Turkic, Old Uyghur, Ottoman Siyaq Numbers, Phags-Pa, Sharada, Siddham, Sogdian,Sora Sompeng, Soyombo, Syloti Nagri, Takri, Tirhuta, Zanabazar Square.

Go Noto South East Asia

Following are included: Balinese, Batak, Buginese, Buhid, Cham, Hanifi Rohingya, Hanunóo, Javanese,Kayah Li, Kawi, Khmer, Lao, Makasar, Myanmar, New Tai Lue, Nyiakeng Puache Hmong, Pahawh Hmong, PauCin Hau, Rejang, Sundanese, Tagalog, Tagbanwa, Tai Le, Tai Tham, Tai Viet, Thai.

Go Noto Europe Americas

Everything covered by NotoSans (Latin-Greek-Cyrillic etc.) plus Anatolian Hieroglyphics, Armenian,Braille, Canadian Aboriginal, Carian, Caucasian Albanian, Cherokee, Coptic, Cypriot, Deseret,Duployan, Elbasan, Georgian, Glagolitic, Gothic, Linear A, Linear B, Lycian, Lydian, Mayan Numerals,Nyiakeng Puachue Hmong, Ogham, Old Hungarian, Old Italic, Old Permic, Osage, Runic, Shavian, SuttonSign Writing, Vithkuqi.

Go Noto Africa Middle East

The following are included: Adlam, Anatolian Hieroglyphics, Arabic (Naskh-style), Avestan, Bamum,Bassa Vah, Chorasmian, Cuneiform, Egyptian, Elymaic, Ethiopic, Hatran, Hebrew, Imperial Aramaic,Inscriptional Pahlavi, Inscriptional Parthian, Mandaic, Manichaean, Medefaidrin, Mende Kikakui,Meroitic, Nabataean, N'Ko, Old North Arabian, Old Persian, Old South Arabian, Osmanya, Palmyrene,Phoenician, Psalter Pahlavi, Samaritan, Sumero-Akkadian, Syriac, Tifinagh, Ugaritic, Vai, Yezidi.

Go Noto East Asia

Bopomofo, Hangul, Hiragana and Katakana, Khitan Small Script, Lisu, Marchen, Miao, Mongolian,Nüshu, Tangut, Tibetan, Yi, etc. excluding Han/CJK (Chinese-Japanese-Korean). Vertical textwriting is not supported.

Go Noto CJK Core

Unihan IICore is a minimal, region-agnostic subset of Han/CJK specified in 2005 formemory-constrained systems. It standardizes about 9800 codepoints, covering basic use cases ofChinese (Traditional, Simplified), Japanese and Korean. RecentlyUnihan Core 2020 supersededand expanded the minimal subset to about 20000 codepoints. Go Noto CJK Core includes a superset ofcodepoints from both of these subsets.

The GoNotoCJKCore.ttf includes "locl" layout feature, so it can display Japanese or Korean glyphsjust by switching the language in your editor/word processor/web browser etc. Hiragana, Katakana andHangul are included.

Why use this instead of the upstreamNoto CJK Fonts? Because our font also contains Noto SansMath, Noto Music, Noto Sans Symbols, Noto Sans Symbols 2, plus everything in Noto Sans (Regular) --so you can have emojis, mathematical notation, musical symbols and Latin-Greek-Cyrillic in a singlefont. But all the upstream Noto CJK Fonts have maxed out 65K glyphs, so they don't have spaceanymore for glyphs additions.

The only limitation is that Go Noto CJK Core does not support vertical text writing.

Font Statistics

Font statistics are collected in tsv format (tab separated value) by the CI pipeline in every runand can be downloaded in build Artifacts.

Statistics below correspond to release v5.1.

Go Noto FontUnicode blocksCharactersGlyphs
GoNotoCurrent.ttf1973280461207
GoNotoAncient.ttf1782455632971
GoNotoEuropeAmericas.ttf1201339153393
GoNotoAfricaMiddleEast.ttf1281605520429
GoNotoSouthAsia.ttf1191163221184
GoNotoAsiaHistorical.ttf1241110018457
GoNotoSouthEastAsia.ttf1121081315044
GoNotoEastAsia.ttf1091871024525
GoNotoCJKCore.ttf1074113261658

NotoSansSignWriting alone contributes about 37900 glyphs to GoNotoEuropeAmericas.ttf.

Note that each of the above include statistics of:

Upstream fontUnicode blocksCharactersGlyphs
Noto Sans3728403748
Noto Sans Math2224722655
Noto Music7561581
Noto Sans Symbols158401218
Noto Sans Symbols 23726552674
Total111936810876

Caveats

  1. You might have to increase line spacing or line margins in your application to avoid somecharacters appearing "clipped". This is because many Asian scripts stack letters vertically(e.g. Indic scripts, Thai, Balinese etc.) but the line metrics of the merged font areoptimized for LGC.
  2. Tibetan has limited glyphs, otherwise GSUB table gets "overflow"ed. Only the most frequentlyoccuring "subjoined consonants" are included. Those characters are displayed ok, but just thatthe glyphs appear to be "pushed up" compared to their neighbours.
  3. Vertical text layout is not supported for CJK, Dogra, Mongolian, Nandinagari, Nüshu and Tangut,even though the upstream Noto Fonts has the support because fonttools does not support mergingwithvmtx/vhea.
  4. Go Noto Kurrent has limited support for CJK -- it offers the full Unihan IICore subset plus moreglyphs, so it should work ok-ish for daily use but there can be missing glyphs. As before,vertical text writing is not supported with this font.
  5. Duployan has limited glyphs, also to avoid GSUB overflow. Cursive connections, contextual forms,and overlap trees are disabled. Shading and combining marks still work.

License

In the spirit ofloka-saṃgraha, the scripts distributed in this git repository (the "Software")are dedicated to the public domain as per "The Unlicense". See UNLICENSE.txt.

However, the fonts generated by using the Software are licensed under the SIL Open Font License,Version 1.1, as required by the upstream Noto Fonts Project.

Others

FontTools package comes with nice utilitiesttx (ttf to xml and back),pyftsubset (create fontwith subset of given font) andpyftmerge (merging fonts, the workhorse of this repo).

libharfbuzz-bin offers CLI utilitieshb-view andhb-shape which are useful for visualisingrendered characters.

otfinfo gives useful info about glyphs, codepoints, scripts and more.

Footnotes

  1. The "K" in "Kurrent" stands for full Korean support, but lacks emoji and symbols. Conversely,"Go Noto Current" has poor Korean support but includes emojis and symbols.

About

Noto fonts go universal! Download pan-Unicode, merged Noto fonts according to time of usage (current, ancient) or geographical region (South Asia, SE Asia, Africa-MiddleEast, Europe-Americas).

Topics

Resources

Stars

Watchers

Forks


[8]ページ先頭

©2009-2025 Movatter.jp