CMYK colors; font fixes
This commit is contained in:
parent
f08bff5578
commit
48a2346275
6
fonts.js
6
fonts.js
@ -167,7 +167,7 @@ var Font = (function () {
|
||||
}
|
||||
|
||||
Fonts[name] = {
|
||||
data: data,
|
||||
data: file,
|
||||
properties: properties,
|
||||
loading: true,
|
||||
cache: Object.create(null)
|
||||
@ -1188,8 +1188,8 @@ var type1Parser = new Type1Parser();
|
||||
|
||||
var CFF = function(name, file, properties) {
|
||||
// Get the data block containing glyphs and subrs informations
|
||||
var length1 = file.dict.get("Length1");
|
||||
var length2 = file.dict.get("Length2");
|
||||
var length1 = file.dict.get("Length1") || 0;
|
||||
var length2 = file.dict.get("Length2") || 0;
|
||||
file.skip(length1);
|
||||
var eexecBlock = file.getBytes(length2);
|
||||
|
||||
|
15
pdf.js
15
pdf.js
@ -2940,6 +2940,8 @@ var CanvasGraphics = (function() {
|
||||
this.setStrokeGray.apply(this, arguments);
|
||||
} else if (3 === arguments.length) {
|
||||
this.setStrokeRGBColor.apply(this, arguments);
|
||||
} else if (4 === arguments.length) {
|
||||
this.setStrokeCMYKColor.apply(this, arguments);
|
||||
}
|
||||
},
|
||||
setStrokeColorN: function(/*...*/) {
|
||||
@ -2952,6 +2954,8 @@ var CanvasGraphics = (function() {
|
||||
this.setFillGray.apply(this, arguments);
|
||||
} else if (3 === arguments.length) {
|
||||
this.setFillRGBColor.apply(this, arguments);
|
||||
} else if (4 === arguments.length) {
|
||||
this.setFillCMYKColor.apply(this, arguments);
|
||||
}
|
||||
},
|
||||
setFillColorN: function(/*...*/) {
|
||||
@ -3095,10 +3099,10 @@ var CanvasGraphics = (function() {
|
||||
this.ctx.fillStyle = this.makeCssRgb(r, g, b);
|
||||
},
|
||||
setStrokeCMYKColor: function(c, m, y, k) {
|
||||
TODO("CMYK space");
|
||||
this.ctx.strokeStyle = this.makeCssCmyk(c, m, y, k);
|
||||
},
|
||||
setFillCMYKColor: function(c, m, y, k) {
|
||||
TODO("CMYK space");
|
||||
this.ctx.fillStyle = this.makeCssCmyk(c, m, y, k);
|
||||
},
|
||||
|
||||
// Shading
|
||||
@ -3487,6 +3491,13 @@ var CanvasGraphics = (function() {
|
||||
var ri = (255 * r) | 0, gi = (255 * g) | 0, bi = (255 * b) | 0;
|
||||
return "rgb("+ ri +","+ gi +","+ bi +")";
|
||||
},
|
||||
makeCssCmyk: function(c, m, y, k) {
|
||||
// while waiting on CSS's cmyk()... http://www.ilkeratalay.com/colorspacesfaq.php#rgb
|
||||
var ri = (255 * (1 - Math.min(1, c * (1 - k) + k))) | 0;
|
||||
var gi = (255 * (1 - Math.min(1, m * (1 - k) + k))) | 0;
|
||||
var bi = (255 * (1 - Math.min(1, y * (1 - k) + k))) | 0;
|
||||
return "rgb("+ ri +","+ gi +","+ bi +")";
|
||||
},
|
||||
// We generally keep the canvas context set for
|
||||
// nonzero-winding, and just set evenodd for the operations
|
||||
// that need them.
|
||||
|
Loading…
Reference in New Issue
Block a user