[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] /srv/bzr/emacs/trunk r110631: Make face-font-rescale-alist
From: |
Kenichi Handa |
Subject: |
[Emacs-diffs] /srv/bzr/emacs/trunk r110631: Make face-font-rescale-alist work correctly for non-ASCII fonts. |
Date: |
Wed, 24 Oct 2012 00:48:17 +0900 |
User-agent: |
Bazaar (2.5.0) |
------------------------------------------------------------
revno: 110631 [merge]
committer: Kenichi Handa <address@hidden>
branch nick: trunk
timestamp: Wed 2012-10-24 00:48:17 +0900
message:
Make face-font-rescale-alist work correctly for non-ASCII fonts.
modified:
src/ChangeLog
src/font.c
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog 2012-10-23 02:39:13 +0000
+++ b/src/ChangeLog 2012-10-23 15:47:51 +0000
@@ -1,3 +1,11 @@
+2012-10-23 Kenichi Handa <address@hidden>
+
+ The following change is to make face-font-rescale-alist work
+ correctly for non-ASCII fonts.
+
+ * font.c (font_open_entity): Don't handle Vface_font_rescale_alist.
+ (font_open_for_lface): Handle Vface_font_rescale_alist.
+
2012-10-23 Chong Yidong <address@hidden>
* xfaces.c (Vfont_list_limit): Move unused variable to faces.el.
=== modified file 'src/font.c'
--- a/src/font.c 2012-10-19 12:59:42 +0000
+++ b/src/font.c 2012-10-23 15:42:29 +0000
@@ -2816,14 +2816,11 @@
Lisp_Object objlist, size, val, font_object;
struct font *font;
int min_width, height;
- int scaled_pixel_size = pixel_size;
eassert (FONT_ENTITY_P (entity));
size = AREF (entity, FONT_SIZE_INDEX);
if (XINT (size) != 0)
- scaled_pixel_size = pixel_size = XINT (size);
- else if (CONSP (Vface_font_rescale_alist))
- scaled_pixel_size = pixel_size * font_rescale_ratio (entity);
+ pixel_size = XINT (size);
val = AREF (entity, FONT_TYPE_INDEX);
for (driver_list = f->font_driver_list;
@@ -2845,7 +2842,7 @@
}
}
- font_object = driver_list->driver->open (f, entity, scaled_pixel_size);
+ font_object = driver_list->driver->open (f, entity, pixel_size);
if (!NILP (font_object))
ASET (font_object, FONT_SIZE_INDEX, make_number (pixel_size));
FONT_ADD_LOG ("open", entity, font_object);
@@ -3230,31 +3227,36 @@
if (INTEGERP (AREF (entity, FONT_SIZE_INDEX))
&& XINT (AREF (entity, FONT_SIZE_INDEX)) > 0)
size = XINT (AREF (entity, FONT_SIZE_INDEX));
- else if (FONT_SPEC_P (spec) && ! NILP (AREF (spec, FONT_SIZE_INDEX)))
- size = font_pixel_size (f, spec);
else
{
- double pt;
- if (INTEGERP (attrs[LFACE_HEIGHT_INDEX]))
- pt = XINT (attrs[LFACE_HEIGHT_INDEX]);
+ if (FONT_SPEC_P (spec) && ! NILP (AREF (spec, FONT_SIZE_INDEX)))
+ size = font_pixel_size (f, spec);
else
{
- struct face *def = FACE_FROM_ID (f, DEFAULT_FACE_ID);
- Lisp_Object height = def->lface[LFACE_HEIGHT_INDEX];
- eassert (INTEGERP (height));
- pt = XINT (height);
- }
+ double pt;
+ if (INTEGERP (attrs[LFACE_HEIGHT_INDEX]))
+ pt = XINT (attrs[LFACE_HEIGHT_INDEX]);
+ else
+ {
+ struct face *def = FACE_FROM_ID (f, DEFAULT_FACE_ID);
+ Lisp_Object height = def->lface[LFACE_HEIGHT_INDEX];
+ eassert (INTEGERP (height));
+ pt = XINT (height);
+ }
- pt /= 10;
- size = POINT_TO_PIXEL (pt, f->resy);
+ 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;
- }
+ if (size == 0)
+ {
+ Lisp_Object ffsize = get_frame_param (f, Qfontsize);
+ size = NUMBERP (ffsize) ? POINT_TO_PIXEL (XINT (ffsize), f->resy)
: 0;
+ }
#endif
+ }
+ size *= font_rescale_ratio (entity);
}
+
return font_open_entity (f, entity, size);
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] /srv/bzr/emacs/trunk r110631: Make face-font-rescale-alist work correctly for non-ASCII fonts.,
Kenichi Handa <=