Commit b9173dc2 authored by Adrian Robert's avatar Adrian Robert

* nsfont.m (ns_descriptor_to_entity): Handle case when descriptor has no...

* nsfont.m (ns_descriptor_to_entity): Handle case when descriptor has no family set. (nsfont_open): Handle case when entity has no family.
parent 2aafe808
2009-08-02 Adrian Robert <Adrian.B.Robert@gmail.com>
* nsfont.m (ns_descriptor_to_entity): Handle case when descriptor has
no family set.
(nsfont_open): Handle case when entity has no family.
2009-07-29 Adrian Robert <Adrian.B.Robert@gmail.com> 2009-07-29 Adrian Robert <Adrian.B.Robert@gmail.com>
* nsfont.m (ns_findfonts): Fix 2009-07-24 change to return only one * nsfont.m (ns_findfonts): Fix 2009-07-24 change to return only one
......
...@@ -166,9 +166,16 @@ static void ns_glyph_metrics (struct nsfont_info *font_info, ...@@ -166,9 +166,16 @@ static void ns_glyph_metrics (struct nsfont_info *font_info,
Lisp_Object font_entity = font_make_entity (); Lisp_Object font_entity = font_make_entity ();
/* NSString *psName = [desc postscriptName]; */ /* NSString *psName = [desc postscriptName]; */
NSString *family = [desc objectForKey: NSFontFamilyAttribute]; NSString *family = [desc objectForKey: NSFontFamilyAttribute];
char *escapedFamily = strdup ([family UTF8String]);
unsigned int traits = [desc symbolicTraits]; unsigned int traits = [desc symbolicTraits];
char *escapedFamily;
/* Shouldn't happen, but on Tiger fallback desc gets name but no family. */
if (family == nil)
family = [desc objectForKey: NSFontNameAttribute];
if (family == nil)
family = [[NSFont userFixedPitchFontOfSize: 0] familyName];
escapedFamily = strdup ([family UTF8String]);
ns_escape_name (escapedFamily); ns_escape_name (escapedFamily);
ASET (font_entity, FONT_TYPE_INDEX, Qns); ASET (font_entity, FONT_TYPE_INDEX, Qns);
...@@ -669,6 +676,8 @@ avoid creating multiple struct font objects (with metrics cache, etc.) ...@@ -669,6 +676,8 @@ avoid creating multiple struct font objects (with metrics cache, etc.)
synthItal = !NILP (tem) && !strncmp ("synthItal", SDATA (SYMBOL_NAME (tem)), synthItal = !NILP (tem) && !strncmp ("synthItal", SDATA (SYMBOL_NAME (tem)),
9); 9);
family = ns_get_family (font_entity); family = ns_get_family (font_entity);
if (family == nil)
family = [[NSFont userFixedPitchFontOfSize: 0] familyName];
/* Should be > 0.23 as some font descriptors (e.g. Terminus) set to that /* Should be > 0.23 as some font descriptors (e.g. Terminus) set to that
when setting family in ns_spec_to_descriptor(). */ when setting family in ns_spec_to_descriptor(). */
if (ns_attribute_fvalue (fontDesc, NSFontWeightTrait) > 0.50) if (ns_attribute_fvalue (fontDesc, NSFontWeightTrait) > 0.50)
......
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