[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/src/ftfont.c,v
From: |
Kenichi Handa |
Subject: |
[Emacs-diffs] Changes to emacs/src/ftfont.c,v |
Date: |
Thu, 19 Jun 2008 00:42:12 +0000 |
CVSROOT: /cvsroot/emacs
Module name: emacs
Changes by: Kenichi Handa <handa> 08/06/19 00:42:11
Index: ftfont.c
===================================================================
RCS file: /cvsroot/emacs/emacs/src/ftfont.c,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -b -r1.21 -r1.22
--- ftfont.c 11 Jun 2008 01:13:48 -0000 1.21
+++ ftfont.c 19 Jun 2008 00:42:11 -0000 1.22
@@ -68,7 +68,8 @@
#endif /* HAVE_LIBOTF */
};
-static Lisp_Object ftfont_pattern_entity P_ ((FcPattern *, Lisp_Object, int));
+static Lisp_Object ftfont_pattern_entity P_ ((FcPattern *, Lisp_Object,
+ Lisp_Object, int));
static Lisp_Object ftfont_resolve_generic_family P_ ((Lisp_Object));
Lisp_Object ftfont_font_format P_ ((FcPattern *));
@@ -128,9 +129,9 @@
extern Lisp_Object Qc, Qm, Qp, Qd;
static Lisp_Object
-ftfont_pattern_entity (p, registry, fc_charset_idx)
+ftfont_pattern_entity (p, registry, extra, fc_charset_idx)
FcPattern *p;
- Lisp_Object registry;
+ Lisp_Object registry, extra;
int fc_charset_idx;
{
Lisp_Object entity;
@@ -181,6 +182,7 @@
&& b == FcTrue)
ASET (entity, FONT_AVGWIDTH_INDEX, make_number (0));
+ ASET (entity, FONT_EXTRA_INDEX, Fcopy_sequence (extra));
font_put_extra (entity, QCfont_entity,
Fcons (make_unibyte_string ((char *) file,
strlen ((char *) file)),
@@ -469,7 +471,6 @@
int n;
int dpi = -1;
int scalable = -1;
- Lisp_Object name = Qnil;
Lisp_Object script = Qnil;
Lisp_Object registry;
@@ -512,8 +513,6 @@
key = XCAR (XCAR (extra)), val = XCDR (XCAR (extra));
if (EQ (key, QCdpi))
dpi = XINT (val);
- else if (EQ (key, QCfc_unknown_spec))
- name = val;
else if (EQ (key, QClang))
{
langset = FcLangSetCreate ();
@@ -530,8 +529,6 @@
&& ! FcLangSetAdd (langset, SYMBOL_FcChar8 (XCAR (val))))
goto err;
}
- else if (EQ (key, QCname))
- name = val;
else if (EQ (key, QCotf))
{
*otspec = ftfont_get_open_type_spec (val);
@@ -563,13 +560,9 @@
}
}
- pattern = NILP (name) ? FcPatternCreate () : FcNameParse (SDATA (name));
+ pattern = FcPatternCreate ();
if (! pattern)
goto err;
- FcPatternDel (pattern, FC_SIZE);
- FcPatternDel (pattern, FC_PIXEL_SIZE);
- FcPatternDel (pattern, FC_FOUNDRY);
- FcPatternDel (pattern, FC_FAMILY);
tmp = AREF (spec, FONT_FOUNDRY_INDEX);
if (! NILP (tmp)
&& ! FcPatternAddString (pattern, FC_FOUNDRY, SYMBOL_FcChar8 (tmp)))
@@ -663,6 +656,9 @@
#ifdef FC_CAPABILITY
FC_CAPABILITY,
#endif /* FC_CAPABILITY */
+#ifdef FC_FONTFORMAT
+ FC_FONTFORMAT,
+#endif
NULL);
if (! objset)
goto err;
@@ -746,6 +742,7 @@
}
#endif /* HAVE_LIBOTF */
entity = ftfont_pattern_entity (fontset->fonts[i], registry,
+ AREF (spec, FONT_EXTRA_INDEX),
fc_charset_idx);
if (! NILP (entity))
val = Fcons (entity, val);
@@ -800,7 +797,9 @@
match = FcFontMatch (NULL, pattern, &result);
if (match)
{
- entity = ftfont_pattern_entity (match, Qunicode_bmp, fc_charset_idx);
+ entity = ftfont_pattern_entity (match, Qunicode_bmp,
+ AREF (spec, FONT_EXTRA_INDEX),
+ fc_charset_idx);
FcPatternDestroy (match);
if (! NILP (AREF (spec, FONT_FAMILY_INDEX))
&& NILP (assq_no_quit (AREF (spec, FONT_FAMILY_INDEX),
- [Emacs-diffs] Changes to emacs/src/ftfont.c,v, Juanma Barranquero, 2008/06/01
- [Emacs-diffs] Changes to emacs/src/ftfont.c,v, Kenichi Handa, 2008/06/09
- [Emacs-diffs] Changes to emacs/src/ftfont.c,v, Kenichi Handa, 2008/06/09
- [Emacs-diffs] Changes to emacs/src/ftfont.c,v, Kenichi Handa, 2008/06/10
- [Emacs-diffs] Changes to emacs/src/ftfont.c,v,
Kenichi Handa <=
- [Emacs-diffs] Changes to emacs/src/ftfont.c,v, Kenichi Handa, 2008/06/30