mirror of
https://github.com/typst/typst
synced 2025-05-21 20:45:27 +08:00
Remove special handling of Noto fonts (#3388)
This commit is contained in:
parent
f54d68daff
commit
23756f9e8b
@ -220,17 +220,9 @@ impl FontInfo {
|
||||
// So, instead we use Name ID 1 "Family" and trim many common
|
||||
// suffixes for which know that they just describe styling (e.g.
|
||||
// "ExtraBold").
|
||||
//
|
||||
// Also, for Noto fonts we use Name ID 4 "Full Name" instead,
|
||||
// because Name ID 1 "Family" sometimes contains "Display" and
|
||||
// sometimes doesn't for the Display variants and that mixes things
|
||||
// up.
|
||||
let family =
|
||||
exception.and_then(|c| c.family.map(str::to_string)).or_else(|| {
|
||||
let mut family = find_name(ttf, name_id::FAMILY)?;
|
||||
if family.starts_with("Noto") {
|
||||
family = find_name(ttf, name_id::FULL_NAME)?;
|
||||
}
|
||||
let family = find_name(ttf, name_id::FAMILY)?;
|
||||
Some(typographic_family(&family).to_string())
|
||||
})?;
|
||||
|
||||
|
@ -48,6 +48,97 @@ static EXCEPTION_MAP: phf::Map<&'static str, Exception> = phf::phf_map! {
|
||||
// See https://corefonts.sourceforge.net/.
|
||||
"Arial-Black" => Exception::new()
|
||||
.weight(900),
|
||||
// Noto fonts
|
||||
"NotoNaskhArabicUISemi-Bold" => Exception::new()
|
||||
.family("Noto Naskh Arabic UI")
|
||||
.weight(600),
|
||||
"NotoSansSoraSompengSemi-Bold" => Exception::new()
|
||||
.family("Noto Sans Sora Sompeng")
|
||||
.weight(600),
|
||||
"NotoSans-DisplayBlackItalic" => Exception::new()
|
||||
.family("Noto Sans Display"),
|
||||
"NotoSans-DisplayCondensedBlackItalic" => Exception::new()
|
||||
.family("Noto Sans Display"),
|
||||
"NotoSans-DisplayCondensedBold" => Exception::new()
|
||||
.family("Noto Sans Display"),
|
||||
"NotoSans-DisplayCondensedBoldItalic" => Exception::new()
|
||||
.family("Noto Sans Display"),
|
||||
"NotoSans-DisplayCondensedExtraBoldItalic" => Exception::new()
|
||||
.family("Noto Sans Display"),
|
||||
"NotoSans-DisplayCondensedExtraLightItalic" => Exception::new()
|
||||
.family("Noto Sans Display"),
|
||||
"NotoSans-DisplayCondensedItalic" => Exception::new()
|
||||
.family("Noto Sans Display"),
|
||||
"NotoSans-DisplayCondensedLightItalic" => Exception::new()
|
||||
.family("Noto Sans Display"),
|
||||
"NotoSans-DisplayCondensedMediumItalic" => Exception::new()
|
||||
.family("Noto Sans Display"),
|
||||
"NotoSans-DisplayCondensedSemiBoldItalic" => Exception::new()
|
||||
.family("Noto Sans Display"),
|
||||
"NotoSans-DisplayCondensedThinItalic" => Exception::new()
|
||||
.family("Noto Sans Display"),
|
||||
"NotoSans-DisplayExtraBoldItalic" => Exception::new()
|
||||
.family("Noto Sans Display"),
|
||||
"NotoSans-DisplayExtraCondensedBlackItalic" => Exception::new()
|
||||
.family("Noto Sans Display"),
|
||||
"NotoSans-DisplayExtraCondensedBold" => Exception::new()
|
||||
.family("Noto Sans Display"),
|
||||
"NotoSans-DisplayExtraCondensedBoldItalic" => Exception::new()
|
||||
.family("Noto Sans Display"),
|
||||
"NotoSans-DisplayExtraCondensedExtraBoldItalic" => Exception::new()
|
||||
.family("Noto Sans Display"),
|
||||
"NotoSans-DisplayExtraCondensedExtraLightItalic" => Exception::new()
|
||||
.family("Noto Sans Display"),
|
||||
"NotoSans-DisplayExtraCondensedItalic" => Exception::new()
|
||||
.family("Noto Sans Display"),
|
||||
"NotoSans-DisplayExtraCondensedLightItalic" => Exception::new()
|
||||
.family("Noto Sans Display"),
|
||||
"NotoSans-DisplayExtraCondensedMediumItalic" => Exception::new()
|
||||
.family("Noto Sans Display"),
|
||||
"NotoSans-DisplayExtraCondensedSemiBoldItalic" => Exception::new()
|
||||
.family("Noto Sans Display"),
|
||||
"NotoSans-DisplayExtraCondensedThinItalic" => Exception::new()
|
||||
.family("Noto Sans Display"),
|
||||
"NotoSans-DisplayExtraLightItalic" => Exception::new()
|
||||
.family("Noto Sans Display"),
|
||||
"NotoSans-DisplayLightItalic" => Exception::new()
|
||||
.family("Noto Sans Display"),
|
||||
"NotoSans-DisplayMediumItalic" => Exception::new()
|
||||
.family("Noto Sans Display"),
|
||||
"NotoSans-DisplaySemiBoldItalic" => Exception::new()
|
||||
.family("Noto Sans Display"),
|
||||
"NotoSans-DisplaySemiCondensedBlackItalic" => Exception::new()
|
||||
.family("Noto Sans Display"),
|
||||
"NotoSans-DisplaySemiCondensedBold" => Exception::new()
|
||||
.family("Noto Sans Display"),
|
||||
"NotoSans-DisplaySemiCondensedBoldItalic" => Exception::new()
|
||||
.family("Noto Sans Display"),
|
||||
"NotoSans-DisplaySemiCondensedExtraBoldItalic" => Exception::new()
|
||||
.family("Noto Sans Display"),
|
||||
"NotoSans-DisplaySemiCondensedExtraLightItalic" => Exception::new()
|
||||
.family("Noto Sans Display"),
|
||||
"NotoSans-DisplaySemiCondensedItalic" => Exception::new()
|
||||
.family("Noto Sans Display"),
|
||||
"NotoSans-DisplaySemiCondensedLightItalic" => Exception::new()
|
||||
.family("Noto Sans Display"),
|
||||
"NotoSans-DisplaySemiCondensedMediumItalic" => Exception::new()
|
||||
.family("Noto Sans Display"),
|
||||
"NotoSans-DisplaySemiCondensedSemiBoldItalic" => Exception::new()
|
||||
.family("Noto Sans Display"),
|
||||
"NotoSans-DisplaySemiCondensedThinItalic" => Exception::new()
|
||||
.family("Noto Sans Display"),
|
||||
"NotoSans-DisplayThinItalic" => Exception::new()
|
||||
.family("Noto Sans Display"),
|
||||
// The following three postscript names are only used in the version 2.007
|
||||
// of the Noto Sans font. Other versions, while have different postscript
|
||||
// name, happen to have correct metadata.
|
||||
"NotoSerif-DisplayCondensedBold" => Exception::new()
|
||||
.family("Noto Serif Display"),
|
||||
"NotoSerif-DisplayExtraCondensedBold" => Exception::new()
|
||||
.family("Noto Serif Display"),
|
||||
"NotoSerif-DisplaySemiCondensedBold" => Exception::new()
|
||||
.family("Noto Serif Display"),
|
||||
// New Computer Modern
|
||||
"NewCM08-Book" => Exception::new()
|
||||
.family("New Computer Modern 08")
|
||||
.weight(450),
|
||||
@ -131,6 +222,7 @@ static EXCEPTION_MAP: phf::Map<&'static str, Exception> = phf::phf_map! {
|
||||
.weight(450),
|
||||
"NewCMUncial10-Regular" => Exception::new()
|
||||
.family("New Computer Modern Uncial"),
|
||||
// Latin Modern
|
||||
"LMMono8-Regular" => Exception::new()
|
||||
.family("Latin Modern Mono 8"),
|
||||
"LMMono9-Regular" => Exception::new()
|
||||
|
Loading…
x
Reference in New Issue
Block a user