%D \module %D [ file=typo-lan, %D version=2013.03.22, %D title=\CONTEXT\ Typesetting Macros, %D subtitle=Language Goodies, %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 Typography Macros / Languages} \unprotect \registerctxluafile{typo-lan}{} %D \macros %D {averagecharwidth, charwidthlanguage} %D %D This is a more \MKIV-ish variant of lang-frq.mkiv. The methods are %D gone as one doesn't need the tables for them. The main macro is %D \type {\averagecharwidth} which behaves like a dimension register. %D %D I finally decided to reimplement this as I needed it for a manual %D (which is often a reason for such a rewrite). With some inspiring %D Porcupine Tree in the background it's not the worst thing to do. \def\charwidthlanguage{\currentmainlanguage} \def\averagecharwidth {\dimexpr\clf_averagecharwidth{\charwidthlanguage}\scaledpoint\relax} \def\languagecharwidth#1{\dimexpr\clf_averagecharwidth{#1}\scaledpoint\relax} \protect \continueifinputfile{typo-lan.mkiv} \setuplayout[backspace=4cm] \showframe \starttext \startbuffer \mainlanguage[en] \hsize65\averagecharwidth \normalexpanded{\inleft{\the\hsize}} \input ward \par \mainlanguage[de] \hsize65\averagecharwidth \normalexpanded{\inleft{\the\hsize}} \input ward \par \mainlanguage[nl] \hsize65\averagecharwidth \normalexpanded{\inleft{\the\hsize}} \input ward \par \stopbuffer \getbuffer \blank \switchtobodyfont[pagella] \getbuffer \blank \switchtobodyfont[tt,8pt] \getbuffer \stoptext