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
|