summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Master/texmf-dist/doc/luatex/chickenize/chickenize.pdfbin191886 -> 191906 bytes
-rw-r--r--Master/texmf-dist/source/luatex/chickenize/chickenize.dtx57
-rw-r--r--Master/texmf-dist/tex/luatex/chickenize/chickenize.lua46
-rw-r--r--Master/texmf-dist/tex/luatex/chickenize/chickenize.sty4
-rw-r--r--Master/texmf-dist/tex/luatex/chickenize/chickenize.tex5
5 files changed, 57 insertions, 55 deletions
diff --git a/Master/texmf-dist/doc/luatex/chickenize/chickenize.pdf b/Master/texmf-dist/doc/luatex/chickenize/chickenize.pdf
index 3ff13d3496e..b3e97fd7f44 100644
--- a/Master/texmf-dist/doc/luatex/chickenize/chickenize.pdf
+++ b/Master/texmf-dist/doc/luatex/chickenize/chickenize.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/luatex/chickenize/chickenize.dtx b/Master/texmf-dist/source/luatex/chickenize/chickenize.dtx
index d98dcb84b89..d425244117c 100644
--- a/Master/texmf-dist/source/luatex/chickenize/chickenize.dtx
+++ b/Master/texmf-dist/source/luatex/chickenize/chickenize.dtx
@@ -19,7 +19,7 @@ arno dot trautmann at gmx dot de
Hope you have fun with this package!
-This package is copyright © 2015 Arno L. Trautmann. It may be distributed and/or
+This package is copyright © 2016 Arno L. Trautmann. It may be distributed and/or
modified under the conditions of the LaTeX Project Public License, either version 1.3c
of this license or (at your option) any later version. This work has the LPPL mainten-
ance status ‘maintained’.
@@ -37,7 +37,7 @@ ance status ‘maintained’.
EXPERIMENTAL CODE
-This package is copyright © 2015 Arno L. Trautmann. It may be distributed and/or
+This package is copyright © 2016 Arno L. Trautmann. It may be distributed and/or
modified under the conditions of the LaTeX Project Public License, either version 1.3c
of this license or (at your option) any later version. This work has the LPPL mainten-
ance status ‘maintained’.
@@ -117,7 +117,7 @@ chickenize
\unrainbowcolor
-\centerline{v0.2.2}
+\centerline{v0.2.3}
\centerline{\hspace*{2cm} Arno L. Trautmann \ALT}
\centerline{\href{mailto:arno.trautmann@gmx.de}{arno.trautmann@gmx.de}}
@@ -140,7 +140,7 @@ If you have any suggestions or comments, just drop me a mail, I’ll be happy to
\small\noindent
\fbox{\parbox{.97\textwidth}{
-This package is copyright © 2015 Arno L. Trautmann. It may be distributed and/or
+This package is copyright © 2016 Arno L. Trautmann. It may be distributed and/or
modified under the conditions of the LaTeX Project Public License, either version 1.3c
of this license or (at your option) any later version. This work has the LPPL maintenance status ‘maintained’.}}
\vspace*{1cm}
@@ -700,9 +700,6 @@ The namespace of the chickenize package is \emph{not} consistent. Please don't t
\def\unupsidedown{
\directlua{luatexbase.remove_from_callback("post_linebreak_filter","upsidedown")}}
-\def\unuppercasecolor{
- \directlua{luatexbase.remove_from_callback("post_linebreak_filter","upsidedow")}}
-
\def\variantjustification{
\directlua{luatexbase.add_to_callback("post_linebreak_filter",variantjustification,"variantjustification")}}
\def\unvariantjustification{
@@ -809,7 +806,7 @@ sloppyline(flugel_vorne,flugel_unten) sloppyline(flugel_hinten,flugel_unten)
% Some code might be implemented to manipulate figures for full chickenization. However, I will \emph{not} load any packages at this place, as loading of expl3 or TikZ or whatever takes too much time for such a tiny package like this one. If you require any of the features presented here, you have to load the packages on your own. Maybe this will change.
% \begin{macrocode}
\ProvidesPackage{chickenize}%
- [2015/12/26 v0.2.2 chickenize package]
+ [2016/01/09 v0.2.3 chickenize package]
\input{chickenize}
% \end{macrocode}
% \subsection{Free Compliments}
@@ -859,6 +856,10 @@ WHAT = nodeid("whatsit")
COL = node.subtype("pdf_colorstack")
PDF_LITERAL = node.subtype("pdf_literal")
GLYPH = nodeid("glyph")
+GLUE = nodeid("glue")
+PENALTY = nodeid("penalty")
+GLUE_SPEc = nodeid("glue_spec")
+KERN = nodeid("kern")
% \end{macrocode}
% Now we set up the nodes used for all color things. The nodes are whatsits of subtype |pdf_colorstack|.
% \begin{macrocode}
@@ -909,8 +910,8 @@ chickenize_real_stuff = function(i,head)
local char = unicode.utf8.char(s)
chicken[j].char = s
if match(char,"%s") then
- chicken[j] = nodenew(10)
- chicken[j].spec = nodenew(47)
+ chicken[j] = nodenew(GLUE)
+ chicken[j].spec = nodenew(GLUE_SPEC)
chicken[j].spec.width = space
chicken[j].spec.shrink = shrink
chicken[j].spec.stretch = stretch
@@ -983,8 +984,8 @@ end
% Linewise rotation:
% \begin{macrocode}
boustrophedon = function(head)
- rot = node.new(8,PDF_LITERAL)
- rot2 = node.new(8,PDF_LITERAL)
+ rot = node.new(WHAT,PDF_LITERAL)
+ rot2 = node.new(WHAT,PDF_LITERAL)
odd = true
for line in node.traverse_id(0,head) do
if odd == false then
@@ -1005,8 +1006,8 @@ end
% \begin{macrocode}
boustrophedon_glyphs = function(head)
odd = false
- rot = nodenew(8,PDF_LITERAL)
- rot2 = nodenew(8,PDF_LITERAL)
+ rot = nodenew(WHAT,PDF_LITERAL)
+ rot2 = nodenew(WHAT,PDF_LITERAL)
for line in nodetraverseid(0,head) do
if odd==true then
line.dir = "TRT"
@@ -1029,8 +1030,8 @@ end
% Inverse boustrophedon. At least I think, this is the way Rongorongo is written. However, the top-to-bottom direction has to be inverted, too.
% \begin{macrocode}
boustrophedon_inverse = function(head)
- rot = node.new(8,PDF_LITERAL)
- rot2 = node.new(8,PDF_LITERAL)
+ rot = node.new(WHAT,PDF_LITERAL)
+ rot2 = node.new(WHAT,PDF_LITERAL)
odd = true
for line in node.traverse_id(0,head) do
if odd == false then
@@ -1301,8 +1302,8 @@ leftsideright = function(head)
local factor = 65536/0.99626
for n in nodetraverseid(GLYPH,head) do
if (leftsiderightarray[n.char]) then
- shift = nodenew(8,PDF_LITERAL)
- shift2 = nodenew(8,PDF_LITERAL)
+ shift = nodenew(WHAT,PDF_LITERAL)
+ shift2 = nodenew(WHAT,PDF_LITERAL)
shift.data = "q -1 0 0 1 " .. n.width/factor .." 0 cm"
shift2.data = "Q 1 0 0 1 " .. n.width/factor .." 0 cm"
nodeinsertbefore(head,n,shift)
@@ -1396,15 +1397,15 @@ medievalumlaut = function(head)
if (n.char == 228 or n.char == 246 or n.char == 252) then
e_node = nodecopy(org_e_node)
e_node.font = n.font
- shift = nodenew(8,PDF_LITERAL)
- shift2 = nodenew(8,PDF_LITERAL)
+ shift = nodenew(WHAT,PDF_LITERAL)
+ shift2 = nodenew(WHAT,PDF_LITERAL)
shift2.data = "Q 1 0 0 1 " .. e_node.width/factor .." 0 cm"
nodeinsertafter(head,n,e_node)
nodeinsertbefore(head,e_node,shift)
nodeinsertafter(head,e_node,shift2)
- x_node = nodenew(11)
+ x_node = nodenew(KERN)
x_node.kern = -e_node.width
nodeinsertafter(head,shift2,x_node)
end
@@ -1608,13 +1609,13 @@ end
% \subsection{suppressonecharbreak}\label{sec:suppressonecharbreak}
% We rush through the node list before line breaking takes place and insert large penalties for breaks after single glyphs. To keep the code as small, simple and fast as possible, we |traverse_id| over spaces and see wether the |next.next| node is also a space. This might not be the best and most universal way of doing it, but the simplest. The penalty is not created newly each time, but copied – no significant speed gain, however.
% \begin{macrocode}
-suppressonecharbreakpenaltynode = node.new(12)
+suppressonecharbreakpenaltynode = node.new(PENALTY)
suppressonecharbreakpenaltynode.penalty = 10000
% \end{macrocode}
% \begin{macrocode}
function suppressonecharbreak(head)
- for i in node.traverse_id(10,head) do
- if ((i.next) and (i.next.next.id == 10)) then
+ for i in node.traverse_id(GLUE,head) do
+ if ((i.next) and (i.next.next.id == GLUE)) then
pen = node.copy(suppressonecharbreakpenaltynode)
node.insert_after(head,i.next,pen)
end
@@ -1648,8 +1649,8 @@ tanjanize = function(head)
local s = nodenew(nodeid"kern")
local m = nodenew(GLYPH,1)
local use_letter_i = true
- scale = nodenew(8,PDF_LITERAL)
- scale2 = nodenew(8,PDF_LITERAL)
+ scale = nodenew(WHAT,PDF_LITERAL)
+ scale2 = nodenew(WHAT,PDF_LITERAL)
scale.data = "0.5 0 0 0.5 0 0 cm"
scale2.data = "2 0 0 2 0 0 cm"
@@ -1712,8 +1713,8 @@ upsidedown = function(head)
for line in nodetraverseid(Hhead,head) do
for n in nodetraverseid(GLYPH,line.head) do
if (upsidedownarray[n.char]) then
- shift = nodenew(8,PDF_LITERAL)
- shift2 = nodenew(8,PDF_LITERAL)
+ shift = nodenew(WHAT,PDF_LITERAL)
+ shift2 = nodenew(WHAT,PDF_LITERAL)
shift.data = "q 1 0 0 -1 0 " .. n.height/factor .." cm"
shift2.data = "Q 1 0 0 1 " .. n.width/factor .." 0 cm"
nodeinsertbefore(head,n,shift)
diff --git a/Master/texmf-dist/tex/luatex/chickenize/chickenize.lua b/Master/texmf-dist/tex/luatex/chickenize/chickenize.lua
index 8043148a62d..795744285e9 100644
--- a/Master/texmf-dist/tex/luatex/chickenize/chickenize.lua
+++ b/Master/texmf-dist/tex/luatex/chickenize/chickenize.lua
@@ -8,7 +8,7 @@
--
-- EXPERIMENTAL CODE
--
--- This package is copyright © 2015 Arno L. Trautmann. It may be distributed and/or
+-- This package is copyright © 2016 Arno L. Trautmann. It may be distributed and/or
-- modified under the conditions of the LaTeX Project Public License, either version 1.3c
-- of this license or (at your option) any later version. This work has the LPPL mainten-
-- ance status ‘maintained’.
@@ -30,6 +30,10 @@ WHAT = nodeid("whatsit")
COL = node.subtype("pdf_colorstack")
PDF_LITERAL = node.subtype("pdf_literal")
GLYPH = nodeid("glyph")
+GLUE = nodeid("glue")
+PENALTY = nodeid("penalty")
+GLUE_SPEc = nodeid("glue_spec")
+KERN = nodeid("kern")
color_push = nodenew(WHAT,COL)
color_pop = nodenew(WHAT,COL)
color_push.stack = 0
@@ -70,8 +74,8 @@ chickenize_real_stuff = function(i,head)
local char = unicode.utf8.char(s)
chicken[j].char = s
if match(char,"%s") then
- chicken[j] = nodenew(10)
- chicken[j].spec = nodenew(47)
+ chicken[j] = nodenew(GLUE)
+ chicken[j].spec = nodenew(GLUE_SPEC)
chicken[j].spec.width = space
chicken[j].spec.shrink = shrink
chicken[j].spec.stretch = stretch
@@ -135,8 +139,8 @@ nicetext = function()
end
end
boustrophedon = function(head)
- rot = node.new(8,PDF_LITERAL)
- rot2 = node.new(8,PDF_LITERAL)
+ rot = node.new(WHAT,PDF_LITERAL)
+ rot2 = node.new(WHAT,PDF_LITERAL)
odd = true
for line in node.traverse_id(0,head) do
if odd == false then
@@ -154,8 +158,8 @@ boustrophedon = function(head)
end
boustrophedon_glyphs = function(head)
odd = false
- rot = nodenew(8,PDF_LITERAL)
- rot2 = nodenew(8,PDF_LITERAL)
+ rot = nodenew(WHAT,PDF_LITERAL)
+ rot2 = nodenew(WHAT,PDF_LITERAL)
for line in nodetraverseid(0,head) do
if odd==true then
line.dir = "TRT"
@@ -175,8 +179,8 @@ boustrophedon_glyphs = function(head)
return head
end
boustrophedon_inverse = function(head)
- rot = node.new(8,PDF_LITERAL)
- rot2 = node.new(8,PDF_LITERAL)
+ rot = node.new(WHAT,PDF_LITERAL)
+ rot2 = node.new(WHAT,PDF_LITERAL)
odd = true
for line in node.traverse_id(0,head) do
if odd == false then
@@ -381,8 +385,8 @@ leftsideright = function(head)
local factor = 65536/0.99626
for n in nodetraverseid(GLYPH,head) do
if (leftsiderightarray[n.char]) then
- shift = nodenew(8,PDF_LITERAL)
- shift2 = nodenew(8,PDF_LITERAL)
+ shift = nodenew(WHAT,PDF_LITERAL)
+ shift2 = nodenew(WHAT,PDF_LITERAL)
shift.data = "q -1 0 0 1 " .. n.width/factor .." 0 cm"
shift2.data = "Q 1 0 0 1 " .. n.width/factor .." 0 cm"
nodeinsertbefore(head,n,shift)
@@ -452,15 +456,15 @@ medievalumlaut = function(head)
if (n.char == 228 or n.char == 246 or n.char == 252) then
e_node = nodecopy(org_e_node)
e_node.font = n.font
- shift = nodenew(8,PDF_LITERAL)
- shift2 = nodenew(8,PDF_LITERAL)
+ shift = nodenew(WHAT,PDF_LITERAL)
+ shift2 = nodenew(WHAT,PDF_LITERAL)
shift2.data = "Q 1 0 0 1 " .. e_node.width/factor .." 0 cm"
nodeinsertafter(head,n,e_node)
nodeinsertbefore(head,e_node,shift)
nodeinsertafter(head,e_node,shift2)
- x_node = nodenew(11)
+ x_node = nodenew(KERN)
x_node.kern = -e_node.width
nodeinsertafter(head,shift2,x_node)
end
@@ -613,11 +617,11 @@ substitutewords = function(head)
end
return head
end
-suppressonecharbreakpenaltynode = node.new(12)
+suppressonecharbreakpenaltynode = node.new(PENALTY)
suppressonecharbreakpenaltynode.penalty = 10000
function suppressonecharbreak(head)
- for i in node.traverse_id(10,head) do
- if ((i.next) and (i.next.next.id == 10)) then
+ for i in node.traverse_id(GLUE,head) do
+ if ((i.next) and (i.next.next.id == GLUE)) then
pen = node.copy(suppressonecharbreakpenaltynode)
node.insert_after(head,i.next,pen)
end
@@ -644,8 +648,8 @@ tanjanize = function(head)
local s = nodenew(nodeid"kern")
local m = nodenew(GLYPH,1)
local use_letter_i = true
- scale = nodenew(8,PDF_LITERAL)
- scale2 = nodenew(8,PDF_LITERAL)
+ scale = nodenew(WHAT,PDF_LITERAL)
+ scale2 = nodenew(WHAT,PDF_LITERAL)
scale.data = "0.5 0 0 0.5 0 0 cm"
scale2.data = "2 0 0 2 0 0 cm"
@@ -700,8 +704,8 @@ upsidedown = function(head)
for line in nodetraverseid(Hhead,head) do
for n in nodetraverseid(GLYPH,line.head) do
if (upsidedownarray[n.char]) then
- shift = nodenew(8,PDF_LITERAL)
- shift2 = nodenew(8,PDF_LITERAL)
+ shift = nodenew(WHAT,PDF_LITERAL)
+ shift2 = nodenew(WHAT,PDF_LITERAL)
shift.data = "q 1 0 0 -1 0 " .. n.height/factor .." cm"
shift2.data = "Q 1 0 0 1 " .. n.width/factor .." 0 cm"
nodeinsertbefore(head,n,shift)
diff --git a/Master/texmf-dist/tex/luatex/chickenize/chickenize.sty b/Master/texmf-dist/tex/luatex/chickenize/chickenize.sty
index 0e9a58626ce..ed73bd33d4b 100644
--- a/Master/texmf-dist/tex/luatex/chickenize/chickenize.sty
+++ b/Master/texmf-dist/tex/luatex/chickenize/chickenize.sty
@@ -8,12 +8,12 @@
%%
%% EXPERIMENTAL CODE
%%
-%% This package is copyright © 2015 Arno L. Trautmann. It may be distributed and/or
+%% This package is copyright © 2016 Arno L. Trautmann. It may be distributed and/or
%% modified under the conditions of the LaTeX Project Public License, either version 1.3c
%% of this license or (at your option) any later version. This work has the LPPL mainten-
%% ance status ‘maintained’.
\ProvidesPackage{chickenize}%
- [2015/12/26 v0.2.2 chickenize package]
+ [2016/01/09 v0.2.3 chickenize package]
\input{chickenize}
\iffalse
diff --git a/Master/texmf-dist/tex/luatex/chickenize/chickenize.tex b/Master/texmf-dist/tex/luatex/chickenize/chickenize.tex
index 185c8e6326e..53ad81e4196 100644
--- a/Master/texmf-dist/tex/luatex/chickenize/chickenize.tex
+++ b/Master/texmf-dist/tex/luatex/chickenize/chickenize.tex
@@ -8,7 +8,7 @@
%%
%% EXPERIMENTAL CODE
%%
-%% This package is copyright © 2015 Arno L. Trautmann. It may be distributed and/or
+%% This package is copyright © 2016 Arno L. Trautmann. It may be distributed and/or
%% modified under the conditions of the LaTeX Project Public License, either version 1.3c
%% of this license or (at your option) any later version. This work has the LPPL mainten-
%% ance status ‘maintained’.
@@ -330,9 +330,6 @@
\def\unupsidedown{
\directlua{luatexbase.remove_from_callback("post_linebreak_filter","upsidedown")}}
-\def\unuppercasecolor{
- \directlua{luatexbase.remove_from_callback("post_linebreak_filter","upsidedow")}}
-
\def\variantjustification{
\directlua{luatexbase.add_to_callback("post_linebreak_filter",variantjustification,"variantjustification")}}
\def\unvariantjustification{