% Encoding definition of fonts by Storm Type Foundry
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Jun 2001                                Petr Olsak
% Feb 2004

% See stormtex.html and ofsdoc.tex manuals for more details.

\ifx \characterdef \undefined \input ofs \fi
\protectreading ofs-6s.tex % This is part of OFS package

\ifx \characterdef \undefined \input ofs \fi

\fontmessage {\ofsmessageheader 
   Characters + accents of fonts by Storm Type Foundry defined.}

%% Extra encoding, characters %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\characterdef \onesuperior    6s  1
\characterdef \twosuperior    6s  2
\characterdef \threesuperior  6s  3
\characterdef \textleq        6s  4
\characterdef \textneq        6s  5
\characterdef \textgeq        6s  6
\characterdef \textpm         6s  7
\characterdef \onequarter     6s  8
\characterdef \onehalf        6s  9
\characterdef \threequarters  6s  10
\characterdef \fraction       6s  11
\characterdef \degree         6s  12
\characterdef \brokenbar      6s  13
\characterdef \fullbar        6s  124
\characterdef \textsum        6s  16

\characterdef \textOmega      6s  17
\characterdef \textminus      6s  0
\characterdef \textmu         6s  19
\characterdef \textDelta      6s  20
\characterdef \textneg        6s  21
\characterdef \textinfty      6s  22
\characterdef \textradical    6s  23
\characterdef \textbackslash  6s  92
\characterdef \textbraceleft  6s  123
\characterdef \textbraceright 6s  125
\characterdef \textless       6s  60
\characterdef \textgreater    6s  62
\characterdef \texttimes      6s  14
\characterdef \textdiv        6s  15

\characterdef \quotedbl       6s  34
\characterdef \asciicircum    6s  94
\characterdef \underscore     6s  95
\characterdef \asciitilde     6s  126
\characterdef \periodcentered 6s  127

\characterdef \ordfeminine    6s  24
\characterdef \ordmasculine   6s  25

\characterdef \vargrave       6s  26
\characterdef \varacute       6s  27
\characterdef \varcaron       6s  28
\characterdef \varcircumflex  6s  29
\characterdef \varbreve       6s  30
\characterdef \varring        6s  31
\characterdef \varmacron      6s  35
\characterdef \vardotaccent   6s  36
\characterdef \varhungarumlaut 6s 37
\characterdef \varogonek      6s  38
\characterdef \varcedilla     6s  39
\characterdef \vartilde       6s  40
\characterdef \vardieresis    6s  41
\characterdef \commaaccent    6s  42

\characterdef \euro           6s  136  \let\Euro=\euro

\characterdef \franc          6s  137
\characterdef \cent           6s  168
\characterdef \yen            6s  169

\characterdef \varv           6s  18  % This character has a bad internal
                                      % Type1 name: pi, sometimes it looks
        			      % as pi, sometimes as varv :-(
\characterdef \ligct          6s  128
\characterdef \ligst          6s  129
\characterdef \ligft          6s  130
\characterdef \longst         6s  131
\characterdef \longs          6s  132
\characterdef \florin         6s  134

\characterdef \dag            6s  160
\characterdef \ddag           6s  161
\characterdef \textbullet     6s  162
\characterdef \paragraph      6s  163
\characterdef \ellipsis       6s  164
\characterdef \trademark      6s  165
\let\copyright=\relax
\characterdef \copyright      *   {\ofscopyright}
\characterdef \copyright      6s  166
\characterdef \registered     6s  167
\characterdef \currency       6s  168 % Does not work in Storm fonts
 
\characterdef \varzero        6s  48
\characterdef \varone         6s  49
\characterdef \vartwo         6s  50
\characterdef \varthree       6s  51
\characterdef \varfour        6s  52
\characterdef \varfive        6s  53
\characterdef \varsix         6s  54
\characterdef \varseven       6s  55
\characterdef \vareight       6s  56
\characterdef \varnine        6s  57

\characterdef \Eth            6s  144
\characterdef \eth            6s  176
\characterdef \Thorn          6s  145
\characterdef \thorn          6s  177
\characterdef \IJ             6s  156
\characterdef \ij             6s  188
\characterdef \O              6s  216
\characterdef \o              6s  248

%%% Extra encoding, accented letters %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\accentdef  \~ A    6s  195
\accentdef  \= A    6s  196
\accentdef  \r A    6s  197
\accentdef  \~ a    6s  227
\accentdef  \= a    6s  228
\accentdef  \r a    6s  229
\accentdef  \^ C    6s  198
\accentdef  \. C    6s  199
\accentdef  \^ c    6s  230
\accentdef  \. c    6s  231
\accentdef  \= d    6s  135
\accentdef  \` E    6s  200
\accentdef  \u E    6s  201
\accentdef  \^ E    6s  202
\accentdef  \= E    6s  203
\accentdef  \. E    6s  193
\accentdef  \` e    6s  232
\accentdef  \u e    6s  233
\accentdef  \^ e    6s  234
\accentdef  \= e    6s  235
\accentdef  \. e    6s  225
\accentdef  \u G    6s  154
\accentdef  \^ G    6s  218
\accentdef  \. G    6s  219
\accentdef  \c G    6s  220
\accentdef  \u g    6s  186
\accentdef  \^ g    6s  250
\accentdef  \. g    6s  251
\accentdef  \c g    6s  252
\accentdef  \' g    6s  185
\accentdef  \^ H    6s  222
\accentdef  \= H    6s  223
\accentdef  \^ h    6s  254
\accentdef  \= h    6s  255
\accentdef  \. I    6s  157
\accentdef  \` I    6s  204
\accentdef  \~ I    6s  205
\accentdef  \= I    6s  206
\accentdef  \" I    6s  207
\accentdef  \k I    6s  208
\accentdef  \. i    6s  `\i
\accentdef  \` i    6s  236
\accentdef  \~ i    6s  237
\accentdef  \= i    6s  238
\accentdef  \" i    6s  239
\accentdef  \k i    6s  240
\accentdef  \^ J    6s  155
\accentdef  \^ j    6s  187
\accentdef  \c K    6s  215
\accentdef  \c k    6s  247
\accentdef  \c L    6s  158
\accentdef  \. L    6s  159
\accentdef  \c l    6s  190
\accentdef  \. l    6s  191
\accentdef  \~ N    6s  209
\accentdef  \c N    6s  214
\accentdef  \m n    6s  184
\accentdef  \~ n    6s  241
\accentdef  \c n    6s  246
\accentdef  \` O    6s  210
\accentdef  \= O    6s  211
\accentdef  \u O    6s  212
\accentdef  \~ O    6s  213
\accentdef  \` o    6s  242
\accentdef  \= o    6s  243
\accentdef  \u o    6s  244
\accentdef  \~ o    6s  245
\accentdef  \c R    6s  147
\accentdef  \c r    6s  179
\accentdef  \m S    6s  221
\accentdef  \^ S    6s  148
\accentdef  \m s    6s  253
\accentdef  \^ s    6s  180
\accentdef  \= T    6s  140
\accentdef  \m T    6s  141
\accentdef  \= t    6s  172
\accentdef  \m t    6s  173
\accentdef  \= U    6s  142
\accentdef  \u U    6s  143
\accentdef  \^ U    6s  149
\accentdef  \k U    6s  150
\accentdef  \~ U    6s  151
\accentdef  \` U    6s  217
\accentdef  \= u    6s  174
\accentdef  \u u    6s  175
\accentdef  \^ u    6s  181
\accentdef  \k u    6s  182
\accentdef  \~ u    6s  183
\accentdef  \` u    6s  249
\accentdef  \^ W    6s  192
\accentdef  \^ w    6s  224
\accentdef  \^ Y    6s  194
\accentdef  \" Y    6s  146
\accentdef  \^ y    6s  226
\accentdef  \" y    6s  178

%%% Extra characters from StormL2Encoding (no present in 8z standard)

\modifydef 8z:storm; {%
   \characterdef \degree      8z  176
   \characterdef \euro        8z  134
   \characterdef \trademark   8z  136
   \characterdef \copyright   8z  137
   \characterdef \registered  8z  138
   \characterdef \flq         8z  142
   \characterdef \frq         8z  143
   \characterdef \clq         8z  154
   \characterdef \crq         8z  155
   \characterdef \ligct       8z  145
   \characterdef \ligst       8z  146
   \characterdef \ligft       8z  147
   \characterdef \longst      8z  148
   \characterdef \longs       8z  149
   \characterdef \varv        8z  144
   \characterdef \florin      8z  151
}

%%% Differences between StormT1Encoding and standard T1 encoding %%%%%

\modifydef 8t:storm;{%
   \characterdel \promile              8t {\%\char 24 }
   \characterdef \promile   8t  24  % the "perzero" is missing in Storm fonts
   \characterdel \textpertenthousand   8t {\%\char 24\char 24 } 
   \characterdel \dotlessj  8t  26
   \characterdef \varv      8t  26  % dotlessj is missing in Storm fonts
}
\modifydef 6s:noligs; {%
   \characterdel \ligct           6s  128
   \characterdel \ligst           6s  129
   \characterdel \ligft           6s  130
}

\modifydef 6s:vardigits;{%
   \characterdef \vardigits * {\setextrafont}
}

%%% The \CAP? macros %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% variant accents for capital letters

\def\CAP#1{\csname CAP\string#1\endcsname}
\def\CAPdef #1 {\expandafter\def\csname CAP\string#1\endcsname}

\def\CAPv {\aboveCAP \varcaron \v}
\def\CAPu {\aboveCAP \varbreve \u}
\def\CAPr {\aboveCAP \varring \r}
\def\CAPH {\aboveCAP \varhungarumlaut \H}
\CAPdef ` {\aboveCAP \vargrave \`}
\CAPdef ' {\aboveCAP \varacute \'}
\CAPdef = {\aboveCAP \varmacron \=}
\CAPdef ^ {\aboveCAP \varcircumflex \^}
\CAPdef . {\aboveCAP \vardotaccent \.}
\CAPdef " {\aboveCAP \vardieresis \"}
\CAPdef ~ {\aboveCAP \vartilde \~}

\def\aboveCAP #1#2{%
   \ifx\expandaction\noexpand
      \noexpand\aboveCAP \noexpand#1\noexpand#2%
   \else
      \csname fragilecommand!\endcsname
      \setbox2=\hbox{X}\dimen4=\ht2
      \setbox0=\hbox{#1}\dimen0=\ht0 \advance\dimen0 by-.2ex
      \ifdim\dimen4>\dimen0 \def\tmpa{#2}%
      \else \def\tmpa{\accentabove {#1}{-\dimen4}}%
      \fi \expandafter \tmpa
   \fi
}

%%% \stmath sets some math characters from extra encoding %%%%%%

% use in this order: \setfonts [Family/] \stmath \setmath[//]

\def\stmath{\ifx\extraenc\stextraenc
      \def\mathfonts{\defaultmathfonts
         \csname st\mathversion math\endcsname}%
      \def\mathchars{\defaultmathchars \stmathchars \let\mathchars=\relax}%
   \else \displaymessage{\ofsmessageheader WARNING.
      No extra enc 6s defined. \noexpand\stmath ignored.}%
   \fi
}   
\def\stextraenc{6s}

\def\stnormalmath{%
   \newmathfam \Xrmfam
   \loadmathfam \Xrmfam [Xtenrm/]%
}
\def\stboldmath{%
   \newmathfam \Xrmfam
   \loadmathfam \Xrmfam [Xtenbf/]%
}
\def\stmathchars{%
   \mathcode`\- "2\hex\Xrmfam 00
   \mathcode`\< "3\hex\Xrmfam 3C
   \mathcode`\> "3\hex\Xrmfam 3E
   %
   \edef\lbrace{\delimiter"4\hex\Xrmfam 7B308 }\let\{=\lbrace
   \edef\vert  {\delimiter"2\hex\Xrmfam 7C30C }\let\|=\vert
   \edef\rbrace{\delimiter"5\hex\Xrmfam 7D309 }\let\}=\rbrace
   %
   \mathchardef \leq    "3\hex\Xrmfam 04    \let\le=\leq
   \mathchardef \neq    "3\hex\Xrmfam 05    \let\ne=\neq
   \mathchardef \geq    "3\hex\Xrmfam 06    \let\ge=\geq
   \mathchardef \neg    "3\hex\Xrmfam 15    \let\lnot=\neg
   \mathchardef \pm     "2\hex\Xrmfam 07
   \mathchardef \times  "2\hex\Xrmfam 0E
   \mathchardef \div    "2\hex\Xrmfam 0F
   \mathchardef \infty  "2\hex\Xrmfam 16
   %
   \safemathchardef \onesuperior   "\hex\Xrmfam 01
   \safemathchardef \twosuperior   "\hex\Xrmfam 02
   \safemathchardef \threesuperior "\hex\Xrmfam 03
   \safemathchardef \onequarter    "\hex\Xrmfam 08
   \safemathchardef \onehalf       "\hex\Xrmfam 09
   \safemathchardef \threequarters "\hex\Xrmfam 0A
   \safemathchardef \fraction      "\hex\Xrmfam 0B
   \mathchardef     \dagger       "2\hex\Xrmfam A0
   \mathchardef     \ddagger      "2\hex\Xrmfam A1
   \safemathchardef \dag           "\hex\Xrmfam A0
   \safemathchardef \ddag          "\hex\Xrmfam A1
   \let\bullet=\textbullet
   \safemathchardef \bullet       "2\hex\Xrmfam A2
}

%%% eof

\endinput %%% the following macros will be included in LANG style files

%%% Macros for quotes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\def\singleuv#1{\clq#1\crq}
\def\doubleuv#1{\clqq#1\crqq}
\def\singlefuv#1{\frq#1\flq}
\def\doublefuv#1{\frqq#1\flqq}
\let\uv=\doubleuv  
\let\fuv=\doublefuv

