From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.comp.tex.context/3895 Path: main.gmane.org!not-for-mail From: "Giuseppe Bilotta" Newsgroups: gmane.comp.tex.context Subject: Metafun::followtokens : more than one path; possible enhancements; notes Date: Sun, 28 Jan 2001 22:02:00 +0100 Sender: owner-ntg-context@let.uu.nl Message-ID: <000201c08974$3bf382c0$a3ccfea9@nuovo> NNTP-Posting-Host: coloc-standby.netfonds.no Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_0005_01C08975.F064F120" X-Trace: main.gmane.org 1035394602 21057 80.91.224.250 (23 Oct 2002 17:36:42 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Wed, 23 Oct 2002 17:36:42 +0000 (UTC) Original-To: "ConTeXt" Xref: main.gmane.org gmane.comp.tex.context:3895 X-Report-Spam: http://spam.gmane.org/gmane.comp.tex.context:3895 This is a multi-part message in MIME format. ------=_NextPart_000_0005_01C08975.F064F120 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Hello, as I've already said, I began to play with MetaFun. First of all, I solved the problem of \MPprologues being undefined by defining it in my doc (setting it to 2), but it would be better if this patch was added to the distribution. Secondly, I instantly found a limitation :-) in \followtokens: you cannot make text follow two paths; let me explain with an example. I can build a full circle, with the first half written clockwise, and the second half written counterclockwise, by using two \followtokens tricks; by putting the drawings one under the other I get the full circle. But what if I want the two halves to be not the upper and lower, but some other (e.g., upper left and lower right)? You cannot merge the two paths, since they don't touch, so ... At first I designed a \doublefollowtokens; then I turned it in the couple of macros that you might see in the attached file, together with a test. A future enhancements could be a \longfollowtokens that automatically splits a (single) token list into as much paths as necessary (the user should preventively define enough paths), more like a parshape (actually, the splitting could be done by parshaping the text using the lengths of the paths as parshape...). But this is definitely too much for me, at least at the current stage of knowledge of both TeX and ConTeXt. Final note: I suspect that some fine tuning on these macro group could render TeX--XeT useless. I mean, you can reflect a whole paragraph: first typeset it to get the linebreaks, then apply \followtokens to each line ... you don't even need a reflected font! Actually, any kind of rotatation/skewing/etc, normally achieved with PSTricks, could be achieved this way, in a driver-independent way (if Hans Hagen fixes the undefined \MPprologues with the DVI drivers). And possibly even multidirectional typesetting could be implemented ... of course, "native" multidirectional would be much much much faster, but ... something like a "poor man's Omega" (ok, Omega does much more than that, with the OCP lists etc ...) Giuseppe Bilotta ------=_NextPart_000_0005_01C08975.F064F120 Content-Type: application/x-zip-compressed; name="fun.zip" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="fun.zip" UEsDBBQAAgAIAOyrPCrD/LpYuwQAAKgMAAAHAAAAZnVuLnRleJ1W32/iOBB+56+YVVUptGULSD2d 6PKy0t1bpWp1bwTpTDIJ3hrbcpxCFfG/39hOiENhdXdIQPLNeH75G3tuMyXtBOUorSt8eRV8Y5j5 WNmDXY9GqcS9VW9VarCyqrB4sB7jRcqLnTJ4QrxWVhuD0nqQ7EltlMWMFHIs0hK9QDO7vZndzFOU eQTdjgCa2EBzMzs6ECLfzc3cY8dRMFlZZmyhhFDOP8rqZkaY0jEUDHexWlOjN/q+UYd0UxpVa/9e KEPRMCH8W041ydROC8alB7ynl1eU79wouaMYHew1eVFLCoZLzJsfyv5JS49NGpCCXlYtuF79wLIW zHxXIl8fW7NKf7LqEkZylhu257KM/UcQgVxmos5p00rD9JZnTZz3MShpntnaoPtfreEZZL1DwzMQ KFfrB5APQDV3G+BksFjClB5+0sMMnoOFbgUTD8DsA2j63/OcHlRFuppxA0yTLKe3sIQXUMs3qfYS /jIsQ6oALGCjlEAWQc8QiZdQMFEhgQUPrtvqxGWIqTALJRRK6bYeeNBM5ozkJmZbarcYrTwjXru2 I4gPorPnOPblS2UN+WfNmZ3jJa1NAx3Oo7W9PEWyP6BjSvne3t4Cg42LygDPkS3A4E69I1SaClQR zWzV2n159b2GO20/3NOF5Lf0JDDwwEcd9VW651QS6kwyWwXCUFxet7V0iWuDPaX9eqXKrX6ugbZ1 8LYEZXjJZbSNZ4v/OFjDaI3TXwzfHPn8Z7iYCSdiJiPOlkTUyGHsgInlFBYd0C1zPJdruB946njq PpG1PvrJBBLi+3TcezhLh4lvwfTimqnorcqYwBySJCy5j2IZPzIxHgT0b9KNg9Fen8KdBOvjx0RO ZuNBtFEX9o7cBsfWHTE0SqBvxp37Lu6Ztl6YKaEMbESNw0hONukQBU4nR62tcqdJ74sODJ/VpkqI p8aCMJkyktjuDia+hgm0uBjgURrgD5x2S/l6QiYf57SxCads76gKkSazbQ0t32G7UhUXS0nK2ilr xaXtFv9C2eeRc0P3Glfy18q+wm2C1ZZTbxIJQuCOW3Q7MoISJkuBCcvH45MWxRTZubaDrYeNohvI HS7qEMvC6f9/fJ9ZuUqMr/OnATUMYc+fwvsP9p6mA3ulQVKLLA7YRue4I9xJ7G4t+rmHWY91V9rp aDu/UaIxJlwwGll4POnRMICnuaE8v5kvXNbox4rjKO3mHz9bUbLK7dKK9HK1r9x4RUtr7XOtVpXb kKU/fL3IPbSTFM1X1RvXaa19oXqADu8zpELt/j2QES+sQ3Is24EJqcmYVaa5Owb3xJlpuqXfphce OyvLdJ9PSS0jONvm1Euyd7CrheVafAzEsPmA+SjcicFx4y8cVVttww0aqx9dFG1W8JTtRqeM+lxZ /s5khr2EbtKaDPFyS7VpC+Vn16tjkJ9vuhaNO7TDZv7ENviOhkaQLRNFIOYZcbtP2zzMuMZLwp3x AG3C447NPtsuuQtO595p7+yK2dnv0/vO9JV4YoddmYJD34BJHAk1/2SSTM6gXltpd65VkPRt+PW3 +RO1tlPyHRQXu9uAuOZu4oY7eEHa8b/ZEapa0wRJbeZno6YXcFm0gjsSfRrdRwEKTfAPUEsBAhQA FAACAAgA7Ks8KsP8uli7BAAAqAwAAAcAAAAAAAAAAAAgAAAAAAAAAGZ1bi50ZXhQSwUGAAAAAAEA AQA1AAAA4AQAAAAA ------=_NextPart_000_0005_01C08975.F064F120--