From 4012bd90fbd113c5ba63274dc31f2680e490bc9e Mon Sep 17 00:00:00 2001 From: Hironobu Yamashita Date: Wed, 26 Jul 2017 11:47:12 +0000 Subject: makejvf/tfmread.c: more efficient code git-svn-id: svn://tug.org/texlive/trunk@44893 c570f23f-e606-0410-a88d-b1316a301751 --- Build/source/texk/makejvf/tfmread.c | 58 +++++++++++++++++-------------------- 1 file changed, 26 insertions(+), 32 deletions(-) (limited to 'Build/source/texk/makejvf') diff --git a/Build/source/texk/makejvf/tfmread.c b/Build/source/texk/makejvf/tfmread.c index 8059b1737e4..a2f3ac51288 100644 --- a/Build/source/texk/makejvf/tfmread.c +++ b/Build/source/texk/makejvf/tfmread.c @@ -11,7 +11,7 @@ unsigned char *header,*char_type,*char_info,*glue_kern; int jfmread(int kcode) { - int i,ctype = 0,w_ind,w,ll,rr,gk_ind,k_ind,g_ind; + int i,ctype=0,w_ind,w,ll=0,rr=0,gk_ind,k_ind,g_ind; for (i = 0 ; i < nt ; i++) { if (upair(&char_type[i*4]) == kcode) { @@ -25,46 +25,40 @@ int jfmread(int kcode) w = width[w_ind]; rightamount = 0; - if (w != zw) { + if (w != zw && ctype > 0) { /* get natural length of JFM glue between and */ gk_ind = char_info[0*4+3]; /* remainder for */ - ll = 0; - if (ctype > 0) { - for (i = 0 ; i < nl-gk_ind ; i++) { - if (glue_kern[(gk_ind+i)*4+1] == ctype) { - if (glue_kern[(gk_ind+i)*4+2] >= 128) { - k_ind = glue_kern[(gk_ind+i)*4+3]; - ll = kern[k_ind]; - } - else { - g_ind = glue_kern[(gk_ind+i)*4+3]; - ll = glue[3*g_ind]; - } - break; + for (i = 0 ; i < nl-gk_ind ; i++) { + if (glue_kern[(gk_ind+i)*4+1] == ctype) { + if (glue_kern[(gk_ind+i)*4+2] >= 128) { + k_ind = glue_kern[(gk_ind+i)*4+3]; + ll = kern[k_ind]; } - if (glue_kern[(gk_ind+i)*4] >= 128) - break; + else { + g_ind = glue_kern[(gk_ind+i)*4+3]; + ll = glue[3*g_ind]; + } + break; } + if (glue_kern[(gk_ind+i)*4] >= 128) + break; } /* get natural length of JFM glue between and */ gk_ind = char_info[ctype*4+3]; /* remainder for */ - rr = 0; - if (ctype > 0) { - for (i = 0 ; i < nl-gk_ind ; i++) { - if (glue_kern[(gk_ind+i)*4+1] == 0) { - if (glue_kern[(gk_ind+i)*4+2] >= 128) { - k_ind = glue_kern[(gk_ind+i)*4+3]; - rr = kern[k_ind]; - } - else { - g_ind = glue_kern[(gk_ind+i)*4+3]; - rr = glue[3*g_ind]; - } - break; + for (i = 0 ; i < nl-gk_ind ; i++) { + if (glue_kern[(gk_ind+i)*4+1] == 0) { + if (glue_kern[(gk_ind+i)*4+2] >= 128) { + k_ind = glue_kern[(gk_ind+i)*4+3]; + rr = kern[k_ind]; + } + else { + g_ind = glue_kern[(gk_ind+i)*4+3]; + rr = glue[3*g_ind]; } - if (glue_kern[(gk_ind+i)*4] >= 128) - break; + break; } + if (glue_kern[(gk_ind+i)*4] >= 128) + break; } if (abs(zw - ll - w - rr) <= 1) /* allow round-off error */ /* character width is truncated, -- cgit v1.2.3