blob: 33057690fc8a0076a41151ff5dc253a70c001856 [file] [log] [blame]
<!--
|==============================================================================
| OVERVIEW
| The font configuration files specify the local fonts available to Cobalt.
| They come in two flavors:
| 1. A required configuration file that Cobalt provides; it is loaded first
| and specifies the superset of all fonts that can be included within the
| Cobalt font package.
| 2. An optional configuration file that porters provide; it is loaded second
| and specifies the system fonts available for use.
|
| There are two types of font families that the configurations can define:
| named families and fallback families.
|==============================================================================
| NAMED FAMILIES
| Named families are families that can be retrieved by name during font
| matching. Providing a family with the optional "name" attribute makes it a
| named family.
|
| Additionally, the alias tag can be used when more than one name needs to be
| mapped to the same same family. The alias's "name" attribute specifies an
| alternate name for the family and its "to" attribute specifies the specific
| family that it maps to. There is no limit to the number of aliases that can
| map to the same family. However, it is important to note that duplicate names
| are not allowed between aliases and families; they must all be unique.
|
| As an example, see the alias mapping "fantasy" to "serif" below. Because of
| the alias, whenever the font-family "fantasy" is encountered, the "serif"
| family is returned.
|
| System fonts shouldn't duplicate any family, alias, or font names contained
| within Cobalt's font configuration, unless the corresponding font files are
| stripped from Cobalt's font package.
|
| For example: if any of Cobalt's "sans-serif" font files are included in the
| selected Cobalt font package, then the system font configuration cannot
| contain a family named "sans-serif"; however, if Cobalt's "sans-serif" font
| files are entirely stripped from the package, then the system may provide its
| own "sans-serif" family without issues.
|==============================================================================
| FALLBACK FAMILIES
| Fallback families are used when none of the named families within a
| "font-family" property are found to support a character. When this occurs,
| Cobalt searches the fallback families for a font that supports the character.
|
| Families are included as fallback families if one of two conditions are met:
| 1. They do not have a "name" attribute.
| 2. They have a "fallback_priority" attribute.
| This allows named families to also be fallback families when they are
| explicitly given a fallback priority.
|
| When the optional family attribute "fallback_priority" is included, then its
| value, which is an integer, dictates the fallback priority of the family.
| When it is not present, then the family is given the default priority of 0.
|
| Fallback families are chosen based on a match: full BCP-47 language tag
| including script, then just language with no script, and then all fonts are
| considered regardless of language. Within each of these, the highest priority
| family that satisfies the constraints and supports the character is chosen.
| If more than one family has the same fallback priority, then order of
| appearance within the xml document is the final tiebreaker.
|
| Cobalt families are loaded before system families and, as a result, always
| win the order of appearance fallback tiebreaker with system families.
| However, Cobalt fallback families all have the default fallback priority of
| 0; if it is desired that a system family be chosen before a Cobalt family
| during fallback, then this can be accomplished by giving it a priority
| greater than 0.
|
| The optional family attribute "pages" indicates which character pages are
| contained within the family. It is used with character fallback to allow the
| system to quickly determine that a character cannot appear in a font without
| requiring the full character map to be loaded into memory. Character pages
| are zero-indexed, and each page contains 256 characters, so character 1000
| would be contained within page 3.
|
| For system families, it is safer not including "pages". When "pages" is
| included, the correct family may potentially be skipped if there is an error
| in the "pages" value. When "pages" is not included the correct fallback
| family is always selected. The cost of not including "pages" is that more
| full character maps will likely be loaded, which is a one-time performance
| hit per family, and results in a small increase in total memory usage.
|==============================================================================
| FONT ATTRIBUTES
| The optional font attributes "weight" and "style" are used to specify the
| weight and style that will be used during font matching within a family.
| "weight" must be a multiple of 100, between 100 and 900 inclusive; it
| defaults to 400 when not defined.
| "style" must have a value of either "normal" or "italic"; it defaults to
| "normal" when not defined.
|
| The optional font attributes "font_name" and "postscript_name" are used to
| allow the font to be matched during local src lookup with @font-face rules.
| https://www.w3.org/TR/css-fonts-3/#descdef-src
|
| The optional font attribute "disable_synthetic_bolding" prevents the font
| from being synthetically bolded. By default synthetic bolding is done when
| there is no bold font available and a bold weight (>500) is specified.
|==============================================================================
-->
<familyset version="1">
<!-- first family is default -->
<family name="sans-serif">
<font weight="100" style="normal" font_name="Roboto Thin" postscript_name="Roboto-Thin">Roboto-Thin.ttf</font>
<font weight="100" style="italic" font_name="Roboto Thin Italic" postscript_name="Roboto-Thin-Italic">Roboto-ThinItalic.ttf</font>
<font weight="300" style="normal" font_name="Roboto Light" postscript_name="Roboto-Light">Roboto-Light.ttf</font>
<font weight="300" style="italic" font_name="Roboto Light Italic" postscript_name="Roboto-Light-Italic">Roboto-LightItalic.ttf</font>
<font weight="400" style="normal" font_name="Roboto Regular" postscript_name="Roboto-Regular">Roboto-Regular.ttf</font>
<font weight="400" style="italic" font_name="Roboto Regular Italic" postscript_name="Roboto-Italic">Roboto-Italic.ttf</font>
<font weight="500" style="normal" font_name="Roboto Medium" postscript_name="Roboto-Medium">Roboto-Medium.ttf</font>
<font weight="500" style="italic" font_name="Roboto Medium Italic" postscript_name="Roboto-Medium-Italic">Roboto-MediumItalic.ttf</font>
<font weight="700" style="normal" font_name="Roboto Bold" postscript_name="Roboto-Bold">Roboto-Bold.ttf</font>
<font weight="700" style="italic" font_name="Roboto Bold Italic" postscript_name="Roboto-BoldItalic">Roboto-BoldItalic.ttf</font>
<font weight="900" style="normal" font_name="Roboto Black" postscript_name="Roboto-Black">Roboto-Black.ttf</font>
<font weight="900" style="italic" font_name="Roboto Black Italic" postscript_name="Roboto-Black-Italic">Roboto-BlackItalic.ttf</font>
</family>
<!-- Note that aliases must come after the fonts they reference. -->
<alias name="roboto" to="sans-serif" />
<!-- This is the default font when Roboto is unavailable. -->
<family pages="0">
<font weight="400" style="normal">Roboto-Regular-Subsetted.ttf</font>
</family>
<family name="sans-serif-condensed">
<font weight="300" style="normal" font_name="Roboto Condensed Light" postscript_name="Roboto-Condensed-Light">RobotoCondensed-Light.ttf</font>
<font weight="300" style="italic" font_name="Roboto Condensed Light Italic" postscript_name="Roboto-Condensed-Light-Italic">RobotoCondensed-LightItalic.ttf</font>
<font weight="400" style="normal" font_name="Roboto Condensed Regular" postscript_name="Roboto-Condensed-Regular">RobotoCondensed-Regular.ttf</font>
<font weight="400" style="italic" font_name="Roboto Condensed Regular Italic" postscript_name="Roboto-Condensed-Regular-Italic">RobotoCondensed-Italic.ttf</font>
<font weight="700" style="normal" font_name="Roboto Condensed Bold" postscript_name="Roboto-Condensed-Bold">RobotoCondensed-Bold.ttf</font>
<font weight="700" style="italic" font_name="Roboto Condensed Bold Italic" postscript_name="Roboto-Condensed-Bold-Italic">RobotoCondensed-BoldItalic.ttf</font>
</family>
<family name="serif">
<font weight="400" style="normal" font_name="Noto Serif" postscript_name="NotoSerif">NotoSerif-Regular.ttf</font>
<font weight="400" style="italic" font_name="Noto Serif Italic" postscript_name="NotoSerif-Italic">NotoSerif-Italic.ttf</font>
<font weight="700" style="normal" font_name="Noto Serif Bold" postscript_name="NotoSerif-Bold">NotoSerif-Bold.ttf</font>
<font weight="700" style="italic" font_name="Noto Serif Bold Italic" postscript_name="NotoSerif-BoldItalic">NotoSerif-BoldItalic.ttf</font>
</family>
<alias name="fantasy" to="serif" />
<family name="monospace">
<font weight="400" style="normal" font_name="Droid Sans Mono" postscript_name="DroidSansMono">DroidSansMono.ttf</font>
</family>
<alias name="sans-serif-monospace" to="monospace" />
<family name="serif-monospace">
<font weight="400" style="normal" font_name="Cutive Mono" postscript_name="CutiveMono-Regular">CutiveMono.ttf</font>
</family>
<family name="casual">
<font weight="400" style="normal" font_name="Coming Soon" postscript_name="ComingSoon">ComingSoon.ttf</font>
</family>
<family name="cursive">
<font weight="400" style="normal" font_name="Dancing Script" postscript_name="DancingScript">DancingScript-Regular.ttf</font>
<font weight="700" style="normal" font_name="Dancing Script Bold" postscript_name="DancingScript-Bold">DancingScript-Bold.ttf</font>
</family>
<family name="sans-serif-smallcaps">
<font weight="400" style="normal" font_name="Carrois Gothic SC" postscript_name="CarroisGothicSC-Regular">CarroisGothicSC-Regular.ttf</font>
</family>
<!-- fallback fonts -->
<!-- "Noto Naskh Arabic UI" is given a fallback priority so that, in spite
of having a name, it will still be included as a fallback font.
-->
<family fallback_priority="0" name="Noto Naskh Arabic UI">
<font weight="400" style="normal">NotoNaskhArabicUI-Regular.ttf</font>
<font weight="400" style="normal">NotoNaskhUI-Regular.ttf</font>
<font weight="700" style="normal">NotoNaskhArabicUI-Bold.ttf</font>
<font weight="700" style="normal">NotoNaskhUI-Bold.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansEthiopic-Regular.ttf</font>
<font weight="700" style="normal">NotoSansEthiopic-Bold.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansHebrew-Regular.ttf</font>
<font weight="700" style="normal">NotoSansHebrew-Bold.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansThaiUI-Regular.ttf</font>
<font weight="700" style="normal">NotoSansThaiUI-Bold.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansArmenian-Regular.ttf</font>
<font weight="400" style="normal">NotoSansArmenian-Regular.otf</font>
<font weight="700" style="normal">NotoSansArmenian-Bold.ttf</font>
<font weight="700" style="normal">NotoSansArmenian-Bold.otf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansGeorgian-Regular.ttf</font>
<font weight="400" style="normal">NotoSansGeorgian-Regular.otf</font>
<font weight="700" style="normal">NotoSansGeorgian-Bold.ttf</font>
<font weight="700" style="normal">NotoSansGeorgian-Bold.otf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansDevanagariUI-Regular.ttf</font>
<font weight="400" style="normal">NotoSansDevanagariUI-Regular.otf</font>
<font weight="700" style="normal">NotoSansDevanagariUI-Bold.ttf</font>
<font weight="700" style="normal">NotoSansDevanagariUI-Bold.otf</font>
</family>
<!-- Gujarati should come after Devanagari -->
<family>
<font weight="400" style="normal">NotoSansGujaratiUI-Regular.ttf</font>
<font weight="700" style="normal">NotoSansGujaratiUI-Bold.ttf</font>
</family>
<!-- Gurmukhi should come after Devanagari -->
<family>
<font weight="400" style="normal">NotoSansGurmukhiUI-Regular.ttf</font>
<font weight="700" style="normal">NotoSansGurmukhiUI-Bold.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansTamilUI-Regular.ttf</font>
<font weight="400" style="normal">NotoSansTamilUI-Regular.otf</font>
<font weight="700" style="normal">NotoSansTamilUI-Bold.ttf</font>
<font weight="700" style="normal">NotoSansTamilUI-Bold.otf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansMalayalamUI-Regular.ttf</font>
<font weight="400" style="normal">NotoSansMalayalamUI-Regular.otf</font>
<font weight="700" style="normal">NotoSansMalayalamUI-Bold.ttf</font>
<font weight="700" style="normal">NotoSansMalayalamUI-Bold.otf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansBengaliUI-Regular.ttf</font>
<font weight="400" style="normal">NotoSansBengaliUI-Regular.otf</font>
<font weight="700" style="normal">NotoSansBengaliUI-Bold.ttf</font>
<font weight="700" style="normal">NotoSansBengaliUI-Bold.otf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansTeluguUI-Regular.ttf</font>
<font weight="700" style="normal">NotoSansTeluguUI-Bold.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansKannadaUI-Regular.ttf</font>
<font weight="700" style="normal">NotoSansKannadaUI-Bold.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansOriyaUI-Regular.ttf</font>
<font weight="700" style="normal">NotoSansOriyaUI-Bold.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansSinhala-Regular.ttf</font>
<font weight="400" style="normal">NotoSansSinhala-Regular.otf</font>
<font weight="700" style="normal">NotoSansSinhala-Bold.ttf</font>
<font weight="700" style="normal">NotoSansSinhala-Bold.otf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansKhmerUI-Regular.ttf</font>
<font weight="700" style="normal">NotoSansKhmerUI-Bold.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansLaoUI-Regular.ttf</font>
<font weight="700" style="normal">NotoSansLaoUI-Bold.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansMyanmarUI-Regular.ttf</font>
<font weight="400" style="normal">NotoSansMyanmarUI-Regular.otf</font>
<font weight="700" style="normal">NotoSansMyanmarUI-Bold.ttf</font>
<font weight="700" style="normal">NotoSansMyanmarUI-Bold.otf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansThaana-Regular.ttf</font>
<font weight="700" style="normal">NotoSansThaana-Bold.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansCham-Regular.ttf</font>
<font weight="700" style="normal">NotoSansCham-Bold.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansAdlam-Regular.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansAvestan-Regular.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansBalinese-Regular.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansBamum-Regular.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansBatak-Regular.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansBrahmi-Regular.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansBuginese-Regular.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansBuhid-Regular.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansCanadianAboriginal-Regular.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansCarian-Regular.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansCherokee-Regular.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansCoptic-Regular.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansCuneiform-Regular.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansCypriot-Regular.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansDeseret-Regular.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansEgyptianHieroglyphs-Regular.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansGlagolitic-Regular.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansGothic-Regular.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansHanunoo-Regular.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansImperialAramaic-Regular.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansInscriptionalPahlavi-Regular.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansInscriptionalParthian-Regular.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansJavanese-Regular.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansKaithi-Regular.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansKayahLi-Regular.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansKharoshthi-Regular.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansLepcha-Regular.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansLimbu-Regular.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansLinearB-Regular.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansLisu-Regular.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansLycian-Regular.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansLydian-Regular.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansMandaic-Regular.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansMeeteiMayek-Regular.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansNewTaiLue-Regular.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansNKo-Regular.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansOgham-Regular.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansOlChiki-Regular.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansOldItalic-Regular.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansOldPersian-Regular.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansOldSouthArabian-Regular.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansOldTurkic-Regular.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansOsmanya-Regular.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansPhoenician-Regular.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansRejang-Regular.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansRunic-Regular.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansSamaritan-Regular.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansSaurashtra-Regular.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansShavian-Regular.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansSundanese-Regular.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansSylotiNagri-Regular.ttf</font>
</family>
<!-- Estrangela should precede Eastern and Western Syriac, since it's our default form. -->
<family>
<font weight="400" style="normal">NotoSansSyriacEstrangela-Regular.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansSyriacEastern-Regular.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansSyriacWestern-Regular.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansTagalog-Regular.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansTagbanwa-Regular.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansTaiTham-Regular.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansTaiViet-Regular.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansTibetan-Regular.ttf</font>
<font weight="700" style="normal">NotoSansTibetan-Bold.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansTifinagh-Regular.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansUgaritic-Regular.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansVai-Regular.ttf</font>
</family>
<family>
<font weight="400" style="normal">Lohit-Odia.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansSymbols-Regular-Subsetted.ttf</font>
</family>
<family lang="zh-Hans">
<font weight="400" style="normal" index="2">NotoSansCJK-Regular.ttc</font>
</family>
<family lang="zh-Hans">
<font weight="400" style="normal">NotoSansSC-Regular.otf</font>
<font weight="400" style="normal">NotoSansHans-Regular.otf</font>
</family>
<family lang="zh-Hant">
<font weight="400" style="normal" index="3">NotoSansCJK-Regular.ttc</font>
</family>
<family lang="zh-Hant">
<font weight="400" style="normal">NotoSansTC-Regular.otf</font>
<font weight="400" style="normal">NotoSansHant-Regular.otf</font>
</family>
<family lang="ja">
<font weight="400" style="normal" index="0">NotoSansCJK-Regular.ttc</font>
</family>
<family lang="ja">
<font weight="400" style="normal">NotoSansJP-Regular.otf</font>
</family>
<family lang="ko">
<font weight="400" style="normal" index="1">NotoSansCJK-Regular.ttc</font>
</family>
<family lang="ko">
<font weight="400" style="normal">NotoSansKR-Regular.otf</font>
</family>
<family>
<font weight="400" style="normal">NanumGothic.ttf</font>
</family>
<family>
<font weight="400" style="normal" disable_synthetic_bolding="true">NotoColorEmoji.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansSymbols-Regular-Subsetted2.ttf</font>
</family>
<!--
Synthetic bolding is explicitly disabled for DroidSansFallback. The
quality of its synthetically bolded glyphs are not good enough to meet
Cobalt's standards.
-->
<family>
<font weight="400" style="normal" disable_synthetic_bolding="true">DroidSansFallback.ttf</font>
</family>
<family lang="ja">
<font weight="400" style="normal">MTLmr3m.ttf</font>
</family>
<!--
Tai Le, Yi, Mongolian, and Phags-pa are intentionally kept last, to make sure they don't
override the East Asian punctuation for Chinese.
-->
<family>
<font weight="400" style="normal">NotoSansTaiLe-Regular.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansYi-Regular.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansMongolian-Regular.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansPhagsPa-Regular.ttf</font>
</family>
<!--
Include font files on android version R under /system/fonts directory.
The program will find the first font file that contains the glyph for the character,
when no font file has the glyph, it will show broken string, to avoid this, include fonts
files on the android OS.
-->
<family>
<font weight="400" style="normal">NotoSansAdlam-VF.ttf</font>
<font weight="700" style="normal">NotoSansAdlam-VF.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansGeorgian-VF.ttf</font>
<font weight="700" style="normal">NotoSansGeorgian-VF.ttf</font>
</family>
<family>
<font weight="400" style="normal">NotoSansOsage-Regular.ttf</font>
</family>
<family>
<font weight="400" style="normal">RobotoCondensed-Medium.ttf</font>
</family>
<family>
<font weight="400" style="normal">RobotoCondensed-MediumItalic.ttf</font>
</family>
</familyset>