/ build index lc:{@[!256;(_ic"A")+!26;:;(_ic"a")+!26]_ic x} / -> lower case ch:{x@&x _lin 32 45,97+!26} / chars, space, hyphen cw:{(1_'(&x=" ")_ x:" ",x)_dv""} / cut into words uh:{wg/[x;&"-"=(*|:)'-1_ x]_dv""} / unhyphenate wg:{@[x;y+0 1;:;((-1_ x y),x y+1;"")]} / "a-" "b" -> "ab" ub:{up/[x;{y,y+1}':!#x]} / unhyphenate page-breaks up:{:["-"=*|*|x y 0;@[x;y;:;dw[x y 0]x y 1];x]} / unhyphenate pairs dw:{((-1_ x),w;(w:,(-1_*|x),*y),1_ y)} / duplicate words pr:{1_,/",",'fr'(&1{y