diff options
| author | Kenichi Handa | 2010-08-25 15:15:12 +0900 |
|---|---|---|
| committer | Kenichi Handa | 2010-08-25 15:15:12 +0900 |
| commit | 38cc06d9c47e11c8cddfa39c3e09c18bc33071f3 (patch) | |
| tree | ef1941fcb685e93f2591def428496b436fe67617 /src | |
| parent | 4e603db3429957e6b26953c177f00a9c9d1c8766 (diff) | |
| parent | 9bbaf4b01d0c95215fca22d2808ed0dd5466cae1 (diff) | |
| download | emacs-38cc06d9c47e11c8cddfa39c3e09c18bc33071f3.tar.gz emacs-38cc06d9c47e11c8cddfa39c3e09c18bc33071f3.zip | |
merge trunk
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 3 | ||||
| -rw-r--r-- | src/fontset.c | 11 |
2 files changed, 13 insertions, 1 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 5ce4c049c77..39f168dc8a4 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,5 +1,8 @@ | |||
| 1 | 2010-08-25 Kenichi Handa <handa@m17n.org> | 1 | 2010-08-25 Kenichi Handa <handa@m17n.org> |
| 2 | 2 | ||
| 3 | * fontset.c (reorder_font_vector): Prefer a font-spec specifying | ||
| 4 | :otf. | ||
| 5 | |||
| 3 | * composite.c (composition_compute_stop_pos): Don't break | 6 | * composite.c (composition_compute_stop_pos): Don't break |
| 4 | composition at PT. | 7 | composition at PT. |
| 5 | (composition_reseat_it): Likewise. Fix calculation of character | 8 | (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) | |||
| 283 | #define RFONT_DEF_OBJECT(rfont_def) AREF (rfont_def, 2) | 283 | #define RFONT_DEF_OBJECT(rfont_def) AREF (rfont_def, 2) |
| 284 | #define RFONT_DEF_SET_OBJECT(rfont_def, object) \ | 284 | #define RFONT_DEF_SET_OBJECT(rfont_def, object) \ |
| 285 | ASET ((rfont_def), 2, (object)) | 285 | ASET ((rfont_def), 2, (object)) |
| 286 | /* Score of RFONT_DEF is an integer value; the lowest 8 bits represent | ||
| 287 | the order of listing by font backends, the higher bits represents | ||
| 288 | the order given by charset priority list. The smaller value is | ||
| 289 | preferable. */ | ||
| 286 | #define RFONT_DEF_SCORE(rfont_def) XINT (AREF (rfont_def, 3)) | 290 | #define RFONT_DEF_SCORE(rfont_def) XINT (AREF (rfont_def, 3)) |
| 287 | #define RFONT_DEF_SET_SCORE(rfont_def, score) \ | 291 | #define RFONT_DEF_SET_SCORE(rfont_def, score) \ |
| 288 | ASET ((rfont_def), 3, make_number (score)) | 292 | ASET ((rfont_def), 3, make_number (score)) |
| @@ -412,8 +416,13 @@ reorder_font_vector (Lisp_Object font_group, struct font *font) | |||
| 412 | Lisp_Object font_def = RFONT_DEF_FONT_DEF (rfont_def); | 416 | Lisp_Object font_def = RFONT_DEF_FONT_DEF (rfont_def); |
| 413 | Lisp_Object font_spec = FONT_DEF_SPEC (font_def); | 417 | Lisp_Object font_spec = FONT_DEF_SPEC (font_def); |
| 414 | int score = RFONT_DEF_SCORE (rfont_def) & 0xFF; | 418 | int score = RFONT_DEF_SCORE (rfont_def) & 0xFF; |
| 419 | Lisp_Object otf_spec = Ffont_get (font_spec, QCotf); | ||
| 415 | 420 | ||
| 416 | if (! font_match_p (font_spec, font_object)) | 421 | if (! NILP (otf_spec)) |
| 422 | /* A font-spec with :otf is preferable regardless of encoding | ||
| 423 | and language.. */ | ||
| 424 | ; | ||
| 425 | else if (! font_match_p (font_spec, font_object)) | ||
| 417 | { | 426 | { |
| 418 | Lisp_Object encoding = FONT_DEF_ENCODING (font_def); | 427 | Lisp_Object encoding = FONT_DEF_ENCODING (font_def); |
| 419 | 428 | ||