Commit e4e9c24b authored by Adrian Robert's avatar Adrian Robert
Browse files

* nsfont.m (ns_attribute_value): Remove.

    (ns_attribute_fvalue): Incorporate code from ns_attribute_value.
    (ns_has_attribute): Shrink the normal range.
    (ns_findfonts): Don't worry about requested spec in determining
      need for synthItal.
    (ns_get_covering_families): Retain scriptToFamilies.
parent 6bb90094
......@@ -119,15 +119,6 @@ static void ns_glyph_metrics (struct nsfont_info *font_info,
}
/* Return whether font has attribute set to non-standard value. */
static BOOL
ns_has_attribute (NSFontDescriptor *fdesc, NSString *trait)
{
float v = ns_attribute_fvalue (fdesc, trait);
return v < -0.05 || v > 0.05;
}
/* Converts FONT_WEIGHT, FONT_SLANT, FONT_WIDTH, plus family and script/lang
to NSFont descriptor. Information under extra only needed for matching. */
#define STYLE_REF 100
......@@ -490,7 +481,7 @@ seems to be limited for now (2009/05) to ja, zh, and ko. */
list = Fcons (ns_descriptor_to_entity (desc,
AREF (font_spec, FONT_EXTRA_INDEX),
NULL), list);
if (ns_has_attribute (desc, NSFontSlantTrait))
if (fabs (ns_attribute_fvalue (desc, NSFontSlantTrait)) > 0.05)
foundItal = YES;
}
......@@ -666,9 +657,11 @@ avoid creating multiple struct font objects (with metrics cache, etc.)
synthItal = !NILP (tem) && !strncmp ("synthItal", SDATA (SYMBOL_NAME (tem)),
9);
family = ns_get_family (font_entity);
if (ns_has_attribute (fontDesc, NSFontWeightTrait))
/* Should be > 0.23 as some font descriptors (e.g. Terminus) set to that
when setting family in ns_spec_to_descriptor(). */
if (ns_attribute_fvalue (fontDesc, NSFontWeightTrait) > 0.50)
traits |= NSBoldFontMask;
if (ns_has_attribute (fontDesc, NSFontSlantTrait))
if (fabs (ns_attribute_fvalue (fontDesc, NSFontSlantTrait) > 0.05))
traits |= NSItalicFontMask;
/* see http://cocoadev.com/forums/comments.php?DiscussionID=74 */
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment