elt = Fmake_vector (make_number (2), make_number (100));
ASET (elt, 1, val);
ASET (font_style_table, prop - FONT_WEIGHT_INDEX,
- Fvconcat (2, ((Lisp_Object [])
- { table, Fmake_vector (make_number (1), elt) })));
+ CALLN (Fvconcat, table, Fmake_vector (make_number (1), elt)));
return (100 << 8) | (i << 4);
}
else
if (i == 0 || ! NILP (tmp[i - 1]))
/* None of TMP[X] corresponds to Jth field. */
return -1;
- for (; j < range[i].from; j++)
- field[j] = Qnil;
+ memclear (field + j, (range[i].from - j) * word_size);
+ j = range[i].from;
}
field[j++] = tmp[i];
}
if (! NILP (tmp[n - 1]) && j < XLFD_REGISTRY_INDEX)
return -1;
- for (; j < XLFD_LAST_INDEX; j++)
- field[j] = Qnil;
+ memclear (field + j, (XLFD_LAST_INDEX - j) * word_size);
if (INTEGERP (field[XLFD_ENCODING_INDEX]))
field[XLFD_ENCODING_INDEX]
= Fintern (Fnumber_to_string (field[XLFD_ENCODING_INDEX]), Qnil);
}
/* Score the size. Maximum difference is 127. */
- i = FONT_SIZE_INDEX;
if (! NILP (spec_prop[FONT_SIZE_INDEX])
&& XINT (AREF (entity, FONT_SIZE_INDEX)) > 0)
{
Lisp_Object
font_open_by_name (struct frame *f, Lisp_Object name)
{
- Lisp_Object args[2];
- Lisp_Object spec, ret;
-
- args[0] = QCname;
- args[1] = name;
- spec = Ffont_spec (2, args);
- ret = font_open_by_spec (f, spec);
+ Lisp_Object spec = CALLN (Ffont_spec, QCname, name);
+ Lisp_Object ret = font_open_by_spec (f, spec);
/* Do not lose name originally put in. */
if (!NILP (ret))
- font_put_extra (ret, QCuser_spec, args[1]);
+ font_put_extra (ret, QCuser_spec, name);
return ret;
}
if (STRINGP (string))
face_id = face_at_string_position (w, string, pos, 0, &endptr,
- DEFAULT_FACE_ID, 0);
+ DEFAULT_FACE_ID, false);
else
face_id = face_at_buffer_position (w, pos, &endptr,
- pos + 100, 0, -1);
+ pos + 100, false, -1);
face = FACE_FROM_ID (f, face_id);
}
if (multibyte)
int face_id;
face_id = face_at_buffer_position (w, pos, &ignore,
- *limit, 0, -1);
+ *limit, false, -1);
face = FACE_FROM_ID (XFRAME (w->frame), face_id);
}
}
`:foundry'
-VALUE must be a string or a symbol specifying the font foundry, e.g. ``misc''.
+VALUE must be a string or a symbol specifying the font foundry, e.g. `misc'.
`:adstyle'
VALUE must be a string or a symbol specifying the additional
-typographic style information of a font, e.g. ``sans''.
+typographic style information of a font, e.g. `sans'.
`:registry'
VALUE must be a string or a symbol specifying the charset registry and
-encoding of a font, e.g. ``iso8859-1''.
+encoding of a font, e.g. `iso8859-1'.
`:size'
GSUB: List of OpenType GSUB feature tag symbols, or nil if none required.
GPOS: List of OpenType GPOS feature tag symbols, or nil if none required.
-GSUB and GPOS may contain `nil' element. In such a case, the font
+GSUB and GPOS may contain nil elements. In such a case, the font
must not have any of the remaining elements.
For instance, if the VALUE is `(thai nil nil (mark))', the font must
else
vec = font_vconcat_entity_vectors (list);
if (n == 0 || n >= ASIZE (vec))
- {
- Lisp_Object args[2];
-
- args[0] = vec;
- args[1] = Qnil;
- list = Fappend (2, args);
- }
+ list = CALLN (Fappend, vec, Qnil);
else
{
for (list = Qnil, n--; n >= 0; n--)
static Lisp_Object Vfont_log_deferred;
/* Prepend the font-related logging data in Vfont_log if it is not
- `t'. ACTION describes a kind of font-related action (e.g. listing,
+ t. ACTION describes a kind of font-related action (e.g. listing,
opening), ARG is the argument for the action, and RESULT is the
result of the action. */
void
#ifdef HAVE_FREETYPE
syms_of_ftfont ();
#ifdef HAVE_X_WINDOWS
+#ifdef USE_CAIRO
+ syms_of_ftcrfont ();
+#else
syms_of_xfont ();
syms_of_ftxfont ();
#ifdef HAVE_XFT
syms_of_xftfont ();
#endif /* HAVE_XFT */
+#endif /* not USE_CAIRO */
#endif /* HAVE_X_WINDOWS */
#else /* not HAVE_FREETYPE */
#ifdef HAVE_X_WINDOWS