diff options
author | Karl Berry <karl@freefriends.org> | 2009-06-17 22:24:48 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2009-06-17 22:24:48 +0000 |
commit | f6c7a2fb301ff5f5080cafe2e2aebf262cbe66a3 (patch) | |
tree | 6e0f9ee8d8acbd2d3d0ad39b00c6c134e89d7b9d /Master/texmf-dist/tex/context/third/simplefonts | |
parent | 9e135e13f27b412c53fd5b3199a48c5e8f411123 (diff) |
new context package context-simplefonts (16jun09)
git-svn-id: svn://tug.org/texlive/trunk@13790 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/context/third/simplefonts')
-rw-r--r-- | Master/texmf-dist/tex/context/third/simplefonts/t-simplefonts.tex | 1371 |
1 files changed, 1371 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/context/third/simplefonts/t-simplefonts.tex b/Master/texmf-dist/tex/context/third/simplefonts/t-simplefonts.tex new file mode 100644 index 00000000000..31a779f5f02 --- /dev/null +++ b/Master/texmf-dist/tex/context/third/simplefonts/t-simplefonts.tex @@ -0,0 +1,1371 @@ +%D \module +%D [ file=t-simplefonts, +%D version=2009.06.13, +%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=Public Domain] + +\writestatus{loading}{Context User Module / Simplefonts} + +\unprotect + +%D Constants and variables + +\startinterface all + \setinterfaceconstant {regular} {regular} + \setinterfaceconstant {italic} {italic} + \setinterfaceconstant {bold} {bold} + \setinterfaceconstant {bolditalic} {bolditalic} + \setinterfaceconstant {caps} {caps} + \setinterfaceconstant {italiccaps} {italiccaps} + \setinterfaceconstant {boldcaps} {boldcaps} + \setinterfaceconstant {bolditaliccaps} {bolditaliccaps} + \setinterfaceconstant {scale} {scale} + \setinterfaceconstant {range} {range} + \setinterfaceconstant {weight} {weight} + \setinterfaceconstant {features} {features} + \setinterfaceconstant {regularfeatures} {regularfeatures} + \setinterfaceconstant {italicfeatures} {italicfeatures} + \setinterfaceconstant {boldfeatures} {boldfeatures} + \setinterfaceconstant {bolditalicfeatures} {bolditalicfeatures} + \setinterfaceconstant {smallcapsfeatures} {smallcapsfeatures} + \setinterfaceconstant {capsfeatures} {capsfeatures} + \setinterfaceconstant {italiccapsfeatures} {italiccapsfeatures} + \setinterfaceconstant {boldcapsfeatures} {boldcapsfeatures} + \setinterfaceconstant {bolditaliccapsfeatures} {bolditaliccapsfeatures} +\stopinterface + +\startinterface all + \setinterfacevariable {simplefonts} {simplefonts} + \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 {caps} {caps} + \setinterfacevariable {italiccaps} {italiccaps} + \setinterfacevariable {boldcaps} {boldcaps} + \setinterfacevariable {bolditaliccaps} {bolditaliccaps} + \setinterfacevariable {cjk} {cjk} + \setinterfacevariable {fallback} {fallback} +\stopinterface + +\startinterface all + \setinterfaceelement {set} {set} +\stopinterface + +\startmodule[\v!simplefonts] + +\setupmodule + [ \c!size=\!!twelvepoint, + \c!style=\c!rm] + +%D Messages + +\definemessageconstant {simplefonts} + +\startinterface all + \setinterfacemessage{simplefonts}{title}{simplefonts} + \setinterfacemessage{simplefonts}{1} {font -- not found} +\stopinterface + +%D Namespace + +\def\????sf{@@@@sf} + +\def\s!Upright{} + +\def\sfparameter#1{\csname\????sf\@@sf@@#1\endcsname} + +\newif\ifdonesimplefonts + +\def\setupsimplefonts + {\dosingleargument\dosetupsimplefonts} + +\def\dosetupsimplefonts[#1]% + {\getparameters[\????sf][#1]% + \ifdonesimplefonts\sf@setupbodyfont\fi} + +\def\sf@stylelist + {\v!regular,\v!italic,\v!bold,\v!bolditalic,\v!caps,\v!italiccaps,\v!boldcaps,\v!bolditaliccaps} + +\setvalue{\????sf:\c!family:\v!serif}{\c!rm } +\setvalue{\????sf:\c!family:\v!sans }{\c!ss } +\setvalue{\????sf:\c!family:\v!mono }{\c!tt } +\setvalue{\????sf:\c!family:\v!math }{\c!mm } + +\setvalue{\????sf:\c!style :\v!serif}{\s!Serif} +\setvalue{\????sf:\c!style :\v!sans }{\s!Sans } +\setvalue{\????sf:\c!style :\v!mono }{\s!Mono } + +\def\sf@family#1{\csname\????sf:\c!family:#1\endcsname} +\def\sf@style #1{\csname\????sf:\c!style :#1\endcsname} + +% #1: typefacename #2: style #3: typescriptname + +\starttexdefinition sf@typescript #1#2 + + \startexpanded + + \@NX\starttypescript[#1][#2] + + \sf@definefontsynonym{\sf@style{#1}\s!Upright }{\v!regular } + \sf@definefontsynonym{\sf@style{#1}\s!Italic }{\v!italic } + \sf@definefontsynonym{\sf@style{#1}\s!Bold }{\v!bold } + \sf@definefontsynonym{\sf@style{#1}\s!BoldItalic }{\v!bolditalic } + + \sf@definefontsynonym{\sf@style{#1}\s!Caps }{\v!caps } + \sf@definefontsynonym{\sf@style{#1}\s!Italic\s!Caps }{\v!italiccaps } + \sf@definefontsynonym{\sf@style{#1}\s!Bold\s!Caps }{\v!boldcaps } + \sf@definefontsynonym{\sf@style{#1}\s!BoldItalic\s!Caps}{\v!bolditaliccaps} + + \@NX\stoptypescript + + \stopexpanded + +\stoptexdefinition + +\starttexdefinition sf@definefontsynonym #1#2 + + \@NX\definefontsynonym + [#1] + [\sfparameter{#2}] + [\s!fallbacks=\????sf\@@sf@@#2\s!fallbacks, + \s!features=\sfparameter{#2\s!features}] + +\stoptexdefinition + +\starttexdefinition sf@definetypeface #1#2#3 + + \expanded{\definetypeface[#1][\sf@family{#2}][#2][#3][\v!default][\s!rscale=\sfparameter\c!scale]} + +\stoptexdefinition + +\setvalue{\????sf:\v!value:\v!serif}{\v!mainfont} +\setvalue{\????sf:\v!value:\v!sans }{\v!sansfont} +\setvalue{\????sf:\v!value:\v!mono }{\v!monofont} +\setvalue{\????sf:\v!value:\v!math }{\v!mathfont} + +\setvalue{\????sf:\v!type :\v!serif}{\v!mainfont} +\setvalue{\????sf:\v!type :\v!sans }{\v!sansfont} +\setvalue{\????sf:\v!type :\v!mono }{\v!monofont} +\setvalue{\????sf:\v!type :\v!math }{\getvalue{\????sf\v!mathfont}} + +\newcounter\sf!fontfamily + +\def\sf@definefontfamily + {\doglobal\increment\sf!fontfamily + \processcommalist[\v!serif,\v!sans,\v!mono,\v!math]\sf@dodefinefontfamily} + +\starttexdefinition sf@dodefinefontfamily #1 + + \startexpanded + + \@NX\definetypeface + [\v!simplefonts:\sf!fontfamily] + [\sf@family{#1}] + [#1] + [\getvalue{\????sf:\v!type:#1}] + [\v!default] + [\s!rscale=\getvalue{\????sf\getvalue{\????sf:\v!value:#1}\c!scale}] + + \stopexpanded + +\stoptexdefinition + +\def\sf@setupbodyfont + {\setupbodyfont[\v!simplefonts:\sf!fontfamily,\@@@@sfstyle,\@@@@sfsize]} + +\def\sf@definetextfont[#1][#2][#3][#4]% + {\edef\@@sf@@{#1}% + \getparameters + [\????sf#1] + [\c!regular=, + \c!italic=, + \c!bold=, + \c!bolditalic=, + \c!caps=, + \c!italiccaps=, + \c!boldcaps=, + \c!bolditaliccaps=, + \c!features=\v!default, + \c!regularfeatures=\sfparameter\c!features, + \c!italicfeatures=\sfparameter\c!features, + \c!boldfeatures=\sfparameter\c!features, + \c!bolditalicfeatures=\sfparameter\c!features, + \c!smallcapsfeatures=\v!smallcaps, + \c!capsfeatures=\sfparameter\c!smallcapsfeatures, + \c!italiccapsfeatures=\sfparameter\c!smallcapsfeatures, + \c!boldcapsfeatures=\sfparameter\c!smallcapsfeatures, + \c!bolditaliccapsfeatures=\sfparameter\c!smallcapsfeatures, + \c!weight=\v!normal, + \c!scale=1.0, + #4]% + \def\sf@dodefinetextfont##1{\modulecode{simplefonts.selectfont("#1","#3","\sfparameter{##1}","##1","\sfparameter\c!weight")}}% + \processcommacommand[\sf@stylelist]\sf@dodefinetextfont + \sf@typescript{\sfparameter\c!style}{#1}% + \doifelse{#2}\v!simplefonts + {\ifdonesimplefonts\sf@definefontfamily\sf@setupbodyfont\fi} + {\sf@definetypeface{#2}{\sfparameter\c!style}{#1}}} + +\def\sf@definemathfont[#1][#2][#3][#4]% + {\edef\@@sf@@{#1}% + \getparameters[\????sf#1][\c!scale=1.0,#4]% + %\sf@definetypeface{#2}{\sfparameter\c!style}{\sf@mathtypeface{#3}}% + \setvalue{\????sf\v!mathfont}{\sf@mathtypeface{#3}}% + \doifelse{#2}\v!simplefonts + {\ifdonesimplefonts\sf@definefontfamily\sf@setupbodyfont\fi} + {\sf@definetypeface{#2}{\sfparameter\c!style}{\sf@mathtypeface{#3}}}} + +\def\sf@mathtypeface#1% + {\executeifdefined{\????sf:\v!math:\modulecode{simplefonts.normalizefontname("#1")}}{\modulecode{simplefonts.normalizefontname("#1")}}} + +\setvalue{\????sf:\v!math:latinmodern}{modern} +\setvalue{\????sf:\v!math:latinmodernmath}{modern} +\setvalue{\????sf:\v!math:lmmath}{modern} + +\def\sf@definefallbackfont[#1][#2][#3][#4]% + {\edef\@@sf@@{#1} + \getparameters + [\????sf#1] + [\c!regular=, + \c!italic=, + \c!bold=, + \c!bolditalic=, + \c!caps=, + \c!italiccaps=, + \c!boldcaps=, + \c!bolditaliccaps=, + \c!features=\v!default, + \c!regularfeatures=\sfparameter\c!features, + \c!italicfeatures=\sfparameter\c!features, + \c!boldfeatures=\sfparameter\c!features, + \c!bolditalicfeatures=\sfparameter\c!features, + \c!smallcapsfeatures=\v!smallcaps, + \c!capsfeatures=\sfparameter\c!smallcapsfeatures, + \c!italiccapsfeatures=\sfparameter\c!smallcapsfeatures, + \c!boldcapsfeatures=\sfparameter\c!smallcapsfeatures, + \c!bolditaliccapsfeatures=\sfparameter\c!smallcapsfeatures, + \c!weight=\v!normal, + \c!scale=1.0, + #4]% + \def\sf@dodefinefallbackfont##1{\expanded{\sf@definefontfallback{#2}{##1}{#1}{#3}}}% + \processcommacommand[\sf@stylelist]\sf@dodefinefallbackfont + \doifinset{#2}{\v!mainfont,\v!sansfont,\v!monofont}{\sf@definefontfamily\sf@setupbodyfont}} + +\starttexdefinition sf@definefontfallback #1#2#3#4 + + \modulecode{simplefonts.selectfont("#3","#4","\csname\????sf#3#2\endcsname","#2","\sfparameter\c!weight")} + + \definefontfallback + [\????sf#1#2\s!fallbacks] + [\csname\????sf#3#2\endcsname*\sfparameter{#2\s!features}] + [\sfparameter\c!range] + [\s!rscale=\sfparameter\c!scale] + +\stoptexdefinition + +%D \starttyping +%D \definefontcommand[<command>][<typeface>][..,..=..,..] +%D \stoptyping + +\def\definefontcommand + {\dotripleempty\dodefinefontcommand} + +\def\dodefinefontcommand[#1][#2][#3]% + {\getparameters[\????sf#1][\c!style=\v!serif,#3]% + \doifelsevalue{\????sf#1\c!style}\v!math + {\setvalue{\e!set#1}{\doquadrupleempty\sf@definemathfont[#1][#2]}} + {\setvalue{\e!set#1}{\doquadrupleempty\sf@definetextfont[#1][#2]}}} + +%D \starttyping +%D \definesubfontcommand[<command>][<fontgroup>][..,..=..,..] +%D \stoptyping + +\def\definesubfontcommand + {\dotripleempty\dodefinesubfontcommand} + +\def\dodefinesubfontcommand[#1][#2][#3]% + {\getparameters[\????sf#1][\c!range=,#3]% + \setvalue{\e!set#1}{\doquadrupleempty\sf@definefallbackfont[#1][#2]}} + +%D \starttyping +%D \definefontfamily[<command>][<font>][..,..=..,..] +%D \stoptyping + +\def\definefontfamily + {\dotripleempty\dodefinefontfamly} + +\def\dodefinefontfamly[#1][#2][#3]% + {\getparameters[\????sf#1][\c!style=\v!serif]% + \sf@definetextfont[#1][#1][#2][#3]} + +%D \starttyping +%D \simplefont[<font>][..,..=..,..] +%D \stoptyping + +\def\simplefont + {\dodoubleempty\dosimplefont} + +\def\dosimplefont[#1][#2]% + {\getparameters[\????sf\s!default][\c!features=\v!default,#2]% + \modulecode{simplefonts.selectfont("\s!default","#1","","\v!regular","\v!normal")}% + \definedfont[\@@@@sfdefaultregular*\@@@@sfdefaultfeatures]} + +%D \starttyping +%D \definesimplefont[<command>][<font>][..,..=..,..] +%D \stoptyping + +\def\definesimplefont + {\dotripleempty\dodefinesimplefont} + +\def\dodefinesimplefont[#1][#2][#3]% + {\getparameters[\????sf\s!default][\c!features=\v!default,#3]% + \modulecode{simplefonts.selectfont("\s!default","#2","","\v!regular","\v!normal")}% + \definefont[#1][\@@@@sfdefaultregular*\@@@@sfdefaultfeatures][#3]} + +%D Default commands + +% \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 ] + +\def\setmainfont{\dodoubleempty\dosetmainfont} +\def\setsansfont{\dodoubleempty\dosetsansfont} +\def\setmonofont{\dodoubleempty\dosetmonofont} +\def\setmathfont{\dodoubleempty\dosetmathfont} + +\def\dosetmainfont[#1][#2]{\sf@definetextfont[\v!mainfont][\v!simplefonts][#1][\c!style=\v!serif,#2]} +\def\dosetsansfont[#1][#2]{\sf@definetextfont[\v!sansfont][\v!simplefonts][#1][\c!style=\v!sans ,#2]} +\def\dosetmonofont[#1][#2]{\sf@definetextfont[\v!monofont][\v!simplefonts][#1][\c!style=\v!mono ,#2]} +\def\dosetmathfont[#1][#2]{\sf@definemathfont[\v!mathfont][\v!simplefonts][#1][\c!style=\v!math ,#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}] + +\def\setcjkmainfont{\dodoubleempty\dosetcjkmainfont} +\def\setcjksansfont{\dodoubleempty\dosetcjksansfont} +\def\setcjkmonofont{\dodoubleempty\dosetcjkmonofont} + +\def\dosetcjkmainfont[#1][#2]{\sf@definefallbackfont[\v!cjk\v!mainfont][\v!mainfont][#1][\c!range={0x00400-0x2FA1F},#2]} +\def\dosetcjksansfont[#1][#2]{\sf@definefallbackfont[\v!cjk\v!sansfont][\v!sansfont][#1][\c!range={0x00400-0x2FA1F},#2]} +\def\dosetcjkmonofont[#1][#2]{\sf@definefallbackfont[\v!cjk\v!monofont][\v!monofont][#1][\c!range={0x00400-0x2FA1F},#2]} + +\def\setmainfontfallback{\dodoubleempty\dosetmainfontfallback} +\def\setsansfontfallback{\dodoubleempty\dosetsansfontfallback} +\def\setmonofontfallback{\dodoubleempty\dosetmonofontfallback} + +\def\dosetmainfontfallback[#1][#2]{\sf@definefallbackfont[\v!mainfont\v!fallback][\v!mainfont][#1][\c!range=,#2]} +\def\dosetsansfontfallback[#1][#2]{\sf@definefallbackfont[\v!sansfont\v!fallback][\v!sansfont][#1][\c!range=,#2]} +\def\dosetmonofontfallback[#1][#2]{\sf@definefallbackfont[\v!monofont\v!fallback][\v!monofont][#1][\c!range=,#2]} + +%D Lua code + +\startmodulecode + +simplefonts = simplefonts or { } + +simplefonts.fontlist = { + ["aller"] = + { + ["light"] = + { + regular = "allerlight" , + italic = "allerlightitalic" , + bold = "allerlight" , + bolditalic = "allerlight" , + } , + ["normal"] = + { + regular = "aller" , + italic = "alleritalic" , + bold = "allerbold" , + bolditalic = "allerbolditalic" , + } , + ["display"] = + { + regular = "allerdisplay" , + italic = "allerdisplay" , + bold = "allerdisplay" , + bolditalic = "allerdisplay" , + } , + } , + ["anivers"] = + { + ["normal"] = + { + regular = "aniversregular" , + italic = "aniversregular" , + bold = "aniversregular" , + bolditalic = "aniversregular" , + } , + } , + ["axel"] = + { + ["normal"] = + { + regular = "axel" , + italic = "axel" , + bold = "axelbold" , + bolditalic = "axelbold" , + caps = "axelsc" , + italiccaps = "axelsc" , + boldcaps = "axelscbold" , + bolditaliccaps = "axelscbold" , + } , + } , + ["calibri"] = + { + ["normal"] = + { + regular = "calibri" , + italic = "calibriitalic" , + bold = "calibribold" , + bolditalic = "calibribolditalic" , + } , + } , + ["cambria"] = + { + ["normal"] = + { + regular = "cambria" , + italic = "cambriaitalic" , + bold = "cambriabold" , + bolditalic = "cambriabolditalic" , + } , + } , + ["candara"] = + { + ["normal"] = + { + regular = "candara" , + italic = "candaraitalic" , + bold = "candarabold" , + bolditalic = "candarabolditalic" , + } , + } , + ["charteritcpro"] = + { + ["normal"] = + { + regular = "charteritcproregular" , + italic = "charteritcproitalic" , + bold = "charteritcprobold" , + bolditalic = "charteritcprobolditalic" , + } , + ["bold"] = + { + regular = "charteritcprobold" , + italic = "charteritcprobolditalic" , + bold = "charteritcproblack" , + bolditalic = "charteritcproblackitalic" , + } , + } , + ["cmubright"] = + { + ["normal"] = + { + regular = "cmubrightroman" , + italic = "cmubrightoblique" , + bold = "cmubrightbold" , + bolditalic = "cmubrightboldoblique" , + } , + } , + ["cmuconcrete"] = + { + ["normal"] = + { + regular = "cmuconcreteroman" , + italic = "cmuconcreteitalic" , + bold = "cmuconcretebold" , + bolditalic = "cmuconcretebolditalic" , + } , + } , + ["cmusans"] = + { + ["normal"] = + { + regular = "cmusansserif" , + italic = "cmusansserifoblique" , + bold = "cmusansserifbold" , + bolditalic = "cmusansserifboldoblique" , + } , + } , + ["cmuserif"] = + { + ["normal"] = + { + regular = "cmuserifroman" , + italic = "cmuserifitalic" , + slanted = "cmuserifromanslanted" , + bold = "cmuserifbold" , + bolditalic = "cmuserifbolditalic" , + boldslanted = "cmuserifboldslanted" , + } , + } , + ["cmutypewriter"] = + { + ["light"] = + { + regular = "cmutypewriterlight" , + italic = "cmutypewriterlightoblique" , + bold = "cmutypewriterregular" , + bolditalic = "cmutypewriteroblique" , + } , + ["normal"] = + { + regular = "cmutypewriterregular" , + italic = "cmutypewriteritalic" , + slanted = "cmutypewriteroblique" , + bold = "cmutypewriterbold" , + bolditalic = "cmutypewriterbolditalic" , + } , + } , + ["consolas"] = + { + ["normal"] = + { + regular = "consolas" , + italic = "consolasitalic" , + bold = "consolasbold" , + bolditalic = "consolasbolditalic" , + } , + } , + ["constantia"] = + { + ["normal"] = + { + regular = "constantia" , + italic = "constantiaitalic" , + bold = "constantiabold" , + bolditalic = "constantiabolditalic" , + } , + } , + ["corbel"] = + { + ["normal"] = + { + regular = "corbel" , + italic = "corbelitalic" , + bold = "corbelbold" , + bolditalic = "corbelbolditalic" , + } , + } , + ["dejavusans"] = + { + ["condensed"] = + { + regular = "dejavusanscondensed" , + italic = "dejavusanscondensedoblique" , + bold = "dejavusanscondensedbold" , + bolditalic = "dejavusanscondensedboldoblique" , + } , + ["normal"] = + { + regular = "dejavusans" , + italic = "dejavusansoblique" , + bold = "dejavusansbold" , + bolditalic = "dejavusansboldoblique" , + } , + } , + ["dejavusansmono"] = + { + ["normal"] = + { + regular = "dejavusansmono" , + italic = "dejavusansmonooblique" , + bold = "dejavusansmonobold" , + bolditalic = "dejavusansmonoboldoblique" , + } , + } , + ["dejavuserif"] = + { + ["condensed"] = + { + regular = "dejavuserifcondensed" , + italic = "dejavuserifcondenseditalic" , + bold = "dejavuserifcondensedbold" , + bolditalic = "dejavuserifcondensedbolditalic" , + } , + ["normal"] = + { + regular = "dejavuserif" , + italic = "dejavuserifitalic" , + bold = "dejavuserifbold" , + bolditalic = "dejavuserifbolditalic" , + } , + } , + ["delicious"] = + { + ["normal"] = + { + regular = "deliciousroman" , + italic = "deliciousitalic" , + bold = "deliciousbold" , + bolditalic = "deliciousbolditalic" , + caps = "delicioussmallcaps" , + } , + ["heavy"] = + { + regular = "deliciousheavy" , + italic = "deliciousheavy" , + bold = "deliciousheavy" , + bolditalic = "deliciousheavy" , + } , + } , + ["diavlo"] = + { + ["light"] = + { + regular = "diavlolightregular" , + italic = "diavlolightregular" , + bold = "diavlobookregular" , + bolditalic = "diavlobookregular" , + } , + ["normal"] = + { + regular = "diavlobookregular" , + italic = "diavlobookregular" , + bold = "diavloboldregular" , + bolditalic = "diavloboldregular" , + } , + ["medium"] = + { + regular = "diavlomediumregular" , + italic = "diavlomediumregular" , + bold = "diavloblackregular" , + bolditalic = "diavloblackregular" , + } , + } , + ["droidmono"] = + { + ["normal"] = + { + regular = "droidsansmono" , + italic = "droidsansmono" , + bold = "droidsansmono" , + bolditalic = "droidsansmono" , + } , + } , + ["droidsans"] = + { + ["normal"] = + { + regular = "droidsans" , + italic = "droidsans" , + bold = "droidsansbold" , + bolditalic = "droidsansbold" , + } , + } , + ["droidserif"] = + { + ["normal"] = + { + regular = "droidserif" , + italic = "droidserifitalic" , + bold = "droidserifbold" , + bolditalic = "droidserifbolditalic" , + } , + } , + ["fertigo"] = + { + ["normal"] = + { + regular = "fertigoproregular" , + italic = "fertigoproregular" , + bold = "fertigoproregular" , + bolditalic = "fertigoproregular" , + } , + } , + ["fontin"] = + { + ["normal"] = + { + regular = "fontinregular" , + italic = "fontinitalic" , + bold = "fontinbold" , + bolditalic = "fontinsmallcaps" , + } , + } , + ["fontinsans"] = + { + ["normal"] = + { + regular = "fontinsansregular" , + italic = "fontinsansitalic" , + bold = "fontinsansbold" , + bolditalic = "fontinsansbolditalic" , + caps = "fontinsanssmallcaps" , + } , + } , + ["hiraginokakugothicpro"] = + { + ["normal"] = + { + regular = "hirakakuprow3" , + italic = "hirakakuprow3" , + bold = "hirakakuprow6" , + bolditalic = "hirakakuprow6" , + } , + } , + ["hiraginokakugothicpron"] = + { + ["normal"] = + { + regular = "hirakakupronw3" , + italic = "hirakakupronw3" , + bold = "hirakakupronw6" , + bolditalic = "hirakakupronw6" , + } , + } , + ["hiraginokakugothicstd"] = + { + ["normal"] = + { + regular = "hirakakustdw8" , + italic = "hirakakustdw8" , + bold = "hirakakustdw8" , + bolditalic = "hirakakustdw8" , + } , + } , + ["hiraginokakugothicstdn"] = + { + ["normal"] = + { + regular = "hirakakustdnw8" , + italic = "hirakakustdnw8" , + bold = "hirakakustdnw8" , + bolditalic = "hirakakustdnw8" , + } , + } , + ["hiraginomarugothicpro"] = + { + ["normal"] = + { + regular = "hiramaruprow4" , + italic = "hiramaruprow4" , + bold = "hiramaruprow4" , + bolditalic = "hiramaruprow4" , + } , + } , + ["hiraginomarugothicpron"] = + { + ["normal"] = + { + regular = "hiramarupronw4" , + italic = "hiramarupronw4" , + bold = "hiramarupronw4" , + bolditalic = "hiramarupronw4" , + } , + } , + ["hiraginominchopro"] = + { + ["normal"] = + { + regular = "hiraminprow3" , + italic = "hiraminprow3" , + bold = "hiraminprow6" , + bolditalic = "hiraminprow6" , + } , + } , + ["hiraginominchopron"] = + { + ["normal"] = + { + regular = "hiraminpronw3" , + italic = "hiraminpronw3" , + bold = "hiraminpronw6" , + bolditalic = "hiraminpronw6" , + } , + } , + ["lucidabright"] = + { + ["normal"] = + { + regular = "lucidabright" , + italic = "lucidabrightitalic" , + bold = "lucidabrightdemi" , + bolditalic = "lucidabrightdemiitalic" , + caps = "lucidabrightsmallcaps" , + } , + } , + ["lucidacalligraphy"] = + { + ["normal"] = + { + regular = "lucidacalligraphyitalic" , + } , + } , + ["lucidahandwriting"] = + { + ["normal"] = + { + regular = "lucidahandwritingitalic" , + } , + } , + ["lucidasans"] = + { + ["normal"] = + { + regular = "lucidasans" , + italic = "lucidasansitalic" , + bold = "lucidasansdemi" , + bolditalic = "lucidasansdemiitalic" , + } , + } , + ["lucidatypewriter"] = + { + ["normal"] = + { + regular = "lucidatypewriter" , + italic = "lucidatypewriteroblique" , + bold = "lucidatypewriterbold" , + bolditalic = "lucidatypewriterboldoblique" , + } , + } , + ["lucidasanstypewriter"] = + { + ["normal"] = + { + regular = "lucidasanstypewriter" , + italic = "lucidasanstypewriteroblique" , + bold = "lucidasanstypewriterbold" , + bolditalic = "lucidasanstypewriterboldoblique" , + } , + } , + ["iwona"] = + { + ["light"] = + { + regular = "iwonalightregular" , + italic = "iwonalightitalic" , + bold = "iwonamediumregular" , + bolditalic = "iwonamediumitalic" , + } , + ["normal"] = + { + regular = "iwonaregular" , + italic = "iwonaitalic" , + bold = "iwonabold" , + bolditalic = "iwonabolditalic" , + } , + ["medium"] = + { + regular = "iwonamediumregular" , + italic = "iwonamediumitalic" , + bold = "iwonaheavyregular" , + bolditalic = "iwonaheavyitalic" , + } , + ["heavy"] = + { + regular = "iwonaheavyregular" , + italic = "iwonaheavyitalic" , + bold = "iwonaheavyregular" , + bolditalic = "iwonaheavyitalic" , + } , + } , + ["junicode"] = + { + ["normal"] = + { + regular = "junicoderegular" , + italic = "junicodeitalic" , + bold = "junicodebold" , + bolditalic = "junicodebolditalic" , + } , + } , + ["justus"] = + { + ["normal"] = + { + regular = "justusoldstyle" , + italic = "justusitalicoldstyle" , + bold = "justusoldstyle" , + bolditalic = "justusoldstyle" , + caps = "justusversalitas" , + } , + } , + ["kurier"] = + { + ["light"] = + { + regular = "kurierlightregular" , + italic = "kurierlightitalic" , + bold = "kuriermediumregular" , + bolditalic = "kuriermediumitalic" , + } , + ["normal"] = + { + regular = "kurierregular" , + italic = "kurieritalic" , + bold = "kurierbold" , + bolditalic = "kurierbolditalic" , + } , + ["medium"] = + { + regular = "kuriermediumregular" , + italic = "kuriermediumitalic" , + bold = "kurierheavyregular" , + bolditalic = "kurierheavyitalic" , + } , + } , + ["latinmodernmono"] = + { + ["normal"] = + { + regular = "lmmono10regular" , + bold = "lmmonolt10bold" , + italic = "lmmono10italic" , + oblique = "lmmono10italic" , + bolditalic = "lmmonolt10boldoblique" , + boldoblique = "lmmonolt10boldoblique" , + caps = "lmmonocaps10regular" , + obliquecaps = "lmmonocaps10oblique" , + } , + } , + ["latinmodernroman"] = + { + ["normal"] = + { + regular = "lmroman10regular" , + bold = "lmroman10bold" , + italic = "lmroman10italic" , + oblique = "lmromanslant10regular" , + bolditalic = "lmroman10bolditalic" , + boldoblique = "lmromanslant10bold" , + caps = "lmromancaps10regular" , + obliquecaps = "lmromancaps10oblique" , + } , + } , + ["latinmodernsans"] = + { + ["normal"] = + { + regular = "lmsans10regular" , + bold = "lmsans10bold" , + italic = "lmsans10oblique" , + oblique = "lmsans10oblique" , + bolditalic = "lmsans10boldoblique" , + boldoblique = "lmsans10boldoblique" , + } , + } , + ["liberationmono"] = + { + ["normal"] = + { + regular = "liberationmono" , + italic = "liberationmonoitalic" , + bold = "liberationmonobold" , + bolditalic = "liberationmonobolditalic" , + } , + } , + ["liberationsans"] = + { + ["normal"] = + { + regular = "liberationsans" , + italic = "liberationsansitalic" , + bold = "liberationsansbold" , + bolditalic = "liberationsansbolditalic" , + } , + } , + ["liberationserif"] = + { + ["normal"] = + { + regular = "liberationserif" , + italic = "liberationserifitalic" , + bold = "liberationserifbold" , + bolditalic = "liberationserifbolditalic" , + } , + } , + ["linuxbiolinum"] = + { + ["normal"] = + { + regular = "linuxbiolinumo" , + italic = "linuxbiolinumo" , + bold = "linuxbiolinumobold" , + bolditalic = "linuxbiolinumobold" , + } , + } , + ["linuxlibertine"] = + { + ["normal"] = + { + regular = "linuxlibertineo" , + italic = "linuxlibertineoitalic" , + bold = "linuxlibertineobold" , + bolditalic = "linuxlibertineobolditalic" , + smallcaps = "linuxlibertineocapitals" , + } , + } , + ["luximono"] = + { + ["normal"] = + { + regular = "luximonoregular" , + italic = "luximonooblique" , + bold = "luximonobold" , + bolditalic = "luximonoboldoblique" , + } , + } , + ["luxisans"] = + { + ["normal"] = + { + regular = "luxisansregular" , + italic = "luxisansoblique" , + bold = "luxisansbold" , + bolditalic = "luxisansboldoblique" , + } , + } , + ["luxiserif"] = + { + ["normal"] = + { + regular = "luxiserifregular" , + italic = "luxiserifoblique" , + bold = "luxiserifbold" , + bolditalic = "luxiserifboldoblique" , + } , + } , + ["miso"] = + { + ["light"] = + { + regular = "misolight" , + italic = "misolight" , + bold = "misolight" , + bolditalic = "misolight" , + } , + ["normal"] = + { + regular = "miso" , + italic = "miso" , + bold = "miso" , + bolditalic = "miso" , + } , + ["bold"] = + { + regular = "misobold" , + italic = "misobold" , + bold = "misobold" , + bolditalic = "misobold" , + } , + } , + ["pigiarniq"] = + { + ["light"] = + { + regular = "pigiarniqlight" , + italic = "pigiarniqlight" , + bold = "pigiarniqlight" , + bolditalic = "pigiarniqlight" , + } , + ["normal"] = + { + regular = "pigiarniq" , + italic = "pigiarniqitalic" , + bold = "pigiarniqbold" , + bolditalic = "pigiarniqbold" , + } , + ["heavy"] = + { + regular = "pigiarniqheavy" , + italic = "pigiarniqheavy" , + bold = "pigiarniqheavy" , + bolditalic = "pigiarniqheavy" , + } , + } , + ["sabon"] = + { + ["normal"] = + { + regular = "sabonltstdroman" , + italic = "sabonltstditalic" , + bold = "sabonltstdbold" , + bolditalic = "sabonltstdbolditalic" , + } , + } , + ["tallys"] = + { + ["normal"] = + { + regular = "tallys" , + italic = "tallys" , + bold = "tallys" , + bolditalic = "tallys" , + } , + } , + ["texgyreadventor"] = + { + ["normal"] = + { + regular = "texgyreadventorregular" , + italic = "texgyreadventoritalic" , + bold = "texgyreadventorbold" , + bolditalic = "texgyreadventorbolditalic" , + } , + } , + ["texgyrebonum"] = + { + ["normal"] = + { + regular = "texgyrebonumregular" , + italic = "texgyrebonumitalic" , + bold = "texgyrebonumbold" , + bolditalic = "texgyrebonumbolditalic" , + } , + } , + ["texgyrechorus"] = + { + ["medium"] = + { + regular = "texgyrechorusmediumitalic" , + italic = "texgyrechorusmediumitalic" , + bold = "texgyrechorusmediumitalic" , + bolditalic = "texgyrechorusmediumitalic" , + } , + } , + ["texgyrecursor"] = + { + ["normal"] = + { + regular = "texgyrecursorregular" , + italic = "texgyrecursoritalic" , + bold = "texgyrecursorbold" , + bolditalic = "texgyrecursorbolditalic" , + } , + } , + ["texgyreheros"] = + { + ["condensed"] = + { + regular = "texgyreheroscondensedregular" , + italic = "texgyreheroscondenseditalic" , + bold = "texgyreheroscondensedbold" , + bolditalic = "texgyreheroscondensedbolditalic" , + } , + ["normal"] = + { + regular = "texgyreherosregular" , + italic = "texgyreherositalic" , + bold = "texgyreherosbold" , + bolditalic = "texgyreherosbolditalic" , + } , + } , + ["texgyrepagella"] = + { + ["normal"] = + { + regular = "texgyrepagellaregular" , + italic = "texgyrepagellaitalic" , + bold = "texgyrepagellabold" , + bolditalic = "texgyrepagellabolditalic" , + } , + } , + ["texgyreschola"] = + { + ["normal"] = + { + regular = "texgyrescholaregular" , + italic = "texgyrescholaitalic" , + bold = "texgyrescholabold" , + bolditalic = "texgyrescholabolditalic" , + } , + } , + ["texgyretermes"] = + { + ["normal"] = + { + regular = "texgyretermesregular" , + italic = "texgyretermesitalic" , + bold = "texgyretermesbold" , + bolditalic = "texgyretermesbolditalic" , + } , + } , + ["tuffy"] = + { + ["normal"] = + { + regular = "tuffyregular" , + italic = "tuffyitalic" , + bold = "tuffybold" , + bolditalic = "tuffybolditalic" , + } , + } , + ["uqammaq"] = + { + ["light"] = + { + regular = "uqammaqlight" , + italic = "uqammaqlight" , + bold = "uqammaqlight" , + bolditalic = "uqammaqlight" , + } , + ["normal"] = + { + regular = "uqammaq" , + italic = "uqammaq" , + bold = "uqammaqbold" , + bolditalic = "uqammaqbold" , + } , + ["heavy"] = + { + regular = "uqammaqheavy" , + italic = "uqammaqheavy" , + bold = "uqammaqheavy" , + bolditalic = "uqammaqheavy" , + } , + } , +} + +simplefonts.extlist = { + ["condensed"] = + { + regular = { "condensedregular" , "condregular" , "condensed" } , + italic = { "condenseditalic" , "condensedoblique" , "conditalic" , "condensedregular" , "condregular" , "condensed" } , + bold = { "condensedbold" , "condbold" , "condensedregular" , "condregular" , "condensed" } , + bolditalic = { "condensedbolditalic" , "condensedboldoblique" , "condbolditalic" , "condensedbold" , "condbold" , "condensedregular" , "condregular" , "condensed" } , + caps = { "condensedregular" , "condregular" , "condensed" } , + } , + ["light"] = + { + regular = { "lightregular" , "light" } , + italic = { "lightitalic" , "lightoblique" , "lightregular" , "light" } , + bold = { "bookregular" , "regular" , "book" , "lightregular" , "light" } , + bolditalic = { "bookitalic" , "book" , "italic" , "oblique" , "bookregular" , "regular" , "book" , "lightregular" , "light" } , + caps = { "smallcapslight" , "lightregular" , "light" } , + } , + ["normal"] = + { + regular = { "regular" , "roman" , "normal" , "book" , "" } , + italic = { "italic" , "it" , "oblique" , "kursiv" , "bookitalic" , "regular" , "roman" , "normal" , "book" , "" } , + bold = { "bold" , "bd" , "kraeftig" , "mediumregular" , "semibold" , "demi" , "regular" , "roman" , "normal" , "book" , "" } , + bolditalic = { "bolditalic" , "boldit" , "bdit" , "boldoblique" , "mediumitalic" , "semibolditalic" , "demiitalic" , "bold" , "bd" , "kraeftig" , "mediumregular" , "semibold" , "demi" , "regular" , "roman" , "normal" , "book" , "" } , + caps = { "smallcaps" , "capitals" , "sc" , "regular" , "roman" , "normal" , "book" , "" } , + italiccaps = { "smallcaps" , "capitals" , "sc" , "regular" , "roman" , "normal" , "book" , "" } , + boldcaps = { "smallcaps" , "capitals" , "sc" , "regular" , "roman" , "normal" , "book" , "" } , + bolditaliccaps = { "smallcaps" , "capitals" , "sc" , "regular" , "roman" , "normal" , "book" , "" } , + } , + ["medium"] = + { + regular = { "mediumregular" , "medregular" , "medium" } , + italic = { "mediumitalic" , "meditalic" , "mediumregular" , "medregular" , "medium" } , + bold = { "heavyregular" , "heavy" , "mediumregular" , "medregular" , "medium" } , + bolditalic = { "heavyitalic" , "heavyregular" , "heavy" , "mediumregular" , "medregular" , "medium" } , + caps = { "mediumcaps" , "mediumregular" , "medregular" , "medium" } , + } , +} + +simplefonts.synonyms = { + { "lmregular", "latinmodernregular", } , + { "lmsans", "latinmodernsans", } , + { "lmmono", "latinmodernmono", } , + { "lmtypewriter", "latinmodernmono", } , + { "latinmoderntypewriter", "latinmodernmono", } , + { "itccharter", "charteritcpro", } , + { "biolinum", "linuxbiolinum", } , + { "libertine", "linuxlibertine", } , + { "avantgarde", "texgyreadventor", } , + { "adventor", "texgyreadventor", } , + { "bookman", "texgyrebonum", } , + { "bonum", "texgyrebonum", } , + { "chancery", "texgyrechorus", } , + { "chorus", "texgyrechorus", } , + { "courier", "texgyrecursor", } , + { "cursor", "texgyrecursor", } , + { "helvetica", "texgyreheros", } , + { "heros", "texgyreheros", } , + { "palatino", "texgyrepagella", } , + { "pagella", "texgyrepagella", } , + { "schoolbook", "texgyreschola", } , + { "schola", "texgyreschola", } , + { "times", "texgyretermes", } , + { "termes", "texgyretermes", } , +} + +function simplefonts.selectfont(font,name,extension,style,weight) + local fontname = {} + local name = string.lower(string.gsub(name," ","")) + if extension ~= "" then + ext = string.find(extension,"*") + if ext ~= nil then + fontname = string.gsub(extension,"*",name) + else + fontname = extension + end + fontname = "name:" .. string.lower(string.gsub(fontname," ","")) + else + for _, v in global.ipairs(simplefonts.synonyms) do + if name == v[1] then + name = v[2] + break + end + end + if simplefonts.fontlist[name] ~= nil then + if simplefonts.fontlist[name][weight] ~= nil then + if simplefonts.fontlist[name][weight][style] ~= nil then + fontname = simplefonts.fontlist[name][weight][style] + else + fontname = simplefonts.fontlist[name][weight]["regular"] + end + elseif simplefonts.fontlist[name]["normal"] ~= nil then + if simplefonts.fontlist[name]["normal"][style] ~= nil then + fontname = simplefonts.fontlist[name]["normal"][style] + else + fontname = simplefonts.fontlist[name]["normal"]["regular"] + end + end + fontname = "name:" .. fontname + else + -- use comma list + for _, v in global.ipairs(simplefonts.extlist[weight][style]) do + fontname = name .. v + if global.fonts.names.exists(fontname) then + fontname = "name:" .. fontname + break + else + fontname = "DefaultFont" -- no font is found + end + end + end + end + -- global.print(fontname) + tex.sprint(tex.prtcatcodes,string.format("\\setvalue{\\????sf %s%s}{%s}",font,style,fontname)) +end + +function simplefonts.normalizefontname(name) + -- tex.sprint(string.lower(string.gsub(name," ",""))) + local fontname = string.lower(name) + fontname = string.gsub(fontname," ","") + fontname = string.gsub(fontname,"-","") + tex.sprint(fontname) +end + +\stopmodulecode + +\setupsimplefonts + [ \c!size=\moduleparameter\v!simplefonts\c!size, + \c!style=\moduleparameter\v!simplefonts\c!style] + +\setmainfont[Latin Modern Roman] +\setsansfont[Latin Modern Sans] +\setmonofont[Latin Modern Mono] +\setmathfont[Latin Modern Math] + +\donesimplefontstrue + +\stopmodule + +\protect \endinput |