%
% 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
