From 315010c30c0dab68a71ca741364438a7a0b1261f Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Sat, 14 Oct 2023 03:01:20 +0000 Subject: CTAN sync 202310140301 --- .../context/third/simplefonts/t-simplefonts.mkiv | 812 --------------------- 1 file changed, 812 deletions(-) delete mode 100644 macros/context/contrib/context-simplefonts/tex/context/third/simplefonts/t-simplefonts.mkiv (limited to 'macros/context/contrib/context-simplefonts/tex/context/third/simplefonts/t-simplefonts.mkiv') diff --git a/macros/context/contrib/context-simplefonts/tex/context/third/simplefonts/t-simplefonts.mkiv b/macros/context/contrib/context-simplefonts/tex/context/third/simplefonts/t-simplefonts.mkiv deleted file mode 100644 index e2e9a339b6..0000000000 --- a/macros/context/contrib/context-simplefonts/tex/context/third/simplefonts/t-simplefonts.mkiv +++ /dev/null @@ -1,812 +0,0 @@ -%D \module -%D [ file=t-simplefonts, -%D version=2012.01.09, -%D title=\CONTEXT\ User Module, -%D subtitle=Simplefonts, -%D author=Wolfgang Schuster, -%D date=\currentdate, -%D copyright=Wolfgang Schuster, -%D email=schuster.wolfgang@googlemail.com, -%D license=GNU General Public License] - -%C Copyright (C) 2010 Wolfgang Schuster -%C -%C This program is free software: you can redistribute it and/or modify -%C it under the terms of the GNU General Public License as published by -%C the Free Software Foundation, either version 3 of the License, or -%C (at your option) any later version. -%C -%C This program is distributed in the hope that it will be useful, -%C but WITHOUT ANY WARRANTY; without even the implied warranty of -%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -%C GNU General Public License for more details. -%C -%C You should have received a copy of the GNU General Public License -%C along with this program. If not, see . - -\writestatus{loading}{ConTeXt User Module / Simplefonts} - -\unprotect - -\startmodule[simplefonts] - -%D Constants and variables - -\startinterface all - \setinterfaceconstant {regular} {regular} - \setinterfaceconstant {italic} {italic} - \setinterfaceconstant {slanted} {slanted} - \setinterfaceconstant {bold} {bold} - \setinterfaceconstant {bolditalic} {bolditalic} - \setinterfaceconstant {boldslanted} {boldslanted} - \setinterfaceconstant {caps} {caps} - \setinterfaceconstant {italiccaps} {italiccaps} - \setinterfaceconstant {slantedcaps} {slantedcaps} - \setinterfaceconstant {boldcaps} {boldcaps} - \setinterfaceconstant {bolditaliccaps} {bolditaliccaps} - \setinterfaceconstant {boldslantedcaps} {boldslantedcaps} - \setinterfaceconstant {scale} {scale} - \setinterfaceconstant {range} {range} - \setinterfaceconstant {weight} {weight} - \setinterfaceconstant {features} {features} - \setinterfaceconstant {regularfont} {regularfont} - \setinterfaceconstant {italicfont} {italicfont} - \setinterfaceconstant {slantedfont} {slantedfont} - \setinterfaceconstant {boldfont} {boldfont} - \setinterfaceconstant {bolditalicfont} {bolditalicfont} - \setinterfaceconstant {boldslantedfont} {boldslantedfont} - \setinterfaceconstant {capsfont} {capsfont} - \setinterfaceconstant {italiccapsfont} {italiccapsfont} - \setinterfaceconstant {slantedcapsfont} {slantedcapsfont} - \setinterfaceconstant {boldcapsfont} {boldcapsfont} - \setinterfaceconstant {bolditaliccapsfont} {bolditaliccapsfont} - \setinterfaceconstant {boldslantedcapsfont} {boldslantedcapsfont} - \setinterfaceconstant {regularfeatures} {regularfeatures} - \setinterfaceconstant {italicfeatures} {italicfeatures} - \setinterfaceconstant {slantedfeatures} {slantedfeatures} - \setinterfaceconstant {boldfeatures} {boldfeatures} - \setinterfaceconstant {bolditalicfeatures} {bolditalicfeatures} - \setinterfaceconstant {boldslantedfeatures} {boldslantedfeatures} - \setinterfaceconstant {smallcapsfeatures} {smallcapsfeatures} - \setinterfaceconstant {capsfeatures} {capsfeatures} - \setinterfaceconstant {italiccapsfeatures} {italiccapsfeatures} - \setinterfaceconstant {slantedcapsfeatures} {slantedcapsfeatures} - \setinterfaceconstant {boldcapsfeatures} {boldcapsfeatures} - \setinterfaceconstant {bolditaliccapsfeatures} {bolditaliccapsfeatures} - \setinterfaceconstant {boldslantedcapsfeatures} {boldslantedcapsfeatures} - \setinterfaceconstant {typeface} {typeface} - \setinterfaceconstant {protrusion} {protrusion} - \setinterfaceconstant {contextversion} {contextversion} - \setinterfaceconstant {sf} {sf} - \setinterfaceconstant {bc} {bc} - \setinterfaceconstant {mode} {mode} - \setinterfaceconstant {check} {check} -\stopinterface - -\startinterface all - \setinterfacevariable {simplefonts} {simplefonts} - \setinterfacevariable {simplefont} {simplefont} - \setinterfacevariable {style} {style} - \setinterfacevariable {suffix} {suffix} - \setinterfacevariable {serif} {serif} - \setinterfacevariable {sans} {sans} - \setinterfacevariable {mono} {mono} - \setinterfacevariable {math} {math} - \setinterfacevariable {mainfont} {mainfont} - \setinterfacevariable {sansfont} {sansfont} - \setinterfacevariable {monofont} {monofont} - \setinterfacevariable {mathfont} {mathfont} - \setinterfacevariable {handwritingfont} {handwritingfont} - \setinterfacevariable {calligraphicfont} {calligraphicfont} - \setinterfacevariable {cjk} {cjk} - \setinterfacevariable {fallback} {fallback} - \setinterfacevariable {condensed} {condensed} - \setinterfacevariable {light} {light} - \setinterfacevariable {heavy} {heavy} - \setinterfacevariable {feature} {feature} - \setinterfacevariable {handwriting} {handwriting} - \setinterfacevariable {calligraphy} {calligraphy} - \setinterfacevariable {fontfamily} {fontfamily} - \setinterfacevariable {node} {node} -\stopinterface - -\startinterface all - \setinterfaceelement {set} {set} -\stopinterface - -%D System constants - -\definesystemconstant {Handwriting} -\definesystemconstant {Calligraphy} -\definesystemconstant {Simplefont} - -%D Messages - -\definemessageconstant {simplefonts} - -\startinterface all - \setinterfacemessage{simplefonts}{title}{simplefonts} - \setinterfacemessage{simplefonts}{1} {font '--' not found} - \setinterfacemessage{simplefonts}{2} {feature '--' is not defined} - \setinterfacemessage{simplefonts}{3} {your context is too old, you need at last version '--'} - \setinterfacemessage{simplefonts}{4} {script '--' is not defined} - \setinterfacemessage{simplefonts}{5} {language '--' is not defined} -\stopinterface - -%D Module setup - -\setupmodule - [ \c!size=12pt, - \c!style=rm] - -%D Lua code - -\ctxloadluafile{t-simplefonts}{} - -%D Namespace - -\def\????sf{@@@@sf} - -%D Counter - -\newcounter\simplefonts!typeface -\newcounter\simplefonts!fontfamily - -\newcounter\simplefonts!mainfont -\newcounter\simplefonts!sansfont -\newcounter\simplefonts!monofont -\newcounter\simplefonts!handwritingfont -\newcounter\simplefonts!calligraphicfont - -%D Boolean - -\newif\if!!donesimplefonts - -%D Tracing - -\let\enablesimplefonts \!!donesimplefontstrue -\let\disablesimplefonts\!!donesimplefontsfalse - -%D Comma value lists - -\letempty\simplefont!features -\letempty\simplefont!localfeatures -\letempty\simplefont!globalfeatures - -\def\simplefonts!commands - {\v!mainfont,\v!sansfont,\v!monofont,\v!mathfont,\v!handwritingfont,\v!calligraphicfont} - -\def\simplefonts!weight - {\v!condensed,\v!light,\v!normal,\v!medium,\v!heavy} - -\def\simplefonts!alternative - {\c!regular,\c!italic,\c!slanted,\c!bold,\c!bolditalic,\c!boldslanted,\c!caps, - \c!italiccaps,\c!slantedcaps,\c!boldcaps,\c!bolditaliccaps,\c!boldslantedcaps} - -%D Simplefont style - -\definefontstyle [\c!sf,\v!simplefont] [\c!sf] - -\starttypescript [simplefont] [default] [size] - \definebodyfont - [4pt,5pt,6pt,7pt,8pt,9pt,10pt,11pt,12pt,14.4pt,17.3pt] - [sf] [default] -\stoptypescript - -\definebodyfont [default] [sf] - [tf=Simplefont sa 1, - bf=SimplefontBold sa 1, - it=SimplefontItalic sa 1, - sl=SimplefontSlanted sa 1, - bi=SimplefontBoldItalic sa 1, - bs=SimplefontBoldSlanted sa 1, - sc=SimplefontCaps sa 1] - -%D \macros -%D {simplefontparameter,namedsimplefontparameter, -%D setupsimplefonts,presetsimplefonts} -%D -%D Internal helper macros - -\def\simplefontparameter #1{\csname\????sf\currentsimplefont#1\endcsname} -\def\namedsimplefontparameter#1#2{\csname\????sf #1#2\endcsname} - -\def\setupsimplefonts - {\dosingleempty\dosetupsimplefonts} - -\def\dosetupsimplefonts[#1]% first argument is optional - {\iffirstargument - \getparameters[\????sf][#1]% - \simplefonts@features{#1}\v!global - \fi - \if!!donesimplefonts\simplefonts@bodyfont\fi} - -\def\presetsimplefonts[#1]% - {\getparameters - [#1] - [\c!regularfont=, - \c!italicfont=, - \c!slantedfont=, - \c!boldfont=, - \c!bolditalicfont=, - \c!boldslantedfont=, - \c!capsfont=, - \c!italiccapsfont=, - \c!slantedcapsfont=, - \c!boldcapsfont=, - \c!bolditaliccapsfont=, - \c!boldslantedcapsfont=, - \c!features=\@@@@sffeatures, - \c!regularfeatures=\simplefontparameter\c!features, - \c!italicfeatures=\simplefontparameter\c!features, - \c!slantedfeatures=\simplefontparameter\c!features, - \c!boldfeatures=\simplefontparameter\c!features, - \c!bolditalicfeatures=\simplefontparameter\c!features, - \c!boldslantedfeatures=\simplefontparameter\c!features, - \c!smallcapsfeatures=\@@@@sfsmallcapsfeatures, - \c!capsfeatures=\simplefontparameter\c!smallcapsfeatures, - \c!italiccapsfeatures=\simplefontparameter\c!smallcapsfeatures, - \c!slantedcapsfeatures=\simplefontparameter\c!smallcapsfeatures, - \c!boldcapsfeatures=\simplefontparameter\c!smallcapsfeatures, - \c!bolditaliccapsfeatures=\simplefontparameter\c!smallcapsfeatures, - \c!boldslantedcapsfeatures=\simplefontparameter\c!smallcapsfeatures, - \c!weight=\v!normal, - \c!mode=, % the three keys mode, expansion and protrusion - \c!expansion=, % are reset for font command when you select - \c!protrusion=, % a new font to avoid conflicts or unwanted effects - \c!scale=1.0]} - -\setvalue{\????sf:\v!style :\v!serif }{rm} -\setvalue{\????sf:\v!style :\v!sans }{ss} -\setvalue{\????sf:\v!style :\v!mono }{tt} -\setvalue{\????sf:\v!style :\v!math }{mm} -\setvalue{\????sf:\v!style :\v!handwriting}{hw} -\setvalue{\????sf:\v!style :\v!calligraphy}{cg} -\setvalue{\????sf:\v!style :\v!simplefont }{sf} - -\letvalue{\????sf:\v!suffix:\v!serif }\s!Serif -\letvalue{\????sf:\v!suffix:\v!sans }\s!Sans -\letvalue{\????sf:\v!suffix:\v!mono }\s!Mono -\letvalue{\????sf:\v!suffix:\v!handwriting}\s!Handwriting -\letvalue{\????sf:\v!suffix:\v!calligraphy}\s!Calligraphy -\letvalue{\????sf:\v!suffix:\v!simplefont }\s!Simplefont - -\definetypescriptsynonym[latinmodernmath][latin-modern] -\definetypescriptsynonym[asanamath] [asana] - -\def\sf@style #1{\csname\????sf:\v!style :#1\endcsname} -\def\sf@suffix#1{\csname\????sf:\v!suffix:#1\endcsname} - -\starttexdefinition simplefonts@typeface #1#2#3 - - \definetypeface - [#1] - [\sf@style{\namedsimplefontparameter{#3}\c!style}] - [\namedsimplefontparameter{#3}\c!style] - [#2] - [\s!default] - [rscale=\namedsimplefontparameter{#3}\c!scale] - -\stoptexdefinition - -\starttexdefinition simplefonts@family #1 - - \simplefonts@typeface{#1}{\v!mainfont :\simplefonts!mainfont }{\v!mainfont } - \simplefonts@typeface{#1}{\v!sansfont :\simplefonts!sansfont }{\v!sansfont } - \simplefonts@typeface{#1}{\v!monofont :\simplefonts!monofont }{\v!monofont } - \simplefonts@typeface{#1}{\namedsimplefontparameter\v!mathfont\c!typeface }{\v!mathfont } - \simplefonts@typeface{#1}{\v!handwritingfont :\simplefonts!handwritingfont }{\v!handwritingfont } - \simplefonts@typeface{#1}{\v!calligraphicfont :\simplefonts!calligraphicfont}{\v!calligraphicfont} - -\stoptexdefinition - -\starttexdefinition simplefonts@typescript #1#2 - - \startexpanded - - \@NX\starttypescript[#1][#2] - - \simplefonts@fontsynonym{\sf@suffix{#1}\empty }{\c!regular } - \simplefonts@fontsynonym{\sf@suffix{#1}\s!Italic }{\c!italic } - \simplefonts@fontsynonym{\sf@suffix{#1}\s!Slanted }{\c!slanted } - \simplefonts@fontsynonym{\sf@suffix{#1}\s!Bold }{\c!bold } - \simplefonts@fontsynonym{\sf@suffix{#1}\s!BoldItalic }{\c!bolditalic } - \simplefonts@fontsynonym{\sf@suffix{#1}\s!BoldSlanted }{\c!boldslanted } - - \simplefonts@fontsynonym{\sf@suffix{#1}\s!Caps }{\c!caps } - \simplefonts@fontsynonym{\sf@suffix{#1}\s!Italic\s!Caps }{\c!italiccaps } - \simplefonts@fontsynonym{\sf@suffix{#1}\s!Slanted\s!Caps }{\c!slantedcaps } - \simplefonts@fontsynonym{\sf@suffix{#1}\s!Bold\s!Caps }{\c!boldcaps } - \simplefonts@fontsynonym{\sf@suffix{#1}\s!BoldItalic\s!Caps }{\c!bolditaliccaps } - \simplefonts@fontsynonym{\sf@suffix{#1}\s!BoldSlanted\s!Caps}{\c!boldslantedcaps} - - \@NX\stoptypescript - - \stopexpanded - -\stoptexdefinition - -\starttexdefinition simplefonts@scripttypescript #1#2 - - \startexpanded - - \@NX\starttypescript[#1][#2] - - \simplefonts@fontsynonym{\sf@suffix{#1}}{\c!regular} - - \@NX\stoptypescript - - \stopexpanded - -\stoptexdefinition - -\starttexdefinition simplefonts@fontsynonym #1#2 - - \@NX\definefontsynonym - [#1] - [\simplefontparameter{#2}] - [\s!fallbacks=\currentsimplefont#2\s!fallbacks, - \s!features=\currentsimplefont#2\s!features ] - -\stoptexdefinition - -\starttexdefinition simplefonts@fontfallback #1#2#3 - - \definefontfallback - [#1#3\s!fallbacks] - [\namedsimplefontparameter{#2}{#3}*#2#3\s!features] - [\namedsimplefontparameter{#2}\c!range] - [\s!rscale=\namedsimplefontparameter{#2}\c!scale, - \c!force=\namedsimplefontparameter{#2}\c!force, - \c!check=\namedsimplefontparameter{#2}\c!check] - -\stoptexdefinition - -\starttexdefinition simplefonts@bodyfont - - \doglobal\increment\simplefonts!typeface - - \simplefonts@family{\v!simplefonts:\simplefonts!typeface} - - \edef\@@@@sfstyle{\@@@@sfstyle} - \edef\@@@@sfsize {\@@@@sfsize } - - \setupbodyfont - [\v!simplefonts:\simplefonts!typeface - \ifx\@@@@sfstyle\empty\else,\@@@@sfstyle\fi - \ifx\@@@@sfsize \empty\else,\@@@@sfsize \fi] - -\stoptexdefinition - -\starttexdefinition simplefonts@fontfeature #1#2 - - \letempty\simplefont!features - - % expansion and protrusion could bet se either global for all styles or local for only one style - - \doifvaluesomething{\????sf\c!mode }{\appendtocommalist{\c!mode =\csname\????sf\c!mode \endcsname }\simplefont!features} - \doifvaluesomething{\????sf\c!expansion }{\appendtocommalist{\c!expansion =\csname\????sf\c!expansion \endcsname }\simplefont!features} - \doifvaluesomething{\????sf\c!protrusion }{\appendtocommalist{\c!protrusion=\csname\????sf\c!protrusion\endcsname }\simplefont!features} - - \doifvaluesomething{\????sf#1\c!mode }{\appendtocommalist{\c!mode =\csname\????sf#1\c!mode \endcsname }\simplefont!features} - \doifvaluesomething{\????sf#1\c!expansion }{\appendtocommalist{\c!expansion =\csname\????sf#1\c!expansion \endcsname }\simplefont!features} - \doifvaluesomething{\????sf#1\c!protrusion}{\appendtocommalist{\c!protrusion=\csname\????sf#1\c!protrusion\endcsname }\simplefont!features} - - \appendtocommalist\simplefont!globalfeatures\simplefont!features - \appendtocommalist\simplefont!localfeatures \simplefont!features - - \normalexpanded{\@NX\definefontfeature[#1#2\s!features][\namedsimplefontparameter{#1}{#2\s!features}][\simplefont!features]} - -\stoptexdefinition - -\starttexdefinition simplefonts@features #1#2 - - \letvalueempty{simplefont!#2features} - - \startprocessassignmentcommand[#1] - - \ctxlua{thirddata.simplefonts.parameter("##1","##2","simplefont!#2features")} - - \stopprocessassignmentcommand - -\stoptexdefinition - -\starttexdefinition simplefonts@definetextfont [#1][#2][#3][#4] - - \edef\currentsimplefont{#1}\edef\currenttypeface{#2} - - \presetsimplefonts[\????sf\currentsimplefont] - - \getparameters[\????sf\currentsimplefont][#4] - - \simplefonts@features{#4}\v!local % parse assignment list for font features - - \startprocesscommacommand[\simplefonts!alternative] - - \simplefonts@fontfeature{#1}{##1} - - \ctxlua{thirddata.simplefonts.selectfont("#1","#3","\simplefontparameter{##1\s!font}","##1","\simplefontparameter\c!weight")} - - \stopprocesscommacommand - - \ifx\currenttypeface\v!simplefonts - - \ifx\currentsimplefont\v!mainfont - \doglobal\increment\simplefonts!mainfont - \simplefonts@typescript{\simplefontparameter\c!style}{\v!mainfont:\simplefonts!mainfont} - \else\ifx\currentsimplefont\v!sansfont - \doglobal\increment\simplefonts!sansfont - \simplefonts@typescript{\simplefontparameter\c!style}{\v!sansfont:\simplefonts!sansfont} - \else\ifx\currentsimplefont\v!monofont - \doglobal\increment\simplefonts!monofont - \simplefonts@typescript{\simplefontparameter\c!style}{\v!monofont :\simplefonts!monofont} - \fi\fi\fi - - % don't create a typeface and set bodyfont when the module is loaded - - \if!!donesimplefonts\simplefonts@bodyfont\fi - - \else - - \simplefonts@typescript{\simplefontparameter\c!style}{#1} - - \simplefonts@typeface{#2}{#1}{#1} - - \fi - -\stoptexdefinition - -\starttexdefinition simplefonts@definescriptfont [#1][#2][#3][#4] - - \edef\currentsimplefont{#1}\edef\currenttypeface{#2} - - \presetsimplefonts[\????sf\currentsimplefont] - - \getparameters[\????sf\currentsimplefont][#4] - - \simplefonts@features{#4}\v!local % parse assignment list for font features - - \startprocesscommacommand[\c!regular] - - \simplefonts@fontfeature{#1}{##1} - - \ctxlua{thirddata.simplefonts.selectfont("#1","#3","\simplefontparameter{##1\s!font}","##1","\simplefontparameter\c!weight")} - - \stopprocesscommacommand - - \ifx\currenttypeface\v!simplefonts - - \ifx\currentsimplefont\v!handwritingfont - \doglobal\increment\simplefonts!handwritingfont - \simplefonts@scripttypescript{\simplefontparameter\c!style}{\v!handwritingfont :\simplefonts!handwritingfont} - \else\ifx\currentsimplefont\v!calligraphicfont - \doglobal\increment\simplefonts!calligraphicfont - \simplefonts@scripttypescript{\simplefontparameter\c!style}{\v!calligraphicfont:\simplefonts!calligraphicfont} - \fi\fi - - % don't create a typeface and set bodyfont when the module is loaded - - \if!!donesimplefonts\simplefonts@bodyfont\fi - - \else - - \simplefonts@scripttypescript{\simplefontparameter\c!style}{#1} - - \simplefonts@typeface{#2}{#1}{#1} - - \fi - -\stoptexdefinition - -\starttexdefinition simplefonts@definemathfont [#1][#2][#3][#4] - - \edef\currentsimplefont{#1}\edef\currenttypeface{#2} - - \presetsimplefonts[\????sf\currentsimplefont] - - \getparameters[\????sf\currentsimplefont][#4] - - % no fonts are searched for the math fonts, all what happens is to normalize - % the given name and save it in a macro is is later used to load a predefined - % typescript - - \setvalue{\????sf\currentsimplefont\c!typeface}{\ctxlua{thirddata.simplefonts.normalizefontname("#3")}} - - \ifx\currenttypeface\v!simplefonts - - % don't create a typeface and set bodyfont when the module is loaded - - \if!!donesimplefonts\simplefonts@bodyfont\fi - - \else - - \simplefonts@typeface{#2}{\namedsimplefontparameter\currentsimplefont\c!typeface}{#1} - - \fi - -\stoptexdefinition - -\starttexdefinition simplefonts@setfallbackfont [#1][#2][#3][#4] - - \edef\currentsimplefont{#1}\edef\currentmainfont{#2} - - \presetsimplefonts[\????sf\currentsimplefont] - - \getparameters[\????sf\currentsimplefont][#4] - - \simplefonts@features{#4}\v!local % parse assignment list for font features - - \startprocesscommacommand[\simplefonts!alternative] - - \simplefonts@fontfeature{#1}{##1} - - \ctxlua{thirddata.simplefonts.selectfont("#1","#3","\simplefontparameter{##1\s!font}","##1","\simplefontparameter\c!weight")} - - \simplefonts@fontfallback{#2}{#1}{##1} - - \stopprocesscommacommand - -\stoptexdefinition - -\starttexdefinition simplefonts@definefallbackfont [#1][#2][#3][#4] - - \edef\currentsimplefont{#1}\edef\currentmainfont{#2} - - % to allow more than one fallback font I save the settings - % in a token register and set then all fallbacks in one turn - - % i should wrap this in a macro which checks if a register - % is already defined, append the setting and flush all - - \unless\ifcsname\currentmainfont\s!fallbacks\endcsname\@EA\newtoks\csname\currentmainfont\s!fallbacks\endcsname\fi - - \csname\currentmainfont\s!fallbacks\endcsname\@EA{\the\@EA\csname\currentmainfont\s!fallbacks\endcsname\simplefonts@setfallbackfont[#1][#2][#3][#4]} - - \the\@EA\csname\currentmainfont\s!fallbacks\endcsname - - % the only way to make fallback fonts working with the module - % is to create a new typeface and enable it as bodyfont - - % don't create a typeface or set the bodyfont when the module code is loaded - - \if!!donesimplefonts - - \startprocesscommacommand[\simplefonts!commands] % why not \doifinset? - - \ifx\currentcommalistitem\currentmainfont\simplefonts@bodyfont\quitcommalist\fi - - \stopprocesscommacommand - - \fi - -\stoptexdefinition - -%D \macros -%D {definefontcommand,definesubfontcommand} - -\def\definefontcommand - {\dotripleempty\dodefinefontcommand} - -\def\dodefinefontcommand[#1][#2][#3]% - {\getparameters[\????sf#1][\c!style=\v!serif,#3]% - \processaction - [\namedsimplefontparameter{#1}\c!style] - [ \v!serif=>\setvalue{\e!set#1}{\doquadrupleempty\simplefonts@definetextfont [#1][#2]}, - \v!sans=>\setvalue{\e!set#1}{\doquadrupleempty\simplefonts@definetextfont [#1][#2]}, - \v!mono=>\setvalue{\e!set#1}{\doquadrupleempty\simplefonts@definetextfont [#1][#2]}, - \v!math=>\setvalue{\e!set#1}{\doquadrupleempty\simplefonts@definemathfont [#1][#2]}, - \v!handwriting=>\setvalue{\e!set#1}{\doquadrupleempty\simplefonts@definescriptfont[#1][#2]}, - \v!calligraphy=>\setvalue{\e!set#1}{\doquadrupleempty\simplefonts@definescriptfont[#1][#2]}, - \s!unknown=>\setvalue{\e!set#1}{\doquadrupleempty\simplefonts@definetextfont [#1][#2]}]} - -\definefontcommand[\v!mainfont ][\v!simplefonts][\c!style=\v!serif ] -\definefontcommand[\v!sansfont ][\v!simplefonts][\c!style=\v!sans ] -\definefontcommand[\v!monofont ][\v!simplefonts][\c!style=\v!mono ] -\definefontcommand[\v!mathfont ][\v!simplefonts][\c!style=\v!math ] -\definefontcommand[\v!handwritingfont ][\v!simplefonts][\c!style=\v!handwriting] -\definefontcommand[\v!calligraphicfont][\v!simplefonts][\c!style=\v!calligraphy] - -\def\definesubfontcommand - {\dotripleempty\dodefinesubfontcommand} - -\def\dodefinesubfontcommand[#1][#2][#3]% - {\getparameters[\????sf#1][\c!range=,#3]% - \setvalue{\e!set#1}{\doquadrupleempty\simplefonts@definefallbackfont[#1][#2]}} - -\definesubfontcommand[\v!cjk\v!mainfont][\v!mainfont][\c!range={0x00400-0x2FA1F}] -\definesubfontcommand[\v!cjk\v!sansfont][\v!sansfont][\c!range={0x00400-0x2FA1F}] -\definesubfontcommand[\v!cjk\v!monofont][\v!monofont][\c!range={0x00400-0x2FA1F}] - -\definesubfontcommand[\v!mainfont\v!fallback][\v!mainfont][\c!range=] -\definesubfontcommand[\v!sansfont\v!fallback][\v!sansfont][\c!range=] -\definesubfontcommand[\v!monofont\v!fallback][\v!monofont][\c!range=] - -%D \macros -%D {simplefont,definesimplefont} - -\def\simplefont - {\dodoubleempty\dosimplefont} - -\def\dosimplefont[#1][#2]% - {\getparameters[\????sf\v!default][\c!features=\v!default,\c!alternative=\v!regular,\c!weight=\v!normal,\c!size=,#2]% - \edef\simplefontsize{\namedsimplefontparameter\v!default\c!size}% - \ifx\simplefontsize\empty\else - \doifdimenstringelse\simplefontsize - {\edef\simplefontsize{ at \simplefontsize}} - {\edef\simplefontsize{ \simplefontsize}}% - \fi - \ctxlua{thirddata.simplefonts.selectfont("\v!default","#1","","\@@@@sfdefaultalternative","\@@@@sfdefaultweight")}% - \expanded{\definedfont[\csname\????sf\v!default\@@@@sfdefaultalternative\endcsname*\@@@@sfdefaultfeatures\simplefontsize]}} - -\def\definesimplefont - {\dotripleempty\dodefinesimplefont} - -\def\dodefinesimplefont[#1][#2][#3]% - {\getparameters[\????sf\v!default][\c!features=\v!default,\c!alternative=\v!regular,\c!weight=\v!normal,\c!size=,#3]% - \edef\simplefontsize{\namedsimplefontparameter\v!default\c!size}% - \ifx\simplefontsize\empty\else - \doifdimenstringelse\simplefontsize - {\edef\simplefontsize{ at \simplefontsize}} - {\edef\simplefontsize{ \simplefontsize}}% - \fi - \ctxlua{thirddata.simplefonts.selectfont("\v!default","#2","","\@@@@sfdefaultalternative","\@@@@sfdefaultweight")}% - \expanded{\definefont[#1][\csname\????sf\v!default\@@@@sfdefaultalternative\endcsname*\@@@@sfdefaultfeatures\simplefontsize][#3]}} - -%D \macros -%D {simplefonttypeface,definesimplefonttypeface} - -\def\simplefonttypeface - {\dodoubleempty\dosimplefonttypeface} - -\def\dosimplefonttypeface[#1][#2]% - {\doglobal\increment\simplefonts!fontfamily - \simplefonts@definetextfont[\v!fontfamily][\v!fontfamily:\simplefonts!fontfamily][#1][\c!style=\v!simplefont,#2]% - \switchtobodyfont[\v!fontfamily:\simplefonts!fontfamily]} - -\def\definesimplefonttypeface - {\dotripleempty\dodefinesimplefonttypeface} - -\def\dodefinesimplefonttypeface[#1][#2][#3]% - {\getparameters[\????sf#1][\c!style=\v!serif,#3]% - \processaction - [\namedsimplefontparameter{#1}\c!style] - [ \v!serif=>{\simplefonts@definetextfont [#1][#1][#2][#3]}, - \v!sans=>{\simplefonts@definetextfont [#1][#1][#2][#3]}, - \v!mono=>{\simplefonts@definetextfont [#1][#1][#2][#3]}, - \v!math=>{\simplefonts@definemathfont [#1][#1][#2][#3]}, - \v!handwriting=>{\simplefonts@definescriptfont[#1][#1][#2][#3]}, - \v!calligraphy=>{\simplefonts@definescriptfont[#1][#1][#2][#3]}, - \s!unknown=>{\simplefonts@definetextfont [#1][#1][#2][#3]}]} - -%D Font extensions - -\getparameters - [\????sf\v!condensed] - [ \c!regular={condensedregular,condregular,condensed}, - \c!italic={condenseditalic,condensedoblique,conditalic,\namedsimplefontparameter\v!condensed\c!regular}, - \c!slanted={\namedsimplefontparameter\v!condensed\c!italic}, - \c!bold={condensedbold,condbold,\namedsimplefontparameter\v!condensed\c!regular}, - \c!bolditalic={condensedbolditalic,condensedboldoblique,condbolditalic,\namedsimplefontparameter\v!condensed\c!bold}, - \c!boldslanted={\namedsimplefontparameter\v!condensed\c!bolditalic}, - \c!caps={\namedsimplefontparameter\v!condensed\c!regular}, - \c!italiccaps={\namedsimplefontparameter\v!condensed\c!caps}, - \c!slantedcaps={\namedsimplefontparameter\v!condensed\c!italiccaps}, - \c!boldcaps={\namedsimplefontparameter\v!condensed\c!caps}, - \c!bolditaliccaps={\namedsimplefontparameter\v!condensed\c!boldcaps}, - \c!boldslantedcaps={\namedsimplefontparameter\v!condensed\c!bolditaliccaps}] - -\getparameters - [\????sf\v!light] - [ \c!regular={lightregular,light}, - \c!italic={lightitalic,lightit,lightoblique,\namedsimplefontparameter\v!light\c!regular}, - \c!slanted={\namedsimplefontparameter\v!light\c!italic}, - \c!bold={bookregular,regular,book,\namedsimplefontparameter\v!light\c!regular}, - \c!bolditalic={bookitalic,bookit,italic,oblique,\namedsimplefontparameter\v!light\c!bold}, - \c!boldslanted={\namedsimplefontparameter\v!light\c!bolditalic}, - \c!caps={smallcapslight,\namedsimplefontparameter\v!light\c!regular}, - \c!italiccaps={\namedsimplefontparameter\v!light\c!caps}, - \c!slantedcaps={\namedsimplefontparameter\v!light\c!italiccaps}, - \c!boldcaps={\namedsimplefontparameter\v!light\c!caps}, - \c!bolditaliccaps={\namedsimplefontparameter\v!light\c!boldcaps}, - \c!boldslantedcaps={\namedsimplefontparameter\v!light\c!bolditaliccaps}] - -\getparameters - [\????sf\v!normal] - [ \c!regular={roman,regular,book,\empty}, - \c!italic={italic,it,oblique,kursiv,bookitalic,bookit,\namedsimplefontparameter\v!normal\c!regular}, - \c!slanted={\namedsimplefontparameter\v!normal\c!italic}, - \c!bold={bold,bd,kraeftig,mediumregular,semibold,demi,\namedsimplefontparameter\v!normal\c!regular}, - \c!bolditalic={bolditalic,boldit,bdit,boldoblique,mediumitalic,semibolditalic,demiitalic,\namedsimplefontparameter\v!normal\c!bold}, - \c!boldslanted={\namedsimplefontparameter\v!normal\c!bolditalic}, - \c!caps={smallcaps,capitals,sc,\namedsimplefontparameter\v!normal\c!regular}, - \c!italiccaps={\namedsimplefontparameter\v!normal\c!caps}, - \c!slantedcaps={\namedsimplefontparameter\v!normal\c!italiccaps}, - \c!boldcaps={scbold,\namedsimplefontparameter\v!normal\c!caps}, - \c!bolditaliccaps={\namedsimplefontparameter\v!normal\c!boldcaps}, - \c!boldslantedcaps={\namedsimplefontparameter\v!normal\c!bolditaliccaps}] - -\getparameters - [\????sf\v!medium] - [ \c!regular={mediumregular,medregular,medium}, - \c!italic={mediumitalic,meditalic,\namedsimplefontparameter\v!medium\c!regular}, - \c!slanted={\namedsimplefontparameter\v!medium\c!italic}, - \c!bold={heavyregular,heavy,\namedsimplefontparameter\v!medium\c!regular}, - \c!bolditalic={heavyitalic,\namedsimplefontparameter\v!medium\c!bold}, - \c!boldslanted={\namedsimplefontparameter\v!medium\c!bolditalic}, - \c!caps={mediumcaps,\namedsimplefontparameter\v!medium\c!regular}, - \c!italiccaps={\namedsimplefontparameter\v!medium\c!caps}, - \c!slantedcaps={\namedsimplefontparameter\v!medium\c!italiccaps}, - \c!boldcaps={\namedsimplefontparameter\v!medium\c!caps}, - \c!bolditaliccaps={\namedsimplefontparameter\v!medium\c!boldcaps}, - \c!boldslantedcaps={\namedsimplefontparameter\v!medium\c!bolditaliccaps}] - -\getparameters - [\????sf\v!heavy] - [ \c!regular={heavyregular,heavy}, - \c!italic={heavyitalic,\namedsimplefontparameter\v!heavy\c!regular}, - \c!slanted={\namedsimplefontparameter\v!heavy\c!italic}, - \c!bold={\namedsimplefontparameter\v!heavy\c!regular}, - \c!bolditalic={\namedsimplefontparameter\v!heavy\c!bold}, - \c!boldslanted={\namedsimplefontparameter\v!heavy\c!bolditalic}, - \c!caps={\namedsimplefontparameter\v!heavy\c!regular}, - \c!italiccaps={\namedsimplefontparameter\v!heavy\c!caps}, - \c!slantedcaps={\namedsimplefontparameter\v!heavy\c!italiccaps}, - \c!boldcaps={\namedsimplefontparameter\v!heavy\c!caps}, - \c!bolditaliccaps={\namedsimplefontparameter\v!heavy\c!boldcaps}, - \c!boldslantedcaps={\namedsimplefontparameter\v!heavy\c!bolditaliccaps}] - -\startprocesscommacommand[\simplefonts!weight] - - \ctxlua{thirddata.simplefonts.extlist["#1"] = { }} - - { - - \startprocesscommacommand[\simplefonts!alternative] - - \ctxlua{thirddata.simplefonts.extlist["#1"]["##1"] = { }} - - { - - \startprocesscommacommand[\namedsimplefontparameter{#1}{##1}] - - \ctxlua{table.insert(thirddata.simplefonts.extlist["#1"]["##1"],"####1")} - - \stopprocesscommacommand - - } - - \stopprocesscommacommand - - } - -\stopprocesscommacommand - -%D Default setup - -\enabledirectives[fonts.autoreload] - -\setupsimplefonts - [\c!size=\moduleparameter\v!simplefonts\c!size, - \c!style=\moduleparameter\v!simplefonts\c!style, - \c!features=\v!default, - \c!smallcapsfeatures=\v!smallcaps, - \c!mode=\v!node, - \c!force=\v!yes, - \c!check=\v!no, - \c!expansion=\v!no, - \c!protrusion=\v!no] - -%D Default fonts - -\setmainfont [Latin Modern Roman] -\setsansfont [Latin Modern Sans] -\setmonofont [Latin Modern Mono][\s!features=\s!none] -\setmathfont [Latin Modern Math] -\sethandwritingfont [Latin Modern Roman] % neither handwritten nor calligraphic are available -\setcalligraphicfont[Latin Modern Roman] % for Latin Modern but I need a default font for them - -\!!donesimplefontstrue - -\stopmodule - -\protect \endinput -- cgit v1.2.3