hand-ini.mkiv /size: 3640 b    last modification: 2020-07-01 14:35
1
%D \module
2
%D [ file=hand-ini,
3
%D version=2008.02.12,
4
%D title=\CONTEXT\ Handling Macros,
5
%D subtitle=Initialization,
6
%D author=Hans Hagen,
7
%D date=\currentdate,
8
%D copyright={PRAGMA ADE \& \CONTEXT\ Development Team}]
9
%C
10
%C This module is part of the \CONTEXT\ macro||package and is
11
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
12
%C details.
13 14
%D Handling is implemented differently in \MKIV. Maybe I'll cook up
15
%D some compatibility hack.
16 17
% \definefontfeature[demo][default][mode=node,expansion=quality]
18
% \definefontfeature[demo][default][mode=node,protrusion=pure]
19 20
% experimental setup:
21
%
22
% \showframe \setupalign[hanging] \enabletrackers[fonts.protrusion]
23
%
24
% \definefontfeature[default] [default][mode=node,script=latn]
25
% %definefontfeature[whatever][default][mode=node,lfbd=yes,rtbd=yes,script=latn]
26
% \definefontfeature[whatever][default][mode=node,protrusion=quality]
27
% \definefontfeature[whocares][default][mode=node,protrusion=yes,opbd=yes,script=latn] % left|right|yes
28
%
29
% \definedfont[fxlbi.otf*default] \input tufte 0123456789 \par \dorecurse{15}{1 2 3 4 5 6 7 8 9 0 } \par
30
% \definedfont[fxlbi.otf*whatever] \input tufte 0123456789 \par \dorecurse{15}{1 2 3 4 5 6 7 8 9 0 } \par
31
% \definedfont[fxlbi.otf*whocares] \input tufte 0123456789 \par \dorecurse{15}{1 2 3 4 5 6 7 8 9 0 } \par
32
%
33
% %definefontfeature[whocares][default][mode=node,protrusion=2,opbd=yes,script=latn,featurefile=texgyrepagella-regularxx.fea]
34
% \definefontfeature[whocares][default][mode=node,protrusion=2,opbd=yes,script=latn]
35
%
36
% \definedfont[texgyrepagella-regularxx.otf*whocares] \input tufte
37 38
\unprotect
39 40
%D New stuff.
41 42
\unexpanded
\def
\setupfontexpansion
{
\dodoubleargument
\font_expansion_setup
}
43
\unexpanded
\def
\setupfontprotrusion
{
\dodoubleargument
\font_protrusion_setup
}
44 45
\def
\font_expansion_setup
[
#
1
]
[
#
2
]
{
\clf_setupfontexpansion
{
#
1
}
{
#
2
}
}
46
\def
\font_protrusion_setup
[
#
1
]
[
#
2
]
{
\clf_setupfontprotrusion
{
#
1
}
{
#
2
}
}
47 48
% \setupfontprotrusion[quality-upright][vector=quality]
49
% \setupfontprotrusion[quality-slanted][vector=quality,right=1.5]
50 51
\let
\adjustspacing
\relax
\newcount
\adjustspacing
% a little bit protection
52
\let
\protrudechars
\relax
\newcount
\protrudechars
% a little bit protection
53 54
% at some point we can introduce extreme expansion, i.e. \normaladjustspacing\plustwo
55 56
% 0 = disabled
57
% 1 = notused (thesis)
58
% 2 = glyph + kern
59
% 3 = glyph only
60 61
\def
\font_expansion_enable
{
\normaladjustspacing
\plusthree
}
62
\def
\font_expansion_enable_k
{
\normaladjustspacing
\plustwo
}
63
%def\font_expansion_enable_n{\normaladjustspacing\plusone}
64
\def
\font_expansion_disable
{
\normaladjustspacing
\zerocount
}
65 66
\def
\font_protruding_enable_b
{
\normalprotrudechars
\plusthree
}
% also deal with r2l (experimental lmtx)
67
\def
\font_protruding_enable
{
\normalprotrudechars
\plustwo
}
68
\def
\font_protruding_disable
{
\normalprotrudechars
\zerocount
}
69 70
\appendtoks
\font_expansion_disable
\to
\everyforgetall
% Here or not here?
71
\appendtoks
\font_protruding_disable
\to
\everyforgetall
% Here or not here?
72 73
% \def\fonthandlingerror{\writestatus\m!fonts{font handling is replaced by features in mkiv}}
74
%
75
% \let\fonthandling\empty
76
%
77
% \unexpanded\def\startfonthandling #1{\fonthandlingerror\fonthandlingerror\gobbleuntil\stopfonthandling} % can't happen
78
% \unexpanded\def\definefonthandling {\dotripleempty\dodefinefonthandling}
79
% \unexpanded\def\setupfonthandling {\dodoubleempty\dosetupfonthandling }
80
% \def\dodefinefonthandling[#1][#2][#3]{\fonthandlingerror}
81
% \def\dosetupfonthandling [#1][#2]{\fonthandlingerror}
82
% \def\usehandling [#1]{\fonthandlingerror}
83 84
\protect
\endinput
85