Skip to content

Commit ebbd47f

Browse files
committed
feat: pPTX: Better fonts support in pptx
new options parameter for addText: pitch_family and charset.
1 parent 4bfff80 commit ebbd47f

File tree

4 files changed

+48
-30
lines changed

4 files changed

+48
-30
lines changed

CHANGELOG

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
- Version 0.6.4:
2+
- PPTX: Better fonts support in pptx: new options parameter for addText: pitch_family and charset.
23
- Apple Pages compatibility and more options (thanks apsavin!).
34
- Merge pull request #349 from isdh/patch-1.
45
- More options for tables.

examples/make_pptx.js

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,20 @@ function generateExampleSlides(callback) {
118118

119119
slide = pptx.makeNewSlide()
120120

121+
pObj = slide.addText('Office generator', {
122+
y: 'c',
123+
x: 0,
124+
cx: '100%',
125+
cy: '2cm',
126+
font_face: 'Rubik',
127+
pitch_family: 2,
128+
charset: -79,
129+
font_size: 74,
130+
align: 'center'
131+
})
132+
133+
slide = pptx.makeNewSlide()
134+
121135
slide.show = false
122136
slide.addText('Red line', 'ff0000')
123137
slide.addShape(pptx.shapes.OVAL, {

lib/pptx/genpptx.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -695,13 +695,16 @@ function makePptx(genobj, new_type, options, gen_private, type_info) {
695695
out_obj.rpr_info += shapes.createColorElements(slide_obj.color)
696696
} // Endif.
697697

698+
var pitchFamily = text_info.pitch_family || text_info.pitch_family === 0 ? text_info.pitch_family : 34
699+
var charset = text_info.charset || text_info.charset === 0 ? text_info.charset : 0
700+
698701
if (text_info.font_face) {
699702
out_obj.rpr_info +=
700703
'<a:latin typeface="' +
701704
text_info.font_face +
702-
'" pitchFamily="34" charset="0"/><a:cs typeface="' +
705+
'" pitchFamily="' + pitchFamily + '" charset="' + charset + '"/><a:cs typeface="' +
703706
text_info.font_face +
704-
'" pitchFamily="34" charset="0"/>'
707+
'" pitchFamily="' + pitchFamily + '" charset="' + charset + '"/>'
705708
} // Endif.
706709
} else {
707710
if (slide_obj && slide_obj.color) {

package.json

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -55,26 +55,26 @@
5555
"prettify:all": "prettier --write \"{lib,examples,tests,plugins,test_files}/**/*.{jsx,js}\""
5656
},
5757
"dependencies": {
58-
"archiver": "~3.1.1",
58+
"archiver": "~5.2.0",
5959
"async": "^3.2.0",
6060
"fast-image-size": "^0.1.3",
61-
"jszip": "^3.2.2",
62-
"lodash": "^4.17.15",
61+
"jszip": "^3.6.0",
62+
"lodash": "^4.17.21",
6363
"readable-stream": "~3.6.0",
6464
"setimmediate": "~1.0.5",
65-
"xmlbuilder": "^15.1.0"
65+
"xmlbuilder": "^15.1.1"
6666
},
6767
"devDependencies": {
68-
"@babel/core": "^7.9.0",
69-
"@babel/node": "^7.8.7",
70-
"@babel/preset-env": "^7.9.0",
71-
"@babel/preset-flow": "^7.9.0",
68+
"@babel/core": "^7.13.8",
69+
"@babel/node": "^7.13.0",
70+
"@babel/preset-env": "^7.13.9",
71+
"@babel/preset-flow": "^7.12.13",
7272
"babel-core": "^7.0.0-bridge.0",
7373
"babel-eslint": "^10.1.0",
7474
"better-npm-run": "^0.1.1",
75-
"chai": "^4.2.0",
76-
"commitizen": "^4.0.3",
77-
"cz-conventional-changelog": "^3.1.0",
75+
"chai": "^4.3.3",
76+
"commitizen": "^4.2.3",
77+
"cz-conventional-changelog": "^3.3.0",
7878
"esdoc": "^1.1.0",
7979
"esdoc-brand-plugin": "^1.0.1",
8080
"esdoc-ecmascript-proposal-plugin": "^1.0.0",
@@ -83,32 +83,32 @@
8383
"esdoc-integrate-test-plugin": "^1.0.0",
8484
"esdoc-lint-plugin": "^1.0.2",
8585
"esdoc-standard-plugin": "^1.0.0",
86-
"eslint": "^6.8.0",
86+
"eslint": "^7.21.0",
8787
"eslint-config-mocha": "^0.0.0",
88-
"eslint-config-prettier": "^6.10.1",
89-
"eslint-config-standard": "^14.1.1",
90-
"eslint-plugin-flowtype": "^4.7.0",
91-
"eslint-plugin-import": "^2.20.1",
92-
"eslint-plugin-mocha": "^6.3.0",
88+
"eslint-config-prettier": "^8.1.0",
89+
"eslint-config-standard": "^16.0.2",
90+
"eslint-plugin-flowtype": "^5.3.1",
91+
"eslint-plugin-import": "^2.22.1",
92+
"eslint-plugin-mocha": "^8.1.0",
9393
"eslint-plugin-mocha-only": "^0.0.3",
94-
"eslint-plugin-node": "^11.0.0",
95-
"eslint-plugin-prettier": "^3.1.2",
96-
"eslint-plugin-promise": "^4.2.1",
97-
"eslint-plugin-standard": "^4.0.1",
98-
"flow-bin": "^0.121.0",
99-
"flow-typed": "^3.1.0",
100-
"mocha": "^7.1.1",
94+
"eslint-plugin-node": "^11.1.0",
95+
"eslint-plugin-prettier": "^3.3.1",
96+
"eslint-plugin-promise": "^4.3.1",
97+
"eslint-plugin-standard": "^5.0.0",
98+
"flow-bin": "^0.146.0",
99+
"flow-typed": "^3.3.1",
100+
"mocha": "^8.3.0",
101101
"npm-run-all": "^4.1.5",
102-
"prettier": "2.0.2",
102+
"prettier": "2.2.1",
103103
"rimraf": "^3.0.2",
104-
"rollup": "^2.2.0",
104+
"rollup": "^2.40.0",
105105
"rollup-plugin-babel": "^4.4.0",
106106
"rollup-plugin-commonjs": "^10.1.0",
107107
"rollup-plugin-cpy": "^2.0.1",
108108
"rollup-plugin-json": "^4.0.0",
109109
"rollup-plugin-node-resolve": "^5.2.0",
110-
"rollup-plugin-terser": "^5.3.0",
111-
"sinon": "^9.0.1"
110+
"rollup-plugin-terser": "^7.0.2",
111+
"sinon": "^9.2.4"
112112
},
113113
"config": {
114114
"commitizen": {

0 commit comments

Comments
 (0)