summaryrefslogtreecommitdiff
path: root/tex/context/fonts
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/fonts')
-rw-r--r--tex/context/fonts/antykwa-math.lfg57
-rw-r--r--tex/context/fonts/charter-math.lfg28
-rw-r--r--tex/context/fonts/garamond-math.lfg28
-rw-r--r--tex/context/fonts/husayni.lfg178
-rw-r--r--tex/context/fonts/hvmath-math.lfg24
-rw-r--r--tex/context/fonts/informal-math.lfg22
-rw-r--r--tex/context/fonts/iwona-math.lfg57
-rw-r--r--tex/context/fonts/lm-math.lfg230
-rw-r--r--tex/context/fonts/lucida-math.lfg320
-rw-r--r--tex/context/fonts/mathtimes-math.lfg24
-rw-r--r--tex/context/fonts/px-math.lfg24
-rw-r--r--tex/context/fonts/symbol-math.lfg17
-rw-r--r--tex/context/fonts/tx-math.lfg24
-rw-r--r--tex/context/fonts/utopia-math.lfg28
14 files changed, 1061 insertions, 0 deletions
diff --git a/tex/context/fonts/antykwa-math.lfg b/tex/context/fonts/antykwa-math.lfg
new file mode 100644
index 000000000..112a3f9a7
--- /dev/null
+++ b/tex/context/fonts/antykwa-math.lfg
@@ -0,0 +1,57 @@
+local msam = { name = "msam10.tfm", vector = "tex-ma" }
+local msbm = { name = "msbm10.tfm", vector = "tex-mb" }
+
+return {
+ name = "antykwa-math",
+ version = "1.00",
+ comment = "Goodies that complement antykwa math.",
+ author = "Hans, Mojca, Aditya",
+ copyright = "ConTeXt development team",
+ mathematics = {
+ mapfiles = {
+ "antt-rm.map",
+ "antt-mi.map",
+ "antt-sy.map",
+ "antt-ex.map",
+ "mkiv-base.map",
+ },
+ virtuals = {
+ ["antykwa-math"] = {
+ { name = "file:AntykwaTorunska-Regular", features = "virtualmath", main = true },
+ { name = "mi-anttri.tfm", vector = "tex-mi", skewchar=0x7F },
+ { name = "mi-anttri.tfm", vector = "tex-it", skewchar=0x7F },
+ { name = "sy-anttrz.tfm", vector = "tex-sy", skewchar=0x30, parameters = true } ,
+ { name = "ex-anttr.tfm", vector = "tex-ex", extension = true } ,
+ msam,
+ msbm,
+ },
+ ["antykwa-light-math"] = {
+ { name = "file:AntykwaTorunskaLight-Regular", features = "virtualmath", main = true },
+ { name = "mi-anttli.tfm", vector = "tex-mi", skewchar=0x7F },
+ { name = "mi-anttli.tfm", vector = "tex-it", skewchar=0x7F },
+ { name = "sy-anttlz.tfm", vector = "tex-sy", skewchar=0x30, parameters = true } ,
+ { name = "ex-anttl.tfm", vector = "tex-ex", extension = true } ,
+ msam,
+ msbm,
+ },
+ ["antykwa-cond-math"] = {
+ { name = "file:AntykwaTorunskaCond-Regular", features = "virtualmath", main = true },
+ { name = "mi-anttcri.tfm", vector = "tex-mi", skewchar=0x7F },
+ { name = "mi-anttcri.tfm", vector = "tex-it", skewchar=0x7F },
+ { name = "sy-anttcrz.tfm", vector = "tex-sy", skewchar=0x30, parameters = true } ,
+ { name = "ex-anttcr.tfm", vector = "tex-ex", extension = true } ,
+ msam,
+ msbm,
+ },
+ ["antykwa-lightcond-math"] = {
+ { name = "file:AntykwaTorunskaCondLight-Regular", features = "virtualmath", main = true },
+ { name = "mi-anttcli.tfm", vector = "tex-mi", skewchar=0x7F },
+ { name = "mi-anttcli.tfm", vector = "tex-it", skewchar=0x7F },
+ { name = "sy-anttclz.tfm", vector = "tex-sy", skewchar=0x30, parameters = true } ,
+ { name = "ex-anttcl.tfm", vector = "tex-ex", extension = true } ,
+ msam,
+ msbm,
+ }
+ }
+ }
+}
diff --git a/tex/context/fonts/charter-math.lfg b/tex/context/fonts/charter-math.lfg
new file mode 100644
index 000000000..9d061d1e0
--- /dev/null
+++ b/tex/context/fonts/charter-math.lfg
@@ -0,0 +1,28 @@
+return {
+ name = "charter-math",
+ version = "1.00",
+ comment = "Goodies that complement charter math.",
+ author = "Hans, Mojca, Aditya",
+ copyright = "ConTeXt development team",
+ mathematics = {
+ mapfiles = {
+ "mdbch.map",
+ "mkiv-base.map",
+ },
+ virtuals = {
+ ["charter-math"] = {
+ -- { name = "file:bchr8a", features = "virtualmath", main = true },
+ { name = "file:bchri8a", features = "virtualmath", main = true },
+ -- { name = "md-chr7m.tfm", vector = "tex-mr" },
+ { name = "md-chri7m.tfm", vector = "tex-mi", skewchar=0x7F },
+ { name = "md-chri7m.tfm", vector = "tex-it", skewchar=0x7F },
+ { name = "md-chr7y.tfm", vector = "tex-sy", skewchar=0x30, parameters = true },
+ { name = "md-chr7v.tfm", vector = "tex-ex", extension = true },
+ -- { name = "md-chbma.tfm", vector = "tex-ma" },
+ -- { name = "md-chbmb.tfm", vector = "tex-mb" },
+ { name = "msam10.tfm", vector = "tex-ma" },
+ { name = "msbm10.tfm", vector = "tex-mb" },
+ }
+ }
+ }
+}
diff --git a/tex/context/fonts/garamond-math.lfg b/tex/context/fonts/garamond-math.lfg
new file mode 100644
index 000000000..a082f8a9d
--- /dev/null
+++ b/tex/context/fonts/garamond-math.lfg
@@ -0,0 +1,28 @@
+return {
+ name = "garamond-math",
+ version = "1.00",
+ comment = "Goodies that complement garamond math.",
+ author = "Hans, Mojca, Aditya",
+ copyright = "ConTeXt development team",
+ mathematics = {
+ mapfiles = {
+ "mdugm.map",
+ "mkiv-base.map",
+ },
+ virtuals = {
+ ["garamond-math"] = {
+ -- { name = "file:ugmr8a", features = "virtualmath", main = true },
+ { name = "file:ugmri8a", features = "virtualmath", main = true },
+ -- { name = "md-gmr7m.tfm", vector = "tex-mr" },
+ { name = "md-gmri7m.tfm", vector = "tex-mi", skewchar=0x7F },
+ { name = "md-gmri7m.tfm", vector = "tex-it", skewchar=0x7F },
+ { name = "md-gmr7y.tfm", vector = "tex-sy", skewchar=0x30, parameters = true },
+ { name = "md-gmr7v.tfm", vector = "tex-ex", extension = true },
+ -- { name = "md-gmmma.tfm", vector = "tex-ma" },
+ -- { name = "md-gmmmb.tfm", vector = "tex-mb" },
+ { name = "msam10.tfm", vector = "tex-ma" },
+ { name = "msbm10.tfm", vector = "tex-mb" },
+ }
+ }
+ }
+}
diff --git a/tex/context/fonts/husayni.lfg b/tex/context/fonts/husayni.lfg
new file mode 100644
index 000000000..2cc4d6111
--- /dev/null
+++ b/tex/context/fonts/husayni.lfg
@@ -0,0 +1,178 @@
+local yes = "yes", "node"
+
+local basics = {
+ analyze = yes,
+ mode = "node",
+ language = "dflt",
+ script = "arab",
+}
+
+local analysis = {
+ ccmp = yes,
+ init = yes, medi = yes, fina = yes,
+}
+
+local regular = {
+ rlig = yes, calt = yes, salt = yes, anum = yes,
+ ss01 = yes, ss03 = yes, ss07 = yes, ss10 = yes, ss12 = yes, ss15 = yes, ss16 = yes,
+ ss19 = yes, ss24 = yes, ss25 = yes, ss26 = yes, ss27 = yes, ss31 = yes, ss34 = yes,
+ ss35 = yes, ss36 = yes, ss37 = yes, ss38 = yes, ss41 = yes, ss42 = yes, ss43 = yes,
+ js16 = yes,
+}
+
+local positioning = {
+ kern = yes, curs = yes, mark = yes, mkmk = yes,
+}
+
+local minimal_stretching = {
+ js11 = yes, js03 = yes,
+}
+
+local medium_stretching = {
+ js12=yes, js05=yes,
+}
+local maximal_stretching= {
+ js13 = yes, js05 = yes, js09 = yes,
+}
+
+local wide_all = {
+ js11 = yes, js12 = yes, js13 = yes, js05 = yes, js09 = yes,
+}
+
+local shrink = {
+ flts = yes, js17 = yes, ss05 = yes, ss11 = yes, ss06 = yes, ss09 = yes,
+}
+
+local default = {
+ basics, analysis, regular, positioning, -- xxxx = yes, yyyy = 2,
+}
+
+return {
+ name = "husayni",
+ version = "1.00",
+ comment = "Goodies that complement the Husayni font by Idris Samawi Hamid.",
+ author = "Idris Samawi Hamid and Hans Hagen",
+ featuresets = { -- here we don't have references to featuresets
+ default = {
+ default,
+ },
+ minimal_stretching = {
+ default, js11 = yes, js03 = yes,
+ },
+ medium_stretching = {
+ default, js12=yes, js05=yes,
+ },
+ maximal_stretching= {
+ default, js13 = yes, js05 = yes, js09 = yes,
+ },
+ wide_all = {
+ default, js11 = yes, js12 = yes, js13 = yes, js05 = yes, js09 = yes,
+ },
+ shrink = {
+ default, flts = yes, js17 = yes, ss05 = yes, ss11 = yes, ss06 = yes, ss09 = yes,
+ },
+ },
+ solutions = { -- here we have references to featuresets, so we use strings!
+ experimental = {
+ less = { "shrink" },
+ more = { "minimal_stretching", "medium_stretching", "maximal_stretching", "wide_all" },
+ },
+ },
+ stylistics = {
+ ss01 = "Allah, Muhammad",
+ ss02 = "ss01 + Allah_final",
+ ss03 = "level-1 stack over Jiim, initial entry only",
+ ss04 = "level-1 stack over Jiim, initial/medial entry",
+ ss05 = "multi-level Jiim stacking, initial/medial entry",
+ ss06 = "aesthetic Faa/Qaaf for FJ_mm, FJ_mf connection",
+ ss07 = "initial-entry stacking over Haa",
+ ss08 = "initial/medial stacking over Haa, minus HM_mf strings",
+ ss09 = "initial/medial Haa stacking plus HM_mf strings",
+ ss10 = "basic dipped Miim, initial-entry B_S-stack over Miim",
+ ss11 = "full dipped Miim, initial-entry B_S-stack over Miim",
+ ss12 = "XBM_im initial-medial entry B_S-stack over Miim",
+ ss13 = "full initial-medial entry B_S-stacked Miim",
+ ss14 = "initial entry, stacked Laam on Miim",
+ ss15 = "full stacked Laam-on-Miim",
+ ss16 = "initial entry, stacked Ayn-on-Miim",
+ ss17 = "full stacked Ayn-on-Miim",
+ ss18 = "LMJ_im already contained in ss03--05, may remove",
+ ss19 = "LM_im",
+ ss20 = "KLM_m, sloped Miim",
+ ss21 = "KLM_i_mm/LM_mm, sloped Miim",
+ ss22 = "filled sloped Miim",
+ ss23 = "LM_mm, non-sloped Miim",
+ ss24 = "BR_i_mf, BN_i_mf",
+ ss25 = "basic LH_im might merge with ss24",
+ ss26 = "full Yaa.final special strings: BY_if, BY_mf, LY_mf",
+ ss27 = "basic thin Miim.final",
+ ss28 = "full thin Miim.final to be moved to jsnn",
+ ss29 = "basic short Miim.final",
+ ss30 = "full short Miim.final to be moved to jsnn",
+ ss31 = "basic Raa.final strings: JR and SR",
+ ss32 = "basic Raa.final strings: JR, SR, and BR",
+ ss33 = "TtR to be moved to jsnn",
+ ss34 = "AyR style also available in jsnn",
+ ss35 = "full Kaaf contexts",
+ ss36 = "full Laam contexts",
+ ss37 = "Miim-Miim contexts",
+ ss38 = "basic dipped Haa, B_SH_mm",
+ ss39 = "full dipped Haa, B_S_LH_i_mm_Mf",
+ ss40 = "aesthetic dipped medial Haa",
+ ss41 = "high and low Baa strings",
+ ss42 = "diagonal entry",
+ ss43 = "initial alternates",
+ ss44 = "hooked final alif",
+ ss45 = "BMA_f",
+ ss46 = "BM_mm_alt, for JBM combinations",
+ ss47 = "Shaddah-<kasrah> combo",
+ ss48 = "Auto-sukuun",
+ ss49 = "No vowels",
+ ss50 = "Shaddah/MaaddahHamzah only",
+ ss51 = "No Skuun",
+ ss52 = "No Waslah",
+ ss53 = "No Waslah",
+ ss54 = "chopped finals",
+ ss55 = "idgham-tanwin",
+ js01 = "Raawide",
+ js02 = "Yaawide",
+ js03 = "Kaafwide",
+ js04 = "Nuunwide",
+ js05 = "Kaafwide Nuunwide Siinwide Baawide",
+ js06 = "final Haa wide",
+ js07 = "thin Miim",
+ js08 = "short Miim",
+ js09 = "wide Siin",
+ js10 = "thuluth-style initial Haa, final Miim, MRw_mf",
+ js11 = "level-1 stretching",
+ js12 = "level-2 stretching",
+ js13 = "level-3 stretching",
+ js14 = "final Alif",
+ js15 = "hooked final Alif",
+ js16 = "aesthetic medial Faa/Qaaf",
+ js17 = "fancy isol Haa after Daal, Raa, and Waaw",
+ js18 = "Laamwide, alternate substitution",
+ js19 = "level-4 stretching, only siin and Hhaa for basmalah",
+ js20 = "level-5 stretching, only siin and Hhaa for basmalah",
+ js21 = "Haa.final_alt2",
+ },
+ colorschemes = {
+ default = {
+ [1] = {
+ "Onedotabove", "Onedotbelow", "Twodotsabove", "Twodotsbelow", "Threedotsabove", "Twodotsabove.vrt", "Twodotsbelow.vrt", "Twodotsabove.KBA", "Threedotsabove.KBA", "Threedotsbelowinv", "Hamzahabove", "Hamzahbelow", "MaaddahHamzah.identity", "Waslah","Hamzah.initial_medial",
+ },
+ [2] = {
+ "Fathah", "Dammah", "Kasrah", "FathahVertical", "DammahInverted", "KasrahVertical", "FathahVertical.alt1", "KasrahVertical.alt1", "FathahTanwiin", "DammahTanwiin", "KasrahTanwiin", "Shaddah", "Sukuun", "MaaddahHamzah", "Jazm", "Maaddah", "DammahTanwiin_alt2", "DammahTanwiin_alt1", "FathahTanwiin_alt1", "KasrahTanwiin_alt1", "Fathah.mkmk", "Dammah.mkmk", "Kasrah.mkmk", "FathahVertical.mkmk", "DammahInverted.mkmk", "KasrahVertical.mkmk", "FathahTanwiin.mkmk", "DammahTanwiin.mkmk", "KasrahTanwiin.mkmk", "DammahTanwiin_alt1.mkmk", "Waawsmall", "Yaasmall", "FathahVertical.alt2", "Waawsmall.isol", "Yaasmall.isol", "FathahVertical.isol", "Hamzah","Shaddah.lillaah","FathahVertical.alt1_mkmk","Sifr.empty","Maaddah.small","FathahVertical.alt2","Waawsmall.isol","Yaasmall.isol","FathahTanwiin.alt1_mkmk","KasrahTanwiin.alt1_mkmk",
+ },
+ [3] = {
+ "Ttaa.waqf", "SsLY.waqf", "QLY.waqf", "Miim.waqf", "LA.waqf", "Jiim.waqf", "Threedotsabove.waqf", "Siin.waqf", "Ssaad.waqf", "Qaaf.waqf", "SsL.waqf", "QF.waqf", "SKTH.waqf", "WQFH.waqf", "Kaaf.waqf", "Ayn.ruku", "Miim.nuun_high", "Siin.Ssaad", "Nuunsmall", "emptydot_low", "emptydot_high", "Sifr.fill", "Miim.nuun_low", "Nuun.tanwiin",
+ },
+ [4] = {
+ "ZeroArabic.ayah", "OneArabic.ayah", "TwoArabic.ayah", "ThreeArabic.ayah", "FourArabic.ayah", "FiveArabic.ayah", "SixArabic.ayah", "SevenArabic.ayah", "EightArabic.ayah", "NineArabic.ayah", "FourFarsi.ayah", "FiveFarsi.ayah", "SixFarsi.ayah", "FourFarsi.urdu_ayah", "SevenFarsi.urdu_ayah","ZeroArabic.ayah_small","OneArabic.ayah_small","TwoArabic.ayah_small","ThreeArabic.ayah_small","FourArabic.ayah.001","FiveArabic.ayah_small","SixArabic.ayah_small","SevenArabic.ayah_small","EightArabic.ayah_small","NineArabic.ayah_small",
+ },
+ [5] = {
+ "Ayah", "Ayah.alt1", "Ayah.alt2", "Ayah.alt3", "Ayah2",
+ }
+ }
+ }
+}
diff --git a/tex/context/fonts/hvmath-math.lfg b/tex/context/fonts/hvmath-math.lfg
new file mode 100644
index 000000000..a7ec1ce89
--- /dev/null
+++ b/tex/context/fonts/hvmath-math.lfg
@@ -0,0 +1,24 @@
+return {
+ name = "hvmath-math",
+ version = "1.00",
+ comment = "Goodies that complement hvmath math.",
+ author = "Hans, Mojca, Aditya",
+ copyright = "ConTeXt development team",
+ mathematics = {
+ mapfiles = {
+ -- todo
+ },
+ virtuals = {
+ ["hvmath-math"] = {
+ { name = "file:texgyreheros-regular.otf", features = "virtualmath", main = true },
+ { name = "hvrm108r.tfm", vector="tex-mr" },
+ { name = "hvmi10.tfm", vector = "tex-mi", skewchar=0x7F },
+ { name = "hvmi10.tfm", vector = "tex-it", skewchar=0x7F },
+ { name = "hvsy10.tfm", vector = "tex-sy", skewchar=0x30, parameters = true },
+ { name = "hvex10.tfm", vector = "tex-ex", extension = true },
+ { name = "hvam10.tfm", vector = "tex-ma" },
+ { name = "hvbm10.tfm", vector = "tex-mb" },
+ }
+ }
+ }
+}
diff --git a/tex/context/fonts/informal-math.lfg b/tex/context/fonts/informal-math.lfg
new file mode 100644
index 000000000..67fb73b39
--- /dev/null
+++ b/tex/context/fonts/informal-math.lfg
@@ -0,0 +1,22 @@
+return {
+ name = "informal-math",
+ version = "1.00",
+ comment = "Goodies that complement informal math.",
+ author = "Hans, Mojca, Aditya",
+ copyright = "ConTeXt development team",
+ mathematics = {
+ mapfiles = {
+ "original-micropress-informal.map",
+ },
+ virtuals = {
+ ["hvmath-math"] = {
+ { name = "file:ifrg.afm", features = "virtualmath", main = true },
+ { name = "ifrm10cm.tfm", vector="tex-mr" },
+ { name = "ifmi10", vector = "tex-mi", skewchar=0x7F },
+ { name = "ifmi10.tfm", vector = "tex-it", skewchar=0x7F },
+ { name = "ifsy10.tfm", vector = "tex-sy", skewchar=0x30, parameters = true },
+ { name = "ifex10.tfm", vector = "tex-ex", extension = true },
+ }
+ }
+ }
+}
diff --git a/tex/context/fonts/iwona-math.lfg b/tex/context/fonts/iwona-math.lfg
new file mode 100644
index 000000000..f2fb69341
--- /dev/null
+++ b/tex/context/fonts/iwona-math.lfg
@@ -0,0 +1,57 @@
+local msam = { name = "msam10.tfm", vector = "tex-ma" }
+local msbm = { name = "msbm10.tfm", vector = "tex-mb" }
+
+return {
+ name = "iwona-math",
+ version = "1.00",
+ comment = "Goodies that complement iwona math.",
+ author = "Hans Hagen",
+ copyright = "ConTeXt development team",
+ mathematics = {
+ mapfiles = {
+ "iwona-rm.map",
+ "iwona-mi.map",
+ "iwona-sy.map",
+ "iwona-ex.map",
+ "mkiv-base.map",
+ },
+ virtuals = {
+ ["iwona-math"] = {
+ { name = "file:Iwona-Regular", features = "virtualmath", main = true },
+ { name = "mi-iwonari.tfm", vector = "tex-mi", skewchar=0x7F },
+ { name = "mi-iwonari.tfm", vector = "tex-it", skewchar=0x7F },
+ { name = "sy-iwonarz.tfm", vector = "tex-sy", skewchar=0x30, parameters = true } ,
+ { name = "ex-iwonar.tfm", vector = "tex-ex", extension = true } ,
+ msam,
+ msbm,
+ },
+ ["iwona-light-math"] = {
+ { name = "file:IwonaLight-Regular", features = "virtualmath", main = true },
+ { name = "mi-iwonali.tfm", vector = "tex-mi", skewchar=0x7F },
+ { name = "mi-iwonali.tfm", vector = "tex-it", skewchar=0x7F },
+ { name = "sy-iwonalz.tfm", vector = "tex-sy", skewchar=0x30, parameters = true } ,
+ { name = "ex-iwonal.tfm", vector = "tex-ex", extension = true } ,
+ msam,
+ msbm,
+ },
+ ["iwona-medium-math"] = {
+ { name = "file:IwonaMedium-Regular", features = "virtualmath", main = true },
+ { name = "mi-iwonami.tfm", vector = "tex-mi", skewchar=0x7F },
+ { name = "mi-iwonami.tfm", vector = "tex-it", skewchar=0x7F },
+ { name = "sy-iwonamz.tfm", vector = "tex-sy", skewchar=0x30, parameters = true } ,
+ { name = "ex-iwonam.tfm", vector = "tex-ex", extension = true } ,
+ msam,
+ msbm,
+ },
+ ["iwona-heavy-math"] = {
+ { name = "file:IwonaHeavy-Regular", features = "virtualmath", main = true },
+ { name = "mi-iwonahi.tfm", vector = "tex-mi", skewchar=0x7F },
+ { name = "mi-iwonahi.tfm", vector = "tex-it", skewchar=0x7F },
+ { name = "sy-iwonahz.tfm", vector = "tex-sy", skewchar=0x30, parameters = true } ,
+ { name = "ex-iwonah.tfm", vector = "tex-ex", extension = true } ,
+ msam,
+ msbm,
+ }
+ }
+ }
+}
diff --git a/tex/context/fonts/lm-math.lfg b/tex/context/fonts/lm-math.lfg
new file mode 100644
index 000000000..361b5bb86
--- /dev/null
+++ b/tex/context/fonts/lm-math.lfg
@@ -0,0 +1,230 @@
+-- rm-lmr5 : LMMathRoman5-Regular
+-- rm-lmbx5 : LMMathRoman5-Bold ]
+-- lmbsy5 : LMMathSymbols5-BoldItalic
+-- lmsy5 : LMMathSymbols5-Italic
+-- lmmi5 : LMMathItalic5-Italic
+-- lmmib5 : LMMathItalic5-BoldItalic
+
+local five = {
+ { name = "lmroman5-regular.otf", features = "virtualmath", main = true },
+ { name = "rm-lmr5.tfm", vector = "tex-mr-missing" } ,
+ { name = "lmmi5.tfm", vector = "tex-mi", skewchar=0x7F },
+ { name = "lmmi5.tfm", vector = "tex-it", skewchar=0x7F },
+ { name = "lmsy5.tfm", vector = "tex-sy", skewchar=0x30, parameters = true } ,
+ { name = "lmex10.tfm", vector = "tex-ex", extension = true } ,
+ { name = "msam5.tfm", vector = "tex-ma" },
+ { name = "msbm5.tfm", vector = "tex-mb" },
+ -- { name = "rm-lmbx5.tfm", vector = "tex-bf" } ,
+ { name = "lmroman5-bold", vector = "tex-bf" } ,
+ { name = "lmmib5.tfm", vector = "tex-bi", skewchar=0x7F } ,
+ { name = "lmsans8-regular.otf", vector = "tex-ss", optional=true },
+ { name = "lmmono8-regular.otf", vector = "tex-tt", optional=true },
+ { name = "eufm5.tfm", vector = "tex-fraktur", optional=true },
+}
+
+-- rm-lmr6 : LMMathRoman6-Regular
+-- rm-lmbx6 : LMMathRoman6-Bold
+-- lmsy6 : LMMathSymbols6-Italic
+-- lmmi6 : LMMathItalic6-Italic
+
+local six = {
+ { name = "lmroman6-regular.otf", features = "virtualmath", main = true },
+ { name = "rm-lmr6.tfm", vector = "tex-mr-missing" } ,
+ { name = "lmmi6.tfm", vector = "tex-mi", skewchar=0x7F },
+ { name = "lmmi6.tfm", vector = "tex-it", skewchar=0x7F },
+ { name = "lmsy6.tfm", vector = "tex-sy", skewchar=0x30, parameters = true } ,
+ { name = "lmex10.tfm", vector = "tex-ex", extension = true } ,
+ { name = "msam5.tfm", vector = "tex-ma" },
+ { name = "msbm5.tfm", vector = "tex-mb" },
+ -- { name = "rm-lmbx6.tfm", vector = "tex-bf" } ,
+ { name = "lmroman6-bold.otf", vector = "tex-bf" } ,
+ { name = "lmmib5.tfm", vector = "tex-bi", skewchar=0x7F } ,
+ { name = "lmsans8-regular.otf", vector = "tex-ss", optional=true },
+ { name = "lmmono8-regular.otf", vector = "tex-tt", optional=true },
+ { name = "eufm5.tfm", vector = "tex-fraktur", optional=true },
+ { name = "eufb5.tfm", vector = "tex-fraktur-bold", optional=true },
+}
+
+-- rm-lmr7 : LMMathRoman7-Regular
+-- rm-lmbx7 : LMMathRoman7-Bold
+-- lmbsy7 : LMMathSymbols7-BoldItalic
+-- lmsy7 : LMMathSymbols7-Italic
+-- lmmi7 : LMMathItalic7-Italic
+-- lmmib7 : LMMathItalic7-BoldItalic
+
+local seven = {
+ { name = "lmroman7-regular.otf", features = "virtualmath", main = true },
+ { name = "rm-lmr7.tfm", vector = "tex-mr-missing" } ,
+ { name = "lmmi7.tfm", vector = "tex-mi", skewchar=0x7F },
+ { name = "lmmi7.tfm", vector = "tex-it", skewchar=0x7F },
+ { name = "lmsy7.tfm", vector = "tex-sy", skewchar=0x30, parameters = true } ,
+ { name = "lmex10.tfm", vector = "tex-ex", extension = true } ,
+ { name = "msam7.tfm", vector = "tex-ma" },
+ { name = "msbm7.tfm", vector = "tex-mb" },
+ -- { name = "rm-lmbx7.tfm", vector = "tex-bf" } ,
+ { name = "lmroman7-bold.otf", vector = "tex-bf" } ,
+ { name = "lmmib7.tfm", vector = "tex-bi", skewchar=0x7F } ,
+ { name = "lmsans8-regular.otf", vector = "tex-ss", optional=true },
+ { name = "lmmono8-regular.otf", vector = "tex-tt", optional=true },
+ { name = "eufm7.tfm", vector = "tex-fraktur", optional=true },
+ { name = "eufb7.tfm", vector = "tex-fraktur-bold", optional=true },
+}
+
+-- rm-lmr8 : LMMathRoman8-Regular
+-- rm-lmbx8 : LMMathRoman8-Bold
+-- lmsy8 : LMMathSymbols8-Italic
+-- lmmi8 : LMMathItalic8-Italic
+
+local eight = {
+ { name = "lmroman8-regular.otf", features = "virtualmath", main = true },
+ { name = "rm-lmr8.tfm", vector = "tex-mr-missing" } ,
+ { name = "lmmi8.tfm", vector = "tex-mi", skewchar=0x7F },
+ { name = "lmmi8.tfm", vector = "tex-it", skewchar=0x7F },
+ { name = "lmsy8.tfm", vector = "tex-sy", skewchar=0x30, parameters = true } ,
+ { name = "lmex10.tfm", vector = "tex-ex", extension = true } ,
+ { name = "msam7.tfm", vector = "tex-ma" },
+ { name = "msbm7.tfm", vector = "tex-mb" },
+ -- { name = "rm-lmbx8.tfm", vector = "tex-bf" } ,
+ { name = "lmroman8-bold.otf", vector = "tex-bf" } ,
+ { name = "lmmib7.tfm", vector = "tex-bi", skewchar=0x7F } ,
+ { name = "lmsans8-regular.otf", vector = "tex-ss", optional=true },
+ { name = "lmmono8-regular.otf", vector = "tex-tt", optional=true },
+ { name = "eufm7.tfm", vector = "tex-fraktur", optional=true },
+ { name = "eufb7.tfm", vector = "tex-fraktur-bold", optional=true },
+}
+
+-- rm-lmr9 : LMMathRoman9-Regular
+-- rm-lmbx9 : LMMathRoman9-Bold
+-- lmsy9 : LMMathSymbols9-Italic
+-- lmmi9 : LMMathItalic9-Italic
+
+local nine = {
+ { name = "lmroman9-regular.otf", features = "virtualmath", main = true },
+ { name = "rm-lmr9.tfm", vector = "tex-mr-missing" } ,
+ { name = "lmmi9.tfm", vector = "tex-mi", skewchar=0x7F },
+ { name = "lmmi9.tfm", vector = "tex-it", skewchar=0x7F },
+ { name = "lmsy9.tfm", vector = "tex-sy", skewchar=0x30, parameters = true } ,
+ { name = "lmex10.tfm", vector = "tex-ex", extension = true } ,
+ { name = "msam10.tfm", vector = "tex-ma" },
+ { name = "msbm10.tfm", vector = "tex-mb" },
+ -- { name = "rm-lmbx9.tfm", vector = "tex-bf" } ,
+ { name = "lmroman9-bold.otf", vector = "tex-bf" } ,
+ { name = "lmmib10.tfm", vector = "tex-bi", skewchar=0x7F } ,
+ { name = "lmsans9-regular.otf", vector = "tex-ss", optional=true },
+ { name = "lmmono9-regular.otf", vector = "tex-tt", optional=true },
+ { name = "eufm10.tfm", vector = "tex-fraktur", optional=true },
+ { name = "eufb10.tfm", vector = "tex-fraktur-bold", optional=true },
+}
+
+-- rm-lmr10 : LMMathRoman10-Regular
+-- rm-lmbx10 : LMMathRoman10-Bold
+-- lmbsy10 : LMMathSymbols10-BoldItalic
+-- lmsy10 : LMMathSymbols10-Italic
+-- lmex10 : LMMathExtension10-Regular
+-- lmmi10 : LMMathItalic10-Italic
+-- lmmib10 : LMMathItalic10-BoldItalic
+
+local ten = {
+ { name = "lmroman10-regular.otf", features = "virtualmath", main = true },
+ { name = "rm-lmr10.tfm", vector = "tex-mr-missing" } ,
+ { name = "lmmi10.tfm", vector = "tex-mi", skewchar=0x7F },
+ { name = "lmmi10.tfm", vector = "tex-it", skewchar=0x7F },
+ { name = "lmsy10.tfm", vector = "tex-sy", skewchar=0x30, parameters = true } ,
+ { name = "lmex10.tfm", vector = "tex-ex", extension = true } ,
+ { name = "msam10.tfm", vector = "tex-ma" },
+ { name = "msbm10.tfm", vector = "tex-mb" },
+ -- { name = "rm-lmbx10.tfm", vector = "tex-bf" } ,
+ { name = "lmroman10-bold.otf", vector = "tex-bf" } ,
+ { name = "lmmib10.tfm", vector = "tex-bi", skewchar=0x7F } ,
+ { name = "lmsans10-regular.otf", vector = "tex-ss", optional=true },
+ { name = "lmmono10-regular.otf", vector = "tex-tt", optional=true },
+ { name = "eufm10.tfm", vector = "tex-fraktur", optional=true },
+ { name = "eufb10.tfm", vector = "tex-fraktur-bold", optional=true },
+}
+
+local ten_bold = {
+ { name = "lmroman10-bold.otf", features = "virtualmath", main = true },
+ { name = "rm-lmr10.tfm", vector = "tex-mr-missing" } ,
+ { name = "lmmib10.tfm", vector = "tex-mi", skewchar=0x7F },
+ { name = "lmmib10.tfm", vector = "tex-it", skewchar=0x7F },
+ { name = "lmbsy10.tfm", vector = "tex-sy", skewchar=0x30, parameters = true } ,
+ { name = "lmex10.tfm", vector = "tex-ex", extension = true } ,
+-- copied from roman:
+ { name = "msam10.tfm", vector = "tex-ma" },
+ { name = "msbm10.tfm", vector = "tex-mb" },
+ -- { name = "rm-lmbx10.tfm", vector = "tex-bf" } ,
+ { name = "lmroman10-bold.otf", vector = "tex-bf" } ,
+ { name = "lmmib10.tfm", vector = "tex-bi", skewchar=0x7F } ,
+ { name = "lmsans10-regular.otf", vector = "tex-ss", optional=true },
+ { name = "lmmono10-regular.otf", vector = "tex-tt", optional=true },
+ { name = "eufm10.tfm", vector = "tex-fraktur", optional=true },
+ { name = "eufb10.tfm", vector = "tex-fraktur-bold", optional=true },
+}
+
+-- rm-lmr12 : LMMathRoman12-Regular
+-- rm-lmbx12 : LMMathRoman12-Bold
+-- lmmi12 : LMMathItalic12-Italic
+
+local twelve = {
+ { name = "lmroman12-regular.otf", features = "virtualmath", main = true },
+ { name = "rm-lmr12.tfm", vector = "tex-mr-missing" } ,
+ { name = "lmmi12.tfm", vector = "tex-mi", skewchar=0x7F },
+ { name = "lmmi12.tfm", vector = "tex-it", skewchar=0x7F },
+ { name = "lmsy10.tfm", vector = "tex-sy", skewchar=0x30, parameters = true } ,
+ { name = "lmex10.tfm", vector = "tex-ex", extension = true } ,
+ { name = "msam10.tfm", vector = "tex-ma" },
+ { name = "msbm10.tfm", vector = "tex-mb" },
+ -- { name = "rm-lmbx12.tfm", vector = "tex-bf" } ,
+ { name = "lmroman12-bold.otf", vector = "tex-bf" } ,
+ { name = "lmmib10.tfm", vector = "tex-bi", skewchar=0x7F } ,
+ { name = "lmsans12-regular.otf", vector = "tex-ss", optional=true },
+ { name = "lmmono12-regular.otf", vector = "tex-tt", optional=true },
+ { name = "eufm10.tfm", vector = "tex-fraktur", optional=true },
+ { name = "eufb10.tfm", vector = "tex-fraktur-bold", optional=true },
+}
+
+-- rm-lmr17 : LMMathRoman17-Regular
+
+local seventeen = {
+ { name = "lmroman17-regular.otf", features = "virtualmath", main = true },
+ { name = "rm-lmr12.tfm", vector = "tex-mr-missing" } ,
+ { name = "lmmi12.tfm", vector = "tex-mi", skewchar=0x7F },
+ { name = "lmmi12.tfm", vector = "tex-it", skewchar=0x7F },
+ { name = "lmsy10.tfm", vector = "tex-sy", skewchar=0x30, parameters = true } ,
+ { name = "lmex10.tfm", vector = "tex-ex", extension = true } ,
+ { name = "msam10.tfm", vector = "tex-ma" },
+ { name = "msbm10.tfm", vector = "tex-mb" },
+ -- { name = "rm-lmbx12.tfm", vector = "tex-bf" } ,
+ { name = "lmroman12-bold.otf", vector = "tex-bf" } ,
+ { name = "lmmib10.tfm", vector = "tex-bi", skewchar=0x7F } ,
+ { name = "lmsans17-regular.otf", vector = "tex-ss", optional=true },
+ { name = "lmmono17-regular.otf", vector = "tex-tt", optional=true },
+ { name = "eufm10.tfm", vector = "tex-fraktur", optional=true },
+ { name = "eufb10.tfm", vector = "tex-fraktur-bold", optional=true },
+}
+
+return {
+ name = "lm-math",
+ version = "1.00",
+ comment = "Goodies that complement latin modern math.",
+ author = "Hans Hagen",
+ copyright = "ConTeXt development team",
+ mathematics = {
+ mapfiles = {
+ "lm-math.map",
+ "lm-rm.map",
+ "mkiv-base.map",
+ },
+ virtuals = {
+ ["lmroman5-math"] = five,
+ ["lmroman6-math"] = six,
+ ["lmroman7-math"] = seven,
+ ["lmroman8-math"] = eight,
+ ["lmroman9-math"] = nine,
+ ["lmroman10-math"] = ten,
+ ["lmroman10-boldmath"] = ten_bold,
+ ["lmroman12-math"] = twelve,
+ ["lmroman17-math"] = seventeen,
+ }
+ }
+}
diff --git a/tex/context/fonts/lucida-math.lfg b/tex/context/fonts/lucida-math.lfg
new file mode 100644
index 000000000..83c3c272d
--- /dev/null
+++ b/tex/context/fonts/lucida-math.lfg
@@ -0,0 +1,320 @@
+fonts.enc.math["lbr-ma"] = {
+ [0x025CB] = 0x00, -- circle
+ [0x025CF] = 0x01, -- blackcircle
+ [0x025A1] = 0x02, -- square
+ [0x025A0] = 0x03, -- blacksquare
+ [0x025B3] = 0x04, -- triangleup
+ [0x025B2] = 0x05, -- blacktriangleup
+ [0x025BD] = 0x06, -- triangledown
+ [0x025BC] = 0x07, -- blacktriangledown
+ [0x02B28] = 0x08, -- lozenge
+ [0x02B27] = 0x09, -- blacklozenge
+ [0x02B29] = 0x0A, -- blackdiamond
+ [0x02571] = 0x0B, -- upright
+ [0x02572] = 0x0C, -- downright
+ [0x022E4] = 0x0D, -- squareimageofnoteq
+ [0x022E5] = 0x0E, -- squareoriginalofnoteq
+ [0x02A4F] = 0x0F, -- dblsquareunion
+ [0x02A4E] = 0x10, -- dblsquareintersection
+ [0x02A64] = 0x11, -- zdomainantirestriction
+ [0x02A65] = 0x12, -- zrangeantirestriction
+ [0x022EE] = 0x13, -- verticalellipsis
+ [0x022EF] = 0x14, -- ellipsis
+ [0x022F0] = 0x15, -- uprightellipsis
+ [0x022F1] = 0x16, -- downrightellipsis
+ [0x022D5] = 0x17, -- equalparallel
+
+ [0x0225B] = 0x1A, -- stareq
+ [0x00127] = 0x1B, -- hbar
+ [0x022F6] = 0x1C, -- barelementof
+ [0x02209] = 0x1D, -- notelementof
+ [0x022FD] = 0x1E, -- barcontains
+ [0x0220C] = 0x1F, -- notcontain
+ [0x02204] = 0x20, -- nexists
+ [0x02194] = 0x21, -- leftrightarrow
+ [0x02195] = 0x22, -- updownarrow
+ [0x0219E] = 0x23, -- leftleftarrow
+ [0x0219F] = 0x24, -- upuparrow
+ [0x021A0] = 0x25, -- rightrightarrow
+-- [0x00026] = 0x26, -- amperand
+ [0x021A1] = 0x27, -- downdownarrow
+ [0x021A2] = 0x28, -- leftarrowtail
+ [0x021A3] = 0x29, -- rightarrowtail
+ [0x021A4] = 0x2A, -- leftarrowbar
+ [0x021A6] = 0x2B, -- rightarrowbar
+ [0x021A5] = 0x2C, -- uparrowbar
+-- [0x02212] = 0x2D, -- minus
+-- [0x0002D] = 0x2D, -- minus
+ [0x021A7] = 0x2E, -- downarrowbar
+ [0x021E4] = 0x2F, -- barleftarrow
+ [0x021E5] = 0x30, -- barrightarrow
+
+ [0x021E0] = 0x38, -- dashleftarrow
+ [0x021E1] = 0x39, -- dashuparrow
+ [0x021E2] = 0x3A, -- dashrightarrow
+ [0x021E3] = 0x3B, -- dashdownarrow
+ [0x021A9] = 0x3C, -- hookleftarrow
+-- [0x0003D] = 0x3D, -- equalto
+ [0x021AA] = 0x3E, -- hookrightarrow
+ [0x021AB] = 0x3F, -- looparrowleft
+ [0x021AC] = 0x40, -- looparrowright
+ [0x1D538] = 0x41, -- A (blackboard A)
+ [0x1D539] = 0x42, -- B
+ [0x02102] = 0x43, -- C
+ [0x1D53B] = 0x44, -- D
+ [0x1D53C] = 0x45, -- E
+ [0x1D53D] = 0x46, -- F
+ [0x1D53E] = 0x47, -- G
+ [0x0210D] = 0x48, -- H
+ [0x1D540] = 0x49, -- I
+ [0x1D541] = 0x4A, -- J
+ [0x1D542] = 0x4B, -- K
+ [0x1D543] = 0x4C, -- L
+ [0x1D544] = 0x4D, -- M
+ [0x02115] = 0x4E, -- N
+ [0x1D546] = 0x4F, -- O
+ [0x02119] = 0x50, -- P
+ [0x0211A] = 0x51, -- Q
+ [0x0211D] = 0x52, -- R
+ [0x1D54A] = 0x53, -- S
+ [0x1D54B] = 0x54, -- T
+ [0x1D54C] = 0x55, -- U
+ [0x1D54D] = 0x56, -- V
+ [0x1D54E] = 0x57, -- W
+ [0x1D54F] = 0x58, -- X
+ [0x1D550] = 0x59, -- Y
+ [0x02124] = 0x5A, -- Z (blackboard Z)
+ [0x0231C] = 0x5B, -- ulcorner
+ [0x0231D] = 0x5C, -- urcorner
+ [0x0231E] = 0x5D, -- llcorner
+ [0x0231F] = 0x5E, -- lrcorner
+ [0x02225] = 0x5F, -- parallel, Vert, lVert, rVert, arrowvert
+ [0x021D5] = 0x60, -- Updownarrow
+ [0x021D4] = 0x61, -- Leftrightarrow
+ [0x021D6] = 0x62, -- Upleftarrow
+ [0x021D7] = 0x63, -- Uprightarrow
+ [0x021D9] = 0x64, -- Downleftarrow
+ [0x021D8] = 0x65, -- Downrightarrow
+ [0x021CD] = 0x66, -- nLeftarrow
+ [0x021CE] = 0x67, -- nLeftrightarrow
+ [0x021CF] = 0x68, -- nRightarrow
+-- [0x021CE] = 0x69, -- nLeftrightarrow -- what's the difference between this and 0x0067[0x021CE]
+ [0x021DA] = 0x6A, -- Lleftarrow
+ [0x1D55C] = 0x6B, -- k \Bbbk (blackboard k)
+ [0x021DB] = 0x6C, -- Rrightarrow
+ [0x021C4] = 0x6D, -- rlarrow
+ [0x021C6] = 0x6E, -- lrarrow
+ [0x021C5] = 0x6F, -- udarrow
+-- [0x021C5] = 0x70, -- duarrow
+ [0x021C7] = 0x71, -- llarrow
+ [0x021C8] = 0x72, -- uuarrow
+ [0x021C9] = 0x73, -- rrarrow
+ [0x021CA] = 0x74, -- ddarrow
+ [0x021BE] = 0x75, -- rupharpoon
+ [0x021BF] = 0x76, -- lupharpoon
+ [0x021C2] = 0x77, -- rdownharpoon
+ [0x021C3] = 0x78, -- ldownharpoon
+ [0x021CB] = 0x79, -- lrharpoon
+ [0x021CC] = 0x7A, -- rlharpoon
+ [0x021B0] = 0x7B, -- upthenleftarrow
+-- [0x00000] = 0x7C, -- part
+ [0x021B1] = 0x7D, -- upthenrightarrow
+-- [0x00000] = 0x7E, -- part
+ [0x02276] = 0x7F, -- ltgt
+ [0x021B2] = 0x81, -- downthenleftarrow
+ [0x021B3] = 0x82, -- downthenrightarrow
+ [0x02B0E] = 0x83, -- rightthendownarrow
+ [0x02B10] = 0x84, -- leftthendownarrow
+ [0x02B0F] = 0x85, -- rightthenuparrow
+ [0x02B11] = 0x86, -- leftthenuparrow
+ [0x021B6] = 0x87, -- leftarcarrow
+ [0x021B7] = 0x88, -- rightarcarrow
+ [0x0293D] = 0x89, -- leftarcarrowplus
+ [0x0293C] = 0x8A, -- rightarcarrowminus
+ [0x021BA] = 0x8B, -- anticlockwise
+ [0x021BB] = 0x8C, -- clockwise
+
+ [0x02260] = 0x94, -- noteq
+ [0x02262] = 0x95, -- notidentical
+ [0x02241] = 0x96, -- nottilde
+ [0x02244] = 0x97, -- notasymptoticallyequal
+ [0x02249] = 0x98, -- notalmostequal
+ [0x02247] = 0x99, -- notapproximatelyeq
+ [0x0226E] = 0x9A, -- nless
+ [0x0226F] = 0x9B, -- ngtr
+ [0x02270] = 0x9C, -- nleq
+ [0x02271] = 0x9D, -- ngeq
+ [0x022E6] = 0x9E, -- lnsim
+ [0x022E7] = 0x9F, -- gnsim
+ [0x02605] = 0xAB, -- black star
+ [0x02713] = 0xAC, -- check
+ [0x02277] = 0xC5, -- gtlt
+ [0x02284] = 0xC6, -- nsubsetof
+ [0x02285] = 0xC7, -- nsupsetof
+ [0x02288] = 0xC8, -- nsubseteq
+ [0x02289] = 0xC9, -- nsupseteq
+
+ [0x0228A] = 0xCC, -- subsetneq
+ [0x0228B] = 0xCD, -- supsetneq
+
+-- [0x0228A] = 0xD0, -- subsetneq
+-- [0x0228B] = 0xD1, -- supsetneq
+
+ [0x02270] = 0xD6, -- nleq
+ [0x02271] = 0xD7, -- ngeq
+
+ [0x02268] = 0xDC, -- lneqq
+ [0x02269] = 0xDD, -- gneqq
+
+ [0x022E6] = 0xE0, -- lnsim
+ [0x02219] = 0xE1, -- bullet
+ [0x022E7] = 0xE2, -- gnsim
+
+ [0x02280] = 0xE5, -- nprec
+ [0x02281] = 0xE6, -- nsucc
+
+ [0x022E8] = 0xEB, -- precnsim
+ [0x022E9] = 0xEC, -- succnsim
+
+ [0x022EA] = 0xEF, -- nnormalsub
+ [0x022EB] = 0xF0, -- ncontainnormalsub
+ [0x022EC] = 0xF1, -- nnormalsubeq
+ [0x022ED] = 0xF2, -- ncontainnormalsubeq
+
+ [0x02226] = 0xF7, -- nparallel
+ [0x022AC] = 0xF8, -- nvdash
+ [0x022AE] = 0xF9, -- nVdash
+ [0x022AD] = 0xFA, -- nvDash
+ [0x022AF] = 0xFB, -- nVDash
+}
+
+fonts.enc.math["lbr-mb"] = {
+ [0x00393] = 0x00, -- Gamma
+ [0x00394] = 0x01, -- Delta
+ [0x00398] = 0x02, -- Theta
+ [0x0039B] = 0x03, -- Lambda
+ [0x0039E] = 0x04, -- Xi
+ [0x003A0] = 0x05, -- Pi
+ [0x003A3] = 0x06, -- Sigma
+ [0x003A5] = 0x07, -- Upsilon
+ [0x003A6] = 0x08, -- Phi
+ [0x003A8] = 0x09, -- Psi
+ [0x003A9] = 0x0A, -- Omega
+ [0x0210F] = 0x9D, -- hslash
+ [0x02127] = 0x92, -- mho
+ [0x02132] = 0x90, -- Finv
+ [0x02136] = 0x95, -- beth
+ [0x02137] = 0x96, -- gimel
+ [0x02138] = 0x97, -- daleth
+ [0x02141] = 0x91, -- Game
+ [0x02201] = 0x94, -- complement
+ [0x0226C] = 0xF2, -- between
+ [0x0227C] = 0xE4, -- preccurlyeq
+ [0x0227D] = 0xE5, -- succcurlyeq
+ [0x0229D] = 0xCC, -- circleddash
+ [0x022A8] = 0xD6, -- vDash
+ [0x022AA] = 0xD3, -- Vvdash
+ [0x022B8] = 0xC7, -- multimap
+ [0x022BB] = 0xD2, -- veebar
+ [0x022C7] = 0xF7, -- divideontimes
+ [0x022C9] = 0xCF, -- ltimes
+ [0x022CA] = 0xCE, -- rtimes
+ [0x022CB] = 0xD0, -- leftthreetimes
+ [0x022CC] = 0xD1, -- rightthreetimes
+ [0x022D6] = 0xDC, -- lessdot
+ [0x022D7] = 0xDD, -- gtrdot
+ [0x022DA] = 0xE8, -- lesseqgtr
+ [0x022DB] = 0xE9, -- gtreqless
+ [0x022DE] = 0xE6, -- curlyeqprec
+ [0x022DF] = 0xE7, -- curlyeqsucc
+ [0x024C7] = 0xC9, -- circledR
+ [0x024C8] = 0xCA, -- circledS
+ [0x025B6] = 0xF1, -- blacktriangleright
+ [0x025B8] = 0xF0, -- blacktriangleleft
+ [0x02720] = 0xCB, -- maltese
+ [0x02A7D] = 0xE0, -- leqslant
+ [0x02A7E] = 0xE1, -- geqslant
+ [0x02A85] = 0xDA, -- lessapprox
+ [0x02A86] = 0xDB, -- gtrapprox
+ [0x02A8B] = 0xEA, -- lesseqqgtr
+ [0x02A8C] = 0xEB, -- gtreqqless
+ [0x02A95] = 0xE2, -- eqslantless
+ [0x02A96] = 0xE3, -- eqslantgtr
+ [0x02AB7] = 0xEC, -- precapprox
+ [0x02AB8] = 0xED, -- succapprox
+ [0x02AC5] = 0xEE, -- subseteqq
+ [0x02AC6] = 0xEF, -- supseteqq
+ [0x12035] = 0xC8, -- backprime
+ [0x1D718] = 0x9B, -- varkappa
+}
+
+fonts.enc.math["lbr-sy"] = {
+ [0x021CB] = 0x8D, -- leftrightharpoons
+ [0x021CC] = 0x8E, -- rightleftharpoons
+ [0x02214] = 0x89, -- dotplus
+ [0x02220] = 0x8B, -- angle
+ [0x02221] = 0x8C, -- measuredangle
+ [0x02222] = 0x8D, -- sphericalangle
+ [0x02234] = 0x90, -- therefore
+ [0x02235] = 0x91, -- because
+ [0x0223D] = 0x24, -- backsim
+ [0x02242] = 0x99, -- eqsim
+ [0x0224A] = 0x9D, -- approxeq
+ [0x0224E] = 0xC7, -- Bumpeq
+ [0x02252] = 0xCB, -- fallingdotseq
+ [0x02253] = 0xCC, -- risingdotseq
+ [0x02256] = 0xCF, -- eqcirc
+ [0x02257] = 0xD0, -- circeq
+ [0x0225C] = 0xD5, -- triangleq
+ [0x02266] = 0xDA, -- leqq
+ [0x02267] = 0xDB, -- geqq
+ [0x02272] = 0xDC, -- lesssim
+ [0x02273] = 0xDD, -- gtrsim
+ [0x02276] = 0xDE, -- lessgtr
+ [0x02277] = 0xDF, -- gtrless
+ [0x0227E] = 0xE0, -- precsim
+ [0x0227F] = 0xE1, -- succsim
+ [0x0228F] = 0xE4, -- sqsubset
+ [0x02290] = 0xE5, -- sqsupset
+ [0x0229A] = 0xE6, -- circledcirc
+ [0x0229B] = 0xE7, -- circledast
+ [0x0229E] = 0xEA, -- boxplus
+ [0x0229F] = 0xEB, -- boxminus
+ [0x022A0] = 0xEC, -- boxtimes
+ [0x022A1] = 0xED, -- boxdot
+ [0x022A7] = 0xEE, -- models
+ [0x022A9] = 0xF0, -- Vdash
+ [0x022BC] = 0xF6, -- barwedge
+ [0x022CE] = 0x85, -- curlyvee
+ [0x022CF] = 0x84, -- curlywedge
+ [0x022D0] = 0xF8, -- Subset
+ [0x022D1] = 0xF9, -- Supset
+ [0x02300] = 0x53, -- varnothing
+ [0x025CA] = 0x05, -- lozenge
+}
+
+fonts.enc.math["lbr-sy"] = table.merged(fonts.enc.math["tex-sy"],fonts.enc.math["lbr-sy"])
+
+return {
+ name = "lucida-math",
+ version = "1.00",
+ comment = "Goodies that complement lucida math.",
+ author = "Aditya, Hans, Mojca",
+ copyright = "ConTeXt development team",
+ mathematics = {
+ mapfiles = {
+ "lucida.map",
+ },
+ virtuals = {
+ ["lucida-math"] = {
+ { name = "file:lbr.afm", features = "virtualmath", main = true },
+ { name = "hlcrim.tfm", vector = "tex-mi", skewchar=0x7F },
+ { name = "hlcrim.tfm", vector = "tex-it", skewchar=0x7F },
+ { name = "hlcry.tfm", vector = "lbr-sy", skewchar=0x30, parameters = true },
+ { name = "hlcrv.tfm", vector = "tex-ex", extension = true },
+ { name = "hlcra.tfm", vector = "lbr-ma" },
+ { name = "hlcrm.tfm", vector = "lbr-mb" },
+ }
+ }
+ }
+}
diff --git a/tex/context/fonts/mathtimes-math.lfg b/tex/context/fonts/mathtimes-math.lfg
new file mode 100644
index 000000000..951cb6838
--- /dev/null
+++ b/tex/context/fonts/mathtimes-math.lfg
@@ -0,0 +1,24 @@
+return {
+ name = "mathtimes-math",
+ version = "1.00",
+ comment = "Goodies that complement mathtimes math.",
+ author = "Hans Hagen",
+ copyright = "ConTeXt development team",
+ mathematics = {
+ mapfiles = {
+ "mathtime.map",
+ "mkiv-base.map",
+ },
+ virtuals = {
+ ["mathtimes-math"] = {
+ { name = "file:texgyretermes-regular.otf", features = "virtualmath", main = true },
+ { name = "mtmiz.tfm", vector = "tex-mi", skewchar=0x7F },
+ { name = "mtmiz.tfm", vector = "tex-it", skewchar=0x7F },
+ { name = "mtsyn.tfm", vector = "tex-sy", skewchar=0x30, parameters = true },
+ { name = "mtex.tfm", vector = "tex-ex", extension = true },
+ { name = "msam10.tfm", vector = "tex-ma" },
+ { name = "msbm10.tfm", vector = "tex-mb" },
+ }
+ }
+ }
+}
diff --git a/tex/context/fonts/px-math.lfg b/tex/context/fonts/px-math.lfg
new file mode 100644
index 000000000..b261f0701
--- /dev/null
+++ b/tex/context/fonts/px-math.lfg
@@ -0,0 +1,24 @@
+return {
+ name = "px-math",
+ version = "1.00",
+ comment = "Goodies that complement px math.",
+ author = "Hans Hagen",
+ copyright = "ConTeXt development team",
+ mathematics = {
+ mapfiles = {
+ "mkiv-px.map",
+ },
+ virtuals = {
+ ["px-math"] = {
+ { name = "texgyrepagella-regular.otf", features = "virtualmath", main = true },
+ { name = "rpxr.tfm", vector = "tex-mr" } ,
+ { name = "rpxmi.tfm", vector = "tex-mi", skewchar=0x7F },
+ { name = "rpxpplri.tfm", vector = "tex-it", skewchar=0x7F },
+ { name = "pxsy.tfm", vector = "tex-sy", skewchar=0x30, parameters = true } ,
+ { name = "pxex.tfm", vector = "tex-ex", extension = true } ,
+ { name = "pxsya.tfm", vector = "tex-ma" },
+ { name = "pxsyb.tfm", vector = "tex-mb" },
+ },
+ }
+ }
+}
diff --git a/tex/context/fonts/symbol-math.lfg b/tex/context/fonts/symbol-math.lfg
new file mode 100644
index 000000000..d37a3b1ee
--- /dev/null
+++ b/tex/context/fonts/symbol-math.lfg
@@ -0,0 +1,17 @@
+return {
+ name = "symbol-math",
+ version = "1.00",
+ comment = "Goodies that complement symbol math.",
+ author = "Hans Hagen",
+ copyright = "ConTeXt development team",
+ mathematics = {
+ mapfiles = {
+ "mkiv-base.map",
+ },
+ virtuals = {
+ ["symbol-math"] = {
+ { name = "rsfs10", features = "virtualmath", main = true }, -- tfm name needed
+ },
+ }
+ }
+}
diff --git a/tex/context/fonts/tx-math.lfg b/tex/context/fonts/tx-math.lfg
new file mode 100644
index 000000000..f1d532773
--- /dev/null
+++ b/tex/context/fonts/tx-math.lfg
@@ -0,0 +1,24 @@
+return {
+ name = "tx-math",
+ version = "1.00",
+ comment = "Goodies that complement tx math.",
+ author = "Hans Hagen",
+ copyright = "ConTeXt development team",
+ mathematics = {
+ mapfiles = {
+ "mkiv-tx.map",
+ },
+ virtuals = {
+ ["tx-math"] = {
+ { name = "texgyretermes-regular.otf", features = "virtualmath", main = true },
+ { name = "rtxr.tfm", vector = "tex-mr" } ,
+ { name = "rtxptmri.tfm", vector = "tex-it", skewchar=0x7F },
+ { name = "rtxmi.tfm", vector = "tex-mi", skewchar=0x7F },
+ { name = "txsy.tfm", vector = "tex-sy", skewchar=0x30, parameters = true } ,
+ { name = "txex.tfm", vector = "tex-ex", extension = true } ,
+ { name = "txsya.tfm", vector = "tex-ma" },
+ { name = "txsyb.tfm", vector = "tex-mb" },
+ }
+ }
+ }
+}
diff --git a/tex/context/fonts/utopia-math.lfg b/tex/context/fonts/utopia-math.lfg
new file mode 100644
index 000000000..4074aa886
--- /dev/null
+++ b/tex/context/fonts/utopia-math.lfg
@@ -0,0 +1,28 @@
+return {
+ name = "utopia-math",
+ version = "1.00",
+ comment = "Goodies that complement utopia math.",
+ author = "Hans, Mojca, Aditya",
+ copyright = "ConTeXt development team",
+ mathematics = {
+ mapfiles = {
+ "mdput.map",
+ "mkiv-base.map",
+ },
+ virtuals = {
+ ["utopia-math"] = {
+ -- { name = "file:putr8a", features = "virtualmath", main = true },
+ { name = "file:putri8a", features = "virtualmath", main = true },
+ -- { name = "md-utr7m.tfm", vector = "tex-mr" },
+ { name = "md-utri7m.tfm", vector = "tex-mi", skewchar=0x7F },
+ { name = "md-utri7m.tfm", vector = "tex-it", skewchar=0x7F },
+ { name = "md-utr7y.tfm", vector = "tex-sy", skewchar=0x30, parameters = true },
+ { name = "md-utr7v.tfm", vector = "tex-ex", extension = true },
+ -- { name = "md-utbma.tfm", vector = "tex-ma" },
+ -- { name = "md-utbmb.tfm", vector = "tex-mb" },
+ { name = "msam10.tfm", vector = "tex-ma" },
+ { name = "msbm10.tfm", vector = "tex-mb" },
+ }
+ }
+ }
+}