+ // handle options that might affect different shapes
+ if (name == "noto-serif" || rm) {
+ if (thin)
+ h_font_roman[0] = "NotoSerifThin";
+ else if (extralight)
+ h_font_roman[0] = "NotoSerifExtralight";
+ else if (light)
+ h_font_roman[0] = "NotoSerifLight";
+ else if (medium)
+ h_font_roman[0] = "NotoSerifMedium";
+ else
+ h_font_roman[0] = "NotoSerifRegular";
+ if (osf)
+ h_font_roman_osf = "true";
+ if (!xopts.empty())
+ h_font_roman_opts = xopts;
+ }
+ if (name == "noto" && sf) {
+ if (thin)
+ h_font_sans[0] = "NotoSansThin";
+ else if (extralight)
+ h_font_sans[0] = "NotoSansExtralight";
+ else if (light)
+ h_font_sans[0] = "NotoSansLight";
+ else if (medium)
+ h_font_sans[0] = "NotoSansMedium";
+ else
+ h_font_sans[0] = "NotoSansRegular";
+ if (osf)
+ h_font_sans_osf = "true";
+ if (!scl.empty())
+ scale_as_percentage(scl, h_font_sf_scale[0]);
+ if (!xopts.empty())
+ h_font_sans_opts = xopts;
+ }
+ if (name == "noto" && tt) {
+ h_font_typewriter[0] = "NotoMonoRegular";
+ if (osf)
+ h_font_typewriter_osf = "true";
+ if (!scl.empty())
+ scale_as_percentage(scl, h_font_tt_scale[0]);
+ if (!xopts.empty())
+ h_font_typewriter_opts = xopts;
+ }