From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.comp.tex.context/66383 Path: news.gmane.org!not-for-mail From: Hans Hagen Newsgroups: gmane.comp.tex.context Subject: Re: post_linebreak_filter in context Date: Fri, 25 Feb 2011 13:46:18 +0100 Message-ID: <4D67A49A.7070803@wxs.nl> References: <65243520-DA54-4978-A996-AA761054D3EB@gundla.ch> Reply-To: mailing list for ConTeXt users NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit X-Trace: dough.gmane.org 1298638032 1444 80.91.229.12 (25 Feb 2011 12:47:12 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Fri, 25 Feb 2011 12:47:12 +0000 (UTC) Cc: Patrick Gundlach To: mailing list for ConTeXt users Original-X-From: ntg-context-bounces@ntg.nl Fri Feb 25 13:47:00 2011 Return-path: Envelope-to: gctc-ntg-context-518@m.gmane.org Original-Received: from balder.ntg.nl ([195.12.62.10]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Psx4W-0007Ro-GV for gctc-ntg-context-518@m.gmane.org; Fri, 25 Feb 2011 13:47:00 +0100 Original-Received: from localhost (localhost [127.0.0.1]) by balder.ntg.nl (Postfix) with ESMTP id B7470CAA68; Fri, 25 Feb 2011 13:46:59 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at balder.ntg.nl Original-Received: from balder.ntg.nl ([127.0.0.1]) by localhost (balder.ntg.nl [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 6UendnHL4fvH; Fri, 25 Feb 2011 13:46:48 +0100 (CET) Original-Received: from balder.ntg.nl (localhost [127.0.0.1]) by balder.ntg.nl (Postfix) with ESMTP id DA7E8CAA64; Fri, 25 Feb 2011 13:46:47 +0100 (CET) Original-Received: from localhost (localhost [127.0.0.1]) by balder.ntg.nl (Postfix) with ESMTP id D2458CAA64 for ; Fri, 25 Feb 2011 13:46:46 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at balder.ntg.nl Original-Received: from balder.ntg.nl ([127.0.0.1]) by localhost (balder.ntg.nl [127.0.0.1]) (amavisd-new, port 10024) with LMTP id VTLroirMdj3W for ; Fri, 25 Feb 2011 13:46:26 +0100 (CET) Original-Received: from filter1-ams.mf.surf.net (filter1-ams.mf.surf.net [192.87.102.69]) by balder.ntg.nl (Postfix) with ESMTP id 5CCA2CAA5E for ; Fri, 25 Feb 2011 13:46:26 +0100 (CET) Original-Received: from smtp.ziggozakelijk.nl (D57D1DA2.static.ziggozakelijk.nl [213.125.29.162]) by filter1-ams.mf.surf.net (8.14.3/8.14.3/Debian-5+lenny1) with ESMTP id p1PCkPTe024100 for ; Fri, 25 Feb 2011 13:46:25 +0100 X-Default-Received-SPF: pass (skip=loggedin (res=PASS)) x-ip-name=10.100.1.100; Original-Received: from [10.100.1.100] (unverified [10.100.1.100]) by pragma-net.nl (SurgeMail 5.1c2) with ESMTP id 6567-1713362 for multiple; Fri, 25 Feb 2011 13:46:21 +0100 User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101207 Lightning/1.0b2 Thunderbird/3.1.7 ThunderBrowse/3.3.5 In-Reply-To: <65243520-DA54-4978-A996-AA761054D3EB@gundla.ch> X-Authenticated-User: hagen@controller-9 X-Bayes-Prob: 0.0001 (Score 0, tokens from: @@RPTN) X-CanIt-Geo: ip=213.125.29.162; country=NL; region=11; city=Den Haag; latitude=52.0833; longitude=4.3000; http://maps.google.com/maps?q=52.0833,4.3000&z=6 X-CanItPRO-Stream: uu:ntg-context@ntg.nl (inherits from uu:default, base:default) X-Canit-Stats-ID: 06EccKp5o - 3bf93bdc57ca - 20110225 X-Scanned-By: CanIt (www . roaringpenguin . com) on 192.87.102.69 X-BeenThere: ntg-context@ntg.nl X-Mailman-Version: 2.1.12 Precedence: list List-Id: mailing list for ConTeXt users List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: ntg-context-bounces@ntg.nl Errors-To: ntg-context-bounces@ntg.nl Xref: news.gmane.org gmane.comp.tex.context:66383 Archived-At: On 25-2-2011 12:28, Patrick Gundlach wrote: > Hi, > > how do I install a custom post_linebreak_filter in ConTeXt? I have this LaTeX file: > > ------------------------------------------------------------------------------------ > \documentclass[12pt,a4paper]{scrartcl} > \usepackage[english]{babel} > \usepackage{blindtext} > \usepackage{fontspec} > \directlua{ > show_hyph = function(head) > while head do > if head.id == 0 or head.id == 1 then % hlist, vlist > show_hyph(head.list) % should be head.head in a newer luatex than 0.64 > elseif head.id == 7 then % disc > local n = node.new("whatsit","pdf_literal") > n.mode = 0 > n.data = "q 0.3 w 0 2 m 0 7 l S Q" > n.next = head.next > n.prev = head > head.next = n > head = n > end > head = head.next > end > return true > end > luatexbase.add_to_callback("post_linebreak_filter",show_hyph,"show_hyph") > > } > > \begin{document} > \begin{minipage}{5cm} > \blindtext > \end{minipage} > \end{document} > ------------------------------------------------------------------------------------ > > which registers a function "show_hyph" as the post_linebreak_filter (the rest is not really interesting). How would I do this in ConTeXt? first put the function in some namespace, like: moduledata.mystuff = { } moduledata.mystuff.show_hyph = show_hyph then register it in the finalizer group (which is the post_linebreak stuff) nodes.tasks.appendaction("finalizers","after","moduledata.mystuff.show_hyph") (before and after are subgroups that can be used by users if needed; of course one never know to what extent it will influence other processes, so "shipouts","after" might be a better choice) ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com | www.pragma-pod.nl ----------------------------------------------------------------- ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________