summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/context/base/font-ini.mkii
blob: f3f40160b091958b58aa015dfa6c96bdc1c5afbd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
%D \module
%D   [       file=font-ini,
%D        version=2007.01.10,
%D          title=\CONTEXT\ Font Macros,
%D       subtitle=Initialization,
%D         author=Hans Hagen,
%D           date=\currentdate,
%D      copyright={PRAGMA / Hans Hagen \& Ton Otten}]
%C
%C This module is part of the \CONTEXT\ macro||package and is
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.

\unprotect

% not that efficient but inheritance is seldom used (untested)

\def\mkdefinefontfeature#1#2#3%
  {\doifassignmentelse{#2}
    {\setevalue{\??fa#1}{#2}}
    {\let\!!stringa\empty
     \def\mkdodefinefontfeature##1{\edef\!!stringa{\ifx\!!stringa\empty\else\!!stringa,\fi##1}}%
     \processcommalist[#2]\mkdodefinefontfeature
     \setevalue{\??fa#1}{\ifx\!!stringa\empty\else\!!stringa,\fi#3}}}

\def\updatefontparameters
  {\edef\@@fontencoding{\truefontdata\fontfile    \s!encoding}%
   \edef\@@fontmapping {\truefontdata\fontfile    \s!mapping }%
   \edef\@@fonthandling{\truefontdata\somefontname\s!handling}%
   \edef\@@fontfeatures{\truefontdata\fontfile    \s!features}%
   \edef\@@fontskewchar{\truefontdata\fontfile    \s!skewchar}}

\def\setfontcharacteristics
  {\updatefontparameters % redundant, will go away, faster too
   \fastenableencoding
     {\ifx\@@fontencoding\empty
        \s!default \else \@@fontencoding
      \fi}%
   \fastenablemapping
     {\ifx\@@fontmapping\empty
        \ifx\@@fontencoding\empty
          \s!default \else \@@fontencoding
        \fi
      \else
        \@@fontmapping
      \fi}%
   \fastenablehandling
     {\ifx\@@fonthandling\empty
        \s!default \else \@@fonthandling
      \fi}%
     {\lastfontidentifier}%
   \the\everyfont
   \synchronizepatternswithfont}

\ifx\synchronizepatternswithfont\undefined \def\synchronizepatternswithfont{\synchronizepatterns} \fi

\protect \endinput