aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/xterm.c35
1 files changed, 11 insertions, 24 deletions
diff --git a/src/xterm.c b/src/xterm.c
index 14514983a41..3cab4ec4ba7 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -12077,10 +12077,7 @@ void
12077x_find_ccl_program (fontp) 12077x_find_ccl_program (fontp)
12078 struct font_info *fontp; 12078 struct font_info *fontp;
12079{ 12079{
12080 extern Lisp_Object Vfont_ccl_encoder_alist, Vccl_program_table; 12080 Lisp_Object list, elt;
12081 extern Lisp_Object Qccl_program_idx;
12082 extern Lisp_Object resolve_symbol_ccl_program ();
12083 Lisp_Object list, elt, ccl_prog, ccl_id;
12084 12081
12085 for (list = Vfont_ccl_encoder_alist; CONSP (list); list = XCONS (list)->cdr) 12082 for (list = Vfont_ccl_encoder_alist; CONSP (list); list = XCONS (list)->cdr)
12086 { 12083 {
@@ -12089,26 +12086,16 @@ x_find_ccl_program (fontp)
12089 && STRINGP (XCONS (elt)->car) 12086 && STRINGP (XCONS (elt)->car)
12090 && (fast_c_string_match_ignore_case (XCONS (elt)->car, fontp->name) 12087 && (fast_c_string_match_ignore_case (XCONS (elt)->car, fontp->name)
12091 >= 0)) 12088 >= 0))
12092 { 12089 break;
12093 if (SYMBOLP (XCONS (elt)->cdr) && 12090 }
12094 (!NILP (ccl_id = Fget (XCONS (elt)->cdr, Qccl_program_idx)))) 12091 if (! NILP (list))
12095 { 12092 {
12096 ccl_prog = XVECTOR (Vccl_program_table)->contents[XUINT (ccl_id)]; 12093 struct ccl_program *ccl = xmalloc (sizeof (struct ccl_program));
12097 if (!CONSP (ccl_prog)) continue; 12094
12098 ccl_prog = XCONS (ccl_prog)->cdr; 12095 if (setup_ccl_program (ccl, XCONS (elt)->cdr) < 0)
12099 } 12096 xfree (ccl);
12100 else 12097 else
12101 { 12098 fontp->font_encoder = ccl;
12102 ccl_prog = XCONS (elt)->cdr;
12103 if (!VECTORP (ccl_prog)) continue;
12104 }
12105
12106 fontp->font_encoder
12107 = (struct ccl_program *) xmalloc (sizeof (struct ccl_program));
12108 setup_ccl_program (fontp->font_encoder,
12109 resolve_symbol_ccl_program (ccl_prog));
12110 break;
12111 }
12112 } 12099 }
12113} 12100}
12114 12101