ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
* Re: Re: lowerleftdoubleninequote
@ 2003-03-08 21:15 Wolfgang Werners-Lucchini
  2003-03-09 14:07 ` Re: Hanging punctuation WAS lowerleftdoubleninequote John Culleton
  2003-03-09 21:55 ` Re: lowerleftdoubleninequote Hans Hagen
  0 siblings, 2 replies; 4+ messages in thread
From: Wolfgang Werners-Lucchini @ 2003-03-08 21:15 UTC (permalink / raw)


Hallo!

In order to understand the appended puzzle, I am looking for documentations
about:

\definefonthandling
\startfonthandling
\usehandling

I have found the example about 'hanging punctuation', but I could'nt even
understand this
example. 
What ist the correlation between 'punctuation', 'alpha' and 'def'????

> I have tried that, but with strange results:
> 
> 
> \startfonthandling[cmrfix]
>  \definecharacter quotedblbase     {,\kern -.1em,}
> \stopfonthandling
> 
> %\setupfontsynonym[Serif][handling=cmrfix]
> 
> \setupbodyfont[14pt]
> \starttext
> \mainlanguage[de]
> \startquotation
> To \TEX\ or not to \TEX. 
> \stopquotation
> \stoptext
> 
> 
> The definition of quotedblbase in line two is used without even
> activating the cmrfix font-handler. How do I use the handler properly?

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Re: Hanging punctuation WAS lowerleftdoubleninequote
  2003-03-08 21:15 Re: lowerleftdoubleninequote Wolfgang Werners-Lucchini
@ 2003-03-09 14:07 ` John Culleton
  2003-03-09 14:30   ` Hanging punctuation Bill McClain
  2003-03-09 21:55 ` Re: lowerleftdoubleninequote Hans Hagen
  1 sibling, 1 reply; 4+ messages in thread
From: John Culleton @ 2003-03-09 14:07 UTC (permalink / raw)


On Saturday 08 March 2003 04:15 pm, Wolfgang Werners-Lucchini wrote:
> Hallo!
>
> In order to understand the appended puzzle, I am looking for documentations
> about:
>
> \definefonthandling
> \startfonthandling
> \usehandling
>
> I have found the example about 'hanging punctuation', but I could'nt even
> understand this
> example.
> What ist the correlation between 'punctuation', 'alpha' and 'def'????
>
>

I have been able to use optical alignment in pdfetex by reading carefully 
Han The Thanh's dissertation,  but I haven't puzzled out the Context 
implementation. Perhaps someone who has could post an example that
works for them. 

John Culleton

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Hanging punctuation
  2003-03-09 14:07 ` Re: Hanging punctuation WAS lowerleftdoubleninequote John Culleton
@ 2003-03-09 14:30   ` Bill McClain
  0 siblings, 0 replies; 4+ messages in thread
From: Bill McClain @ 2003-03-09 14:30 UTC (permalink / raw)


[-- Attachment #1: Type: text/plain, Size: 1063 bytes --]

On Sun, 9 Mar 2003 09:07:32 -0500
John Culleton <john@wexfordpress.com> wrote:

> I have been able to use optical alignment in pdfetex by reading
> carefully Han The Thanh's dissertation,  but I haven't puzzled out the
> Context implementation. Perhaps someone who has could post an example
> that works for them. 

I've attached an example where I've hand-tuned the margin kerning for
Sabon. Note this is just my subjective evaluation; I adjust the
parameters from time to time and the script is always "in progress".

If anyone wants to see the resulting pdf, just mail me. It's only 29k
but I didn't want to clog the list further.

Very important: note the [hanging] typescript at the bottom of
type-sabon.tex. It won't work without that.

This is also described in the "margin kerning" section at:

    http://home.salamander.com/~wmcclain/context-help.html

-Bill
-- 
Sattre Press                            Curiosities of the Sky
http://sattre-press.com/                    by Garrett Serviss
info@sattre-press.com            http://csky.sattre-press.com/ 

[-- Attachment #2: sample.tex --]
[-- Type: text/plain, Size: 203 bytes --]

\usetypescriptfile[type-sabon]
\usetypescript [serif] [hanging] [sabon] 
\usetypescript[Sabon]
\setupbodyfont[Sabon]
\setupalign[hanging]

\showframe

\starttext
\input tufte \input knuth \par
\stoptext

[-- Attachment #3: type-sabon.tex --]
[-- Type: text/plain, Size: 12726 bytes --]

%
% Adobe Sabon
%
\usetypescriptfile[type-buy]
\loadmapfile[texnansi-adobe-sabon.map]

\starttypescript [serif] [sabon, sabon-oldstyle] [texnansi]
  \definefontsynonym [Sabon-Roman]          [texnansi-sar]  [encoding=texnansi]
  \definefontsynonym [Sabon-Bold]           [texnansi-sab]  [encoding=texnansi]
  \definefontsynonym [Sabon-Italic]         [texnansi-sai]  [encoding=texnansi]
  \definefontsynonym [Sabon-Bold-Italic]    [texnansi-sabi] [encoding=texnansi]
  \definefontsynonym [Sabon-Roman-SmallCaps][texnansi-sarsc]  [encoding=texnansi]
  \definefontsynonym [Sabon-Italic-OSF]     [texnansi-saiof]  [encoding=texnansi]
  \definefontsynonym [Sabon-Bold-OSF]       [texnansi-sabof]  [encoding=texnansi]
  \definefontsynonym [Sabon-Bold-Italic-OSF][texnansi-sabio]  [encoding=texnansi]
\stoptypescript

\starttypescript [serif] [sabon] [name]
  \usetypescript[serif][fallback]
  \definefontsynonym [Serif]           [Sabon-Roman]
  \definefontsynonym [SerifBold]       [Sabon-Bold]
  \definefontsynonym [SerifItalic]     [Sabon-Italic]
  \definefontsynonym [SerifBoldItalic] [Sabon-Bold-Italic]
  \definefontsynonym [SerifCaps]       [Sabon-Roman-SmallCaps]
  % the regular old-style figures are in the small-caps file
  \definefontsynonym [OldStyle]        [Sabon-Roman-SmallCaps]
\stoptypescript

\starttypescript [Sabon] 
  \definetypeface [Sabon] [rm] [serif] [sabon] [default] [encoding=texnansi]
\stoptypescript

\starttypescript [serif] [sabon-oldstyle] [name]
  \usetypescript[serif][fallback]
  \definefontsynonym [Serif]           [Sabon-Roman]
  \definefontsynonym [SerifBold]       [Sabon-Bold-OSF]
  \definefontsynonym [SerifItalic]     [Sabon-Italic-OSF]
  \definefontsynonym [SerifBoldItalic] [Sabon-Bold-Italic-OSF]
  \definefontsynonym [SerifCaps]       [Sabon-Roman-SmallCaps]
  % the regular old-style figures are in the small-caps file
  \definefontsynonym [OldStyle]        [Sabon-Roman-SmallCaps]
\stoptypescript

\starttypescript [SabonOldStyle] 
  \definetypeface [SabonOldStyle] [rm] [serif] [sabon-oldstyle] [default] [encoding=texnansi]
\stoptypescript

\startfonthandling [sabon]

  \defineprotrudefactor ?  0  .05
  \defineprotrudefactor !  0  0
  \defineprotrudefactor '  0  .4
  \defineprotrudefactor ` .4   0
  \defineprotrudefactor ( .05  0   
  \defineprotrudefactor )  0  .05
  \defineprotrudefactor [ .05  0   
  \defineprotrudefactor ]  0  .05
  \defineprotrudefactor ,  0  .4 % comma is pretty heavy
  \defineprotrudefactor -  0  .5
  \defineprotrudefactor .  0  .5
  \defineprotrudefactor :  0  .2
  \defineprotrudefactor ;  0  .2

  \defineprotrudefactor rightupperninequote  0 .5
  \defineprotrudefactor leftupperninequote  .4  0 
  \defineprotrudefactor endash               0 .3  
  \defineprotrudefactor emdash               0 .2  

  \defineprotrudefactor hyphen               0 .5

  \defineprotrudefactor A .05 .05
  \defineprotrudefactor B  0    0
  \defineprotrudefactor C  0    0
  \defineprotrudefactor D  0    0
  \defineprotrudefactor E  0    0
  \defineprotrudefactor F  0    0
  \defineprotrudefactor G  0    0
  \defineprotrudefactor H  0    0
  \defineprotrudefactor I  0    0
  \defineprotrudefactor J  0   0   % .05 seems heavy on the left
  \defineprotrudefactor K  0  .05  
  \defineprotrudefactor L  0  .1
  \defineprotrudefactor M  .05    .05
  \defineprotrudefactor N  .05    .05
  \defineprotrudefactor O  0    0
  \defineprotrudefactor P  0    0
  \defineprotrudefactor Q  0    0
  \defineprotrudefactor R  0  .05
  \defineprotrudefactor S  0    0
  \defineprotrudefactor T .1 .1
  \defineprotrudefactor U  0    0
  \defineprotrudefactor V .1 .1
  \defineprotrudefactor W 0 0      % .05 too much?
  \defineprotrudefactor X .05 .05
  \defineprotrudefactor Y .1 .1
  \defineprotrudefactor Z  0    0
  
  \defineprotrudefactor a  .1 .05
  \defineprotrudefactor b  0  .1
  \defineprotrudefactor c  .05   .05
  \defineprotrudefactor d  .05   0
  \defineprotrudefactor e  .05  .05 
  \defineprotrudefactor f  0   -.05  % big overhang on the right
  \defineprotrudefactor g  .05   0
  \defineprotrudefactor h  0  0.05
  \defineprotrudefactor i  0   0
  \defineprotrudefactor j  0   0
  \defineprotrudefactor k  0 .12 
  \defineprotrudefactor l  0  0
  \defineprotrudefactor m  0  .05
  \defineprotrudefactor n  0  .05
  \defineprotrudefactor o  .03  .03    % .05 seems too much
  \defineprotrudefactor p  0   .1
  \defineprotrudefactor q  .1   0
  \defineprotrudefactor r  0 .1
  \defineprotrudefactor s  0 0      % .05 seems too much
  \defineprotrudefactor t  0 .05 
  \defineprotrudefactor u  0   0
  \defineprotrudefactor v .05 .05
  \defineprotrudefactor w .05 .05  
  \defineprotrudefactor x .05 .05
  \defineprotrudefactor y .05 .1   % long diagonal stroke
  \defineprotrudefactor z  0   0

%  \inheritprotrudefactor Acircumflex A 
%  \inheritprotrudefactor acircumflex a
%  \inheritprotrudefactor Ccircumflex C
%  \inheritprotrudefactor ccircumflex c
%  \inheritprotrudefactor Ecircumflex E
%  \inheritprotrudefactor ecircumflex e
%  \inheritprotrudefactor Gcircumflex G
%  \inheritprotrudefactor gcircumflex g
%  \inheritprotrudefactor Hcircumflex H
%  \inheritprotrudefactor hcircumflex h
%  \inheritprotrudefactor Icircumflex I
%  \inheritprotrudefactor icircumflex i
%  \inheritprotrudefactor Jcircumflex J
%  \inheritprotrudefactor jcircumflex j
%  \inheritprotrudefactor Ocircumflex O
%  \inheritprotrudefactor ocircumflex o
%  \inheritprotrudefactor Scircumflex S
%  \inheritprotrudefactor scircumflex s
%  \inheritprotrudefactor Ucircumflex U
%  \inheritprotrudefactor ucircumflex u
%  \inheritprotrudefactor Wcircumflex W
%  \inheritprotrudefactor wcircumflex w
%  \inheritprotrudefactor Ycircumflex Y
%  \inheritprotrudefactor ycircumflex y
%  
%  \inheritprotrudefactor Agrave A
%  \inheritprotrudefactor agrave a
%  \inheritprotrudefactor Egrave E
%  \inheritprotrudefactor egrave e
%  \inheritprotrudefactor Igrave I
%  \inheritprotrudefactor igrave i
%  \inheritprotrudefactor Ograve O
%  \inheritprotrudefactor ograve o
%  \inheritprotrudefactor Ugrave U
%  \inheritprotrudefactor ugrave u
%  \inheritprotrudefactor Ygrave Y
%  \inheritprotrudefactor ygrave y
%  
%  \inheritprotrudefactor Atilde A
%  \inheritprotrudefactor atilde a
%  \inheritprotrudefactor Itilde I
%  \inheritprotrudefactor itilde i
%  \inheritprotrudefactor Ntilde N
%  \inheritprotrudefactor ntilde n
%  \inheritprotrudefactor Otilde O
%  \inheritprotrudefactor otilde o
%  \inheritprotrudefactor Utilde U
%  \inheritprotrudefactor utilde u
%  
%  \inheritprotrudefactor Adiaeresis A  
%  \inheritprotrudefactor adiaeresis a
%  \inheritprotrudefactor Ediaeresis E
%  \inheritprotrudefactor ediaeresis e
%  \inheritprotrudefactor Idiaeresis I
%  \inheritprotrudefactor idiaeresis i
%  \inheritprotrudefactor Odiaeresis O
%  \inheritprotrudefactor odiaeresis o
%  \inheritprotrudefactor Udiaeresis U
%  \inheritprotrudefactor udiaeresis u
%  \inheritprotrudefactor Ydiaeresis Y
%  \inheritprotrudefactor ydiaeresis y
%  
%  \inheritprotrudefactor Aacute A
%  \inheritprotrudefactor aacute a
%  \inheritprotrudefactor Cacute C
%  \inheritprotrudefactor cacute c
%  \inheritprotrudefactor Eacute E
%  \inheritprotrudefactor eacute e
%  \inheritprotrudefactor Iacute I
%  \inheritprotrudefactor iacute i
%  \inheritprotrudefactor Lacute L
%  \inheritprotrudefactor lacute l
%  \inheritprotrudefactor Nacute N
%  \inheritprotrudefactor nacute n
%  \inheritprotrudefactor Oacute O
%  \inheritprotrudefactor oacute o
%  \inheritprotrudefactor Racute R
%  \inheritprotrudefactor racute r
%  \inheritprotrudefactor Sacute s
%  \inheritprotrudefactor sacute s
%  \inheritprotrudefactor Uacute U
%  \inheritprotrudefactor uacute u
%  \inheritprotrudefactor Yacute Y
%  \inheritprotrudefactor yacute y
%  \inheritprotrudefactor Zacute Z
%  \inheritprotrudefactor zacute z
%  
%  \inheritprotrudefactor Dstroke D
%  \inheritprotrudefactor dstroke d
%  \inheritprotrudefactor Hstroke H
%  \inheritprotrudefactor hstroke h
%  \inheritprotrudefactor Tstroke T
%  \inheritprotrudefactor tstroke t
%  
%  \inheritprotrudefactor Cdotaccent C 
%  \inheritprotrudefactor cdotaccent c
%  \inheritprotrudefactor Edotaccent E
%  \inheritprotrudefactor edotaccent e
%  \inheritprotrudefactor Gdotaccent G
%  \inheritprotrudefactor gdotaccent g
%  \inheritprotrudefactor Idotaccent I
%  \inheritprotrudefactor idotaccent i
%  \inheritprotrudefactor Zdotaccent Z
%  \inheritprotrudefactor zdotaccent z
%  
%  \inheritprotrudefactor Amacron A
%  \inheritprotrudefactor amacron a
%  \inheritprotrudefactor Emacron E
%  \inheritprotrudefactor emacron e
%  \inheritprotrudefactor Imacron I
%  \inheritprotrudefactor imacron i
%  \inheritprotrudefactor Omacron O
%  \inheritprotrudefactor omacron o 
%  \inheritprotrudefactor Umacron U
%  \inheritprotrudefactor umacron u
%  
%  \inheritprotrudefactor Ccedilla C
%  \inheritprotrudefactor ccedilla c
%  \inheritprotrudefactor Kcedilla K
%  \inheritprotrudefactor kcedilla k
%  \inheritprotrudefactor Lcedilla L
%  \inheritprotrudefactor lcedilla l
%  \inheritprotrudefactor Ncedilla N
%  \inheritprotrudefactor ncedilla n
%  \inheritprotrudefactor Rcedilla R
%  \inheritprotrudefactor rcedilla r
%  \inheritprotrudefactor Scedilla S
%  \inheritprotrudefactor scedilla s
%  \inheritprotrudefactor Tcedilla T
%  \inheritprotrudefactor tcedilla t
%  
%  \inheritprotrudefactor Ohungarumlaut O
%  \inheritprotrudefactor ohungarumlaut o
%  \inheritprotrudefactor Uhungarumlaut U
%  \inheritprotrudefactor uhungarumlaut u
%
%  \inheritprotrudefactor Aogonek A
%  \inheritprotrudefactor aogonek a
%  \inheritprotrudefactor Eogonek E
%  \inheritprotrudefactor eogonek e
%  \inheritprotrudefactor Iogonek I
%  \inheritprotrudefactor iogonek i
%  \inheritprotrudefactor Uogonek U
%  \inheritprotrudefactor uogonek u
%  
%  \inheritprotrudefactor Aring A
%  \inheritprotrudefactor aring a
%  \inheritprotrudefactor Uring U
%  \inheritprotrudefactor uring u
%  
%  \inheritprotrudefactor Abreve A
%  \inheritprotrudefactor abreve a
%  \inheritprotrudefactor Ebreve E
%  \inheritprotrudefactor ebreve e
%  \inheritprotrudefactor Gbreve G
%  \inheritprotrudefactor gbreve g
%  \inheritprotrudefactor Ibreve I
%  \inheritprotrudefactor ibreve i
%  \inheritprotrudefactor Obreve O
%  \inheritprotrudefactor obreve o
%  \inheritprotrudefactor Ubreve U
%  \inheritprotrudefactor ubreve u
%  
%  \inheritprotrudefactor Ccaron C
%  \inheritprotrudefactor ccaron c
%  \inheritprotrudefactor Dcaron D
%  \inheritprotrudefactor dcaron d
%  \inheritprotrudefactor Ecaron E
%  \inheritprotrudefactor ecaron e
%  \inheritprotrudefactor Lcaron L
%  \inheritprotrudefactor lcaron l
%  \inheritprotrudefactor Ncaron N
%  \inheritprotrudefactor ncaron n
%  \inheritprotrudefactor Rcaron R
%  \inheritprotrudefactor rcaron r
%  \inheritprotrudefactor Scaron S
%  \inheritprotrudefactor scaron s
%  \inheritprotrudefactor Tcaron T
%  \inheritprotrudefactor tcaron t
%  \inheritprotrudefactor Ycaron Y
%  \inheritprotrudefactor ycaron y
%  \inheritprotrudefactor Zcaron Z
%  \inheritprotrudefactor zcaron z
%  
%  \inheritprotrudefactor AEligature E
%  \inheritprotrudefactor aeligature e
%  \inheritprotrudefactor Lstroke    I
%  \inheritprotrudefactor lstroke    o
%  \inheritprotrudefactor Ostroke    O
%  \inheritprotrudefactor ostroke    o
%  \inheritprotrudefactor OEligature O
%  \inheritprotrudefactor oeligature o
%  
%  \inheritprotrudefactor Ssharp     S
%  \inheritprotrudefactor ssharp     s
%  \inheritprotrudefactor IJligature J
%  \inheritprotrudefactor ijligature j
%  
%  \inheritprotrudefactor aumlaut a
%  \inheritprotrudefactor eumlaut e
%  \inheritprotrudefactor iumlaut i
%  \inheritprotrudefactor oumlaut o
%  \inheritprotrudefactor uumlaut u
%  
%  \inheritprotrudefactor Aumlaut A
%  \inheritprotrudefactor Eumlaut E
%  \inheritprotrudefactor Iumlaut I
%  \inheritprotrudefactor Oumlaut O
%  \inheritprotrudefactor Uumlaut U
%  
%  \inheritprotrudefactor Lslash L 
%  \inheritprotrudefactor lslash l
%  \inheritprotrudefactor Dslash D
%  \inheritprotrudefactor dslash d 
%  \inheritprotrudefactor Oslash O 
%  \inheritprotrudefactor oslash o 
%  
%  \inheritprotrudefactor Eszett S 
%  \inheritprotrudefactor eszett s 
%  
%  \inheritprotrudefactor Thorn P
%  \inheritprotrudefactor thorn p
%
\stopfonthandling

\starttypescript [serif] [hanging] [sabon]
  \setupfontsynonym [Serif]            [handling=sabon]
  % not handling these yet
  %\setupfontsynonym [SerifBold]        [handling=bold]
  %\setupfontsynonym [SerifSlanted]     [handling=slanted]
  %\setupfontsynonym [SerifItalic]      [handling=italic]
  %\setupfontsynonym [SerifBoldSlanted] [handling=boldslanted]
  %\setupfontsynonym [SerifBoldItalic]  [handling=bolditalic]
\stoptypescript

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Re: lowerleftdoubleninequote
  2003-03-08 21:15 Re: lowerleftdoubleninequote Wolfgang Werners-Lucchini
  2003-03-09 14:07 ` Re: Hanging punctuation WAS lowerleftdoubleninequote John Culleton
@ 2003-03-09 21:55 ` Hans Hagen
  1 sibling, 0 replies; 4+ messages in thread
From: Hans Hagen @ 2003-03-09 21:55 UTC (permalink / raw)


At 10:15 PM 3/8/2003 +0100, you wrote:
>Hallo!
>
>In order to understand the appended puzzle, I am looking for documentations
>about:
>
>\definefonthandling
>\startfonthandling
>\usehandling
>
>I have found the example about 'hanging punctuation', but I could'nt even
>understand this
>example.
>What ist the correlation between 'punctuation', 'alpha' and 'def'????

hanging punctuation is the traditional simple model of - , ; : . and ! 
hanging into the margin; pdftex goes beyond that and let's you hang any 
char into the margin, so this is why we speak of character protruding;

fonthandling in context is currently used for hanging things but can be 
used for anything font related; the alpha, def etc setups are more or less 
derived from my personal prferences, thanh's thesis etc What you use all 
depends on your taste

Hans
-------------------------------------------------------------------------
                                   Hans Hagen | PRAGMA ADE | pragma@wxs.nl
                       Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
  tel: +31 (0)38 477 53 69 | fax: +31 (0)38 477 53 74 | www.pragma-ade.com
-------------------------------------------------------------------------
                        information: http://www.pragma-ade.com/roadmap.pdf
                     documentation: http://www.pragma-ade.com/showcase.pdf
-------------------------------------------------------------------------

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2003-03-09 21:55 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-03-08 21:15 Re: lowerleftdoubleninequote Wolfgang Werners-Lucchini
2003-03-09 14:07 ` Re: Hanging punctuation WAS lowerleftdoubleninequote John Culleton
2003-03-09 14:30   ` Hanging punctuation Bill McClain
2003-03-09 21:55 ` Re: lowerleftdoubleninequote Hans Hagen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).