@capsizecss/unpack
Advanced tools
+17
-18
@@ -280,4 +280,17 @@ "use strict"; | ||
| }; | ||
| const _fromBuffer = async (buffer, apiName, apiParamName, options) => { | ||
| const { postscriptName } = options || {}; | ||
| const fontkitFont = fontkit__namespace.create(buffer, postscriptName); | ||
| handleCollectionErrors({ | ||
| font: fontkitFont, | ||
| postscriptName, | ||
| apiName, | ||
| apiParamName | ||
| }); | ||
| return unpackMetricsFromFont(fontkitFont); | ||
| }; | ||
| const fromBuffer = async (buffer, options) => { | ||
| return _fromBuffer(buffer, "fromBuffer", "buffer", options); | ||
| }; | ||
| const fromBlob = async (blob, options) => { | ||
| const { postscriptName } = options || {}; | ||
| return new Promise((resolve, reject) => { | ||
@@ -289,10 +302,3 @@ blobToBuffer__default.default(blob, (err, buffer) => { | ||
| try { | ||
| const fontkitFont = fontkit__namespace.create(buffer, postscriptName); | ||
| handleCollectionErrors({ | ||
| font: fontkitFont, | ||
| postscriptName, | ||
| apiName: "fromBlob", | ||
| apiParamName: "blob" | ||
| }); | ||
| resolve(unpackMetricsFromFont(fontkitFont)); | ||
| resolve(_fromBuffer(buffer, "fromBlob", "blob", options)); | ||
| } catch (e) { | ||
@@ -305,14 +311,6 @@ reject(e); | ||
| const fromUrl = async (url, options) => { | ||
| const { postscriptName } = options || {}; | ||
| const response = await fetch(url); | ||
| if (typeof window === "undefined") { | ||
| const data = await response.arrayBuffer(); | ||
| const fontkitFont = fontkit__namespace.create(Buffer.from(data), postscriptName); | ||
| handleCollectionErrors({ | ||
| font: fontkitFont, | ||
| postscriptName, | ||
| apiName: "fromUrl", | ||
| apiParamName: "url" | ||
| }); | ||
| return unpackMetricsFromFont(fontkitFont); | ||
| return _fromBuffer(Buffer.from(data), "fromUrl", "url", options); | ||
| } | ||
@@ -323,4 +321,5 @@ const blob = await response.blob(); | ||
| exports.fromBlob = fromBlob; | ||
| exports.fromBuffer = fromBuffer; | ||
| exports.fromFile = fromFile; | ||
| exports.fromUrl = fromUrl; | ||
| exports.supportedSubsets = supportedSubsets; |
+2
-1
@@ -167,5 +167,6 @@ import { Font as Font$1 } from 'fontkit'; | ||
| declare const fromFile: (path: string, options?: Options) => Promise<Font>; | ||
| declare const fromBuffer: (buffer: Buffer, options?: Options) => Promise<Font>; | ||
| declare const fromBlob: (blob: Blob, options?: Options) => Promise<Font>; | ||
| declare const fromUrl: (url: string, options?: Options) => Promise<Font>; | ||
| export { type Font, type SupportedSubsets, fromBlob, fromFile, fromUrl, supportedSubsets }; | ||
| export { type Font, type SupportedSubsets, fromBlob, fromBuffer, fromFile, fromUrl, supportedSubsets }; |
+2
-1
@@ -167,5 +167,6 @@ import { Font as Font$1 } from 'fontkit'; | ||
| declare const fromFile: (path: string, options?: Options) => Promise<Font>; | ||
| declare const fromBuffer: (buffer: Buffer, options?: Options) => Promise<Font>; | ||
| declare const fromBlob: (blob: Blob, options?: Options) => Promise<Font>; | ||
| declare const fromUrl: (url: string, options?: Options) => Promise<Font>; | ||
| export { type Font, type SupportedSubsets, fromBlob, fromFile, fromUrl, supportedSubsets }; | ||
| export { type Font, type SupportedSubsets, fromBlob, fromBuffer, fromFile, fromUrl, supportedSubsets }; |
+17
-18
@@ -257,4 +257,17 @@ import blobToBuffer from "blob-to-buffer"; | ||
| }; | ||
| const _fromBuffer = async (buffer, apiName, apiParamName, options) => { | ||
| const { postscriptName } = options || {}; | ||
| const fontkitFont = fontkit.create(buffer, postscriptName); | ||
| handleCollectionErrors({ | ||
| font: fontkitFont, | ||
| postscriptName, | ||
| apiName, | ||
| apiParamName | ||
| }); | ||
| return unpackMetricsFromFont(fontkitFont); | ||
| }; | ||
| const fromBuffer = async (buffer, options) => { | ||
| return _fromBuffer(buffer, "fromBuffer", "buffer", options); | ||
| }; | ||
| const fromBlob = async (blob, options) => { | ||
| const { postscriptName } = options || {}; | ||
| return new Promise((resolve, reject) => { | ||
@@ -266,10 +279,3 @@ blobToBuffer(blob, (err, buffer) => { | ||
| try { | ||
| const fontkitFont = fontkit.create(buffer, postscriptName); | ||
| handleCollectionErrors({ | ||
| font: fontkitFont, | ||
| postscriptName, | ||
| apiName: "fromBlob", | ||
| apiParamName: "blob" | ||
| }); | ||
| resolve(unpackMetricsFromFont(fontkitFont)); | ||
| resolve(_fromBuffer(buffer, "fromBlob", "blob", options)); | ||
| } catch (e) { | ||
@@ -282,14 +288,6 @@ reject(e); | ||
| const fromUrl = async (url, options) => { | ||
| const { postscriptName } = options || {}; | ||
| const response = await fetch(url); | ||
| if (typeof window === "undefined") { | ||
| const data = await response.arrayBuffer(); | ||
| const fontkitFont = fontkit.create(Buffer.from(data), postscriptName); | ||
| handleCollectionErrors({ | ||
| font: fontkitFont, | ||
| postscriptName, | ||
| apiName: "fromUrl", | ||
| apiParamName: "url" | ||
| }); | ||
| return unpackMetricsFromFont(fontkitFont); | ||
| return _fromBuffer(Buffer.from(data), "fromUrl", "url", options); | ||
| } | ||
@@ -301,2 +299,3 @@ const blob = await response.blob(); | ||
| fromBlob, | ||
| fromBuffer, | ||
| fromFile, | ||
@@ -303,0 +302,0 @@ fromUrl, |
+1
-1
| { | ||
| "name": "@capsizecss/unpack", | ||
| "version": "2.3.0", | ||
| "version": "2.4.0", | ||
| "description": "Unpack capsize font metrics from fonts", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
+11
-0
@@ -13,2 +13,3 @@ <img src="https://raw.githubusercontent.com/seek-oss/capsize/HEAD/images/capsize-header.png" alt="Capsize" title="Capsize" width="443px" /> | ||
| - [Usage](#usage) | ||
| - [fromBuffer](#frombuffer) | ||
| - [fromBlob](#fromblob) | ||
@@ -23,2 +24,12 @@ - [fromUrl](#fromurl) | ||
| ### `fromBuffer` | ||
| Takes a buffer and returns the resolved [font metrics](#font-metrics). | ||
| ```ts | ||
| import { fromBuffer } from '@capsizecss/unpack'; | ||
| const metrics = await fromBuffer(buffer); | ||
| ``` | ||
| ### `fromBlob` | ||
@@ -25,0 +36,0 @@ |
31133
1.14%109
11.22%789
-0.13%