diff options
author | Akira Kakuto <kakuto@fuk.kindai.ac.jp> | 2015-12-16 14:50:11 +0000 |
---|---|---|
committer | Akira Kakuto <kakuto@fuk.kindai.ac.jp> | 2015-12-16 14:50:11 +0000 |
commit | 621273b5ef8cc9e83d9aca07bf012f727ba26f15 (patch) | |
tree | 0b5cb28eec37e3e0e93a09729cbc30834166a5f9 /Build/source/texk/web2c/luatexdir/tex/directions.h | |
parent | f04f01782aebac8cb2fcde278c02a4fb3be4bb12 (diff) |
web2c/luatexdir: LuaTeX beta-0.86.0 (Sync with the upstream).
git-svn-id: svn://tug.org/texlive/trunk@39116 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/web2c/luatexdir/tex/directions.h')
-rw-r--r-- | Build/source/texk/web2c/luatexdir/tex/directions.h | 74 |
1 files changed, 56 insertions, 18 deletions
diff --git a/Build/source/texk/web2c/luatexdir/tex/directions.h b/Build/source/texk/web2c/luatexdir/tex/directions.h index 34a89cc29a2..e4cea9014dd 100644 --- a/Build/source/texk/web2c/luatexdir/tex/directions.h +++ b/Build/source/texk/web2c/luatexdir/tex/directions.h @@ -31,7 +31,7 @@ */ # define dir_TLT 0 /* maybe use this one as unset value */ -# define dir_TRT 1 /* or swhould we avoid that one because it's a signal too */ +# define dir_TRT 1 /* or should we avoid that one because it's a signal too */ # define dir_LTL 2 # define dir_RTT 3 @@ -56,14 +56,52 @@ extern int dir_swap; # define is_rotated(a) (a == dir_RTT) +/* + + # define textdir_parallel(a,b) ( \ + ((a == dir_TLT || a == dir_TRT) && (b == dir_TLT || b == dir_TRT)) || \ + ((a == dir_LTL || a == dir_RTT) && (b == dir_LTL || b == dir_RTT)) \ + ) + + # define pardir_parallel(a,b) ( \ + ((a == dir_TLT || a == dir_TRT) && (b == dir_TLT || b == dir_TRT)) || \ + ((a == dir_LTL || a == dir_RTT) && (b == dir_LTL || b == dir_RTT)) \ + ) + + # define pardir_eq(a,b) ( \ + ((a == dir_TLT || a == dir_TRT) && (b == dir_TLT || b == dir_TRT)) || \ + (a == dir_LTL && b == dir_LTL) || \ + (a == dir_RTT && b == dir_RTT) \ + ) + + # define textdir_eq(a,b) ( \ + (a == dir_TLT && b == dir_TLT) || \ + (a == dir_TRT && b == dir_TRT) || \ + (a == dir_LTL && (b == dir_LTL || b == dir_RTT)) || \ + (a == dir_RTT && (b == dir_LTL || b == dir_RTT)) + + # define partextdir_eq(a,b) ( \ + ((a == dir_TLT || a == dir_TRT) && (b == dir_LTL || b == dir_RTT)) || \ + (a == dir_LTL && b == dir_TLT) || \ + (a == dir_RTT && b == dir_TRT) \ + ) + +*/ + +/* # define dir_TLT_or_TRT(a) (a == dir_TLT || a == dir_TRT) */ +/* # define dir_LTL_or_RTT(a) (a == dir_LTL || a == dir_RTT) */ + +# define dir_TLT_or_TRT(a) (a < 2) +# define dir_LTL_or_RTT(a) (a > 1) + # define textdir_parallel(a,b) ( \ - ((a == dir_TLT || a == dir_TRT) && (b == dir_TLT || b == dir_TRT)) || \ - ((a == dir_LTL || a == dir_RTT) && (b == dir_LTL || b == dir_RTT)) \ + (dir_TLT_or_TRT(a) && dir_TLT_or_TRT(b)) || \ + (dir_LTL_or_RTT(a) && dir_LTL_or_RTT(b)) \ ) # define pardir_parallel(a,b) ( \ - ((a == dir_TLT || a == dir_TRT) && (b == dir_TLT || b == dir_TRT)) || \ - ((a == dir_LTL || a == dir_RTT) && (b == dir_LTL || b == dir_RTT)) \ + (dir_TLT_or_TRT(a) && dir_TLT_or_TRT(b)) || \ + (dir_LTL_or_RTT(a) && dir_LTL_or_RTT(b)) \ ) # define pardir_opposite(a,b) ( \ @@ -79,7 +117,7 @@ extern int dir_swap; # define glyphdir_opposite(a,b) 0 # define pardir_eq(a,b) ( \ - ((a == dir_TLT || a == dir_TRT) && (b == dir_TLT || b == dir_TRT)) || \ + (dir_TLT_or_TRT(a) && dir_TLT_or_TRT(b)) || \ (a == dir_LTL && b == dir_LTL) || \ (a == dir_RTT && b == dir_RTT) \ ) @@ -87,8 +125,8 @@ extern int dir_swap; # define textdir_eq(a,b) ( \ (a == dir_TLT && b == dir_TLT) || \ (a == dir_TRT && b == dir_TRT) || \ - (a == dir_LTL && (b == dir_LTL || b == dir_RTT)) || \ - (a == dir_RTT && (b == dir_LTL || b == dir_RTT) \ + (a == dir_LTL && dir_LTL_or_RTT(b)) || \ + (a == dir_RTT && dir_LTL_or_RTT(b)) \ ) # define glyphdir_eq(a,b) ( \ @@ -97,7 +135,7 @@ extern int dir_swap; ) # define partextdir_eq(a,b) ( \ - ((a == dir_TLT || a == dir_TRT)&&(b == dir_LTL || b == dir_RTT)) || \ + (dir_TLT_or_TRT(a) && dir_LTL_or_RTT(b)) || \ (a == dir_LTL && b == dir_TLT) || \ (a == dir_RTT && b == dir_TRT) \ ) @@ -106,21 +144,21 @@ extern int dir_swap; # define textdir_is_L(a) (a == dir_TLT) -# define push_dir(a,b) { \ +# define push_dir(p,a) { \ halfword dir_tmp=new_dir((a)); \ - vlink(dir_tmp)=b; \ - b=dir_tmp; \ + vlink(dir_tmp)=p; \ + p=dir_tmp; \ } -# define push_dir_node(a,b) { \ +# define push_dir_node(p,a) { \ halfword dir_tmp=copy_node((a)); \ - vlink(dir_tmp)=b; \ - b=dir_tmp; \ + vlink(dir_tmp)=p; \ + p=dir_tmp; \ } -# define pop_dir_node(b) { \ - halfword dir_tmp=b; \ - b=vlink(dir_tmp); \ +# define pop_dir_node(p) { \ + halfword dir_tmp=p; \ + p=vlink(dir_tmp); \ flush_node(dir_tmp); \ } |