0.0.4 • Published 2 months ago

modern-font v0.0.4

Weekly downloads
-
License
MIT
Repository
github
Last release
2 months ago

📦 Install

npm i modern-font

🦄 Usage

import { Ttf, Woff, Eot, minify } from 'modern-font'

const buffer = await fetch('font.woff').then(rep => rep.arrayBuffer())

let woff, ttf, eot
if (Woff.is(buffer)) {
  woff = new Woff(buffer)
  ttf = Ttf.from(woff.sfnt)
  eot = Eot.from(ttf)
} else if (Ttf.is(buffer)) {
  ttf = new Ttf(buffer)
  woff = Woff.from(ttf.sfnt)
  eot = Eot.from(ttf)
}
const minifyWoff = minify(woff, 'minify')
document.fonts.add(woff.toFontFace('woff'))
document.fonts.add(ttf.toFontFace('ttf'))
document.fonts.add(eot.toFontFace('eot'))
document.fonts.add(minifyWoff.toFontFace('minifyWoff'))
console.log(woff, ttf, eot, minifyWoff)

🚀 WOFF to TTF

import { Ttf, Woff } from 'modern-font'

const buffer = await fetch('font.woff').then(rep => rep.arrayBuffer())
const ttf = Ttf.from(new Woff(buffer).sfnt)

// ttf file
window.open(URL.createObjectURL(ttf.toBlob()))

🚀 TTF to WOFF

import { Ttf, Woff } from 'modern-font'

const buffer = await fetch('font.ttf').then(rep => rep.arrayBuffer())
const woff = Woff.from(new Ttf(buffer).sfnt)

// woff file
window.open(URL.createObjectURL(woff.toBlob()))

🚀 TTF to EOT

import { Ttf, Eot } from 'modern-font'

const buffer = await fetch('font.ttf').then(rep => rep.arrayBuffer())
const eot = Eot.from(new Ttf(buffer))

// eot file
window.open(URL.createObjectURL(eot.toBlob()))

🚀 Minify

import { minify } from 'modern-font'

const rawBuffer = await fetch('font.woff').then(rep => rep.arrayBuffer())
const buffer = minify(rawBuffer, 'A set of text cropped from a font file')

console.log(
  `raw size: ${ rawBuffer.byteLength / 1024 / 1024 }`,
  `minimized size: ${ buffer.byteLength / 1024 / 1024 }`,
)

// minimized woff file
const woff = new Blob([buffer], { type: 'font/woff' })
window.open(URL.createObjectURL(woff))

TODO

0.0.3

2 months ago

0.0.2

2 months ago

0.0.4

2 months ago

0.0.1

2 months ago