summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKenichi Handa <handa@m17n.org>2010-08-25 15:15:12 +0900
committerKenichi Handa <handa@m17n.org>2010-08-25 15:15:12 +0900
commit38cc06d9c47e11c8cddfa39c3e09c18bc33071f3 (patch)
treeef1941fcb685e93f2591def428496b436fe67617
parent4e603db3429957e6b26953c177f00a9c9d1c8766 (diff)
parent9bbaf4b01d0c95215fca22d2808ed0dd5466cae1 (diff)
downloademacs-38cc06d9c47e11c8cddfa39c3e09c18bc33071f3.tar.gz
emacs-38cc06d9c47e11c8cddfa39c3e09c18bc33071f3.tar.bz2
emacs-38cc06d9c47e11c8cddfa39c3e09c18bc33071f3.zip
merge trunk
-rw-r--r--doc/lispref/ChangeLog4
-rw-r--r--doc/lispref/processes.texi2
-rw-r--r--src/ChangeLog3
-rw-r--r--src/fontset.c11
4 files changed, 18 insertions, 2 deletions
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog
index 53b8ac25522..b58ce8cd464 100644
--- a/doc/lispref/ChangeLog
+++ b/doc/lispref/ChangeLog
@@ -1,3 +1,7 @@
+2010-08-25 Eli Zaretskii <eliz@gnu.org>
+
+ * processes.texi (Filter Functions): Fix last change.
+
2010-08-24 Markus Triska <triska@gmx.at>
* processes.texi (Filter Functions): Use `buffer-live-p' instead
diff --git a/doc/lispref/processes.texi b/doc/lispref/processes.texi
index 265c76471f0..89f97f99de3 100644
--- a/doc/lispref/processes.texi
+++ b/doc/lispref/processes.texi
@@ -1286,7 +1286,7 @@ of point. Here is how to do these things:
@end group
@group
(save-excursion
- ;; <at> r{Insert the text, advancing the process marker.}
+ ;; @r{Insert the text, advancing the process marker.}
(goto-char (process-mark proc))
(insert string)
(set-marker (process-mark proc) (point)))
diff --git a/src/ChangeLog b/src/ChangeLog
index 5ce4c049c77..39f168dc8a4 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,8 @@
2010-08-25 Kenichi Handa <handa@m17n.org>
+ * fontset.c (reorder_font_vector): Prefer a font-spec specifying
+ :otf.
+
* composite.c (composition_compute_stop_pos): Don't break
composition at PT.
(composition_reseat_it): Likewise. Fix calculation of character
diff --git a/src/fontset.c b/src/fontset.c
index b273ace75af..86b9ceb45db 100644
--- a/src/fontset.c
+++ b/src/fontset.c
@@ -283,6 +283,10 @@ fontset_id_valid_p (id)
#define RFONT_DEF_OBJECT(rfont_def) AREF (rfont_def, 2)
#define RFONT_DEF_SET_OBJECT(rfont_def, object) \
ASET ((rfont_def), 2, (object))
+/* Score of RFONT_DEF is an integer value; the lowest 8 bits represent
+ the order of listing by font backends, the higher bits represents
+ the order given by charset priority list. The smaller value is
+ preferable. */
#define RFONT_DEF_SCORE(rfont_def) XINT (AREF (rfont_def, 3))
#define RFONT_DEF_SET_SCORE(rfont_def, score) \
ASET ((rfont_def), 3, make_number (score))
@@ -412,8 +416,13 @@ reorder_font_vector (Lisp_Object font_group, struct font *font)
Lisp_Object font_def = RFONT_DEF_FONT_DEF (rfont_def);
Lisp_Object font_spec = FONT_DEF_SPEC (font_def);
int score = RFONT_DEF_SCORE (rfont_def) & 0xFF;
+ Lisp_Object otf_spec = Ffont_get (font_spec, QCotf);
- if (! font_match_p (font_spec, font_object))
+ if (! NILP (otf_spec))
+ /* A font-spec with :otf is preferable regardless of encoding
+ and language.. */
+ ;
+ else if (! font_match_p (font_spec, font_object))
{
Lisp_Object encoding = FONT_DEF_ENCODING (font_def);