p5 2.0.0 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{src → dist}/accessibility/color_namer.js +48 -3
- package/{src → dist}/accessibility/describe.js +2 -2
- package/{src → dist}/accessibility/gridOutput.js +2 -2
- package/dist/accessibility/index.js +60 -0
- package/{src → dist}/accessibility/outputs.js +2 -2
- package/{src → dist}/accessibility/textOutput.js +2 -2
- package/dist/app.js +120 -0
- package/{src → dist}/color/color_conversion.js +48 -10
- package/{src → dist}/color/color_spaces/hsb.js +3 -1
- package/dist/color/creating_reading.js +3 -0
- package/dist/color/index.js +13 -0
- package/dist/color/p5.Color.culori.js +1 -0
- package/dist/color/p5.Color.js +3 -0
- package/{src → dist}/color/setting.js +9 -6
- package/{src/core/constants.js → dist/constants-C-g_eAdC.js} +266 -130
- package/{src → dist}/core/States.js +3 -1
- package/dist/core/constants.js +1 -0
- package/{src → dist}/core/environment.js +7 -6
- package/{src → dist}/core/friendly_errors/browser_errors.js +1 -1
- package/{src → dist}/core/friendly_errors/fes_core.js +14 -44
- package/{src → dist}/core/friendly_errors/file_errors.js +6 -3
- package/dist/core/friendly_errors/index.js +23 -0
- package/dist/core/friendly_errors/param_validator.js +5455 -0
- package/{src → dist}/core/friendly_errors/sketch_reader.js +50 -4
- package/{src → dist}/core/friendly_errors/sketch_verifier.js +6 -6
- package/{src → dist}/core/friendly_errors/stacktrace.js +3 -5
- package/{src → dist}/core/friendly_errors/validate_params.js +50 -41
- package/{src → dist}/core/helpers.js +9 -6
- package/dist/core/init.js +105 -0
- package/dist/core/internationalization.js +302 -0
- package/dist/core/legacy.js +73 -0
- package/dist/core/main.js +44 -0
- package/dist/core/noop.js +3 -0
- package/dist/core/p5.Graphics.js +40 -0
- package/dist/core/p5.Renderer.js +11 -0
- package/dist/core/p5.Renderer2D.js +44 -0
- package/dist/core/reference.js +1 -0
- package/dist/core/rendering.js +40 -0
- package/{src → dist}/core/structure.js +3 -3
- package/{src → dist}/core/transform.js +2 -2
- package/{src/color/creating_reading.js → dist/creating_reading-D4AAKRbx.js} +841 -13
- package/{src → dist}/data/index.js +3 -1
- package/{src → dist}/data/local_storage.js +2 -8
- package/{src → dist}/dom/dom.js +11 -5
- package/dist/dom/index.js +18 -0
- package/{src → dist}/dom/p5.Element.js +14 -12
- package/{src → dist}/dom/p5.File.js +4 -4
- package/{src → dist}/dom/p5.MediaElement.js +10 -4
- package/{src → dist}/events/acceleration.js +2 -2
- package/{src → dist}/events/index.js +3 -1
- package/{src → dist}/events/keyboard.js +14 -11
- package/{src → dist}/events/pointer.js +16 -17
- package/dist/image/const.js +9 -0
- package/{src → dist}/image/filterRenderer2D.js +57 -37
- package/{src → dist}/image/filters.js +1 -3
- package/dist/image/image.js +40 -0
- package/dist/image/index.js +51 -0
- package/dist/image/loading_displaying.js +40 -0
- package/dist/image/p5.Image.js +11 -0
- package/{src → dist}/image/pixels.js +4 -3
- package/{src → dist}/io/csv.js +72 -70
- package/dist/io/files.js +40 -0
- package/dist/io/index.js +51 -0
- package/{src → dist}/io/p5.Table.js +6 -6
- package/{src → dist}/io/p5.TableRow.js +3 -4
- package/{src → dist}/io/p5.XML.js +2 -5
- package/{src → dist}/io/utilities.js +1 -1
- package/{src/core/p5.Renderer2D.js → dist/main-s72KWcUy.js} +735 -57
- package/{src → dist}/math/Matrices/Matrix.js +10 -8
- package/{src → dist}/math/Matrices/MatrixInterface.js +5 -3
- package/{src → dist}/math/Matrices/MatrixNumjs.js +12 -26
- package/{src → dist}/math/calculation.js +2 -2
- package/{src → dist}/math/index.js +6 -3
- package/{src → dist}/math/math.js +2 -2
- package/{src → dist}/math/noise.js +2 -2
- package/{src → dist}/math/p5.Matrix.js +7 -4
- package/{src → dist}/math/p5.Vector.js +6 -6
- package/{src → dist}/math/random.js +2 -2
- package/{src → dist}/math/trigonometry.js +16 -15
- package/{src/image/p5.Image.js → dist/p5.Renderer-CwAYZOC2.js} +390 -19
- package/dist/rendering--aAe5aq3.js +24925 -0
- package/{src → dist}/shape/2d_primitives.js +18 -17
- package/{src → dist}/shape/attributes.js +18 -17
- package/{src → dist}/shape/curves.js +2 -2
- package/{src → dist}/shape/custom_shapes.js +44 -64
- package/{src → dist}/shape/index.js +10 -2
- package/{src → dist}/shape/vertex.js +2 -3
- package/dist/type/index.js +25 -0
- package/{src → dist}/type/lib/Typr.js +76 -94
- package/{src → dist}/type/p5.Font.js +37 -61
- package/{src → dist}/type/textCore.js +34 -57
- package/{src → dist}/type/unicodeRanges.js +3 -1
- package/{src → dist}/utilities/conversion.js +2 -2
- package/{src → dist}/utilities/index.js +3 -1
- package/{src → dist}/utilities/time_date.js +6 -7
- package/{src → dist}/utilities/utility_functions.js +2 -2
- package/dist/webgl/3d_primitives.js +40 -0
- package/{src → dist}/webgl/GeometryBufferCache.js +3 -1
- package/{src → dist}/webgl/GeometryBuilder.js +12 -8
- package/{src → dist}/webgl/ShaderGenerator.js +79 -82
- package/{src → dist}/webgl/ShapeBuilder.js +26 -23
- package/dist/webgl/index.js +76 -0
- package/{src → dist}/webgl/interaction.js +7 -6
- package/dist/webgl/light.js +40 -0
- package/{src → dist}/webgl/loading.js +45 -12
- package/dist/webgl/material.js +40 -0
- package/dist/webgl/p5.Camera.js +40 -0
- package/{src → dist}/webgl/p5.DataArray.js +3 -5
- package/dist/webgl/p5.Framebuffer.js +40 -0
- package/{src → dist}/webgl/p5.Geometry.js +12 -15
- package/{src → dist}/webgl/p5.Quat.js +5 -4
- package/{src → dist}/webgl/p5.RenderBuffer.js +2 -3
- package/dist/webgl/p5.RendererGL.js +40 -0
- package/dist/webgl/p5.Shader.js +40 -0
- package/dist/webgl/p5.Texture.js +40 -0
- package/{src → dist}/webgl/text.js +51 -9
- package/lib/p5.esm.js +102 -48
- package/lib/p5.js +102 -48
- package/lib/p5.min.js +1 -1
- package/package.json +17 -16
- package/translations/dev.js +6 -6
- package/translations/index.js +1 -1
- package/src/README.md +0 -27
- package/src/accessibility/index.js +0 -13
- package/src/app.js +0 -61
- package/src/color/index.js +0 -9
- package/src/color/p5.Color.culori.js +0 -66
- package/src/color/p5.Color.js +0 -851
- package/src/core/README.md +0 -91
- package/src/core/friendly_errors/index.js +0 -13
- package/src/core/friendly_errors/param_validator.js +0 -561
- package/src/core/init.js +0 -58
- package/src/core/internationalization.js +0 -195
- package/src/core/legacy.js +0 -29
- package/src/core/main.js +0 -689
- package/src/core/noop.js +0 -1
- package/src/core/p5.Graphics.js +0 -696
- package/src/core/p5.Renderer.js +0 -408
- package/src/core/reference.js +0 -2060
- package/src/core/rendering.js +0 -697
- package/src/dom/index.js +0 -11
- package/src/image/const.js +0 -6
- package/src/image/image.js +0 -731
- package/src/image/index.js +0 -15
- package/src/image/loading_displaying.js +0 -1431
- package/src/io/files.js +0 -2210
- package/src/io/index.js +0 -11
- package/src/math/README.md +0 -40
- package/src/type/index.js +0 -9
- package/src/webgl/3d_primitives.js +0 -2741
- package/src/webgl/index.js +0 -37
- package/src/webgl/light.js +0 -1851
- package/src/webgl/material.js +0 -3854
- package/src/webgl/p5.Camera.js +0 -4010
- package/src/webgl/p5.Framebuffer.js +0 -1865
- package/src/webgl/p5.RendererGL.js +0 -2867
- package/src/webgl/p5.Shader.js +0 -1505
- package/src/webgl/p5.Texture.js +0 -541
- package/src/webgl/shaders/basic.frag +0 -6
- package/src/webgl/shaders/filters/base.frag +0 -22
- package/src/webgl/shaders/filters/base.vert +0 -19
- package/src/webgl/shaders/filters/blur.frag +0 -60
- package/src/webgl/shaders/filters/default.vert +0 -18
- package/src/webgl/shaders/filters/dilate.frag +0 -39
- package/src/webgl/shaders/filters/erode.frag +0 -39
- package/src/webgl/shaders/filters/gray.frag +0 -16
- package/src/webgl/shaders/filters/invert.frag +0 -15
- package/src/webgl/shaders/filters/opaque.frag +0 -12
- package/src/webgl/shaders/filters/posterize.frag +0 -29
- package/src/webgl/shaders/filters/threshold.frag +0 -23
- package/src/webgl/shaders/font.frag +0 -216
- package/src/webgl/shaders/font.vert +0 -44
- package/src/webgl/shaders/imageLight.vert +0 -33
- package/src/webgl/shaders/imageLightDiffused.frag +0 -82
- package/src/webgl/shaders/imageLightSpecular.frag +0 -134
- package/src/webgl/shaders/light.vert +0 -37
- package/src/webgl/shaders/light_texture.frag +0 -26
- package/src/webgl/shaders/lighting.glsl +0 -227
- package/src/webgl/shaders/line.frag +0 -74
- package/src/webgl/shaders/line.vert +0 -294
- package/src/webgl/shaders/normal.frag +0 -6
- package/src/webgl/shaders/normal.vert +0 -72
- package/src/webgl/shaders/phong.frag +0 -84
- package/src/webgl/shaders/phong.vert +0 -87
- package/src/webgl/shaders/point.frag +0 -29
- package/src/webgl/shaders/point.vert +0 -19
- package/src/webgl/shaders/sphereMapping.frag +0 -26
- package/src/webgl/shaders/webgl2Compatibility.glsl +0 -34
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { inflate } from 'pako';
|
|
2
|
+
|
|
2
3
|
// Mocking the pako module to just have inflate for a smaller package size
|
|
3
4
|
const pako = { inflate };
|
|
4
5
|
|
|
@@ -54,7 +55,7 @@ Typr["parse"] = function (buff) {
|
|
|
54
55
|
}
|
|
55
56
|
}
|
|
56
57
|
return obj;
|
|
57
|
-
}
|
|
58
|
+
};
|
|
58
59
|
|
|
59
60
|
function woffToOtf(data) {
|
|
60
61
|
var numTables = bin.readUshort(data, 12);
|
|
@@ -101,8 +102,8 @@ Typr["parse"] = function (buff) {
|
|
|
101
102
|
var tag = bin.readASCII(data, 0, 4);
|
|
102
103
|
if (tag == "ttcf") {
|
|
103
104
|
var offset = 4;
|
|
104
|
-
|
|
105
|
-
|
|
105
|
+
bin.readUshort(data, offset); offset += 2;
|
|
106
|
+
bin.readUshort(data, offset); offset += 2;
|
|
106
107
|
var numF = bin.readUint(data, offset); offset += 4;
|
|
107
108
|
var fnts = [];
|
|
108
109
|
for (var i = 0; i < numF; i++) {
|
|
@@ -129,7 +130,7 @@ Typr["parse"] = function (buff) {
|
|
|
129
130
|
}
|
|
130
131
|
|
|
131
132
|
return [fnt];
|
|
132
|
-
}
|
|
133
|
+
};
|
|
133
134
|
|
|
134
135
|
|
|
135
136
|
Typr["findTable"] = function (data, tab, foff) {
|
|
@@ -138,14 +139,14 @@ Typr["findTable"] = function (data, tab, foff) {
|
|
|
138
139
|
var offset = foff + 12;
|
|
139
140
|
for (var i = 0; i < numTables; i++) {
|
|
140
141
|
var tag = bin.readASCII(data, offset, 4); //console.log(tag);
|
|
141
|
-
|
|
142
|
+
bin.readUint(data, offset + 4);
|
|
142
143
|
var toffset = bin.readUint(data, offset + 8);
|
|
143
144
|
var length = bin.readUint(data, offset + 12);
|
|
144
145
|
if (tag == tab) return [toffset, length];
|
|
145
146
|
offset += 16;
|
|
146
147
|
}
|
|
147
148
|
return null;
|
|
148
|
-
}
|
|
149
|
+
};
|
|
149
150
|
/*
|
|
150
151
|
Typr["splitBy"] = function(data,tag) {
|
|
151
152
|
data = new Uint8Array(data); console.log(data.slice(0,64));
|
|
@@ -371,10 +372,10 @@ Typr["T"].CFF = {
|
|
|
371
372
|
offset = 0;
|
|
372
373
|
|
|
373
374
|
// Header
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
375
|
+
data[offset]; offset++;
|
|
376
|
+
data[offset]; offset++;
|
|
377
|
+
data[offset]; offset++;
|
|
378
|
+
data[offset]; offset++;
|
|
378
379
|
//console.log(major, minor, hdrSize, offsize);
|
|
379
380
|
|
|
380
381
|
// Name INDEX
|
|
@@ -462,14 +463,13 @@ Typr["T"].CFF = {
|
|
|
462
463
|
obj["Subrs"] = Typr["T"].CFF.readBytes(data, offset);
|
|
463
464
|
|
|
464
465
|
var bias, nSubrs = obj["Subrs"].length + 1;
|
|
465
|
-
if (
|
|
466
|
-
else if (nSubrs < 1240) bias = 107;
|
|
466
|
+
if (nSubrs < 1240) bias = 107;
|
|
467
467
|
else if (nSubrs < 33900) bias = 1131;
|
|
468
468
|
else bias = 32768;
|
|
469
469
|
obj["Bias"] = bias;
|
|
470
470
|
},
|
|
471
471
|
readBytes: function (data, offset) {
|
|
472
|
-
|
|
472
|
+
Typr["B"];
|
|
473
473
|
var arr = [];
|
|
474
474
|
offset = Typr["T"].CFF.readIndex(data, offset, arr);
|
|
475
475
|
|
|
@@ -604,7 +604,7 @@ Typr["T"].CFF = {
|
|
|
604
604
|
getCharString: function (data, offset, o) {
|
|
605
605
|
var bin = Typr["B"];
|
|
606
606
|
|
|
607
|
-
var b0 = data[offset], b1 = data[offset + 1]
|
|
607
|
+
var b0 = data[offset], b1 = data[offset + 1]; data[offset + 2]; data[offset + 3]; data[offset + 4];
|
|
608
608
|
var vs = 1;
|
|
609
609
|
var op = null, val = null;
|
|
610
610
|
// operand
|
|
@@ -629,7 +629,7 @@ Typr["T"].CFF = {
|
|
|
629
629
|
var arr = [];
|
|
630
630
|
|
|
631
631
|
while (offset < end) {
|
|
632
|
-
var b0 = data[offset], b1 = data[offset + 1]
|
|
632
|
+
var b0 = data[offset], b1 = data[offset + 1]; data[offset + 2]; data[offset + 3]; data[offset + 4];
|
|
633
633
|
var vs = 1;
|
|
634
634
|
var op = null, val = null;
|
|
635
635
|
// operand
|
|
@@ -661,7 +661,7 @@ Typr["T"].CFF = {
|
|
|
661
661
|
var carr = [];
|
|
662
662
|
|
|
663
663
|
while (offset < end) {
|
|
664
|
-
var b0 = data[offset], b1 = data[offset + 1]
|
|
664
|
+
var b0 = data[offset], b1 = data[offset + 1]; data[offset + 2]; data[offset + 3]; data[offset + 4];
|
|
665
665
|
var vs = 1;
|
|
666
666
|
var key = null, val = null;
|
|
667
667
|
// operand
|
|
@@ -719,10 +719,8 @@ Typr["T"].cmap = {
|
|
|
719
719
|
var obj = { tables: [], ids: {}, off: offset };
|
|
720
720
|
data = new Uint8Array(data.buffer, offset, length);
|
|
721
721
|
offset = 0;
|
|
722
|
-
|
|
723
|
-
var offset0 = offset;
|
|
724
722
|
var bin = Typr["B"], rU = bin.readUshort, cmap = Typr["T"].cmap;
|
|
725
|
-
|
|
723
|
+
rU(data, offset); offset += 2;
|
|
726
724
|
var numTables = rU(data, offset); offset += 2;
|
|
727
725
|
|
|
728
726
|
//console.log(version, numTables);
|
|
@@ -768,7 +766,7 @@ Typr["T"].cmap = {
|
|
|
768
766
|
var bin = Typr["B"];
|
|
769
767
|
offset += 2;
|
|
770
768
|
var len = bin.readUshort(data, offset); offset += 2;
|
|
771
|
-
|
|
769
|
+
bin.readUshort(data, offset); offset += 2;
|
|
772
770
|
obj.map = [];
|
|
773
771
|
for (var i = 0; i < len - 6; i++) obj.map.push(data[offset + i]);
|
|
774
772
|
return obj;
|
|
@@ -779,7 +777,7 @@ Typr["T"].cmap = {
|
|
|
779
777
|
var offset0 = offset;
|
|
780
778
|
offset += 2;
|
|
781
779
|
var length = rU(data, offset); offset += 2;
|
|
782
|
-
|
|
780
|
+
rU(data, offset); offset += 2;
|
|
783
781
|
var segCountX2 = rU(data, offset); offset += 2;
|
|
784
782
|
var segCount = segCountX2 >>> 1;
|
|
785
783
|
obj.searchRange = rU(data, offset); offset += 2;
|
|
@@ -797,10 +795,9 @@ Typr["T"].cmap = {
|
|
|
797
795
|
|
|
798
796
|
parse6: function (data, offset, obj) {
|
|
799
797
|
var bin = Typr["B"];
|
|
800
|
-
var offset0 = offset;
|
|
801
798
|
offset += 2;
|
|
802
|
-
|
|
803
|
-
|
|
799
|
+
bin.readUshort(data, offset); offset += 2;
|
|
800
|
+
bin.readUshort(data, offset); offset += 2;
|
|
804
801
|
obj.firstCode = bin.readUshort(data, offset); offset += 2;
|
|
805
802
|
var entryCount = bin.readUshort(data, offset); offset += 2;
|
|
806
803
|
obj.glyphIdArray = [];
|
|
@@ -811,10 +808,9 @@ Typr["T"].cmap = {
|
|
|
811
808
|
|
|
812
809
|
parse12: function (data, offset, obj) {
|
|
813
810
|
var bin = Typr["B"], rU = bin.readUint;
|
|
814
|
-
var offset0 = offset;
|
|
815
811
|
offset += 4;
|
|
816
|
-
|
|
817
|
-
|
|
812
|
+
rU(data, offset); offset += 4;
|
|
813
|
+
rU(data, offset); offset += 4;
|
|
818
814
|
var nGroups = rU(data, offset) * 3; offset += 4;
|
|
819
815
|
|
|
820
816
|
var gps = obj.groups = new Uint32Array(nGroups);//new Uint32Array(data.slice(offset, offset+nGroups*12).buffer);
|
|
@@ -832,22 +828,22 @@ Typr["T"].CBLC = {
|
|
|
832
828
|
parseTab: function (data, offset, length) {
|
|
833
829
|
var bin = Typr["B"], ooff = offset;
|
|
834
830
|
|
|
835
|
-
|
|
836
|
-
|
|
831
|
+
bin.readUshort(data, offset); offset += 2;
|
|
832
|
+
bin.readUshort(data, offset); offset += 2;
|
|
837
833
|
|
|
838
834
|
var numSizes = bin.readUint(data, offset); offset += 4;
|
|
839
835
|
|
|
840
836
|
var out = [];
|
|
841
837
|
for (var i = 0; i < numSizes; i++) {
|
|
842
838
|
var off = bin.readUint(data, offset); offset += 4; // indexSubTableArrayOffset
|
|
843
|
-
|
|
844
|
-
|
|
839
|
+
bin.readUint(data, offset); offset += 4; // indexTablesSize
|
|
840
|
+
bin.readUint(data, offset); offset += 4; // numberOfIndexSubTables
|
|
845
841
|
offset += 4;
|
|
846
842
|
|
|
847
843
|
offset += 2 * 12;
|
|
848
844
|
|
|
849
|
-
|
|
850
|
-
|
|
845
|
+
bin.readUshort(data, offset); offset += 2;
|
|
846
|
+
bin.readUshort(data, offset); offset += 2;
|
|
851
847
|
|
|
852
848
|
//console.log(off,siz,num, sGlyph, eGlyph);
|
|
853
849
|
|
|
@@ -881,8 +877,7 @@ Typr["T"].CBLC = {
|
|
|
881
877
|
|
|
882
878
|
Typr["T"].CBDT = {
|
|
883
879
|
parseTab: function (data, offset, length) {
|
|
884
|
-
|
|
885
|
-
var ooff = offset;
|
|
880
|
+
Typr["B"];
|
|
886
881
|
|
|
887
882
|
//var maj = bin.readUshort(data,offset); offset+=2;
|
|
888
883
|
//var min = bin.readUshort(data,offset); offset+=2;
|
|
@@ -959,17 +954,11 @@ Typr["T"].glyf = {
|
|
|
959
954
|
else {
|
|
960
955
|
var ARG_1_AND_2_ARE_WORDS = 1 << 0;
|
|
961
956
|
var ARGS_ARE_XY_VALUES = 1 << 1;
|
|
962
|
-
var ROUND_XY_TO_GRID = 1 << 2;
|
|
963
957
|
var WE_HAVE_A_SCALE = 1 << 3;
|
|
964
|
-
var RESERVED = 1 << 4;
|
|
965
958
|
var MORE_COMPONENTS = 1 << 5;
|
|
966
959
|
var WE_HAVE_AN_X_AND_Y_SCALE = 1 << 6;
|
|
967
960
|
var WE_HAVE_A_TWO_BY_TWO = 1 << 7;
|
|
968
961
|
var WE_HAVE_INSTRUCTIONS = 1 << 8;
|
|
969
|
-
var USE_MY_METRICS = 1 << 9;
|
|
970
|
-
var OVERLAP_COMPOUND = 1 << 10;
|
|
971
|
-
var SCALED_COMPONENT_OFFSET = 1 << 11;
|
|
972
|
-
var UNSCALED_COMPONENT_OFFSET = 1 << 12;
|
|
973
962
|
|
|
974
963
|
gl.parts = [];
|
|
975
964
|
var flags;
|
|
@@ -1016,11 +1005,11 @@ Typr["T"].head = {
|
|
|
1016
1005
|
parseTab: function (data, offset, length) {
|
|
1017
1006
|
var bin = Typr["B"];
|
|
1018
1007
|
var obj = {};
|
|
1019
|
-
|
|
1008
|
+
bin.readFixed(data, offset); offset += 4;
|
|
1020
1009
|
|
|
1021
1010
|
obj["fontRevision"] = bin.readFixed(data, offset); offset += 4;
|
|
1022
|
-
|
|
1023
|
-
|
|
1011
|
+
bin.readUint(data, offset); offset += 4;
|
|
1012
|
+
bin.readUint(data, offset); offset += 4;
|
|
1024
1013
|
obj["flags"] = bin.readUshort(data, offset); offset += 2;
|
|
1025
1014
|
obj["unitsPerEm"] = bin.readUshort(data, offset); offset += 2;
|
|
1026
1015
|
obj["created"] = bin.readUint64(data, offset); offset += 8;
|
|
@@ -1042,7 +1031,7 @@ Typr["T"].hhea = {
|
|
|
1042
1031
|
parseTab: function (data, offset, length) {
|
|
1043
1032
|
var bin = Typr["B"];
|
|
1044
1033
|
var obj = {};
|
|
1045
|
-
|
|
1034
|
+
bin.readFixed(data, offset); offset += 4;
|
|
1046
1035
|
|
|
1047
1036
|
var keys = ["ascender", "descender", "lineGap",
|
|
1048
1037
|
"advanceWidthMax", "minLeftSideBearing", "minRightSideBearing", "xMaxExtent",
|
|
@@ -1100,14 +1089,14 @@ Typr["T"].kern = {
|
|
|
1100
1089
|
parseV1: function (data, offset, length, font) {
|
|
1101
1090
|
var bin = Typr["B"], kern = Typr["T"].kern;
|
|
1102
1091
|
|
|
1103
|
-
|
|
1092
|
+
bin.readFixed(data, offset); // 0x00010000
|
|
1104
1093
|
var nTables = bin.readUint(data, offset + 4); offset += 8;
|
|
1105
1094
|
|
|
1106
1095
|
var map = { glyph1: [], rval: [] };
|
|
1107
1096
|
for (var i = 0; i < nTables; i++) {
|
|
1108
|
-
|
|
1097
|
+
bin.readUint(data, offset); offset += 4;
|
|
1109
1098
|
var coverage = bin.readUshort(data, offset); offset += 2;
|
|
1110
|
-
|
|
1099
|
+
bin.readUshort(data, offset); offset += 2;
|
|
1111
1100
|
var format = coverage & 0xff;
|
|
1112
1101
|
if (format == 0) offset = kern.readFormat0(data, offset, map);
|
|
1113
1102
|
//else throw "unknown kern table format: "+format;
|
|
@@ -1119,14 +1108,14 @@ Typr["T"].kern = {
|
|
|
1119
1108
|
var bin = Typr["B"], rUs = bin.readUshort;
|
|
1120
1109
|
var pleft = -1;
|
|
1121
1110
|
var nPairs = rUs(data, offset);
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1111
|
+
rUs(data, offset + 2);
|
|
1112
|
+
rUs(data, offset + 4);
|
|
1113
|
+
rUs(data, offset + 6); offset += 8;
|
|
1125
1114
|
for (var j = 0; j < nPairs; j++) {
|
|
1126
1115
|
var left = rUs(data, offset); offset += 2;
|
|
1127
1116
|
var right = rUs(data, offset); offset += 2;
|
|
1128
1117
|
var value = bin.readShort(data, offset); offset += 2;
|
|
1129
|
-
if (left != pleft) { map.glyph1.push(left); map.rval.push({ glyph2: [], vals: [] }) }
|
|
1118
|
+
if (left != pleft) { map.glyph1.push(left); map.rval.push({ glyph2: [], vals: [] }); }
|
|
1130
1119
|
var rval = map.rval[map.rval.length - 1];
|
|
1131
1120
|
rval.glyph2.push(right); rval.vals.push(value);
|
|
1132
1121
|
pleft = left;
|
|
@@ -1160,7 +1149,7 @@ Typr["T"].maxp = {
|
|
|
1160
1149
|
var obj = {};
|
|
1161
1150
|
|
|
1162
1151
|
// both versions 0.5 and 1.0
|
|
1163
|
-
|
|
1152
|
+
bin.readUint(data, offset); offset += 4;
|
|
1164
1153
|
|
|
1165
1154
|
obj["numGlyphs"] = rU(data, offset); offset += 2;
|
|
1166
1155
|
|
|
@@ -1190,7 +1179,7 @@ Typr["T"].name = {
|
|
|
1190
1179
|
parseTab: function (data, offset, length) {
|
|
1191
1180
|
var bin = Typr["B"];
|
|
1192
1181
|
var obj = {};
|
|
1193
|
-
|
|
1182
|
+
bin.readUshort(data, offset); offset += 2;
|
|
1194
1183
|
var count = bin.readUshort(data, offset); offset += 2;
|
|
1195
1184
|
var stringOffset = bin.readUshort(data, offset); offset += 2;
|
|
1196
1185
|
|
|
@@ -1239,8 +1228,7 @@ Typr["T"].name = {
|
|
|
1239
1228
|
|
|
1240
1229
|
var soff = ooo + noffset;
|
|
1241
1230
|
var str;
|
|
1242
|
-
if (
|
|
1243
|
-
else if (platformID == 0) str = bin.readUnicode(data, soff, slen / 2);
|
|
1231
|
+
if (platformID == 0) str = bin.readUnicode(data, soff, slen / 2);
|
|
1244
1232
|
else if (platformID == 3 && encodingID == 0) str = bin.readUnicode(data, soff, slen / 2);
|
|
1245
1233
|
else if (platformID == 1 && encodingID == 25) str = bin.readUnicode(data, soff, slen / 2);
|
|
1246
1234
|
else if (encodingID == 0) str = bin.readASCII(data, soff, slen);
|
|
@@ -1250,7 +1238,7 @@ Typr["T"].name = {
|
|
|
1250
1238
|
else if (encodingID == 5) str = bin.readUnicode(data, soff, slen / 2);
|
|
1251
1239
|
else if (encodingID == 10) str = bin.readUnicode(data, soff, slen / 2);
|
|
1252
1240
|
|
|
1253
|
-
else if (platformID == 1) { str = bin.readASCII(data, soff, slen); console.log("reading unknown MAC encoding " + encodingID + " as ASCII") }
|
|
1241
|
+
else if (platformID == 1) { str = bin.readASCII(data, soff, slen); console.log("reading unknown MAC encoding " + encodingID + " as ASCII"); }
|
|
1254
1242
|
else {
|
|
1255
1243
|
console.log("unknown encoding " + encodingID + ", platformID: " + platformID);
|
|
1256
1244
|
str = bin.readASCII(data, soff, slen);
|
|
@@ -1293,7 +1281,7 @@ Typr["T"].name = {
|
|
|
1293
1281
|
if (out[psn] == null && out["ID"] != null) out[psn] = out["ID"];
|
|
1294
1282
|
return out;
|
|
1295
1283
|
}
|
|
1296
|
-
}
|
|
1284
|
+
};
|
|
1297
1285
|
|
|
1298
1286
|
Typr["T"].OS2 = {
|
|
1299
1287
|
parseTab: function (data, offset, length) {
|
|
@@ -1375,7 +1363,7 @@ Typr["T"].OS2 = {
|
|
|
1375
1363
|
obj["usUpperOpticalPointSize"] = rU(data, offset); offset += 2;
|
|
1376
1364
|
return offset;
|
|
1377
1365
|
}
|
|
1378
|
-
}
|
|
1366
|
+
};
|
|
1379
1367
|
|
|
1380
1368
|
Typr["T"].post = {
|
|
1381
1369
|
parseTab: function (data, offset, length) {
|
|
@@ -1397,9 +1385,9 @@ Typr["T"].SVG = {
|
|
|
1397
1385
|
|
|
1398
1386
|
var offset0 = offset;
|
|
1399
1387
|
|
|
1400
|
-
|
|
1388
|
+
bin.readUshort(data, offset); offset += 2;
|
|
1401
1389
|
var svgDocIndexOffset = bin.readUint(data, offset); offset += 4;
|
|
1402
|
-
|
|
1390
|
+
bin.readUint(data, offset); offset += 4;
|
|
1403
1391
|
|
|
1404
1392
|
offset = svgDocIndexOffset + offset0;
|
|
1405
1393
|
|
|
@@ -1494,8 +1482,8 @@ Typr["T"].cpal = {
|
|
|
1494
1482
|
var vsn = bin.readUshort(data, offset); offset += 2;
|
|
1495
1483
|
|
|
1496
1484
|
if (vsn == 0) {
|
|
1497
|
-
|
|
1498
|
-
|
|
1485
|
+
bin.readUshort(data, offset); offset += 2;
|
|
1486
|
+
bin.readUshort(data, offset); offset += 2;
|
|
1499
1487
|
var tot = bin.readUshort(data, offset); offset += 2;
|
|
1500
1488
|
|
|
1501
1489
|
var fst = bin.readUint(data, offset); offset += 4;
|
|
@@ -1519,15 +1507,15 @@ Typr["T"].GSUB = {
|
|
|
1519
1507
|
parseTab: function (data, offset, length, obj) {
|
|
1520
1508
|
//console.log(obj.name.ID);
|
|
1521
1509
|
|
|
1522
|
-
var bin = Typr["B"], rU = bin.readUshort
|
|
1510
|
+
var bin = Typr["B"], rU = bin.readUshort; bin.readUint;
|
|
1523
1511
|
|
|
1524
1512
|
|
|
1525
1513
|
var off = offset;
|
|
1526
|
-
|
|
1527
|
-
|
|
1528
|
-
|
|
1514
|
+
rU(data, off); off += 2;
|
|
1515
|
+
rU(data, off); off += 2;
|
|
1516
|
+
rU(data, off); off += 2;
|
|
1529
1517
|
var flO = rU(data, off); off += 2;
|
|
1530
|
-
|
|
1518
|
+
rU(data, off); off += 2;
|
|
1531
1519
|
|
|
1532
1520
|
//console.log(maj,min,slO,flO,llO);
|
|
1533
1521
|
|
|
@@ -1537,7 +1525,7 @@ Typr["T"].GSUB = {
|
|
|
1537
1525
|
var cnt = rU(data, off); off += 2;
|
|
1538
1526
|
for (var i = 0; i < cnt; i++) {
|
|
1539
1527
|
var tag = bin.readASCII(data, off, 4); off += 4;
|
|
1540
|
-
|
|
1528
|
+
rU(data, off); off += 2;
|
|
1541
1529
|
fmap[tag] = true;
|
|
1542
1530
|
}
|
|
1543
1531
|
//console.log(fmap);
|
|
@@ -1653,7 +1641,7 @@ Typr["T"].gvar = (function () {
|
|
|
1653
1641
|
var tcnt = bin.readUshort(data, off); off += 2;
|
|
1654
1642
|
var toff = bin.readUint(data, off); off += 4;
|
|
1655
1643
|
var gcnt = bin.readUshort(data, off); off += 2;
|
|
1656
|
-
|
|
1644
|
+
bin.readUshort(data, off); off += 2;
|
|
1657
1645
|
|
|
1658
1646
|
var goff = bin.readUint(data, off); off += 4;
|
|
1659
1647
|
|
|
@@ -1688,7 +1676,7 @@ Typr["T"].gvar = (function () {
|
|
|
1688
1676
|
// offset to the serialized data
|
|
1689
1677
|
var soff = bin.readUshort(data, off); off += 2;
|
|
1690
1678
|
|
|
1691
|
-
var hdr = readTupleVarHeader(data, off, vcnt, acnt
|
|
1679
|
+
var hdr = readTupleVarHeader(data, off, vcnt, acnt);
|
|
1692
1680
|
|
|
1693
1681
|
var tab = []; tabs.push(tab);
|
|
1694
1682
|
// Serialized Data
|
|
@@ -1696,7 +1684,7 @@ Typr["T"].gvar = (function () {
|
|
|
1696
1684
|
|
|
1697
1685
|
var sind = null;
|
|
1698
1686
|
if (snum) {
|
|
1699
|
-
var oo = readPointNumbers(data, off
|
|
1687
|
+
var oo = readPointNumbers(data, off);
|
|
1700
1688
|
sind = oo[0]; off = oo[1];
|
|
1701
1689
|
}
|
|
1702
1690
|
|
|
@@ -1705,7 +1693,7 @@ Typr["T"].gvar = (function () {
|
|
|
1705
1693
|
|
|
1706
1694
|
var ind = sind;
|
|
1707
1695
|
if (vr[2] & PRIVATE_POINT_NUMBERS) {
|
|
1708
|
-
var oo = readPointNumbers(data, off
|
|
1696
|
+
var oo = readPointNumbers(data, off);
|
|
1709
1697
|
ind = oo[0]; off = oo[1];
|
|
1710
1698
|
}
|
|
1711
1699
|
// read packed deltas (delta runs)
|
|
@@ -1761,7 +1749,7 @@ Typr["T"].avar = {
|
|
|
1761
1749
|
Typr["T"].HVAR = {
|
|
1762
1750
|
parseTab: function (data, offset, length, obj) {
|
|
1763
1751
|
var off = offset, oo = offset;
|
|
1764
|
-
var bin = Typr["B"]
|
|
1752
|
+
var bin = Typr["B"];
|
|
1765
1753
|
|
|
1766
1754
|
//console.log(data.slice(off));
|
|
1767
1755
|
off += 4;
|
|
@@ -1873,7 +1861,7 @@ Typr["U"] = function () {
|
|
|
1873
1861
|
CurveTo: function (p, a, b, c, d, e, f) { p.cmds.push("C"); p.crds.push(a, b, c, d, e, f); },
|
|
1874
1862
|
qCurveTo: function (p, a, b, c, d) { p.cmds.push("Q"); p.crds.push(a, b, c, d); },
|
|
1875
1863
|
ClosePath: function (p) { p.cmds.push("Z"); }
|
|
1876
|
-
}
|
|
1864
|
+
};
|
|
1877
1865
|
|
|
1878
1866
|
function getGlyphPosition(font, gls, i1, ltr) {
|
|
1879
1867
|
var g1 = gls[i1], g2 = gls[i1 + 1], kern = font["kern"];
|
|
@@ -1889,7 +1877,7 @@ Typr["U"] = function () {
|
|
|
1889
1877
|
}
|
|
1890
1878
|
function shape(font, str, prm) {
|
|
1891
1879
|
if (prm == null) prm = {};
|
|
1892
|
-
|
|
1880
|
+
prm["ltr"]; prm["fts"]; var axs = prm["axs"];
|
|
1893
1881
|
if (font["fvar"] && axs == null) axs = font["fvar"][1][font["_index"]][2];
|
|
1894
1882
|
|
|
1895
1883
|
var HVAR = font["HVAR"]; //console.log(HVAR);
|
|
@@ -1900,10 +1888,9 @@ Typr["U"] = function () {
|
|
|
1900
1888
|
gls.push(codeToGlyph(font, cc));
|
|
1901
1889
|
}
|
|
1902
1890
|
var shape = [];
|
|
1903
|
-
var x = 0, y = 0;
|
|
1904
1891
|
|
|
1905
1892
|
for (var i = 0; i < gls.length; i++) {
|
|
1906
|
-
var padj = getGlyphPosition(font, gls, i
|
|
1893
|
+
var padj = getGlyphPosition(font, gls, i);
|
|
1907
1894
|
var gid = gls[i]; //console.log(gid);
|
|
1908
1895
|
var ax = font["hmtx"].aWidth[gid] + padj[2];
|
|
1909
1896
|
if (HVAR && HVAR[1][gid]) { //ax+=S*HVAR[1][gid][0];
|
|
@@ -1913,7 +1900,6 @@ Typr["U"] = function () {
|
|
|
1913
1900
|
}
|
|
1914
1901
|
}
|
|
1915
1902
|
shape.push({ "g": gid, "cl": i, "dx": 0, "dy": 0, "ax": ax, "ay": 0 });
|
|
1916
|
-
x += ax;
|
|
1917
1903
|
}
|
|
1918
1904
|
return shape;
|
|
1919
1905
|
}
|
|
@@ -1924,7 +1910,7 @@ Typr["U"] = function () {
|
|
|
1924
1910
|
if (prm) { clr = prm["clr"]; axs = prm["axs"]; }
|
|
1925
1911
|
|
|
1926
1912
|
for (var i = 0; i < shape.length; i++) {
|
|
1927
|
-
var it = shape[i]
|
|
1913
|
+
var it = shape[i];
|
|
1928
1914
|
var path = glyphToPath(font, it["g"], false, axs), crds = path["crds"];
|
|
1929
1915
|
for (var j = 0; j < crds.length; j += 2) {
|
|
1930
1916
|
tpath.crds.push(crds[j] + x + it["dx"]);
|
|
@@ -2128,7 +2114,7 @@ Typr["U"] = function () {
|
|
|
2128
2114
|
}
|
|
2129
2115
|
}
|
|
2130
2116
|
function _interpolate(axs, v) {
|
|
2131
|
-
|
|
2117
|
+
v.length; var S = 1;
|
|
2132
2118
|
var s = axs[0]; // start
|
|
2133
2119
|
var p = axs[1]; // peak
|
|
2134
2120
|
var e = axs[2]; // end
|
|
@@ -2345,7 +2331,7 @@ Typr["U"] = function () {
|
|
|
2345
2331
|
rx = num(dx + ex); ry = num(dy + ey);
|
|
2346
2332
|
// if this "lineTo" leads to the starting point, and "Z" follows, do not output anything.
|
|
2347
2333
|
if (cmds[i + 1] == "Z" && crds[co] == mx && crds[co + 1] == my) { rx = dx; ry = dy; }
|
|
2348
|
-
else if (rx == 0 && ry == 0)
|
|
2334
|
+
else if (rx == 0 && ry == 0) ;
|
|
2349
2335
|
else if (rx == 0) o0.push("v", ry);
|
|
2350
2336
|
else if (ry == 0) o0.push("h", rx);
|
|
2351
2337
|
else { o0.push("l", rx, ry); }
|
|
@@ -2378,7 +2364,7 @@ Typr["U"] = function () {
|
|
|
2378
2364
|
|
|
2379
2365
|
function mipmapB(buff, w, h, hlp) {
|
|
2380
2366
|
var nw = w >> 1, nh = h >> 1;
|
|
2381
|
-
var nbuf =
|
|
2367
|
+
var nbuf = new Uint8Array(nw * nh * 4);
|
|
2382
2368
|
var sb32 = new Uint32Array(buff.buffer), nb32 = new Uint32Array(nbuf.buffer);
|
|
2383
2369
|
for (var y = 0; y < nh; y++)
|
|
2384
2370
|
for (var x = 0; x < nw; x++) {
|
|
@@ -2508,8 +2494,7 @@ Typr["U"] = function () {
|
|
|
2508
2494
|
var v = o.val;
|
|
2509
2495
|
i += o.size;
|
|
2510
2496
|
|
|
2511
|
-
if (
|
|
2512
|
-
else if (v == "o1" || v == "o18") // hstem || hstemhm
|
|
2497
|
+
if (v == "o1" || v == "o18") // hstem || hstemhm
|
|
2513
2498
|
{
|
|
2514
2499
|
var hasWidthArg;
|
|
2515
2500
|
|
|
@@ -2667,8 +2652,6 @@ Typr["U"] = function () {
|
|
|
2667
2652
|
}
|
|
2668
2653
|
if (stack.length == 4) // seac = standard encoding accented character
|
|
2669
2654
|
{
|
|
2670
|
-
|
|
2671
|
-
var asb = 0;
|
|
2672
2655
|
var adx = stack.shift();
|
|
2673
2656
|
var ady = stack.shift();
|
|
2674
2657
|
var bchar = stack.shift();
|
|
@@ -2794,7 +2777,7 @@ Typr["U"] = function () {
|
|
|
2794
2777
|
var index = 0;
|
|
2795
2778
|
var alternate = v == "o31";
|
|
2796
2779
|
|
|
2797
|
-
count = count1 &
|
|
2780
|
+
count = count1 & -3;
|
|
2798
2781
|
index += count1 - count;
|
|
2799
2782
|
|
|
2800
2783
|
while (index < count) {
|
|
@@ -2838,7 +2821,7 @@ Typr["U"] = function () {
|
|
|
2838
2821
|
else if ((code & (0xffffffff - (1 << 16) + 1)) == 0) { len = 3; }
|
|
2839
2822
|
else if ((code & (0xffffffff - (1 << 21) + 1)) == 0) { len = 4; }
|
|
2840
2823
|
return len;
|
|
2841
|
-
}
|
|
2824
|
+
};
|
|
2842
2825
|
|
|
2843
2826
|
fetch(hurl)
|
|
2844
2827
|
.then(function (x) { return x["arrayBuffer"](); })
|
|
@@ -2870,7 +2853,7 @@ Typr["U"] = function () {
|
|
|
2870
2853
|
}
|
|
2871
2854
|
//console.log(result);
|
|
2872
2855
|
return result;
|
|
2873
|
-
}
|
|
2856
|
+
};
|
|
2874
2857
|
var te;
|
|
2875
2858
|
|
|
2876
2859
|
return function (fnt, str, prm) {
|
|
@@ -2896,7 +2879,7 @@ Typr["U"] = function () {
|
|
|
2896
2879
|
blobPtr = exp["malloc"](fdata.byteLength); heapu8.set(fdata, blobPtr);
|
|
2897
2880
|
blob = exp["hb_blob_create"](blobPtr, fdata.byteLength, 2, 0, 0);
|
|
2898
2881
|
face = exp["hb_face_create"](blob, fnt["_index"]);
|
|
2899
|
-
font = exp["hb_font_create"](face)
|
|
2882
|
+
font = exp["hb_font_create"](face);
|
|
2900
2883
|
__lastFnt = fn;
|
|
2901
2884
|
}
|
|
2902
2885
|
if (window["TextEncoder"] == null) { alert("Your browser is too old. Please, update it."); return; }
|
|
@@ -2939,7 +2922,7 @@ Typr["U"] = function () {
|
|
|
2939
2922
|
exp["hb_buffer_set_direction"](buffer, ltr ? 4 : 5);
|
|
2940
2923
|
exp["hb_buffer_guess_segment_properties"](buffer);
|
|
2941
2924
|
exp["hb_shape"](font, buffer, feat, fts ? fts.length : 0);
|
|
2942
|
-
var json = toJson(buffer)
|
|
2925
|
+
var json = toJson(buffer);//buffer["json"]();
|
|
2943
2926
|
exp["hb_buffer_destroy"](buffer);
|
|
2944
2927
|
if (fts) exp["free"](feat);
|
|
2945
2928
|
if (axs) exp["free"](vdat);
|
|
@@ -2966,5 +2949,4 @@ Typr["U"] = function () {
|
|
|
2966
2949
|
return { "shape": shape, "shapeToPath": shapeToPath, "codeToGlyph": codeToGlyph, "glyphToPath": glyphToPath, "pathToSVG": pathToSVG, "SVGToPath": SVGToPath, "pathToContext": pathToContext, "initHB": initHB };
|
|
2967
2950
|
}();
|
|
2968
2951
|
|
|
2969
|
-
|
|
2970
|
-
export default Typr;
|
|
2952
|
+
export { Typr as default };
|