diff options
Diffstat (limited to 'tex/context/base/font-sel.mkvi')
-rw-r--r-- | tex/context/base/font-sel.mkvi | 39 |
1 files changed, 30 insertions, 9 deletions
diff --git a/tex/context/base/font-sel.mkvi b/tex/context/base/font-sel.mkvi index f91baa5d8..718da1fa2 100644 --- a/tex/context/base/font-sel.mkvi +++ b/tex/context/base/font-sel.mkvi @@ -1,6 +1,6 @@ %D \module %D [ file=font-sel, -%D version=2013.09.28, +%D version=2013.10.14, %D title=\CONTEXT\ User Module, %D subtitle=Selectfont, %D author=Wolfgang Schuster, @@ -44,6 +44,15 @@ check = "\selectfontparameter\c!check", % fallback only force = "\selectfontparameter\c!force", % fallback only }, + alternatives = { + ["tf"] = "\selectfontparameter\s!tf", + ["bf"] = "\selectfontparameter\s!bf", + ["it"] = "\selectfontparameter\s!it", + ["sl"] = "\selectfontparameter\s!sl", + ["bi"] = "\selectfontparameter\s!bi", + ["bs"] = "\selectfontparameter\s!bs", + ["sc"] = "\selectfontparameter\s!sc", + }, files = { ["tf"] = "\selectfontparameter\c!regularfont", ["bf"] = "\selectfontparameter\c!boldfont", @@ -91,7 +100,7 @@ \installcorenamespace {selectfontpreset} -\unexpanded\def\defineselectfontpreset +\unexpanded\def\definefontfamilypreset {\dodoubleargument\selectfont_preset_define} \def\selectfont_preset_define[#name][#settings]% @@ -106,11 +115,11 @@ % unknown preset \fi} -\let\definefontfamilypreset\defineselectfontpreset - -\definefontfamilypreset [\s!chinese ] [\c!range={0x00400-0x2FA1F}] -\definefontfamilypreset [\s!japanese] [\c!range={0x00400-0x2FA1F}] -\definefontfamilypreset [\s!korean ] [\c!range={0x00400-0x2FA1F}] +\definefontfamilypreset [r:chinese] [\c!range={cjkcompatibilityforms,cjkcompatibilityideographs,cjkcompatibilityideographssupplement,cjkradicalssupplement,cjkstrokes,cjksymbolsandpunctuation,cjkunifiedideographs,cjkunifiedideographsextensiona,cjkunifiedideographsextensionb,halfwidthandfullwidthforms,verticalforms,bopomofo,bopomofoextended}] +\definefontfamilypreset [r:japanese] [\c!range={cjkcompatibilityforms,cjkcompatibilityideographs,cjkcompatibilityideographssupplement,cjkradicalssupplement,cjkstrokes,cjksymbolsandpunctuation,cjkunifiedideographs,cjkunifiedideographsextensiona,cjkunifiedideographsextensionb,halfwidthandfullwidthforms,verticalforms,hiragana,katakana}] +\definefontfamilypreset [r:korean] [\c!range={cjkcompatibilityforms,cjkcompatibilityideographs,cjkcompatibilityideographssupplement,cjkradicalssupplement,cjkstrokes,cjksymbolsandpunctuation,cjkunifiedideographs,cjkunifiedideographsextensiona,cjkunifiedideographsextensionb,halfwidthandfullwidthforms,verticalforms,hangulcompatibilityjamo,hanguljamo,hanguljamoextendeda,hanguljamoextendedb,hangulsyllables}] +\definefontfamilypreset [r:cyrillic] [\c!range={cyrillic,cyrillicextendeda,cyrillicextendedb,cyrillicsupplement}] +\definefontfamilypreset [r:greek] [\c!range={greekandcoptic,greekextended,ancientgreeknumbers}] %D \macros %D {defineselectfontalternative} @@ -229,7 +238,9 @@ {\doquadrupleempty\selectfont_family_define} \def\selectfont_family_define[#typeface][#style][#family][#settings]% - {\selectfont_setparameters[\c!name={#typeface},\c!style={#style},\c!family={#family},#settings]% + {\doifassignmentelse{#settings} + {\selectfont_setparameters[\c!name={#typeface},\c!style={#style},\c!family={#family},#settings]} + {\selectfont_setparameters[\c!name={#typeface},\c!style={#style},\c!family={#family},\c!preset={#settings}]}% \ctxcommand{definefontfamily(\selectfont_index)}} \unexpanded\def\definefallbackfamily @@ -271,10 +282,20 @@ \unexpanded\def\setupfontfamily {\dotripleempty\selectfont_family_setup} -\def\selectfont_family_setup[#style][#family][#settings]% +\def\selectfont_family_setup + {\ifsecondargument + \expandafter\selectfont_family_setup_yes + \else + \expandafter\selectfont_family_setup_nop + \fi} + +\def\selectfont_family_setup_yes[#style][#family][#settings]% {\normalexpanded{\t_selectfont_styles{\selectfont_set_font_family[#style][#family][#settings]\the\t_selectfont_styles}}% \selectfont_set_font_indeed} +\def\selectfont_family_setup_nop[#settings][#dummya][#dummyb]% + {\setupselectfont[#settings]} + \unexpanded\def\selectfont_set_default {\selectfont_set_font_family[\v!serif][Latin Modern Roman][\c!opticalsize=\v!yes]% \selectfont_set_font_family[\v!sans] [Latin Modern Sans] [\c!opticalsize=\v!yes]% |