2.0.0 prerelease (Accidentally released as 1.3.5)
What's Changed
- Add COLRv0 + CPALv0 support by @yne in #490
- Fix cpal arguments by @yne in #508
- Update to use Buffer.alloc in place of deprecated new Buffer() by @pwagland in #474
- Redefine
deltaGlyphIdfromUSHORTtoSHORTaccording to spec in #456 - add tests for parsing lookup type 6 formats 1 and 3 by @Connum in #454
- Add option for leftSideBearing in new Glyph by @adri326 in #510
- Replaced concat with push for performance by @Balearica in #513
- Don't attempt to parse meta table tags "appl" and "bild". Fixes #522 by @graphicore in #523
- Gracefully handle unsupported WOFF2 parsing by @yne in #518
- Bump json5 from 2.2.0 to 2.2.3 by @dependabot[bot] in #537
- Bump minimist and rollup-plugin-license by @dependabot[bot] in #543
- font inspector: fix headline floating when table section with "Undefined" is expanded by @Connum in #545
- Preserve platform specific names in fonts. by @ILOVEPIE in #542
- make jshint and jscs ignore the /.git folder by @Connum in #549
- Bump dependencies by @Connum in #550
- create post table from existing data if available by @cthorner in #530
- log warning instead of throwing an error when encountering an unknown ClassDef format by @Connum in #548
- Fixed code style issue. by @ILOVEPIE in #555
- mark as side effect free by @hipstersmoothie in #531
- make cffEncoding.charset fall back to CIDs instead of undefined by @Connum in #562
- Set correctly unicode 0 to ".null" glyph by @puria in #461
- GSUB writing support for lookup type 5 by @Connum in #566
- adding stringToGlyphIndexes() by @axkibe in #575
- optimize performance by replacing modulus with bitwise operator by @Connum in #572
- Auto test + deploy using Github Action by @yne in #567
- Fix Illegal Invocation in
npm startHot Reload by @yne in #578 - GSUB lookup table type 7 subtable format 1 by @CTOStone in #486
- Parsing and writing support for variable font tables fvar, STAT and avar by @Connum in #576
- add missing import file extensions, add @todo comments for refactoring by @Connum in #582
- implement CFF2 parsing by @Connum in #580
- Parse cmap table format 14 and handle Unicode Variation Sequences (UVSes) by @Connum in #581
- SVG-related improvements and fixes by @Connum in #569
- feat: Added a thai context to the bidi and substitution features by @rafallyczkowskiadylic in #535
- check if command exists in subpath before comparing values by @Connum in #585
- added local rule for banning forEach(), replace forEach() with for() by @Connum in #584
- Add WOFF2 loading support to demo pages by @yne in #591
- gasp table by @ollimeier in #595
- fix(glyph): Resolve the problem of invalid unicodes input parameters by @sammyfeng0530 in #608
- Update README.md by @Zearin in #600
- add tests for and fix #613, test toDOMElement() via mocked elements by @Connum in #621
- change npm start command to output module version by @Connum in #625
- bump all dependency versions except mocha by @Connum in #629
- add tests for LONGDATETIME parsing/encoding by @Connum in #631
- chore: Create dependabot.yml by @Jolg42 in #636
- Bump eslint from 8.52.0 to 8.53.0 by @dependabot[bot] in #637
- chore: Update README.md by @Jolg42 in #639
- handle endchar command with seac parameters (standard encoding accented characters) by @Connum in #633
- fix hasChar() for CMAP fonts and add tests (fix #330) by @Connum in #632
- handle CMAP format 0 for platform 1, encoding 0 (legacy Macintosh encoding) by @Connum in #634
- Fixed metadata that enables fonts to be recognised as a family (tested!) by @mattlag in #630
- fix setting preferred subfamily by @StreakInTheSky in #635
- Added Iterable to GlyphSet by @Pleket in #609
- Feat: loadFromUrl supports Node.js environment by @antoineol in #503
- Add version performance benchmark tool by @yne in #588
- performance: implement caching for roundDecimal() and prevent unnecessary recalculations by @Connum in #642
- Bump esbuild from 0.19.5 to 0.19.6 by @dependabot[bot] in #644
- Bump eslint from 8.53.0 to 8.54.0 by @dependabot[bot] in #645
- implement support and tests for cmap format 13 by @Connum in #647
- Bump esbuild from 0.19.6 to 0.19.8 by @dependabot[bot] in #654
- Bump eslint-plugin-local-rules from 2.0.0 to 2.0.1 by @dependabot[bot] in #655
- correct 2x2 glyf transformation (fix #432) by @Connum in #652
- better browser/node detection by @Connum in #653
- add eslint-import rule no-cycle by @Connum in #656
- fix cmap table selection (fix #649) by @Connum in #650
- implement reading, writing and drawing of CFF PaintType and StrokeWidth by @Connum in #651
- fix(charset): Implemented charset according to specification by @ln-north in #616
- Bump esbuild from 0.19.8 to 0.19.9 by @dependabot[bot] in #658
- Bump eslint from 8.54.0 to 8.55.0 by @dependabot[bot] in #657
- Bump esbuild from 0.19.9 to 0.19.10 by @dependabot[bot] in #664
- Bump eslint-plugin-import from 2.29.0 to 2.29.1 by @dependabot[bot] in #661
- Bump eslint from 8.55.0 to 8.56.0 by @dependabot[bot] in #660
- Bump esbuild from 0.19.10 to 0.19.11 by @dependabot[bot] in #666
- Bump esbuild from 0.19.11 to 0.20.0 by @dependabot[bot] in #671
- Replaced concat with push for better performance per #682 by @Balearica in #683
- Fix keys retrieval in objectsEqual function by @ralfstx in #665
- COLR/CPAL color glyph rendering by @Connum in #695
- Variable Fonts support: GVAR and CVAR table parsing by @Connum in #698
- Feature/ccmp by @TonyJR in #688
- fix fvar axis/instance name parsing and writing (fix #687) by @Connum in #694
- fixing hintingtt DEBUGing for esm builds by @axkibe in #670
- feat: add SVG table support by @kinolaev in #672
- Implement variable font rendering (gvar, avar, hvar, cvar) by @Connum in #699
- Sane buildflow by @yne in #703
- Bump esbuild from 0.20.0 to 0.21.3 by @dependabot[bot] in #717
- Bump eslint from 8.56.0 to 9.3.0 by @dependabot[bot] in #718
- Bump esbuild from 0.21.3 to 0.21.4 by @dependabot[bot] in #720
- Bump eslint from 9.3.0 to 9.4.0 by @dependabot[bot] in #725
- Bump esbuild from 0.21.4 to 0.21.5 by @dependabot[bot] in #729
- Fix PR template by @Balearica in #737
- Bump esbuild from 0.21.5 to 0.23.0 by @dependabot[bot] in #741
- Bump mocha from 10.4.0 to 10.6.0 by @dependabot[bot] in #740
- Bump eslint from 9.4.0 to 9.6.0 by @dependabot[bot] in #734
- Bump eslint from 9.6.0 to 9.7.0 by @dependabot[bot] in #744
- Bump eslint from 9.7.0 to 9.8.0 by @dependabot[bot] in #749
- Bump mocha from 10.6.0 to 10.7.0 by @dependabot[bot] in #747
- Bug fix for #757 - write all name table entries for fonts crafted from scratch by @mattlag in #758
- GlyphSet.prototype.get can return undefined by @forresto in #755
- Bump eslint from 9.8.0 to 9.10.0 by @dependabot[bot] in #760
- Bump esbuild from 0.23.0 to 0.23.1 by @dependabot[bot] in #753
- Bump mocha from 10.7.0 to 10.7.3 by @dependabot[bot] in #751
- Bump braces from 3.0.2 to 3.0.3 by @dependabot[bot] in #730
- Fixed gasp support bugs per #738 by @Balearica in #739
- Fix small bugs, typos, and inconsistencies by @fdb in #818
- fix package url in readme doc by @gavinr-maps in #811
- Optimize cmap table: merge contiguous segments by @fdb in #819
- Fix GitHub Pages deployment by upgrading actions by @fdb in #821
- Fix CFF subroutine recursion vulnerability (CVE-2024-XXXXX) by @fdb in #825
- Prevent stack overflow from circular composite glyph references by @fdb in #826
- Fix TrueType hinting VM infinite loop vulnerabilities by @fdb in #827
- Extract font generation helpers into shared module by @fdb in #828
- Fix OpenType Context Substitution Format 3 and decomposition type handling for Arabic/emoji shaping by @fjobeir in #824
- Harden release workflow by @fdb in #832
- Use trusted npm publishing for releases by @fdb in #833
New Contributors
- @pwagland made their first contribution in #474
- @adri326 made their first contribution in #510
- @Balearica made their first contribution in #513
- @graphicore made their first contribution in #523
- @dependabot[bot] made their first contribution in #537
- @ILOVEPIE made their first contribution in #542
- @cthorner made their first contribution in #530
- @hipstersmoothie made their first contribution in #531
- @puria made their first contribution in #461
- @CTOStone made their first contribution in #486
- @rafallyczkowskiadylic made their first contribution in #535
- @ollimeier made their first contribution in #595
- @sammyfeng0530 made their first contribution in #608
- @Zearin made their first contribution in #600
- @StreakInTheSky made their first contribution in #635
- @Pleket made their first contribution in #609
- @antoineol made their first contribution in #503
- @ln-north made their first contribution in #616
- @ralfstx made their first contribution in #665
- @TonyJR made their first contribution in #688
- @kinolaev made their first contribution in #672
- @forresto made their first contribution in #755
- @gavinr-maps made their first contribution in #811
- @fjobeir made their first contribution in #824
Full Changelog: 1.3.4...1.3.5