Mercurial > emacs
changeset 103990:73ea181d96b6
* 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.
author | Adrian Robert <Adrian.B.Robert@gmail.com> |
---|---|
date | Mon, 20 Jul 2009 18:14:05 +0000 |
parents | 740cb01b8b8f |
children | d9cd4154c971 |
files | src/nsfont.m |
diffstat | 1 files changed, 5 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/src/nsfont.m Mon Jul 20 16:40:24 2009 +0000 +++ b/src/nsfont.m Mon Jul 20 18:14:05 2009 +0000 @@ -119,15 +119,6 @@ } -/* 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 @@ 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 @@ 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 */