Giter Club home page Giter Club logo

Comments (5)

Pomax avatar Pomax commented on August 20, 2024

ttc is not a single font but an OpenType font collection, containing multiple individual fonts packed into a single sort-of-archive format. As browsers and many PDF tools don't support collections, unpack the .ttc to individual .ttf or .otf files (depending on which OpenType flavour they are) and then use those individual fonts, instead.

from fontkit.

milewski avatar milewski commented on August 20, 2024

Unpack into a single file could be a solution if I knew how.. However it was perfectly working before.. I believe it's a bug that is making a if statement somewhere down in the core code fails when it compares string === buffer... Maybe it's just a matter of doing something like string === buffer.toString().. Which I will investigate further next week when I get time..

from fontkit.

Pomax avatar Pomax commented on August 20, 2024

ah I see. In the mean time, there are a few solutions to unpacking a .ttc, the one that's the most "guaranteed to do the right thing" is to use FontForge, load the collection, and then file -> generate new fonts from the set that loads in. There are some conversion utilities and online converters, but as the de facto libre Font editor for decades now, FontForge is pretty reliable (and you can even automate the task with something like https://gist.github.com/fatum12/941a10f31ac1ad48ccbc)

from fontkit.

devongovett avatar devongovett commented on August 20, 2024

It is a buffer probably because it is encoded in an encoding that isn't supported out of the box by node. If you install iconv-lite alongside fontkit, many more encodings are supported.

from fontkit.

milewski avatar milewski commented on August 20, 2024

i think that would be the reason.. i might had some other non related dependences to fontkit that was briging along some "extras" that fontkit was making use of... after deleting them (and many others) i have no idea which one had the piece needed to fix this puzzle... still i feel it shouldnt return a buffer when it clearly says it returns a string on the docs?(forgot where i saw it, maybe the source?).. maybe throw an error when it happens? anyway i have solved my problem by doing as pomax said... converting .ttc to .ttf with FontForge.

from fontkit.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.