summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAkira Kakuto <kakuto@fuk.kindai.ac.jp>2014-11-09 08:29:49 +0000
committerAkira Kakuto <kakuto@fuk.kindai.ac.jp>2014-11-09 08:29:49 +0000
commit32056f55040157895e4151ead5fbd8067e8b3754 (patch)
tree2e7f83ac3e2370988d78fc1b7788eeff9a3faf74
parent2c6669571d899717d79f83f055289568cfc11a32 (diff)
web2c/eptexdir, web2c/euptexdir: Improve the new primitive \lastnodechar (H. Kitagawa)
git-svn-id: svn://tug.org/texlive/trunk@35551 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Build/source/texk/web2c/eptexdir/ChangeLog5
-rw-r--r--Build/source/texk/web2c/eptexdir/eptex.ech27
-rw-r--r--Build/source/texk/web2c/eptexdir/eptex_version.h2
-rw-r--r--Build/source/texk/web2c/euptexdir/ChangeLog4
-rw-r--r--Build/source/texk/web2c/euptexdir/euptex.ch116
5 files changed, 35 insertions, 19 deletions
diff --git a/Build/source/texk/web2c/eptexdir/ChangeLog b/Build/source/texk/web2c/eptexdir/ChangeLog
index 76f6afef9e1..4cb68dd7407 100644
--- a/Build/source/texk/web2c/eptexdir/ChangeLog
+++ b/Build/source/texk/web2c/eptexdir/ChangeLog
@@ -1,3 +1,8 @@
+2014-11-09 Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
+
+ * eptex.ech: Improve the new primitive \lastnodechar.
+ * eptex_version.h: Change version to 141109.
+
2014-11-08 Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
* pdfutils.ch, eptex.ech: Add primitives \pdfshellescape and
diff --git a/Build/source/texk/web2c/eptexdir/eptex.ech b/Build/source/texk/web2c/eptexdir/eptex.ech
index 761af8a7447..fc71a4a42a1 100644
--- a/Build/source/texk/web2c/eptexdir/eptex.ech
+++ b/Build/source/texk/web2c/eptexdir/eptex.ech
@@ -19,7 +19,7 @@
@y
@d eTeX_version_string=='-2.6' {current \eTeX\ version}
@#
-@d epTeX_version_string=='-141108'
+@d epTeX_version_string=='-141109'
@z
@x e-pTeX: banner
@@ -110,6 +110,25 @@ if not is_char_node(tx) then
end
@#
@d find_effective_tail==find_effective_tail_epTeX
+@#
+@d ignore_font_kerning==
+begin if ((type(tx)=glue_node) and (subtype(tx)=jfm_skip+1))
+ or ((type(tx)=penalty_node) and (subtype(tx)=kinsoku_pena)) then
+ tx:=last_jchr
+else if (type(tx)=kern_node) and (subtype(tx)=normal) then
+ begin r:=head; q:=link(head);
+ while q<>tx do
+ begin r:=q;
+ if is_char_node(q) then if font_dir[font(q)]<>dir_default then q:=link(q);
+ q:=link(q);
+ end;
+ if ((type(r)=penalty_node) and (subtype(r)=kinsoku_pena)) then tx:=last_jchr else tx:=r;
+ end;
+if not is_char_node(tx) then
+ if type(tx)=ligature_node then cur_val:=character(lig_char(tx)) else cur_val:=-1
+else if font_dir[font(tx)]<>dir_default then cur_val:=info(link(tx))
+else cur_val:=character(tx);
+end
@z
@x
@@ -143,11 +162,7 @@ if not is_char_node(tx) then
else if cur_val>disp_node then cur_val:=cur_val-1;
end
else cur_val:=unset_node; {\epTeX's |unset_node| is \eTeX's |unset_node+2|}
- last_node_char_code:
- if ((type(tx)=glue_node) and (subtype(tx)=jfm_skip+1))
- or ((type(tx)=penalty_node) and (subtype(tx)=kinsoku_pena)) then
- cur_val:=info(link(last_jchr))
- else cur_val:=-1;
+ last_node_char_code: ignore_font_kerning;
@z
@x e-pTeX: if primitives - leave room for three e-TeX codes
diff --git a/Build/source/texk/web2c/eptexdir/eptex_version.h b/Build/source/texk/web2c/eptexdir/eptex_version.h
index 0ae3a1f2b93..d476b1afa7e 100644
--- a/Build/source/texk/web2c/eptexdir/eptex_version.h
+++ b/Build/source/texk/web2c/eptexdir/eptex_version.h
@@ -1 +1 @@
-#define EPTEX_VERSION "141108"
+#define EPTEX_VERSION "141109"
diff --git a/Build/source/texk/web2c/euptexdir/ChangeLog b/Build/source/texk/web2c/euptexdir/ChangeLog
index fc1c92ce0d8..9ffbaca5d3a 100644
--- a/Build/source/texk/web2c/euptexdir/ChangeLog
+++ b/Build/source/texk/web2c/euptexdir/ChangeLog
@@ -1,3 +1,7 @@
+2014-11-09 Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
+
+ * euptex.ch1: Improve the new primitive \lastnodechar.
+
2014-11-08 Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
* euptex.ch1: Add primitives \pdfshellescape and \lastnodechar
diff --git a/Build/source/texk/web2c/euptexdir/euptex.ch1 b/Build/source/texk/web2c/euptexdir/euptex.ch1
index f8272cf1b35..9330be8ff54 100644
--- a/Build/source/texk/web2c/euptexdir/euptex.ch1
+++ b/Build/source/texk/web2c/euptexdir/euptex.ch1
@@ -7,23 +7,15 @@
@z
@x
- else if font_dir[font(tx)]<>dir_default then cur_val:=info(link(tx))
+else if font_dir[font(tx)]<>dir_default then cur_val:=info(link(tx))
@y
- else if font_dir[font(tx)]<>dir_default then cur_val:=info(link(tx)) mod max_cjk_val
+else if font_dir[font(tx)]<>dir_default then cur_val:=info(link(tx)) mod max_cjk_val
@z
@x
- last_node_char_code:
- if ((type(tx)=glue_node) and (subtype(tx)=jfm_skip+1))
- or ((type(tx)=penalty_node) and (subtype(tx)=kinsoku_pena)) then
- cur_val:=info(link(last_jchr))
- else cur_val:=-1;
+ else if font_dir[font(tx)]<>dir_default then cur_val:=info(link(tx))
@y
- last_node_char_code:
- if ((type(tx)=glue_node) and (subtype(tx)=jfm_skip+1))
- or ((type(tx)=penalty_node) and (subtype(tx)=kinsoku_pena)) then
- cur_val:=info(link(last_jchr)) mod max_cjk_val
- else cur_val:=-1;
+ else if font_dir[font(tx)]<>dir_default then cur_val:=info(link(tx)) mod max_cjk_val
@z
@x e-pTeX: ifcsname l.28620