From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.comp.tex.context/79745 Path: news.gmane.org!not-for-mail From: Hans Hagen Newsgroups: gmane.comp.tex.context Subject: Re: \not\in doesn't work properly Date: Tue, 04 Dec 2012 17:38:08 +0100 Message-ID: <50BE26F0.7070708@wxs.nl> References: <50BD068F.2050308@wxs.nl> <20121204151855.GF10913@khaled-laptop> Reply-To: mailing list for ConTeXt users NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1354639100 20113 80.91.229.3 (4 Dec 2012 16:38:20 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 4 Dec 2012 16:38:20 +0000 (UTC) Cc: mailing list for ConTeXt users , Jeong Dal To: Khaled Hosny Original-X-From: ntg-context-bounces@ntg.nl Tue Dec 04 17:38:32 2012 Return-path: Envelope-to: gctc-ntg-context-518@m.gmane.org Original-Received: from balder.ntg.nl ([195.12.62.10]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1TfvVt-00034d-Ek for gctc-ntg-context-518@m.gmane.org; Tue, 04 Dec 2012 17:38:29 +0100 Original-Received: from localhost (localhost [127.0.0.1]) by balder.ntg.nl (Postfix) with ESMTP id 3C21F1022F; Tue, 4 Dec 2012 17:38:17 +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 VMh8CvPYUMHM; Tue, 4 Dec 2012 17:38:14 +0100 (CET) Original-Received: from balder.ntg.nl (localhost [IPv6:::1]) by balder.ntg.nl (Postfix) with ESMTP id AEE7410205; Tue, 4 Dec 2012 17:38:14 +0100 (CET) Original-Received: from localhost (localhost [127.0.0.1]) by balder.ntg.nl (Postfix) with ESMTP id 1F29610205 for ; Tue, 4 Dec 2012 17:38:14 +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 MQZnatZR6VR8 for ; Tue, 4 Dec 2012 17:38:13 +0100 (CET) Original-Received: from filter4-til.mf.surf.net (filter4-til.mf.surf.net [194.171.167.220]) by balder.ntg.nl (Postfix) with ESMTP id 1245B10202 for ; Tue, 4 Dec 2012 17:38:13 +0100 (CET) Original-Received: from smtp.ziggozakelijk.nl (D57D1DA2.static.ziggozakelijk.nl [213.125.29.162]) by filter4-til.mf.surf.net (8.14.3/8.14.3/Debian-9.4) with ESMTP id qB4GcB9Q031176 for ; Tue, 4 Dec 2012 17:38:12 +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 6.1c) with ESMTP (TLS) id 6128-1713362 for multiple; Tue, 04 Dec 2012 17:38:05 +0100 User-Agent: Mozilla/5.0 (Windows NT 6.2; rv:16.0) Gecko/20121026 Thunderbird/16.0.2 In-Reply-To: <20121204151855.GF10913@khaled-laptop> 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=16; city=Zeewolde; latitude=52.3302; longitude=5.5364; http://maps.google.com/maps?q=52.3302,5.5364&z=6 X-CanItPRO-Stream: uu:ntg-context@ntg.nl (inherits from uu:default, base:default) X-Canit-Stats-ID: 0VIvsCbnj - 42e8541d336a - 20121204 (trained as not-spam) X-Scanned-By: CanIt (www . roaringpenguin . com) on 194.171.167.220 X-BeenThere: ntg-context@ntg.nl X-Mailman-Version: 2.1.14 Precedence: list List-Id: mailing list for ConTeXt users List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: ntg-context-bounces@ntg.nl Original-Sender: ntg-context-bounces@ntg.nl Xref: news.gmane.org gmane.comp.tex.context:79745 Archived-At: On 12/4/2012 4:18 PM, Khaled Hosny wrote: > The main issue here is that \not in was largely a hack in CM fonts, the > glyph was specially crafted so that it overlays the next symbol by > having zero width and -ve right side bearing and it was centered over > equal and similar symbols, anything with different width would not look > good. ok, so officially it has zero width > This can't be relied on with OpenType fonts mainly because we don't > control all the fonts and since U+0338 is a combining mark it tends to > have -ve left side bearing (the opposite of CM). ah, ok > Previously I thought it should be handled as special math accent that > don't get shifted above, but this didn't work because accent noads do > not inherit the spacing of their nuclei, and changing this is not simple > AFAICT. When I checked Word it had no notion of negations either, you > can only use pre-composed negated symbols (but accents respect the > spacing of its accentee, BTW). > > The solution currently used by unicode-math package is to look ahead and > see if the next symbol after \not has a precomposed negated form and use > it (such a list can be obtained by checking Unicode characters that > decompose to something + U+0338), else just output U+0338. This probably > can be even enhanced by inserting a kern between \not and the next > symbol that would center their bounding boxes together, to handle cases > why no precomposed symbol exists. My be we need a new primitive > \Unegation that would do this in the engine? we already have some mechanisms that deal with such issues so some kind of support is doable (if really needed) concerning the bug reports ... % \setupbodyfont[dejavu] % uses xits \enablemode[lmmath] \starttext % \imply : undefined % \notin : no virtual char \startformula \hbox{not = :} \not= \stopformula \startformula \hbox{notin :} \notin \stopformula \startformula \hbox{longrightarrow :} \Longrightarrow \stopformula \startformula \hbox{not in :} \not\in \stopformula \startformula \hbox{iff :} \iff \stopformula \startformula \hbox{mapsto :} \mapsto \stopformula \stoptext afaik \imply was never defined to start with; \notin needs a virtual glyph in the lm definitions; the rest seems to work ok I'll add a vf \notin and also \imply Hans ----------------------------------------------------------------- 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 ___________________________________________________________________________________