aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKenichi Handa2008-05-31 02:29:58 +0000
committerKenichi Handa2008-05-31 02:29:58 +0000
commit719b3d63d338d1b31e042ca1c8fad8b3d402c78d (patch)
treedf42c96628ad346af463db50b03381a37e022922 /src
parent10498e1c2c5ade6553dfe5b19c0f79f18a613eac (diff)
downloademacs-719b3d63d338d1b31e042ca1c8fad8b3d402c78d.tar.gz
emacs-719b3d63d338d1b31e042ca1c8fad8b3d402c78d.zip
(ftfont_font_format): Don't use strcasestr.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog4
-rw-r--r--src/ftfont.c22
2 files changed, 18 insertions, 8 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 0c1125c9e05..030c2a186bf 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,7 @@
12008-05-31 Kenichi Handa <handa@m17n.org>
2
3 * ftfont.c (ftfont_font_format): Don't use strcasestr.
4
12008-05-30 Stefan Monnier <monnier@iro.umontreal.ca> 52008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
2 6
3 * chartab.c (Foptimize_char_table, optimize_sub_char_table): 7 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
diff --git a/src/ftfont.c b/src/ftfont.c
index 574b7841067..bc8c4406257 100644
--- a/src/ftfont.c
+++ b/src/ftfont.c
@@ -1707,6 +1707,7 @@ Lisp_Object
1707ftfont_font_format (FcPattern *pattern) 1707ftfont_font_format (FcPattern *pattern)
1708{ 1708{
1709 FcChar8 *str; 1709 FcChar8 *str;
1710 int len;
1710 1711
1711#ifdef FC_FONTFORMAT 1712#ifdef FC_FONTFORMAT
1712 if (FcPatternGetString (pattern, FC_FONTFORMAT, 0, &str) != FcResultMatch) 1713 if (FcPatternGetString (pattern, FC_FONTFORMAT, 0, &str) != FcResultMatch)
@@ -1722,14 +1723,19 @@ ftfont_font_format (FcPattern *pattern)
1722#else /* not FC_FONTFORMAT */ 1723#else /* not FC_FONTFORMAT */
1723 if (FcPatternGetString (pattern, FC_FILE, 0, &str) != FcResultMatch) 1724 if (FcPatternGetString (pattern, FC_FILE, 0, &str) != FcResultMatch)
1724 return Qnil; 1725 return Qnil;
1725 if (strcasestr ((char *) str, ".ttf") == 0) 1726 len = strlen ((char *) str);
1726 return intern ("truetype"); 1727 if (len >= 4)
1727 if (strcasestr ((char *) str, "pfb") == 0) 1728 {
1728 return intern ("type1"); 1729 str += len - 4;
1729 if (strcasestr ((char *) str, "pcf") == 0) 1730 if (xstrcasecmp ((char *) str, ".ttf") == 0)
1730 return intern ("pcf"); 1731 return intern ("truetype");
1731 if (strcasestr ((char *) str, "bdf") == 0) 1732 if (xstrcasecmp ((char *) str, "pfb") == 0)
1732 return intern ("bdf"); 1733 return intern ("type1");
1734 if (xstrcasecmp ((char *) str, "pcf") == 0)
1735 return intern ("pcf");
1736 if (xstrcasecmp ((char *) str, "bdf") == 0)
1737 return intern ("bdf");
1738 }
1733#endif /* not FC_FONTFORMAT */ 1739#endif /* not FC_FONTFORMAT */
1734 return intern ("unknown"); 1740 return intern ("unknown");
1735} 1741}