%D \module %D [ file=blob-ini, %D version=2010.04.06, %D title=\CONTEXT\ \LUA\ Typesetting, %D subtitle=Initialization, %D author=Hans Hagen, %D date=\currentdate, %D copyright={PRAGMA ADE \& \CONTEXT\ Development Team}] %C %C This module is part of the \CONTEXT\ macro||package and is %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. \writestatus{loading}{ConTeXt Lua Typesetting / Initialization} %D This is a prelude to typesetting at the \LUA\ end. The code %D is already quite old but will only get nice when we are further %D down the road (close to version 1.00 of \LUATEX). Typesetting in %D pure \LUA\ sometimes makes sense. \registerctxluafile{node-typ}{} % experimental \registerctxluafile{blob-ini}{autosuffix} \unprotect % \widthofstring % defined in lua % \heightofstring % defined in lua % \depthofstring % defined in lua % \heightanddepthofstring % defined in lua \permanent\def\wdofstring#1{\dimexpr\widthofstring {#1}\relax} % assured an dimen \permanent\def\htofstring#1{\dimexpr\heightofstring{#1}\relax} % assured an dimen \permanent\def\dpofstring#1{\dimexpr\depthofstring {#1}\relax} % assured an dimen \permanent\def\hdofstring#1{\dimexpr\totalofstring {#1}\relax} % assured an dimen \aliased\let\heightanddepthofstring\totalofstring \aliased\let\htdpofstring \hdofstring % \let\hd\htdp % if yes then move this % This one takes anything that can be typeset \permanent\protected\def\setwidthof#1\to#2{\edef#2{\widthofstring{#1}}} \protect \endinput % \starttext % % \startluacode % local b = blobs.new() % blobs.append(b,"Hello world.\n Here we are.\n\n And Again!") % blobs.pack(b) % blobs.write(b) % \stopluacode % % \stoptext