Skip to content

Commit c0071b9

Browse files
authored
Merge pull request #1057 from mathjax/package/dsfont
Adds the dsfont package.
2 parents 888a09a + 462cce2 commit c0071b9

File tree

3 files changed

+88
-0
lines changed

3 files changed

+88
-0
lines changed
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{
2+
"build": {
3+
"id": "[tex]/dsfont",
4+
"component": "input/tex/extensions/dsfont",
5+
"targets": ["input/tex/dsfont"]
6+
},
7+
"webpack": {
8+
"name": "input/tex/extensions/dsfont",
9+
"libs": [
10+
"components/src/input/tex-base/lib",
11+
"components/src/core/lib"
12+
]
13+
}
14+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import './lib/dsfont.js';
2+
import {MathJax, combineDefaults} from 'mathjax-full/js/components/global.js';
3+
4+
const FONTPATH = (typeof document === 'undefined' ?
5+
'@mathjax/mathjax-dsfont-font-extension' :
6+
'https://cdn.jsdelivr.net/npm/mathjax-dsfont-font-extension');
7+
8+
if (MathJax.config?.loader) {
9+
combineDefaults(MathJax.config.loader, 'paths', {
10+
'mathjax-dsfont-extension': FONTPATH
11+
});
12+
MathJax.config.loader['[tex]/dsfont'] = {
13+
checkReady() {
14+
return MathJax.loader.load(`[mathjax-dsfont-extension]/${MathJax.config?.startup?.output || 'chtml'}`);
15+
}
16+
};
17+
}
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
/*************************************************************
2+
*
3+
* Copyright (c) 2017-2023 The MathJax Consortium
4+
*
5+
* Licensed under the Apache License, Version 2.0 (the "License");
6+
* you may not use this file except in compliance with the License.
7+
* You may obtain a copy of the License at
8+
*
9+
* http://www.apache.org/licenses/LICENSE-2.0
10+
*
11+
* Unless required by applicable law or agreed to in writing, software
12+
* distributed under the License is distributed on an "AS IS" BASIS,
13+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
* See the License for the specific language governing permissions and
15+
* limitations under the License.
16+
*/
17+
18+
19+
/**
20+
* @fileoverview The dsfont package.
21+
*
22+
* @author v.sorge@mathjax.org (Volker Sorge)
23+
*/
24+
25+
import {Configuration} from '../Configuration.js';
26+
import {CommandMap} from '../TokenMap.js';
27+
import BaseMethods from '../base/BaseMethods.js';
28+
import TexParser from '../TexParser.js';
29+
30+
/**
31+
* The methods that implement the dsfont package.
32+
*/
33+
34+
new CommandMap('dsfont', {
35+
mathds: 'ChooseFont',
36+
}, {
37+
ChooseFont: function (parser: TexParser, name: string) {
38+
BaseMethods.MathFont(
39+
parser, name,
40+
parser.options.dsfont.sans ? '-ds-ss' : '-ds-rm');
41+
}
42+
});
43+
44+
//
45+
// Define the package configuration, including switch for sans serif.
46+
//
47+
export const DsfontConfiguration = Configuration.create('dsfont', {
48+
handler: {
49+
macro: ['dsfont'],
50+
},
51+
options: {
52+
dsfont: {
53+
sans: false
54+
}
55+
}
56+
});
57+

0 commit comments

Comments
 (0)