]> git.eshelyaron.com Git - emacs.git/commitdiff
restore ability under NS to change font size from font panel (lost during some recent...
authorAdrian Robert <Adrian.B.Robert@gmail.com>
Sun, 20 Jul 2008 00:47:28 +0000 (00:47 +0000)
committerAdrian Robert <Adrian.B.Robert@gmail.com>
Sun, 20 Jul 2008 00:47:28 +0000 (00:47 +0000)
src/ChangeLog
src/font.c
src/frame.c
src/nsterm.m

index dd015342bc9b0aa7471f67aefc991d84fe250a08..b1f1d027ef87aa39d4e1cd3479eda968705aaedf 100644 (file)
@@ -1,3 +1,20 @@
+2008-07-19  Adrian Robert  <Adrian.B.Robert@gmail.com>
+
+       * font.c (font_open_by_name): Under NS, default lface height to zero.
+       (font_open_for_lface): Under NS, set size based on frame fontsize.
+       * nsterm.m (EmacsView-changeFont:): Remove some commented code.
+       * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
+
+2008-07-19  Adrian Robert  <Adrian.B.Robert@gmail.com>
+
+       * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
+       (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
+       DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
+       YES/NO.
+       * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
+       * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
+       * Makefile.in (clean): Clear out build destination dir.
+
 2008-07-19  Adrian Robert  <Adrian.B.Robert@gmail.com>
 
        * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
index 26adda26e47cb196d38027d1c33ddd6b2565dcd5..9ceedddb2977cdec05413ac74c8e3fe35fad65a0 100644 (file)
@@ -55,6 +55,10 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 #endif /* MAC_OS */
 
 Lisp_Object Qfont_spec, Qfont_entity, Qfont_object;
+#ifdef HAVE_NS
+extern Lisp_Object Qfontsize;
+#endif
 
 Lisp_Object Qopentype;
 
@@ -3316,6 +3320,13 @@ font_open_for_lface (f, entity, attrs, spec)
 
       pt /= 10;
       size = POINT_TO_PIXEL (pt, f->resy);
+#ifdef HAVE_NS
+      if (size == 0)
+        {
+          Lisp_Object ffsize = get_frame_param(f, Qfontsize);
+          size = NUMBERP (ffsize) ? POINT_TO_PIXEL (XINT (ffsize), f->resy) : 0;
+        }
+#endif
     }
   return font_open_entity (f, entity, size);
 }
@@ -3390,7 +3401,11 @@ font_open_by_name (f, name)
   attrs[LFACE_FAMILY_INDEX] = attrs[LFACE_FOUNDRY_INDEX] = Qnil;
   attrs[LFACE_SWIDTH_INDEX] = attrs[LFACE_WEIGHT_INDEX]
     = attrs[LFACE_SLANT_INDEX] = Qnormal;
+#ifndef HAVE_NS
   attrs[LFACE_HEIGHT_INDEX] = make_number (120);
+#else
+  attrs[LFACE_HEIGHT_INDEX] = make_number (0);
+#endif
   attrs[LFACE_FONT_INDEX] = Qnil;
 
   return font_load_for_lface (f, attrs, spec);
index 21b16154662d970aa9c7ec8279163a38cd6e2a4c..989341eb48a733dcf0a8910fa3387f458c1f0f92 100644 (file)
@@ -2986,9 +2986,7 @@ x_set_frame_parameters (f, alist)
 
          old_value = get_frame_param (f, prop);
          fullscreen_is_being_set |= EQ (prop, Qfullscreen);
-#ifndef HAVE_NS  /* XXX: ensure font attrs change goes through */
          if (NILP (Fequal (val, old_value)))
-#endif
            {
              store_frame_param (f, prop, val);
 
index 3d8ff3129f814849da9b346415de50e8a9cd14e8..a1aeb74bd84fc820c1b0609884cff36f4dc88be8 100644 (file)
@@ -4441,11 +4441,7 @@ extern void update_window_cursor (struct window *w, int on);
       emacs_event->code = KEY_NS_CHANGE_FONT;
 
       size = [newFont pointSize];
-      /* PENDING: stick w/integer sizes for now. */
-/*        if (size == lrint (size)) */
-        ns_input_fontsize = make_number (lrint (size));
-/*          else
-            ns_input_fontsize = make_float (size); */
+      ns_input_fontsize = make_number (lrint (size));
       ns_input_font = build_string ([[newFont familyName] UTF8String]);
       EV_TRAILER (e);
     }