summaryrefslogtreecommitdiff
path: root/tex/context/base/mkiv/font-fea.mklx
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/mkiv/font-fea.mklx')
-rw-r--r--tex/context/base/mkiv/font-fea.mklx382
1 files changed, 0 insertions, 382 deletions
diff --git a/tex/context/base/mkiv/font-fea.mklx b/tex/context/base/mkiv/font-fea.mklx
deleted file mode 100644
index 5f83c87d3..000000000
--- a/tex/context/base/mkiv/font-fea.mklx
+++ /dev/null
@@ -1,382 +0,0 @@
-%D \module
-%D [ file=font-sty,
-%D version=2011.01.13, % (copied fron font-ini)
-%D title=\CONTEXT\ Font Macros,
-%D subtitle=features,
-%D author=Hans Hagen,
-%D date=\currentdate,
-%D copyright={PRAGMA ADE \& \CONTEXT\ Development Team}]
-%C
-%C This module is part of the \CONTEXT\ macro||package and is
-%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
-%C details.
-
-\writestatus{loading}{ConTeXt Font Macros / Features}
-
-\unprotect
-
-%D Feature management.
-%D
-%D \starttyping
-%D \definefontfeature[smallcaps][smcp=yes,script=latn]
-%D \definefontfeature[smallcaps][SmallCapitals=yes,script=latn]
-%D \definefontfeature[smallcaps][Small Capitals=yes,script=latn]
-%D \definefontfeature[smallcaps][small capitals=yes,script=latn]
-%D \definefontfeature[smallcaps][smallcapitals=yes,script=latn]
-%D
-%D \definedfont[cambria*smallcaps] test
-%D
-%D \starttext
-%D \definefontfeature[basekerned][default][mode=base]
-%D \definefontfeature[nodekerned][default][mode=node]
-%D \definefontfeature[nonekerned][default][mode=base,kern=no]
-%D \setupcolors[state=start]
-%D \startoverlay
-%D {\vbox{\red \definedfont[Serif*nonekerned at 12pt]\input tufte }}
-%D {\vbox{\blue \definedfont[Serif*basekerned at 12pt]\input tufte }}
-%D {\vbox{\green\definedfont[Serif*nodekerned at 12pt]\input tufte }}
-%D \stopoverlay
-%D \stoptext
-%D
-%D \enabletrackers[otf.kerns]
-%D
-%D \definefontfeature[withkern][default][mode=node]
-%D \definefontfeature[nokern] [default][mode=node,kern=no]
-%D \definefontfeature[single] [default][mode=node,cpsp=yes]
-%D \definefontfeature[simple] [default][mode=node,cpsp=yes,kern=no]
-%D
-%D {\definedfont[Serif*default] [FGFGFGFGFGFGFGFGFGFGFGFGFG ABCDEFGHIJKLMNOPQRSTUVWXYZ] \par}
-%D {\definedfont[Serif*nokern] [FGFGFGFGFGFGFGFGFGFGFGFGFG ABCDEFGHIJKLMNOPQRSTUVWXYZ] \par}
-%D {\definedfont[Serif*single] [FGFGFGFGFGFGFGFGFGFGFGFGFG ABCDEFGHIJKLMNOPQRSTUVWXYZ] \par}
-%D {\definedfont[Serif*simple] [FGFGFGFGFGFGFGFGFGFGFGFGFG ABCDEFGHIJKLMNOPQRSTUVWXYZ] \par}
-%D \stoptyping
-
-% \definefontfeature[slanted] [default][slant=.25]
-% \definefontfeature[stretched][default][stretch=2]
-%
-% \start \definedfont[SerifBold*slanted at 20pt] \ruledhbox{Test!} \stop
-% \start \definedfont[SerifBold*stretched at 20pt] \ruledhbox{Test!} \stop
-%
-% \definefontfeature[default] [liga=yes,texligatures=yes,texquotes=yes]
-% \definefontfeature[default-caps][liga=yes,texligatures=yes,texquotes=yes,smcp=yes,script=latn]
-%
-% \starttypescript [serif] [palatino-nova-regular] [name]
-% \definefontsynonym[Serif] [palatinonova-regular][features=default]
-% \definefontsynonym[SerifCaps][palatinonova-regular][features=default-caps] % also sets Serif
-% \stoptypescript
-%
-% \starttypescript [serif] [palatino-nova-regular] [name]
-% \definefontsynonym[Serif] [palatinonova-regular*default]
-% \definefontsynonym[SerifCaps] [palatinonova-regular*default-caps]
-% \stoptypescript
-%
-% \definetypeface[mainface][rm][serif][palatino-nova-regular][default] \setupbodyfont[mainface]
-%
-% \starttext
-% ``Test'' -- --- ff fi fl \sc ``Test'' -- --- ff fi fl
-% \stoptext
-%
-% \definefontfeature
-% [default-base]
-% [script=latn,language=dflt,liga=yes,kern=yes,tlig=yes,trep=yes]
-% \definefontfeature
-% [default-node]
-% [script=latn,language=dflt,liga=yes,kern=yes,tlig=yes,trep=yes,mode=node]
-% \definefontfeature
-% [default-none]
-% [script=latn,language=dflt,liga=yes,kern=no, tlig=yes,trep=yes]
-%
-% \startoverlay
-% {\vtop{\color[red] {\font\test=name:lmroman12regular*default-node \test \input ward \input zapf \input linden }}}
-% {\vtop{\color[green]{\font\test=name:lmroman12regular*default-base \test \input ward \input zapf \input linden }}}
-% {\vtop{\color[blue] {\font\test=name:lmroman12regular*default-none \test \input ward \input zapf \input linden }}}
-% \stopoverlay
-%
-% \blank
-%
-% \startoverlay
-% {\vtop{\color[red] {\font\test=name:texgyrepagella*default-node \test \input ward \input zapf \input linden }}}
-% {\vtop{\color[green]{\font\test=name:texgyrepagella*default-base \test \input ward \input zapf \input linden }}}
-% {\vtop{\color[blue] {\font\test=name:texgyrepagella*default-none \test \input ward \input zapf \input linden }}}
-% \stopoverlay
-%
-% \blank
-%
-% \startoverlay
-% {\vtop{\color[red] {\font\test=name:palatinonovaregular*default-node \test \input ward \input zapf \input linden }}}
-% {\vtop{\color[green]{\font\test=name:palatinonovaregular*default-base \test \input ward \input zapf \input linden }}}
-% {\vtop{\color[blue] {\font\test=name:palatinonovaregular*default-none \test \input ward \input zapf \input linden }}}
-% \stopoverlay
-%
-% \startoverlay
-% {\vtop{\color[red] {\font\test=name:OfficinaSerifBookITC*default-node \test \input ward \input zapf \input linden }}}
-% {\vtop{\color[green]{\font\test=name:OfficinaSerifBookITC*default-base \test \input ward \input zapf \input linden }}}
-% {\vtop{\color[blue] {\font\test=name:OfficinaSerifBookITC*default-none \test \input ward \input zapf \input linden }}}
-% \stopoverlay
-%
-% \definefontfeature[superdefault][default][compose=yes]
-%
-% {\font\oeps=name:lmroman10regular*default at 30pt \oeps test \char7683}
-% {\font\oeps=name:lmroman10regular*superdefault at 30pt \oeps test \char7683}
-
-\permanent\tolerant\protected\def\definefontfeature[#featureset]#spacer[#parent]#spacer[#settings]%
- {\clf_definefontfeature{#featureset}{#parent}{#settings}}
-
-\permanent\tolerant\protected\def\adaptfontfeature[#pattern]#spacer[#settings]%
- {\clf_adaptfontfeature{#pattern}{#settings}}
-
-\permanent\protected\def\fontfeatureslist[#name]#spacer[#separator]% todo: arg voor type
- {\clf_featurelist{#name}{\detokenize{#separator}}}
-
-\attribute\zerocount\attributeunsetvalue
-
-\glyphdatafield\zerocount
-
-\let\font_dynamic_value\glyphdatafield
-
-% beware: these are global features on top of existing font features
-
-\let\currentfeature \s!current
-\let\m_font_feature_list \s!current
-\let\m_font_feature_asked\empty
-
-\newconstant\c_font_feature_state
-
-% hashing at this end is slower
-
-\permanent\tolerant\protected\def\addfeature [#1]#;#2{\edef\m_font_feature_asked{#1#2}\font_feature_add}
-\permanent\tolerant\protected\def\subtractfeature [#1]#;#2{\edef\m_font_feature_asked{#1#2}\font_feature_subtract}
-\permanent\tolerant\protected\def\replacefeature [#1]#;#2{\edef\m_font_feature_asked{#1#2}\font_feature_replace}
-\permanent\tolerant\protected\def\resetandaddfeature[#1]#;#2{\edef\m_font_feature_asked{#1#2}\font_feature_reset_add}
-\permanent\tolerant\protected\def\feature [#1]#;#2{\begincsname\??featureshortcut#1#2\endcsname}
-
-% for old times sake
-
-\permanent\protected\def\doaddfeature #1{\edef\m_font_feature_asked{#1}\font_feature_add}
-\permanent\protected\def\dosubtractfeature #1{\edef\m_font_feature_asked{#1}\font_feature_subtract}
-\permanent\protected\def\doreplacefeature #1{\edef\m_font_feature_asked{#1}\font_feature_replace}
-\permanent\protected\def\doresetandaddfeature#1{\edef\m_font_feature_asked{#1}\font_feature_reset_add}
-
-\protected\def\font_feature_add
- {\ifnum\c_font_feature_state=\plusone
- \ifx\m_font_feature_asked\currentfeature\else
- \font_feature_add_indeed
- \fi
- \else
- \font_feature_add_indeed
- \fi}
-
-\protected\def\font_feature_add_indeed
- {\clf_addfeature{\m_font_feature_list}{\m_font_feature_asked}%
- \edef\m_font_feature_list{\m_font_feature_list+\m_font_feature_asked}% also + at the lua end
- \c_font_feature_state\plusone
- \let\currentfeature\m_font_feature_asked}
-
-\protected\def\font_feature_subtract
- {\ifnum\c_font_feature_state=\minusone
- \ifx\m_font_feature_asked\currentfeature\else
- \font_feature_subtract_indeed
- \fi
- \else
- \font_feature_subtract_indeed
- \fi}
-
-\protected\def\font_feature_subtract_indeed
- {\clf_subtractfeature{\m_font_feature_list}{\m_font_feature_asked}%
- \edef\m_font_feature_list{\m_font_feature_list-\m_font_feature_asked}% also - at the lua end
- \c_font_feature_state\minusone
- \let\currentfeature\m_font_feature_asked}
-
-\protected\def\font_feature_replace
- {\ifnum\c_font_feature_state=\zerocount
- \ifx\m_font_feature_asked\currentfeature\else
- \font_feature_replace_indeed
- \fi
- \else
- \font_feature_replace_indeed
- \fi}
-
-\protected\def\font_feature_replace_indeed
- {\clf_replacefeature{\m_font_feature_list}{\m_font_feature_asked}%
- \edef\m_font_feature_list{\m_font_feature_list=\m_font_feature_asked}% also = at the lua end
- \c_font_feature_state\zerocount
- \let\currentfeature\m_font_feature_asked}
-
-\permanent\protected\def\resetfeature
- {\ifx\currentfeature\s!current \else
- \font_feature_reset_indeed
- \fi}
-
-\protected\def\font_feature_reset_indeed
- {\let\m_font_feature_asked\empty
- \let\currentfeature \s!current
- \let\m_font_feature_list \s!current
- \clf_resetfeature}
-
-\permanent\protected\def\revivefeature
- {\ifx\currentfeature\s!current \else
- \font_feature_revive_indeed
- \fi}
-
-\protected\def\font_feature_revive_indeed
- {\clf_revivefeature{\m_font_feature_list}}
-
-\protected\def\font_feature_reset_add
- {\ifnum\c_font_feature_state=\plusone
- \ifx\m_font_feature_asked\currentfeature\else
- \font_feature_reset_add_indeed
- \fi
- \else
- \font_feature_reset_add_indeed
- \fi}
-
-\protected\def\font_feature_reset_add_indeed
- {\clf_addfeature{\s!current}{\m_font_feature_asked}%
- \edef\m_font_feature_list{\s!current+\m_font_feature_asked}% also + at the lua end
- \c_font_feature_state\plusone
- \let\currentfeature\m_font_feature_asked}
-
-\installcorenamespace{featureshortcut}
-
-\letvalue{\??featureshortcut +}\addfeature
-\letvalue{\??featureshortcut -}\subtractfeature
-\letvalue{\??featureshortcut =}\replacefeature
-\letvalue{\??featureshortcut !}\resetandaddfeature
-\letvalue{\??featureshortcut >}\revivefeature
-\letvalue{\??featureshortcut <}\resetfeature
-
-\letvalue{\??featureshortcut\v!more }\addfeature % add set to previous set and combine with font set
-\letvalue{\??featureshortcut\v!less }\subtractfeature % subtract set from previous set and combine with font set
-\letvalue{\??featureshortcut\v!new }\replacefeature % replace font set
-\letvalue{\??featureshortcut\v!reset }\resetfeature % forget sets and revert to font set
-\letvalue{\??featureshortcut\v!default}\revivefeature % make sure the current set is used on top of the font set
-\letvalue{\??featureshortcut\v!old }\revivefeature
-\letvalue{\??featureshortcut\v!local }\resetandaddfeature
-\letvalue{\??featureshortcut\s!unknown}\empty
-
-% experimental bonus:
-
-% \protected\def\addfflanguage
-% {\ifnum\c_font_feature_state=\plusone
-% \ifx\currentlanguage\currentfeature\else
-% \font_feature_add_language_indeed
-% \fi
-% \else
-% \font_feature_add_language_indeed
-% \fi}
-%
-% \protected\def\font_feature_add_language_indeed
-% {\clf_addfeature{\m_font_feature_list}{\currentlanguage}%
-% \edef\m_font_feature_list{\m_font_feature_list+\currentlanguage}% also + at the lua end
-% \c_font_feature_state\plusone
-% \let\currentfeature\currentlanguage}
-%
-% some 3% slower:
-
-% \protected\def\addfflanguage
-% {\let\m_font_feature_asked\currentlanguage
-% \font_feature_add}
-
-\let\m_font_feature_language\currentlanguage
-
-\permanent\protected\def\addfflanguage
- {\ifx\currentlanguage\m_font_feature_language\else
- \let\m_font_feature_language\currentlanguage
- \let\m_font_feature_asked \currentlanguage
- \font_feature_add
- \fi}
-
-% just for old times sake:
-
-\permanent\protected\def\featureattribute#feature%
- {\clf_featureattribute{#feature}}
-
-\permanent\protected\def\setfontfeature#feature%
- {\edef\currentfeature{#feature}%
- \let\m_font_feature_list\currentfeature
- \clf_setfontfeature{\currentfeature}}
-
-% these are obsolete (don't use them any longer)
-
-\aliased\let\resetfontfeature\resetfeature % obsolete
-
-% these are obsolete (don't use them any longer)
-
-% \let\addfontfeaturetoset \font_feature_add_nop % obsolete
-% \let\subtractfontfeaturefromset \font_feature_subtract_nop % obsolete
-% \let\addfontfeaturetofont \font_feature_add_nop % obsolete
-% \let\subtractfontfeaturefromfont\font_feature_subtract_nop % obsolete
-
-% these are obsolete (don't use them any longer)
-
-\aliased\let\setff\setfontfeature % obsolete
-\aliased\let\addfs\doaddfeature % obsolete
-\aliased\let\subfs\dosubtractfeature % obsolete
-\aliased\let\addff\doaddfeature % obsolete
-\aliased\let\subff\dosubtractfeature % obsolete
-
-%D \macros
-%D {os}
-%D
-%D In good old \TEX, the old style numerals were often taken from the math fonts. No
-%D longer.
-
-\definefontfeature
- [just-os]
- [mode=node,onum=yes]
-
-%frozen\protected\def\sc{\setfontfeature{smallcaps}}
-\permanent\protected\def\os{\setfontfeature{just-os}}
-
-% \doifelsecurrentfonthasfeature{smcp}{YES}{NO}
-% \doifelsecurrentfonthasfeature{crap}{YES}{NO}
-% \doifelsecurrentfonthasfeature{kern}{YES}{NO}
-
-\permanent\def\doifelsecurrentfonthasfeature#feature{\clf_doifelsecurrentfonthasfeature{#feature}} % expandable
-\permanent\def\doifelsefontfeature #feature{\clf_doifelsefontfeature {#feature}} % expandable
-\permanent\def\doifunknownfontfeature #feature{\clf_doifunknownfontfeature {#feature}} % expandable
-
-\aliased\let\doifcurrentfonthasfeatureelse\doifelsecurrentfonthasfeature
-\aliased\let\doiffontfeatureelse \doifelsefontfeature
-
-% new:
-
-\clf_registerlanguagefeatures
-
-% also new
-
-\permanent\protected\def\useaddfontfeatureparameter#namespace% faster local variant
- {\edef\m_font_feature_asked{#namespace\c!features}%
- \ifempty\m_font_feature_asked\else
- \font_feature_add
- \fi}
-
-% let's put this here:
-
-\permanent\protected\def\slashedzero
- {\dontleavehmode
- \begingroup
- %\addff{zero}
- \doaddfeature{zero}%
- 0%
- \endgroup}
-
-% not nice but maybe handy
-
-% \starttyping
-% \blockligatures[fi,ff] \blockligatures[fl]
-%
-% \definefontfeature[default:b][default][blockligatures=yes]
-%
-% \setupbodyfont[pagella] \showfontkerns
-%
-% \definedfont[Serif*default:b]
-%
-% \startTEXpage[offset=1em]
-% fi ff fl
-% \stopTEXpage
-% \stoptyping
-
-\permanent\protected\def\blockligatures[#1]{\clf_blockligatures{#1}}
-
-\protect \endinput