# Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: dpepper@sw-gbbr-brsd015-20100603115304-efdx2p1rxkr33nrw # target_branch: http://bzr.savannah.gnu.org/r/emacs/trunk/ # testament_sha1: 10916b73a779dc2471a1329e7952048079784c8e # timestamp: 2010-06-03 12:53:47 +0100 # base_revision_id: rgm@gnu.org-20100603055711-es6101poicnt5vec # # Begin patch === modified file 'src/ChangeLog' --- src/ChangeLog 2010-06-03 05:50:48 +0000 +++ src/ChangeLog 2010-06-03 11:53:04 +0000 @@ -1,3 +1,7 @@ +2010-06-03 Damyan Pepper + + * w32font.c (w32font_filter_properties): New function. + 2010-06-03 Glenn Morris * m/template.h (NO_SOCK_SIGIO): Remove, no longer used. === modified file 'src/w32font.c' --- src/w32font.c 2010-01-13 08:35:10 +0000 +++ src/w32font.c 2010-06-03 11:53:04 +0000 @@ -2446,6 +2446,59 @@ return DECODE_SYSTEM (build_string (buf)); } +static const char *w32font_booleans [] = { + NULL, +}; + +static const char *w32font_non_booleans [] = { + ":script", + ":antialias", + NULL, +}; + +static void +w32font_filter_properties (font, alist) + Lisp_Object font; + Lisp_Object alist; +{ + Lisp_Object it; + int i; + + /* Set boolean values to Qt or Qnil */ + for (i = 0; w32font_booleans[i] != NULL; ++i) + for (it = alist; ! NILP (it); it = XCDR (it)) + { + Lisp_Object key = XCAR (XCAR (it)); + Lisp_Object val = XCDR (XCAR (it)); + char *keystr = SDATA (SYMBOL_NAME (key)); + + if (strcmp (w32font_booleans[i], keystr) == 0) + { + char *str = SYMBOLP (val) ? SDATA (SYMBOL_NAME (val)) : NULL; + if (INTEGERP (val)) str = XINT (val) != 0 ? "true" : "false"; + if (str == NULL) str = "true"; + + val = Qt; + if (strcmp ("false", str) == 0 || strcmp ("False", str) == 0 + || strcmp ("FALSE", str) == 0 || strcmp ("FcFalse", str) == 0 + || strcmp ("off", str) == 0 || strcmp ("OFF", str) == 0 + || strcmp ("Off", str) == 0) + val = Qnil; + Ffont_put (font, key, val); + } + } + + for (i = 0; w32font_non_booleans[i] != NULL; ++i) + for (it = alist; ! NILP (it); it = XCDR (it)) + { + Lisp_Object key = XCAR (XCAR (it)); + Lisp_Object val = XCDR (XCAR (it)); + char *keystr = SDATA (SYMBOL_NAME (key)); + if (strcmp (w32font_non_booleans[i], keystr) == 0) + Ffont_put (font, key, val); + } +} + struct font_driver w32font_driver = { 0, /* Qgdi */ @@ -2475,7 +2528,7 @@ NULL, /* shape */ NULL, /* check */ NULL, /* get_variation_glyphs */ - NULL, /* filter_properties */ + w32font_filter_properties, }; # Begin bundle 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