summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKenichi Handa <handa@m17n.org>2008-08-18 12:05:30 +0000
committerKenichi Handa <handa@m17n.org>2008-08-18 12:05:30 +0000
commitdb716644516fcbddab198410eb78e7ac94765da0 (patch)
treeae62a8d61891cc6d693f246d9587e2410d96eb03
parent4ab088c087da03de9f6878e8548d46f754b968a6 (diff)
downloademacs-db716644516fcbddab198410eb78e7ac94765da0.tar.gz
(font_add_log): Add the font properties :script, :lang,
and :otf in the log.
-rw-r--r--src/font.c23
1 files changed, 22 insertions, 1 deletions
diff --git a/src/font.c b/src/font.c
index 7c15842d959..4258c99a52a 100644
--- a/src/font.c
+++ b/src/font.c
@@ -4928,7 +4928,28 @@ font_add_log (action, arg, result)
if (EQ (Vfont_log, Qt))
return;
if (FONTP (arg))
- arg = Ffont_xlfd_name (arg, Qt);
+ {
+ Lisp_Object tail, elt;
+ Lisp_Object equalstr = build_string ("=");
+
+ val = Ffont_xlfd_name (arg, Qt);
+ for (tail = AREF (arg, FONT_EXTRA_INDEX); CONSP (tail);
+ tail = XCDR (tail))
+ {
+ elt = XCAR (tail);
+ if (EQ (XCAR (elt), QCscript))
+ val = concat3 (val, SYMBOL_NAME (QCscript),
+ concat2 (equalstr, SYMBOL_NAME (XCDR (elt))));
+ else if (EQ (XCAR (elt), QClang))
+ val = concat3 (val, SYMBOL_NAME (QClang),
+ concat2 (equalstr, SYMBOL_NAME (XCDR (elt))));
+ else if (EQ (XCAR (elt), QCotf) && CONSP (XCDR (elt)))
+ val = concat3 (val, SYMBOL_NAME (QCotf),
+ concat2 (equalstr,
+ SYMBOL_NAME (XCAR (XCDR (elt)))));
+ }
+ arg = val;
+ }
if (FONTP (result))
{
val = Ffont_xlfd_name (result, Qt);