From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.comp.tex.context/6407 Path: main.gmane.org!not-for-mail From: Giuseppe Bilotta Newsgroups: gmane.comp.tex.context Subject: More font problems --- encoding errors Date: Wed, 26 Dec 2001 16:44:38 +0100 Sender: owner-ntg-context@let.uu.nl Message-ID: <18511792590.20011226164438@bigfoot.com> Reply-To: Giuseppe Bilotta NNTP-Posting-Host: coloc-standby.netfonds.no Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit X-Trace: main.gmane.org 1035396938 10368 80.91.224.250 (23 Oct 2002 18:15:38 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Wed, 23 Oct 2002 18:15:38 +0000 (UTC) Original-To: ntg-context@ntg.nl Xref: main.gmane.org gmane.comp.tex.context:6407 X-Report-Spam: http://spam.gmane.org/gmane.comp.tex.context:6407 Hello, still testing the use of non-CMR fonts in ConTeXt ... if you recall I was using \setupencoding[default=8r] \usetypescript[berry][8r] \setupbodyfont[pos] \useregime[il1] And everything appeared to work correctly (apart from the [sans] instead of [mono] error in courier). Now I discovered that \useregime was doing nothing --or rather, it didn't really *enable* the regime. So I switched to \enableregime. And voilá, I found a bug. Try the following text: \def\text{«Questa è una prova per l'uso delle lettere accentate, e devo proprio dire che pare funzionare. Perciò i problemi che tu sembri avere non sono presenti nel mio sistema. Perché? Cosa c'è di diverso nelle nostre installazioni? Di più non posso dire.»} \text without \enableregime; it works correctly (accented letters have accents, guillemots are taken from the font). Now try it WITH enableregime: in my installation this removes the accents from the letters (accents not found) and the guillemots are fake (taken from the math font). My limited debug showed that: (1) encoding 8r (from enco-tbo.tex) does NOT define leftguillemot and rightguillemot (they are there at positions 171 and 187) (2) if I add an \enableencoding[8r][main] *after* setting up the bodyfont, I get the accented letters (but because of (1) I don't get real guillemots); yet the encoding gets reset when changing font (e.g. when switching to \tt or \ss). Is this WAD (Working As Designed) or a bug? Shouldn't the encoding be tied to the font? Ok, I think I found the problem: in the berry font definitions, if I add [encoding=8r] to each of the definefontsynonym line I get the correct result. I assume this has to be done for the ec variant as well. So the question is: shouldn't the synonyms get the same properties as the other when not overriden? I mean: consider for example: \definefontsynonym [Times-Roman] [\typefaceencoding-utmr8a] [encoding=\typefaceencoding] (called with typefaceencoding=8r) \definefontsynonym [8r-utmr8a] [ptmr8r] Shouldn't in the end the ptmr8r be called with the encoding 8r defined in the previous synonym? Now, regarding problem (1): how do I force ConTeXt to get the guillemots from the font? In a rather more general context (;->) I figure the error resides in defining a mappable character (the guillemots) in raw mode. Instead, \leftguillemot and \rightguillemot should follow encoding mappings; this should also be true, for example for subguillemots, and more in general for other characters as well. As a temporary patch I have \let\leftguillemot\undefined \let\rightguillemot\undefined \startencoding[default] \definecharacter leftguillemot {\dontleavehmode\hbox{\raise.25ex\hbox{$\scriptscriptstyle\ll$}}} \definecharacter rightguillemot {\hbox{\raise.25ex\hbox{$\scriptscriptstyle\gg$}}} \stopencoding \startencoding[8r] \definecharacter leftguillemot 171 \definecharacter rightguillemot 183 \stopencoding in my cont-loc.tex file. -- Giuseppe "Oblomov" Bilotta